You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The actual condition in rustc seems to be to call memcmp if the object size if more than 2*pointer_size.
@Demindiro Could you look into this? We might have to remove the c32 from your memcmp implementation since we can't compare [u128; 2] directly without using memcmp.
Demindiro
added a commit
to Demindiro/compiler-builtins
that referenced
this issue
Aug 10, 2022
This Rust testcase:
runs successfully with Rust nightly 2022-08-07, fails in Rust nightly 2022-08-08 on x86_64-unknown-linux-gnu with -Zbuild-std:
It overflows the stack with unbounded recursion, with iterations looking like this:
It looks like Rust 2022-08-08 included rust-lang/rust#100218, which updated compiler-builtins from 1.73 to 1.78, which pulled in #471. This target has SSE2, so unless I'm mistaken about what's happening here, it appears the observation "targets with SSE(2) do not seem to generate a call to
memcmp
even in debug mode" doesn't hold in this situation.The text was updated successfully, but these errors were encountered: