xref: /aosp_15_r20/external/llvm/test/CodeGen/AArch64/fast-isel-branch-cond-mask.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=aarch64-apple-darwin -O0 -fast-isel -fast-isel-abort=0 -verify-machineinstrs < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdefine void @test(i64 %a, i64 %b, i2* %c) {
4*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test
5*9880d681SAndroid Build Coastguard Worker; CHECK:       and [[REG1:w[0-9]+]], w8, #0x3
6*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:  strb [[REG1]], {{\[}}x2{{\]}}
7*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:  tbz w9, #0,
8*9880d681SAndroid Build Coastguard Worker %1 = trunc i64 %a to i2
9*9880d681SAndroid Build Coastguard Worker %2 = trunc i64 %b to i1
10*9880d681SAndroid Build Coastguard Worker; Force fast-isel to fall back to SDAG.
11*9880d681SAndroid Build Coastguard Worker store i2 %1, i2* %c, align 8
12*9880d681SAndroid Build Coastguard Worker br i1 %2, label %bb1, label %bb2
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workerbb1:
15*9880d681SAndroid Build Coastguard Worker  ret void
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerbb2:
18*9880d681SAndroid Build Coastguard Worker  ret void
19*9880d681SAndroid Build Coastguard Worker}
20