diff options
author | Tim Northover <tnorthover@apple.com> | 2016-11-08 00:45:29 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2016-11-08 00:45:29 +0000 |
commit | 9ac0eba6724806d65d2b28b6e96cceded33b4e35 (patch) | |
tree | 5ad9e141178ea021dd564ea75e566fa1f9b24ec6 /llvm/test | |
parent | 96999de55d3168aaeed5126a22fbd64b8b4ab8ab (diff) | |
download | bcm5719-llvm-9ac0eba6724806d65d2b28b6e96cceded33b4e35.tar.gz bcm5719-llvm-9ac0eba6724806d65d2b28b6e96cceded33b4e35.zip |
GlobalISel: support selecting G_SELECT on AArch64.
llvm-svn: 286185
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir index 7d0ec021239..e9c165b892b 100644 --- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir +++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir @@ -150,6 +150,7 @@ define void @phi() { ret void } + define void @select() { ret void } ... --- @@ -2874,3 +2875,46 @@ body: | %s0 = COPY %2 RET_ReallyLR implicit %s0 ... + +--- +# CHECK-LABEL: name: select +name: select +legalized: true +regBankSelected: true +tracksRegLiveness: true + +# CHECK: registers: +# CHECK-NEXT: - { id: 0, class: gpr32 } +# CHECK-NEXT: - { id: 1, class: gpr32 } +# CHECK-NEXT: - { id: 2, class: gpr32 } +# CHECK-NEXT: - { id: 3, class: gpr32 } +# CHECK-NEXT: - { id: 4, class: gpr64 } +# CHECK-NEXT: - { id: 5, class: gpr64 } +# CHECK-NEXT: - { id: 6, class: gpr64 } +registers: + - { id: 0, class: gpr } + - { id: 1, class: gpr } + - { id: 2, class: gpr } + - { id: 3, class: gpr } + - { id: 4, class: gpr } + - { id: 5, class: gpr } + - { id: 6, class: gpr } + +# CHECK: body: +# CHECK: %wzr = ANDSWri %0, 0, implicit-def %nzcv +# CHECK: %3 = CSELWr %1, %2, 1, implicit %nzcv +# CHECK: %wzr = ANDSWri %0, 0, implicit-def %nzcv +# CHECK: %6 = CSELXr %4, %5, 1, implicit %nzcv +body: | + bb.0: + liveins: %w0, %w1, %w2 + %0(s1) = COPY %w0 + + %1(s32) = COPY %w1 + %2(s32) = COPY %w2 + %3(s32) = G_SELECT %0, %1, %2 + + %4(s64) = COPY %x0 + %5(s64) = COPY %x1 + %6(s64) = G_SELECT %0, %4, %5 +... |