@@ -42,19 +42,27 @@ float32x4_t test_vrnd32xq_f32(float32x4_t a) {
42
42
// LLVM: ret <4 x float> [[RND]]
43
43
}
44
44
45
- // CHECK-LABEL: test_vrnd32z_f32
46
- // CHECK: [[RND:%.*]] = call <2 x float> @llvm.aarch64.neon.frint32z.v2f32(<2 x float> %a)
47
- // CHECK: ret <2 x float> [[RND]]
48
- // float32x2_t test_vrnd32z_f32(float32x2_t a) {
49
- // return vrnd32z_f32(a);
50
- // }
45
+ float32x2_t test_vrnd32z_f32 (float32x2_t a ) {
46
+ return vrnd32z_f32 (a );
51
47
52
- // CHECK-LABEL: test_vrnd32zq_f32
53
- // CHECK: [[RND:%.*]] = call <4 x float> @llvm.aarch64.neon.frint32z.v4f32(<4 x float> %a)
54
- // CHECK: ret <4 x float> [[RND]]
55
- // float32x4_t test_vrnd32zq_f32(float32x4_t a) {
56
- // return vrnd32zq_f32(a);
57
- // }
48
+ // CIR-LABEL: vrnd32z_f32
49
+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint32z" {{.*}} : (!cir.vector<!cir.float x 2>) -> !cir.vector<!cir.float x 2>
50
+
51
+ // LLVM-LABEL: @test_vrnd32z_f32
52
+ // LLVM: [[RND:%.*]] = call <2 x float> @llvm.aarch64.neon.frint32z.v2f32(<2 x float> %0)
53
+ // LLVM: ret <2 x float> [[RND]]
54
+ }
55
+
56
+ float32x4_t test_vrnd32zq_f32 (float32x4_t a ) {
57
+ return vrnd32zq_f32 (a );
58
+
59
+ // CIR-LABEL: vrnd32zq_f32
60
+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint32z" {{.*}} : (!cir.vector<!cir.float x 4>) -> !cir.vector<!cir.float x 4>
61
+
62
+ // LLVM-LABEL: @test_vrnd32zq_f32
63
+ // LLVM: [[RND:%.*]] = call <4 x float> @llvm.aarch64.neon.frint32z.v4f32(<4 x float> %0)
64
+ // LLVM: ret <4 x float> [[RND]]
65
+ }
58
66
59
67
// CHECK-LABEL: test_vrnd64x_f32
60
68
// CHECK: [[RND:%.*]] = call <2 x float> @llvm.aarch64.neon.frint64x.v2f32(<2 x float> %a)
@@ -107,19 +115,27 @@ float64x2_t test_vrnd32xq_f64(float64x2_t a) {
107
115
// LLVM: ret <2 x double> [[RND]]
108
116
}
109
117
110
- // CHECK-LABEL: test_vrnd32z_f64
111
- // CHECK: [[RND:%.*]] = call <1 x double> @llvm.aarch64.neon.frint32z.v1f64(<1 x double> %a)
112
- // CHECK: ret <1 x double> [[RND]]
113
- // float64x1_t test_vrnd32z_f64(float64x1_t a) {
114
- // return vrnd32z_f64(a);
115
- // }
118
+ float64x1_t test_vrnd32z_f64 (float64x1_t a ) {
119
+ return vrnd32z_f64 (a );
116
120
117
- // CHECK-LABEL: test_vrnd32zq_f64
118
- // CHECK: [[RND:%.*]] = call <2 x double> @llvm.aarch64.neon.frint32z.v2f64(<2 x double> %a)
119
- // CHECK: ret <2 x double> [[RND]]
120
- // float64x2_t test_vrnd32zq_f64(float64x2_t a) {
121
- // return vrnd32zq_f64(a);
122
- // }
121
+ // CIR-LABEL: vrnd32z_f64
122
+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint32z" {{.*}} : (!cir.vector<!cir.double x 1>) -> !cir.vector<!cir.double x 1>
123
+
124
+ // LLVM-LABEL: @test_vrnd32z_f64
125
+ // LLVM: [[RND:%.*]] = call <1 x double> @llvm.aarch64.neon.frint32z.v1f64(<1 x double> %0)
126
+ // LLVM: ret <1 x double> [[RND]]
127
+ }
128
+
129
+ float64x2_t test_vrnd32zq_f64 (float64x2_t a ) {
130
+ return vrnd32zq_f64 (a );
131
+
132
+ // CIR-LABEL: vrnd32zq_f64
133
+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint32z" {{.*}} : (!cir.vector<!cir.double x 2>) -> !cir.vector<!cir.double x 2>
134
+
135
+ // LLVM-LABEL: @test_vrnd32zq_f64
136
+ // LLVM: [[RND:%.*]] = call <2 x double> @llvm.aarch64.neon.frint32z.v2f64(<2 x double> %0)
137
+ // LLVM: ret <2 x double> [[RND]]
138
+ }
123
139
124
140
// CHECK-LABEL: test_vrnd64x_f64
125
141
// CHECK: [[RND:%.*]] = call <1 x double> @llvm.aarch64.neon.frint64x.v1f64(<1 x double> %a)
0 commit comments