diff options
Diffstat (limited to 'llvm/test/CodeGen/AArch64/fast-isel-branch-cond-mask.ll')
| -rw-r--r-- | llvm/test/CodeGen/AArch64/fast-isel-branch-cond-mask.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/fast-isel-branch-cond-mask.ll b/llvm/test/CodeGen/AArch64/fast-isel-branch-cond-mask.ll new file mode 100644 index 00000000000..c018b2778b0 --- /dev/null +++ b/llvm/test/CodeGen/AArch64/fast-isel-branch-cond-mask.ll @@ -0,0 +1,20 @@ +; RUN: llc -mtriple=aarch64-apple-darwin -O0 -fast-isel -fast-isel-abort=0 -verify-machineinstrs < %s | FileCheck %s + +define void @test(i64 %a, i64 %b, i2* %c) { +; CHECK-LABEL: test +; CHECK: and [[REG1:w[0-9]+]], w8, #0x3 +; CHECK-NEXT: strb [[REG1]], {{\[}}x2{{\]}} +; CHECK: and [[REG2:w[0-9]+]], w8, #0x1 +; CHECK-NEXT: cmp [[REG2]], #0 + %1 = trunc i64 %a to i2 + %2 = trunc i64 %b to i1 +; Force fast-isel to fall back to SDAG. + store i2 %1, i2* %c, align 8 + br i1 %2, label %bb1, label %bb2 + +bb1: + ret void + +bb2: + ret void +} |

