about summary refs log tree commit diff
path: root/compiler/rustc_middle/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-02-19 01:25:01 +0000
committerbors <bors@rust-lang.org>2025-02-19 01:25:01 +0000
commit17c1c329a5512d718b67ef6797538b154016cd34 (patch)
tree7eaa576bdabe51b29be32130ef6745307855b336 /compiler/rustc_middle/src
parentf44efbf9e11b1b6bba77c046d7dd150de37e0e0f (diff)
parent803feb5dc679556ba2d93fe616d1883d7ebc7775 (diff)
downloadrust-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