example::test::ha559be6b680d7ef2:
mov rax, qword ptr [rip + __rust_no_alloc_shim_is_unstable@GOTPCREL]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx ecx, byte ptr [rax]
movzx eax, byte ptr [rax]
ret
Consider the following minimized example:
Expected output (rustc 1.81.0 eeb90cd 2024-09-04):
Actual output (rustc 1.91.0-nightly 040a98a 2025-08-20):
Note: Starting in 1.89 with #141061, unexpected
calls replace the unexpectedmovzxs seen in version 1.83 to 1.88.Actual output with unexpected `movzx`s (rustc 1.88.0 6b00bc3 2025-06-23):
Godbolt: https://www.godbolt.org/z/x458Pv8P5