diff options
Diffstat (limited to 'llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll')
-rw-r--r-- | llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll | 26 |
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 } |