diff options
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir')
| -rw-r--r-- | llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir | 48 |
1 files changed, 21 insertions, 27 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir b/llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir index 9a51f457a567..dfcf9a1f5c5a 100644 --- a/llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir +++ b/llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir @@ -191,8 +191,8 @@ body: | bb.0: ; GCN-LABEL: name: v_mov_b32_imm_literal_copy_v_to_agpr_32 ; GCN: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 999, implicit $exec - ; GCN-NEXT: [[COPY:%[0-9]+]]:agpr_32 = COPY [[V_MOV_B32_e32_]] - ; GCN-NEXT: $agpr0 = COPY [[COPY]] + ; GCN-NEXT: [[V_ACCVGPR_WRITE_B32_e64_:%[0-9]+]]:agpr_32 = V_ACCVGPR_WRITE_B32_e64 [[V_MOV_B32_e32_]], implicit $exec + ; GCN-NEXT: $agpr0 = COPY [[V_ACCVGPR_WRITE_B32_e64_]] ; GCN-NEXT: S_ENDPGM 0 %0:vgpr_32 = V_MOV_B32_e32 999, implicit $exec %1:agpr_32 = COPY %0 @@ -207,9 +207,8 @@ tracksRegLiveness: true body: | bb.0: ; GCN-LABEL: name: s_mov_b32_inlineimm_copy_s_to_av_32 - ; GCN: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 32 - ; GCN-NEXT: [[COPY:%[0-9]+]]:av_32 = COPY [[S_MOV_B32_]] - ; GCN-NEXT: $agpr0 = COPY [[COPY]] + ; GCN: [[AV_MOV_:%[0-9]+]]:av_32 = AV_MOV_B32_IMM_PSEUDO 32, implicit $exec + ; GCN-NEXT: $agpr0 = COPY [[AV_MOV_]] ; GCN-NEXT: S_ENDPGM 0 %0:sreg_32 = S_MOV_B32 32 %1:av_32 = COPY %0 @@ -224,9 +223,8 @@ tracksRegLiveness: true body: | bb.0: ; GCN-LABEL: name: v_mov_b32_inlineimm_copy_v_to_av_32 - ; GCN: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 32, implicit $exec - ; GCN-NEXT: [[COPY:%[0-9]+]]:av_32 = COPY [[V_MOV_B32_e32_]] - ; GCN-NEXT: $agpr0 = COPY [[COPY]] + ; GCN: [[AV_MOV_:%[0-9]+]]:av_32 = AV_MOV_B32_IMM_PSEUDO 32, implicit $exec + ; GCN-NEXT: $agpr0 = COPY [[AV_MOV_]] ; GCN-NEXT: S_ENDPGM 0 %0:vgpr_32 = V_MOV_B32_e32 32, implicit $exec %1:av_32 = COPY %0 @@ -242,8 +240,8 @@ body: | bb.0: ; GCN-LABEL: name: s_mov_b32_imm_literal_copy_s_to_av_32 ; GCN: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 999 - ; GCN-NEXT: [[COPY:%[0-9]+]]:av_32 = COPY [[S_MOV_B32_]] - ; GCN-NEXT: $agpr0 = COPY [[COPY]] + ; GCN-NEXT: [[AV_MOV_:%[0-9]+]]:av_32 = AV_MOV_B32_IMM_PSEUDO [[S_MOV_B32_]], implicit $exec + ; GCN-NEXT: $agpr0 = COPY [[AV_MOV_]] ; GCN-NEXT: S_ENDPGM 0 %0:sreg_32 = S_MOV_B32 999 %1:av_32 = COPY %0 @@ -259,8 +257,8 @@ body: | bb.0: ; GCN-LABEL: name: v_mov_b32_imm_literal_copy_v_to_av_32 ; GCN: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 999, implicit $exec - ; GCN-NEXT: [[COPY:%[0-9]+]]:av_32 = COPY [[V_MOV_B32_e32_]] - ; GCN-NEXT: $agpr0 = COPY [[COPY]] + ; GCN-NEXT: [[AV_MOV_:%[0-9]+]]:av_32 = AV_MOV_B32_IMM_PSEUDO [[V_MOV_B32_e32_]], implicit $exec + ; GCN-NEXT: $agpr0 = COPY [[AV_MOV_]] ; GCN-NEXT: S_ENDPGM 0 %0:vgpr_32 = V_MOV_B32_e32 999, implicit $exec %1:av_32 = COPY %0 @@ -818,9 +816,8 @@ tracksRegLiveness: true body: | bb.0: ; GCN-LABEL: name: av_mov_b64_imm_pseudo_copy_av_64_to_virtreg_agpr - ; GCN: [[AV_MOV_:%[0-9]+]]:av_64 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec - ; GCN-NEXT: [[COPY:%[0-9]+]]:areg_64 = COPY [[AV_MOV_]] - ; GCN-NEXT: S_ENDPGM 0, implicit [[COPY]] + ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec + ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]] %0:av_64 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec %1:areg_64 = COPY %0 S_ENDPGM 0, implicit %1 @@ -834,9 +831,8 @@ tracksRegLiveness: true body: | bb.0: ; GCN-LABEL: name: av_mov_b64_imm_pseudo_copy_av_64_to_virtreg_vgpr_0 - ; GCN: [[AV_MOV_:%[0-9]+]]:av_64 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec - ; GCN-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY [[AV_MOV_]] - ; GCN-NEXT: S_ENDPGM 0, implicit [[COPY]] + ; GCN: [[V_MOV_B:%[0-9]+]]:vreg_64 = V_MOV_B64_PSEUDO 0, implicit $exec + ; GCN-NEXT: S_ENDPGM 0, implicit [[V_MOV_B]] %0:av_64 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec %1:vreg_64 = COPY %0 S_ENDPGM 0, implicit %1 @@ -850,9 +846,9 @@ tracksRegLiveness: true body: | bb.0: ; GCN-LABEL: name: av_mov_b64_imm_pseudo_copy_av_64_to_virtreg_vgpr_nonsplat_value - ; GCN: [[AV_MOV_:%[0-9]+]]:av_64 = AV_MOV_B64_IMM_PSEUDO 274877906961, implicit $exec - ; GCN-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY [[AV_MOV_]] - ; GCN-NEXT: S_ENDPGM 0, implicit [[COPY]] + ; GCN: [[AV_MOV_:%[0-9]+]]:vreg_64 = AV_MOV_B64_IMM_PSEUDO 274877906961, implicit $exec + ; GCN-NEXT: [[V_MOV_B:%[0-9]+]]:vreg_64 = V_MOV_B64_PSEUDO [[AV_MOV_]], implicit $exec + ; GCN-NEXT: S_ENDPGM 0, implicit [[V_MOV_B]] %0:av_64 = AV_MOV_B64_IMM_PSEUDO 274877906961, implicit $exec %1:vreg_64 = COPY %0 S_ENDPGM 0, implicit %1 @@ -865,9 +861,8 @@ tracksRegLiveness: true body: | bb.0: ; GCN-LABEL: name: av_mov_b64_imm_pseudo_copy_av_64_to_virtreg_vgpr_nonsplat_value_copy_sub0 - ; GCN: [[AV_MOV_:%[0-9]+]]:av_64 = AV_MOV_B64_IMM_PSEUDO 274877906961, implicit $exec - ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY [[AV_MOV_]].sub0 - ; GCN-NEXT: S_ENDPGM 0, implicit [[COPY]] + ; GCN: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 17, implicit $exec + ; GCN-NEXT: S_ENDPGM 0, implicit [[V_MOV_B32_e32_]] %0:av_64 = AV_MOV_B64_IMM_PSEUDO 274877906961, implicit $exec %1:vgpr_32 = COPY %0.sub0 S_ENDPGM 0, implicit %1 @@ -880,9 +875,8 @@ tracksRegLiveness: true body: | bb.0: ; GCN-LABEL: name: av_mov_b64_imm_pseudo_copy_av_64_to_virtreg_vgpr_nonsplat_value_copy_sub1 - ; GCN: [[AV_MOV_:%[0-9]+]]:av_64 = AV_MOV_B64_IMM_PSEUDO 274877906961, implicit $exec - ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY [[AV_MOV_]].sub1 - ; GCN-NEXT: S_ENDPGM 0, implicit [[COPY]] + ; GCN: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 64, implicit $exec + ; GCN-NEXT: S_ENDPGM 0, implicit [[V_MOV_B32_e32_]] %0:av_64 = AV_MOV_B64_IMM_PSEUDO 274877906961, implicit $exec %1:vgpr_32 = COPY %0.sub1 S_ENDPGM 0, implicit %1 |
