diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-21 14:34:12 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-22 14:28:48 +0200 |
| commit | a27f3e3fd1e4d16160f8885b6b06665b5319f56c (patch) | |
| tree | b033935392cbadf6f85d2dbddf433a88e323aeeb /tests/codegen/intrinsics/select_unpredictable.rs | |
| parent | ed93c1783b404d728d4809973a0550eb33cd293f (diff) | |
| download | rust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.tar.gz rust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.zip | |
Rename `tests/codegen` into `tests/codegen-llvm`
Diffstat (limited to 'tests/codegen/intrinsics/select_unpredictable.rs')
| -rw-r--r-- | tests/codegen/intrinsics/select_unpredictable.rs | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/tests/codegen/intrinsics/select_unpredictable.rs b/tests/codegen/intrinsics/select_unpredictable.rs deleted file mode 100644 index ad7120c6fb8..00000000000 --- a/tests/codegen/intrinsics/select_unpredictable.rs +++ /dev/null @@ -1,71 +0,0 @@ -//@ compile-flags: -Copt-level=3 -Zmerge-functions=disabled - -#![feature(core_intrinsics)] -#![crate_type = "lib"] - -/* Test the intrinsic */ - -#[no_mangle] -pub fn test_int(p: bool, a: u64, b: u64) -> u64 { - // CHECK-LABEL: define{{.*}} @test_int - // CHECK: select i1 %p, i64 %a, i64 %b, !unpredictable - core::intrinsics::select_unpredictable(p, a, b) -} - -#[no_mangle] -pub fn test_pair(p: bool, a: (u64, u64), b: (u64, u64)) -> (u64, u64) { - // CHECK-LABEL: define{{.*}} @test_pair - // CHECK: select i1 %p, {{.*}}, !unpredictable - core::intrinsics::select_unpredictable(p, a, b) -} - -struct Large { - e: [u64; 100], -} - -#[no_mangle] -pub fn test_struct(p: bool, a: Large, b: Large) -> Large { - // CHECK-LABEL: define{{.*}} @test_struct - // CHECK: select i1 %p, {{.*}}, !unpredictable - core::intrinsics::select_unpredictable(p, a, b) -} - -// ZSTs should not need a `select` expression. -#[no_mangle] -pub fn test_zst(p: bool, a: (), b: ()) -> () { - // CHECK-LABEL: define{{.*}} @test_zst - // CHECK-NEXT: start: - // CHECK-NEXT: ret void - core::intrinsics::select_unpredictable(p, a, b) -} - -/* Test the user-facing version */ - -#[no_mangle] -pub fn test_int2(p: bool, a: u64, b: u64) -> u64 { - // CHECK-LABEL: define{{.*}} @test_int2 - // CHECK: select i1 %p, i64 %a, i64 %b, !unpredictable - core::hint::select_unpredictable(p, a, b) -} - -#[no_mangle] -pub fn test_pair2(p: bool, a: (u64, u64), b: (u64, u64)) -> (u64, u64) { - // CHECK-LABEL: define{{.*}} @test_pair2 - // CHECK: select i1 %p, {{.*}}, !unpredictable - core::hint::select_unpredictable(p, a, b) -} - -#[no_mangle] -pub fn test_struct2(p: bool, a: Large, b: Large) -> Large { - // CHECK-LABEL: define{{.*}} @test_struct2 - // CHECK: select i1 %p, {{.*}}, !unpredictable - core::hint::select_unpredictable(p, a, b) -} - -#[no_mangle] -pub fn test_zst2(p: bool, a: (), b: ()) -> () { - // CHECK-LABEL: define{{.*}} @test_zst2 - // CHECK-NEXT: start: - // CHECK-NEXT: ret void - core::hint::select_unpredictable(p, a, b) -} |
