Skip to content

Commit 308203c

Browse files
authored
Update and rename transmute-scalar-generic.rs to transmute-scalar.rs
Merge no-riscv64 and riscv64.
1 parent 29f6c9e commit 308203c

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed
Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
//@ add-core-stubs
22
//@ compile-flags: -C opt-level=0 -C no-prepopulate-passes
3-
//@ ignore-riscv64
43

54
#![crate_type = "lib"]
6-
#![feature(no_core, repr_simd, arm_target_feature, mips_target_feature, s390x_target_feature)]
5+
#![feature(no_core, repr_simd, arm_target_feature, mips_target_feature, s390x_target_feature, riscv_target_feature)]
76
#![no_core]
87
extern crate minicore;
98

@@ -80,7 +79,7 @@ pub fn bool_to_fake_bool_signed(b: bool) -> FakeBoolSigned {
8079
unsafe { mem::transmute(b) }
8180
}
8281

83-
// CHECK-LABEL: define{{.*}}i1 @fake_bool_signed_to_bool(i8 %b)
82+
// CHECK-LABEL: define{{.*}}i1 @fake_bool_signed_to_bool(i8 {{.*}}%b)
8483
// CHECK: %_0 = trunc nuw i8 %b to i1
8584
// CHECK-NEXT: ret i1 %_0
8685
#[no_mangle]
@@ -111,34 +110,36 @@ pub fn fake_bool_unsigned_to_bool(b: FakeBoolUnsigned) -> bool {
111110
#[repr(simd)]
112111
struct S([i64; 1]);
113112

114-
// CHECK-LABEL: define{{.*}}i64 @single_element_simd_to_scalar(<1 x i64> %b)
113+
// CHECK-LABEL: define{{.*}}i64 @single_element_simd_to_scalar({{.*}}i64 %{{.*}})
115114
// CHECK-NEXT: start:
116115
// CHECK-NEXT: %[[RET:.+]] = alloca [8 x i8]
117-
// CHECK-NEXT: store <1 x i64> %b, ptr %[[RET]]
118-
// CHECK-NEXT: %[[TEMP:.+]] = load i64, ptr %[[RET]]
119-
// CHECK-NEXT: ret i64 %[[TEMP]]
116+
// CHECK: store <1 x i64> %[[TEMP:.+]], ptr %[[RET]]
117+
// CHECK: %[[TEMP:.+]] = load i64, ptr %[[RET]]
118+
// CHECK: ret i64 %[[TEMP]]
120119
#[no_mangle]
121120
#[cfg_attr(target_family = "wasm", target_feature(enable = "simd128"))]
122121
#[cfg_attr(target_arch = "arm", target_feature(enable = "neon"))]
123122
#[cfg_attr(target_arch = "x86", target_feature(enable = "sse"))]
124123
#[cfg_attr(target_arch = "mips", target_feature(enable = "msa"))]
125124
#[cfg_attr(target_arch = "s390x", target_feature(enable = "vector"))]
125+
#[cfg_attr(target_arch = "riscv64", target_feature(enable = "v"))]
126126
pub extern "C" fn single_element_simd_to_scalar(b: S) -> i64 {
127127
unsafe { mem::transmute(b) }
128128
}
129129

130-
// CHECK-LABEL: define{{.*}}<1 x i64> @scalar_to_single_element_simd(i64 %b)
130+
// CHECK-LABEL: define{{.*}}i64{{.*}} @scalar_to_single_element_simd(i64 %b)
131131
// CHECK-NEXT: start:
132132
// CHECK-NEXT: %[[RET:.+]] = alloca [8 x i8]
133133
// CHECK-NEXT: store i64 %b, ptr %[[RET]]
134-
// CHECK-NEXT: %[[TEMP:.+]] = load <1 x i64>, ptr %[[RET]]
135-
// CHECK-NEXT: ret <1 x i64> %[[TEMP]]
134+
// CHECK-NEXT: %[[TEMP:.+]] = load{{.*}}i64{{.*}}, ptr %[[RET]]
135+
// CHECK-NEXT: ret {{.*}}i64{{.*}}%[[TEMP]]
136136
#[no_mangle]
137137
#[cfg_attr(target_family = "wasm", target_feature(enable = "simd128"))]
138138
#[cfg_attr(target_arch = "arm", target_feature(enable = "neon"))]
139139
#[cfg_attr(target_arch = "x86", target_feature(enable = "sse"))]
140140
#[cfg_attr(target_arch = "mips", target_feature(enable = "msa"))]
141141
#[cfg_attr(target_arch = "s390x", target_feature(enable = "vector"))]
142+
#[cfg_attr(target_arch = "riscv64", target_feature(enable = "v"))]
142143
pub extern "C" fn scalar_to_single_element_simd(b: i64) -> S {
143144
unsafe { mem::transmute(b) }
144145
}

0 commit comments

Comments
 (0)