summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed.bougacha@gmail.com>2016-08-18 16:05:06 +0000
committerAhmed Bougacha <ahmed.bougacha@gmail.com>2016-08-18 16:05:06 +0000
commit71d033a17f325882c54db28920020854013e5834 (patch)
tree54093d1bf09253ebb22d2fb336befd7927e3eca3 /llvm/test
parentd1279df752164680b212dfce5c4a0f5317d12cfd (diff)
downloadbcm5719-llvm-71d033a17f325882c54db28920020854013e5834.tar.gz
bcm5719-llvm-71d033a17f325882c54db28920020854013e5834.zip
[GlobalISel] Add floating-point binary ops.
llvm-svn: 279080
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll55
1 files changed, 55 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
index d2ecf3a104e..789ca976e7b 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
@@ -541,3 +541,58 @@ define void @int_comparison(i32 %a, i32 %b, i1* %addr) {
store i1 %res, i1* %addr
ret void
}
+
+; CHECK-LABEL: name: test_fadd
+; CHECK: [[ARG1:%[0-9]+]](32) = COPY %s0
+; CHECK-NEXT: [[ARG2:%[0-9]+]](32) = COPY %s1
+; CHECK-NEXT: [[RES:%[0-9]+]](32) = G_FADD s32 [[ARG1]], [[ARG2]]
+; CHECK-NEXT: %s0 = COPY [[RES]]
+; CHECK-NEXT: RET_ReallyLR implicit %s0
+define float @test_fadd(float %arg1, float %arg2) {
+ %res = fadd float %arg1, %arg2
+ ret float %res
+}
+
+; CHECK-LABEL: name: test_fsub
+; CHECK: [[ARG1:%[0-9]+]](32) = COPY %s0
+; CHECK-NEXT: [[ARG2:%[0-9]+]](32) = COPY %s1
+; CHECK-NEXT: [[RES:%[0-9]+]](32) = G_FSUB s32 [[ARG1]], [[ARG2]]
+; CHECK-NEXT: %s0 = COPY [[RES]]
+; CHECK-NEXT: RET_ReallyLR implicit %s0
+define float @test_fsub(float %arg1, float %arg2) {
+ %res = fsub float %arg1, %arg2
+ ret float %res
+}
+
+; CHECK-LABEL: name: test_fmul
+; CHECK: [[ARG1:%[0-9]+]](32) = COPY %s0
+; CHECK-NEXT: [[ARG2:%[0-9]+]](32) = COPY %s1
+; CHECK-NEXT: [[RES:%[0-9]+]](32) = G_FMUL s32 [[ARG1]], [[ARG2]]
+; CHECK-NEXT: %s0 = COPY [[RES]]
+; CHECK-NEXT: RET_ReallyLR implicit %s0
+define float @test_fmul(float %arg1, float %arg2) {
+ %res = fmul float %arg1, %arg2
+ ret float %res
+}
+
+; CHECK-LABEL: name: test_fdiv
+; CHECK: [[ARG1:%[0-9]+]](32) = COPY %s0
+; CHECK-NEXT: [[ARG2:%[0-9]+]](32) = COPY %s1
+; CHECK-NEXT: [[RES:%[0-9]+]](32) = G_FDIV s32 [[ARG1]], [[ARG2]]
+; CHECK-NEXT: %s0 = COPY [[RES]]
+; CHECK-NEXT: RET_ReallyLR implicit %s0
+define float @test_fdiv(float %arg1, float %arg2) {
+ %res = fdiv float %arg1, %arg2
+ ret float %res
+}
+
+; CHECK-LABEL: name: test_frem
+; CHECK: [[ARG1:%[0-9]+]](32) = COPY %s0
+; CHECK-NEXT: [[ARG2:%[0-9]+]](32) = COPY %s1
+; CHECK-NEXT: [[RES:%[0-9]+]](32) = G_FREM s32 [[ARG1]], [[ARG2]]
+; CHECK-NEXT: %s0 = COPY [[RES]]
+; CHECK-NEXT: RET_ReallyLR implicit %s0
+define float @test_frem(float %arg1, float %arg2) {
+ %res = frem float %arg1, %arg2
+ ret float %res
+}
OpenPOWER on IntegriCloud