@@ -68,16 +68,30 @@ float32x4_t test_vrnd32zq_f32(float32x4_t a) {
6868// CHECK-LABEL: test_vrnd64x_f32
6969// CHECK: [[RND:%.*]] = call <2 x float> @llvm.aarch64.neon.frint64x.v2f32(<2 x float> %a)
7070// CHECK: ret <2 x float> [[RND]]
71- // float32x2_t test_vrnd64x_f32(float32x2_t a) {
72- // return vrnd64x_f32(a);
73- // }
71+ float32x2_t test_vrnd64x_f32 (float32x2_t a ) {
72+ return vrnd64x_f32 (a );
73+
74+ // CIR-LABEL: vrnd64x_f32
75+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint64x" {{.*}} : (!cir.vector<!cir.float x 2>) -> !cir.vector<!cir.float x 2>
76+
77+ // LLVM-LABEL: @test_vrnd64x_f32
78+ // LLVM: [[RND:%.*]] = call <2 x float> @llvm.aarch64.neon.frint64x.v2f32(<2 x float> %0)
79+ // LLVM: ret <2 x float> [[RND]]
80+ }
7481
7582// CHECK-LABEL: test_vrnd64xq_f32
7683// CHECK: [[RND:%.*]] = call <4 x float> @llvm.aarch64.neon.frint64x.v4f32(<4 x float> %a)
7784// CHECK: ret <4 x float> [[RND]]
78- // float32x4_t test_vrnd64xq_f32(float32x4_t a) {
79- // return vrnd64xq_f32(a);
80- // }
85+ float32x4_t test_vrnd64xq_f32 (float32x4_t a ) {
86+ return vrnd64xq_f32 (a );
87+
88+ // CIR-LABEL: vrnd64xq_f32
89+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint64x" {{.*}} : (!cir.vector<!cir.float x 4>) -> !cir.vector<!cir.float x 4>
90+
91+ // LLVM-LABEL: @test_vrnd64xq_f32
92+ // LLVM: [[RND:%.*]] = call <4 x float> @llvm.aarch64.neon.frint64x.v4f32(<4 x float> %0)
93+ // LLVM: ret <4 x float> [[RND]]
94+ }
8195
8296// CHECK-LABEL: test_vrnd64z_f32
8397// CHECK: [[RND:%.*]] = call <2 x float> @llvm.aarch64.neon.frint64z.v2f32(<2 x float> %a)
@@ -141,16 +155,30 @@ float64x2_t test_vrnd32zq_f64(float64x2_t a) {
141155// CHECK-LABEL: test_vrnd64x_f64
142156// CHECK: [[RND:%.*]] = call <1 x double> @llvm.aarch64.neon.frint64x.v1f64(<1 x double> %a)
143157// CHECK: ret <1 x double> [[RND]]
144- // float64x1_t test_vrnd64x_f64(float64x1_t a) {
145- // return vrnd64x_f64(a);
146- // }
158+ float64x1_t test_vrnd64x_f64 (float64x1_t a ) {
159+ return vrnd64x_f64 (a );
160+
161+ // CIR-LABEL: vrnd64x_f64
162+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint64x" {{.*}} : (!cir.vector<!cir.double x 1>) -> !cir.vector<!cir.double x 1>
163+
164+ // LLVM-LABEL: @test_vrnd64x_f64
165+ // LLVM: [[RND:%.*]] = call <1 x double> @llvm.aarch64.neon.frint64x.v1f64(<1 x double> %0)
166+ // LLVM: ret <1 x double> [[RND]]
167+ }
147168
148169// CHECK-LABEL: test_vrnd64xq_f64
149170// CHECK: [[RND:%.*]] = call <2 x double> @llvm.aarch64.neon.frint64x.v2f64(<2 x double> %a)
150171// CHECK: ret <2 x double> [[RND]]
151- // float64x2_t test_vrnd64xq_f64(float64x2_t a) {
152- // return vrnd64xq_f64(a);
153- // }
172+ float64x2_t test_vrnd64xq_f64 (float64x2_t a ) {
173+ return vrnd64xq_f64 (a );
174+
175+ // CIR-LABEL: vrnd64xq_f64
176+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint64x" {{.*}} : (!cir.vector<!cir.double x 2>) -> !cir.vector<!cir.double x 2>
177+
178+ // LLVM-LABEL: @test_vrnd64xq_f64
179+ // LLVM: [[RND:%.*]] = call <2 x double> @llvm.aarch64.neon.frint64x.v2f64(<2 x double> %0)
180+ // LLVM: ret <2 x double> [[RND]]
181+ }
154182
155183// CHECK-LABEL: test_vrnd64z_f64
156184// CHECK: [[RND:%.*]] = call <1 x double> @llvm.aarch64.neon.frint64z.v1f64(<1 x double> %a)
0 commit comments