mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
parent
94015d3cd4
commit
d3b167493e
@ -12,6 +12,7 @@
|
|||||||
// at the time still sometimes fails, so only verify it for the power-of-two size
|
// at the time still sometimes fails, so only verify it for the power-of-two size
|
||||||
// - https://github.com/llvm/llvm-project/issues/134735
|
// - https://github.com/llvm/llvm-project/issues/134735
|
||||||
//@[x86-64-v3] only-x86_64
|
//@[x86-64-v3] only-x86_64
|
||||||
|
//@[x86-64-v3] min-llvm-version: 21
|
||||||
//@[x86-64-v3] compile-flags: -Ctarget-cpu=x86-64-v3
|
//@[x86-64-v3] compile-flags: -Ctarget-cpu=x86-64-v3
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
@ -19,16 +20,7 @@
|
|||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub fn test() -> usize {
|
pub fn test() -> usize {
|
||||||
// CHECK-LABEL: @test(
|
// CHECK-LABEL: @test(
|
||||||
// host: ret {{i64|i32}} 165
|
// CHECK: ret {{i64|i32}} 165
|
||||||
// x86-64: ret {{i64|i32}} 165
|
|
||||||
|
|
||||||
// FIXME: Now that this autovectorizes via a masked load, it doesn't actually
|
|
||||||
// const-fold for certain widths. The `test_eight` case below shows that, yes,
|
|
||||||
// what we're emitting *can* be const-folded, except that the way LLVM does it
|
|
||||||
// for certain widths doesn't today. We should be able to put this back to
|
|
||||||
// the same check after <https://github.com/llvm/llvm-project/issues/134513>
|
|
||||||
// x86-64-v3: masked.load
|
|
||||||
|
|
||||||
let values = [23, 16, 54, 3, 60, 9];
|
let values = [23, 16, 54, 3, 60, 9];
|
||||||
let mut acc = 0;
|
let mut acc = 0;
|
||||||
for item in values {
|
for item in values {
|
||||||
|
Loading…
Reference in New Issue
Block a user