summaryrefslogtreecommitdiff
path: root/test/CodeGen/Hexagon/adde.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/Hexagon/adde.ll')
-rw-r--r--test/CodeGen/Hexagon/adde.ll55
1 files changed, 24 insertions, 31 deletions
diff --git a/test/CodeGen/Hexagon/adde.ll b/test/CodeGen/Hexagon/adde.ll
index 43ddb4307ef26..12913eea7e816 100644
--- a/test/CodeGen/Hexagon/adde.ll
+++ b/test/CodeGen/Hexagon/adde.ll
@@ -1,34 +1,27 @@
-; RUN: llc -march=hexagon -disable-hsdr -hexagon-expand-condsets=0 -hexagon-bit=0 -disable-post-ra < %s | FileCheck %s
+; RUN: llc -march=hexagon -hexagon-expand-condsets=0 < %s | FileCheck %s
-; CHECK: r{{[0-9]+:[0-9]+}} = combine(#0, #1)
-; CHECK: r{{[0-9]+:[0-9]+}} = combine(#0, #0)
-; CHECK: r{{[0-9]+:[0-9]+}} = add(r{{[0-9]+:[0-9]+}}, r{{[0-9]+:[0-9]+}})
-; CHECK: p{{[0-9]+}} = cmp.gtu(r{{[0-9]+:[0-9]+}}, r{{[0-9]+:[0-9]+}})
-; CHECK: p{{[0-9]+}} = cmp.gtu(r{{[0-9]+:[0-9]+}}, r{{[0-9]+:[0-9]+}})
-; CHECK: r{{[0-9]+}} = mux(p{{[0-9]+}}, r{{[0-9]+}}, r{{[0-9]+}})
-; CHECK: r{{[0-9]+}} = mux(p{{[0-9]+}}, r{{[0-9]+}}, r{{[0-9]+}})
-; CHECK: r{{[0-9]+:[0-9]+}} = combine(r{{[0-9]+}}, r{{[0-9]+}})
-; CHECK: r{{[0-9]+}} = mux(p{{[0-9]+}}, r{{[0-9]+}}, r{{[0-9]+}})
-; CHECK: r{{[0-9]+}} = mux(p{{[0-9]+}}, r{{[0-9]+}}, r{{[0-9]+}})
-; CHECK: r{{[0-9]+:[0-9]+}} = combine(r{{[0-9]+}}, r{{[0-9]+}})
-; CHECK: r{{[0-9]+:[0-9]+}} = add(r{{[0-9]+:[0-9]+}}, r{{[0-9]+:[0-9]+}})
+; CHECK-DAG: r{{[0-9]+:[0-9]+}} = add(r{{[0-9]+:[0-9]+}},r{{[0-9]+:[0-9]+}})
+; CHECK-DAG: r{{[0-9]+:[0-9]+}} = add(r{{[0-9]+:[0-9]+}},r{{[0-9]+:[0-9]+}})
+; CHECK-DAG: p{{[0-9]+}} = cmp.gtu(r{{[0-9]+:[0-9]+}},r{{[0-9]+:[0-9]+}})
+; CHECK-DAG: p{{[0-9]+}} = cmp.gtu(r{{[0-9]+:[0-9]+}},r{{[0-9]+:[0-9]+}})
+; CHECK-DAG: r{{[0-9]+}} = mux(p{{[0-9]+}},r{{[0-9]+}},r{{[0-9]+}})
+; CHECK-DAG: r{{[0-9]+}} = mux(p{{[0-9]+}},r{{[0-9]+}},r{{[0-9]+}})
-
-define void @check_adde_addc (i64 %AL, i64 %AH, i64 %BL, i64 %BH, i64* %RL, i64* %RH) {
-entry:
- %tmp1 = zext i64 %AL to i128
- %tmp23 = zext i64 %AH to i128
- %tmp4 = shl i128 %tmp23, 64
- %tmp5 = or i128 %tmp4, %tmp1
- %tmp67 = zext i64 %BL to i128
- %tmp89 = zext i64 %BH to i128
- %tmp11 = shl i128 %tmp89, 64
- %tmp12 = or i128 %tmp11, %tmp67
- %tmp15 = add i128 %tmp12, %tmp5
- %tmp1617 = trunc i128 %tmp15 to i64
- store i64 %tmp1617, i64* %RL
- %tmp21 = lshr i128 %tmp15, 64
- %tmp2122 = trunc i128 %tmp21 to i64
- store i64 %tmp2122, i64* %RH
- ret void
+define void @check_adde_addc(i64 %a0, i64 %a1, i64 %a2, i64 %a3, i64* %a4, i64* %a5) {
+b6:
+ %v7 = zext i64 %a0 to i128
+ %v8 = zext i64 %a1 to i128
+ %v9 = shl i128 %v8, 64
+ %v10 = or i128 %v7, %v9
+ %v11 = zext i64 %a2 to i128
+ %v12 = zext i64 %a3 to i128
+ %v13 = shl i128 %v12, 64
+ %v14 = or i128 %v11, %v13
+ %v15 = add i128 %v10, %v14
+ %v16 = lshr i128 %v15, 64
+ %v17 = trunc i128 %v15 to i64
+ %v18 = trunc i128 %v16 to i64
+ store i64 %v17, i64* %a4
+ store i64 %v18, i64* %a5
+ ret void
}