summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Hexagon/isel-exti1.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/Hexagon/isel-exti1.ll')
-rw-r--r--llvm/test/CodeGen/Hexagon/isel-exti1.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/isel-exti1.ll b/llvm/test/CodeGen/Hexagon/isel-exti1.ll
new file mode 100644
index 00000000000..b49986628e4
--- /dev/null
+++ b/llvm/test/CodeGen/Hexagon/isel-exti1.ll
@@ -0,0 +1,22 @@
+; RUN: llc -O0 -march=hexagon < %s | FileCheck %s
+
+; CHECK-LABEL: sexti1
+; CHECK: r[[REG:[0-9]+]] = mux(p{{[0-3]}},#-1,#0)
+; CHECK: combine(r[[REG]],r[[REG]])
+define i64 @sexti1(i64 %a0, i64 %a1) {
+entry:
+ %t0 = icmp ult i64 %a0, %a1
+ %t1 = sext i1 %t0 to i64
+ ret i64 %t1
+}
+
+; CHECK-LABEL: zexti1
+; CHECK: r[[REG:[0-9]+]] = mux(p{{[0-3]}},#1,#0)
+; CHECK: combine(#0,r[[REG]])
+define i64 @zexti1(i64 %a0, i64 %a1) {
+entry:
+ %t0 = icmp ult i64 %a0, %a1
+ %t1 = zext i1 %t0 to i64
+ ret i64 %t1
+}
+
OpenPOWER on IntegriCloud