about summary refs log tree commit diff
path: root/src/libstd/sys/unix/stack_overflow.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-01-31 13:40:11 +0000
committerbors <bors@rust-lang.org>2019-01-31 13:40:11 +0000
commit8a0e5faec7f62e3cfd88d6625ce213d93b061305 (patch)
treeefb6cef13e04799f29df92d36ce750ede096bb5e /src/libstd/sys/unix/stack_overflow.rs
parentd30b99f9c23f8e1d6ef993cc94da96510ad709b3 (diff)
parent4a4186e4d1168f9faf3df019596bcf87f0a4dc2b (diff)
downloadrust-8a0e5faec7f62e3cfd88d6625ce213d93b061305.tar.gz
rust-8a0e5faec7f62e3cfd88d6625ce213d93b061305.zip
Auto merge of #58003 - nikic:saturating-add, r=nagisa
Use LLVM intrinsics for saturating add/sub

Use the `[su](add|sub).sat` LLVM intrinsics, if we're compiling against LLVM 8, as they should optimize and codegen better than IR based on `[su](add|sub).with.overlow`.

For the fallback for LLVM < 8 I'm using the same expansion that target lowering in LLVM uses, which is not the same as Rust currently uses (in particular due to the use of selects rather than branches).

Fixes #55286.
Fixes #52203.
Fixes #44500.

r? @nagisa
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions