diff options
| author | bors <bors@rust-lang.org> | 2025-02-19 01:25:01 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-02-19 01:25:01 +0000 |
| commit | 17c1c329a5512d718b67ef6797538b154016cd34 (patch) | |
| tree | 7eaa576bdabe51b29be32130ef6745307855b336 /compiler/rustc_middle/src | |
| parent | f44efbf9e11b1b6bba77c046d7dd150de37e0e0f (diff) | |
| parent | 803feb5dc679556ba2d93fe616d1883d7ebc7775 (diff) | |
| download | rust-17c1c329a5512d718b67ef6797538b154016cd34.tar.gz rust-17c1c329a5512d718b67ef6797538b154016cd34.zip | |
Auto merge of #135408 - RalfJung:x86-sse2, r=workingjubilee
x86: use SSE2 to pass float and SIMD types This builds on the new X86Sse2 ABI landed in https://github.com/rust-lang/rust/pull/137037 to actually make it a separate ABI from the default x86 ABI, and use SSE2 registers. Specifically, we use it in two ways: to return `f64` values in a register rather than by-ptr, and to pass vectors of size up to 128bit in a register (or, well, whatever LLVM does when passing `<4 x float>` by-val, I don't actually know if this ends up in a register). Cc `@workingjubilee` Fixes #133611 try-job: aarch64-apple try-job: aarch64-gnu try-job: aarch64-gnu-debug try-job: test-various try-job: x86_64-gnu-nopt try-job: dist-i586-gnu-i586-i686-musl try-job: x86_64-msvc-1
Diffstat (limited to 'compiler/rustc_middle/src')
0 files changed, 0 insertions, 0 deletions
