Skip to content

Commit 85f3c4d

Browse files
committed
[AMDGPU] Add isAsCheapAsAMove for v_pk_mov_b32
1 parent 8187caf commit 85f3c4d

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

llvm/lib/Target/AMDGPU/VOP3PInstructions.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1151,7 +1151,7 @@ let isCommutable = 1, isReMaterializable = 1 in {
11511151
defm V_PK_ADD_F32 : VOP3PInst<"v_pk_add_f32", VOP3P_Profile<VOP_V2F32_V2F32_V2F32, VOP3_PACKED>, any_fadd>;
11521152
} // End SubtargetPredicate = HasPackedFP32Ops
11531153

1154-
let SubtargetPredicate = HasPkMovB32 in
1154+
let SubtargetPredicate = HasPkMovB32, isAsCheapAsAMove = 1 in
11551155
defm V_PK_MOV_B32 : VOP3PInst<"v_pk_mov_b32", VOP3P_Profile<VOP_V2I32_V2I32_V2I32, VOP3_PACKED>>;
11561156
} // End isCommutable = 1, isReMaterializable = 1
11571157

llvm/test/CodeGen/AMDGPU/vgpr-remat-v_pk_mov_b32.mir

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,22 @@ body: |
1111
; CHECK-NEXT: liveins: $sgpr0
1212
; CHECK-NEXT: {{ $}}
1313
; CHECK-NEXT: [[V_PK_MOV_B32_:%[0-9]+]]:vreg_64_align2 = V_PK_MOV_B32 8, 0, 8, 0, 0, 0, 0, 0, 0, implicit $exec
14-
; CHECK-NEXT: [[COPY:%[0-9]+]]:vreg_64_align2 = COPY [[V_PK_MOV_B32_]]
15-
; CHECK-NEXT: [[COPY1:%[0-9]+]]:vreg_64_align2 = COPY [[V_PK_MOV_B32_]]
16-
; CHECK-NEXT: [[COPY2:%[0-9]+]]:sreg_64 = COPY $sgpr0
17-
; CHECK-NEXT: $exec = S_MOV_B64_term [[COPY2]]
14+
; CHECK-NEXT: [[V_PK_MOV_B32_1:%[0-9]+]]:vreg_64_align2 = V_PK_MOV_B32 8, 0, 8, 0, 0, 0, 0, 0, 0, implicit $exec
15+
; CHECK-NEXT: [[V_PK_MOV_B32_2:%[0-9]+]]:vreg_64_align2 = V_PK_MOV_B32 8, 0, 8, 0, 0, 0, 0, 0, 0, implicit $exec
16+
; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0
17+
; CHECK-NEXT: $exec = S_MOV_B64_term [[COPY]]
1818
; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
1919
; CHECK-NEXT: S_BRANCH %bb.1
2020
; CHECK-NEXT: {{ $}}
2121
; CHECK-NEXT: bb.1:
2222
; CHECK-NEXT: successors: %bb.2(0x80000000)
2323
; CHECK-NEXT: {{ $}}
24-
; CHECK-NEXT: [[COPY:%[0-9]+]]:vreg_64_align2 = V_PK_ADD_F32 8, [[COPY]], 8, [[COPY]], 11, 0, 0, 0, 0, implicit $mode, implicit $exec
25-
; CHECK-NEXT: [[COPY1:%[0-9]+]]:vreg_64_align2 = V_PK_ADD_F32 8, [[COPY1]], 8, [[COPY1]], 11, 0, 0, 0, 0, implicit $mode, implicit $exec
24+
; CHECK-NEXT: [[V_PK_MOV_B32_1:%[0-9]+]]:vreg_64_align2 = V_PK_ADD_F32 8, [[V_PK_MOV_B32_1]], 8, [[V_PK_MOV_B32_1]], 11, 0, 0, 0, 0, implicit $mode, implicit $exec
25+
; CHECK-NEXT: [[V_PK_MOV_B32_2:%[0-9]+]]:vreg_64_align2 = V_PK_ADD_F32 8, [[V_PK_MOV_B32_2]], 8, [[V_PK_MOV_B32_2]], 11, 0, 0, 0, 0, implicit $mode, implicit $exec
2626
; CHECK-NEXT: {{ $}}
2727
; CHECK-NEXT: bb.2:
28-
; CHECK-NEXT: S_NOP 0, implicit [[COPY]]
29-
; CHECK-NEXT: S_NOP 0, implicit [[COPY1]]
28+
; CHECK-NEXT: S_NOP 0, implicit [[V_PK_MOV_B32_1]]
29+
; CHECK-NEXT: S_NOP 0, implicit [[V_PK_MOV_B32_2]]
3030
; CHECK-NEXT: S_ENDPGM 0, implicit [[V_PK_MOV_B32_]]
3131
bb.0:
3232
liveins: $sgpr0

0 commit comments

Comments
 (0)