@@ -73,16 +73,30 @@ float32x4_t test_vrnd32xq_f32(float32x4_t a) {
7373// CHECK-LABEL: test_vrnd64z_f32
7474// CHECK: [[RND:%.*]] = call <2 x float> @llvm.aarch64.neon.frint64z.v2f32(<2 x float> %a)
7575// CHECK: ret <2 x float> [[RND]]
76- // float32x2_t test_vrnd64z_f32(float32x2_t a) {
77- // return vrnd64z_f32(a);
78- // }
76+ float32x2_t test_vrnd64z_f32 (float32x2_t a ) {
77+ return vrnd64z_f32 (a );
78+
79+ // CIR-LABEL: vrnd64z_f32
80+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint64z" {{.*}} : (!cir.vector<!cir.float x 2>) -> !cir.vector<!cir.float x 2>
81+
82+ // LLVM-LABEL: @test_vrnd64z_f32
83+ // LLVM: [[RND:%.*]] = call <2 x float> @llvm.aarch64.neon.frint64z.v2f32(<2 x float> %0)
84+ // LLVM: ret <2 x float> [[RND]]
85+ }
7986
8087// CHECK-LABEL: test_vrnd64zq_f32
8188// CHECK: [[RND:%.*]] = call <4 x float> @llvm.aarch64.neon.frint64z.v4f32(<4 x float> %a)
8289// CHECK: ret <4 x float> [[RND]]
83- // float32x4_t test_vrnd64zq_f32(float32x4_t a) {
84- // return vrnd64zq_f32(a);
85- // }
90+ float32x4_t test_vrnd64zq_f32 (float32x4_t a ) {
91+ return vrnd64zq_f32 (a );
92+
93+ // CIR-LABEL: vrnd64zq_f32
94+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint64z" {{.*}} : (!cir.vector<!cir.float x 4>) -> !cir.vector<!cir.float x 4>
95+
96+ // LLVM-LABEL: @test_vrnd64zq_f32
97+ // LLVM: [[RND:%.*]] = call <4 x float> @llvm.aarch64.neon.frint64z.v4f32(<4 x float> %0)
98+ // LLVM: ret <4 x float> [[RND]]
99+ }
86100
87101float64x1_t test_vrnd32x_f64 (float64x1_t a ) {
88102 return vrnd32x_f64 (a );
@@ -138,13 +152,27 @@ float64x2_t test_vrnd32xq_f64(float64x2_t a) {
138152// CHECK-LABEL: test_vrnd64z_f64
139153// CHECK: [[RND:%.*]] = call <1 x double> @llvm.aarch64.neon.frint64z.v1f64(<1 x double> %a)
140154// CHECK: ret <1 x double> [[RND]]
141- // float64x1_t test_vrnd64z_f64(float64x1_t a) {
142- // return vrnd64z_f64(a);
143- // }
155+ float64x1_t test_vrnd64z_f64 (float64x1_t a ) {
156+ return vrnd64z_f64 (a );
157+
158+ // CIR-LABEL: vrnd64z_f64
159+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint64z" {{.*}} : (!cir.vector<!cir.double x 1>) -> !cir.vector<!cir.double x 1>
160+
161+ // LLVM-LABEL: @test_vrnd64z_f64
162+ // LLVM: [[RND:%.*]] = call <1 x double> @llvm.aarch64.neon.frint64z.v1f64(<1 x double> %0)
163+ // LLVM: ret <1 x double> [[RND]]
164+ }
144165
145166// CHECK-LABEL: test_vrnd64zq_f64
146167// CHECK: [[RND:%.*]] = call <2 x double> @llvm.aarch64.neon.frint64z.v2f64(<2 x double> %a)
147168// CHECK: ret <2 x double> [[RND]]
148- // float64x2_t test_vrnd64zq_f64(float64x2_t a) {
149- // return vrnd64zq_f64(a);
150- // }
169+ float64x2_t test_vrnd64zq_f64 (float64x2_t a ) {
170+ return vrnd64zq_f64 (a );
171+
172+ // CIR-LABEL: vrnd64zq_f64
173+ // CIR: [[TMP0:%.*]] = cir.llvm.intrinsic "aarch64.neon.frint64z" {{.*}} : (!cir.vector<!cir.double x 2>) -> !cir.vector<!cir.double x 2>
174+
175+ // LLVM-LABEL: @test_vrnd64zq_f64
176+ // LLVM: [[RND:%.*]] = call <2 x double> @llvm.aarch64.neon.frint64z.v2f64(<2 x double> %0)
177+ // LLVM: ret <2 x double> [[RND]]
178+ }
0 commit comments