diff options
Diffstat (limited to 'llvm/test/CodeGen/Hexagon/isel-exti1.ll')
-rw-r--r-- | llvm/test/CodeGen/Hexagon/isel-exti1.ll | 22 |
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 +} + |