summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll')
-rw-r--r--llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll26
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll b/llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll
index 1718ed4d9a9..339c8772ce8 100644
--- a/llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll
@@ -215,12 +215,19 @@ define %v4f16 @test_v4f16.rint(%v4f16 %a) {
%1 = call %v4f16 @llvm.rint.v4f16(%v4f16 %a)
ret %v4f16 %1
}
+
+; FALLBACK-NOT: remark{{.*}}test_v4f16.nearbyint
define %v4f16 @test_v4f16.nearbyint(%v4f16 %a) {
; CHECK-LABEL: test_v4f16.nearbyint:
; CHECK-NOFP16-COUNT-4: frinti s{{[0-9]+}}, s{{[0-9]+}}
; CHECK-FP16-NOT: fcvt
; CHECK-FP16: frinti.4h
; CHECK-FP16-NEXT: ret
+ ; GISEL-LABEL: test_v4f16.nearbyint:
+ ; GISEL-NOFP16-COUNT-4: frinti s{{[0-9]+}}, s{{[0-9]+}}
+ ; GISEL-FP16-NOT: fcvt
+ ; GISEL-FP16: frinti.4h
+ ; GISEL-FP16-NEXT: ret
%1 = call %v4f16 @llvm.nearbyint.v4f16(%v4f16 %a)
ret %v4f16 %1
}
@@ -465,12 +472,19 @@ define %v8f16 @test_v8f16.rint(%v8f16 %a) {
%1 = call %v8f16 @llvm.rint.v8f16(%v8f16 %a)
ret %v8f16 %1
}
+
+; FALLBACK-NOT: remark{{.*}}test_v8f16.nearbyint
define %v8f16 @test_v8f16.nearbyint(%v8f16 %a) {
; CHECK-LABEL: test_v8f16.nearbyint:
; CHECK-NOFP16-COUNT-8: frinti s{{[0-9]+}}, s{{[0-9]+}}
; CHECK-FP16-NOT: fcvt
; CHECK-FP16: frinti.8h
; CHECK-FP16-NEXT: ret
+ ; GISEL-LABEL: test_v8f16.nearbyint:
+ ; GISEL-NOFP16-COUNT-8: frinti s{{[0-9]+}}, s{{[0-9]+}}
+ ; GISEL-FP16-NOT: fcvt
+ ; GISEL-FP16: frinti.8h
+ ; GISEL-FP16-NEXT: ret
%1 = call %v8f16 @llvm.nearbyint.v8f16(%v8f16 %a)
ret %v8f16 %1
}
@@ -657,9 +671,13 @@ define %v2f32 @test_v2f32.rint(%v2f32 %a) {
%1 = call %v2f32 @llvm.rint.v2f32(%v2f32 %a)
ret %v2f32 %1
}
+
+; FALLBACK-NOT: remark{{.*}}test_v2f32.nearbyint
; CHECK-LABEL: test_v2f32.nearbyint:
+; GISEL-LABEL: test_v2f32.nearbyint:
define %v2f32 @test_v2f32.nearbyint(%v2f32 %a) {
; CHECK: frinti.2s
+ ; GISEL: frinti.2s
%1 = call %v2f32 @llvm.nearbyint.v2f32(%v2f32 %a)
ret %v2f32 %1
}
@@ -830,9 +848,13 @@ define %v4f32 @test_v4f32.rint(%v4f32 %a) {
%1 = call %v4f32 @llvm.rint.v4f32(%v4f32 %a)
ret %v4f32 %1
}
+
+; FALLBACK-NOT: remark{{.*}}test_v4f32.nearbyint
; CHECK: test_v4f32.nearbyint:
+; GISEL: test_v4f32.nearbyint:
define %v4f32 @test_v4f32.nearbyint(%v4f32 %a) {
; CHECK: frinti.4s
+ ; GISEL: frinti.4s
%1 = call %v4f32 @llvm.nearbyint.v4f32(%v4f32 %a)
ret %v4f32 %1
}
@@ -1003,9 +1025,13 @@ define %v2f64 @test_v2f64.rint(%v2f64 %a) {
%1 = call %v2f64 @llvm.rint.v2f64(%v2f64 %a)
ret %v2f64 %1
}
+
+; FALLBACK-NOT: remark{{.*}}test_v2f64.nearbyint
; CHECK: test_v2f64.nearbyint:
+; GISEL: test_v2f64.nearbyint:
define %v2f64 @test_v2f64.nearbyint(%v2f64 %a) {
; CHECK: frinti.2d
+ ; GISEL: frinti.2d
%1 = call %v2f64 @llvm.nearbyint.v2f64(%v2f64 %a)
ret %v2f64 %1
}
OpenPOWER on IntegriCloud