diff options
Diffstat (limited to 'tests/codegen-llvm/issues/issue-84268.rs')
| -rw-r--r-- | tests/codegen-llvm/issues/issue-84268.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/codegen-llvm/issues/issue-84268.rs b/tests/codegen-llvm/issues/issue-84268.rs new file mode 100644 index 00000000000..1dc55a909ad --- /dev/null +++ b/tests/codegen-llvm/issues/issue-84268.rs @@ -0,0 +1,18 @@ +//@ compile-flags: -Copt-level=3 --crate-type=rlib +#![feature(core_intrinsics, repr_simd)] + +use std::intrinsics::simd::{simd_eq, simd_fabs}; + +#[repr(simd)] +pub struct V([f32; 4]); + +#[repr(simd)] +pub struct M([i32; 4]); + +#[no_mangle] +// CHECK-LABEL: @is_infinite +pub fn is_infinite(v: V) -> M { + // CHECK: fabs + // CHECK: cmp oeq + unsafe { simd_eq(simd_fabs(v), V([f32::INFINITY; 4])) } +} |
