diff options
| author | bors <bors@rust-lang.org> | 2024-10-22 22:36:59 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-10-22 22:36:59 +0000 |
| commit | 8bf64f106ac0cd1f2b9c6fd27965dd2dc4b862dd (patch) | |
| tree | a12bfad99e5c05d0313ac32ae62cefb6b095f779 /tests/assembly | |
| parent | 86d69c705a552236a622eee3fdea94bf13c5f102 (diff) | |
| parent | 09068192f86e84bb0dddc105c9f7cc1971684fb7 (diff) | |
| download | rust-8bf64f106ac0cd1f2b9c6fd27965dd2dc4b862dd.tar.gz rust-8bf64f106ac0cd1f2b9c6fd27965dd2dc4b862dd.zip | |
Auto merge of #131871 - RalfJung:x86-32-float, r=workingjubilee
x86-32 float return for 'Rust' ABI: treat all float types consistently This helps with https://github.com/rust-lang/rust/issues/131819: for our own ABI on x86-32, we want to *never* use the float registers. The previous logic only considered F32 and F64, but skipped F16 and F128. So I made the logic just apply to all float types. try-job: i686-gnu try-job: i686-gnu-nopt
Diffstat (limited to 'tests/assembly')
| -rw-r--r-- | tests/assembly/x86-return-float.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tests/assembly/x86-return-float.rs b/tests/assembly/x86-return-float.rs index 30c5e869633..acd1af8d38a 100644 --- a/tests/assembly/x86-return-float.rs +++ b/tests/assembly/x86-return-float.rs @@ -305,8 +305,10 @@ pub unsafe fn call_other_f64(x: &mut (usize, f64)) { // CHECK-LABEL: return_f16: #[no_mangle] pub fn return_f16(x: f16) -> f16 { - // CHECK: pinsrw $0, {{.*}}(%ebp), %xmm0 - // CHECK-NOT: xmm0 + // CHECK: pushl %ebp + // CHECK: movl %esp, %ebp + // CHECK: movzwl 8(%ebp), %eax + // CHECK: popl %ebp // CHECK: retl x } |
