| # RUN: llc -march=amdgcn -run-pass si-fold-operands -verify-machineinstrs -o - %s | FileCheck %s |
| |
| # CHECK: %1:vgpr_32 = V_MOV_B32_e32 0, implicit $exec |
| # CHECK: %2:vgpr_32 = V_MOV_B32_e32 0, implicit $exec |
| # CHECK: %4:vgpr_32 = COPY %3 |
| # CHECK: %5:vgpr_32 = V_MOV_B32_e32 0, implicit $exec |
| # CHECK: %6:vgpr_32 = V_MOV_B32_e32 0, implicit $exec |
| # CHECK: %7:vgpr_32 = COPY %3 |
| |
| --- |
| name: fold_cndmask |
| tracksRegLiveness: true |
| registers: |
| - { id: 0, class: sgpr_64 } |
| - { id: 1, class: vgpr_32 } |
| - { id: 2, class: vgpr_32 } |
| - { id: 3, class: vgpr_32 } |
| - { id: 4, class: vgpr_32 } |
| - { id: 5, class: vgpr_32 } |
| - { id: 6, class: vgpr_32 } |
| - { id: 7, class: vgpr_32 } |
| body: | |
| bb.0.entry: |
| %0 = IMPLICIT_DEF |
| %1 = V_CNDMASK_B32_e64 0, 0, %0, implicit $exec |
| %2 = V_CNDMASK_B32_e64 %1, %1, %0, implicit $exec |
| %3 = IMPLICIT_DEF |
| %4 = V_CNDMASK_B32_e64 %3, %3, %0, implicit $exec |
| %5 = COPY %1 |
| %6 = V_CNDMASK_B32_e64 %5, 0, %0, implicit $exec |
| $vcc = IMPLICIT_DEF |
| %7 = V_CNDMASK_B32_e32 %3, %3, implicit $exec, implicit $vcc |
| |
| ... |