Skip to content

Commit 33787d6

Browse files
rampitecvikramRH
authored andcommitted
[AMDGPU] Add v2i32 to the VS_64 types. NFCI. (llvm#88318)
I am trying to use VOP3Inst with intrinsic taking v2i32 operand and it fails to create patterm without it. Change-Id: I91909416715d0e06a8f6101a75d15427d4f03bc4
1 parent 6405a5f commit 33787d6

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

llvm/lib/Target/AMDGPU/SIInstructions.td

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2129,7 +2129,7 @@ def : GCNPat <
21292129
def : GCNPat <
21302130
(DivergentUnaryFrag<fneg> (v2f32 VReg_64:$src)),
21312131
(V_PK_ADD_F32 11 /* OP_SEL_1 | NEG_LO | HEG_HI */, VReg_64:$src,
2132-
11 /* OP_SEL_1 | NEG_LO | HEG_HI */, 0,
2132+
11 /* OP_SEL_1 | NEG_LO | HEG_HI */, (i64 0),
21332133
0, 0, 0, 0, 0)
21342134
> {
21352135
let SubtargetPredicate = HasPackedFP32Ops;
@@ -3031,15 +3031,15 @@ def : GCNPat<
30313031
let SubtargetPredicate = HasPackedFP32Ops in {
30323032
def : GCNPat<
30333033
(fcanonicalize (v2f32 (VOP3PMods v2f32:$src, i32:$src_mods))),
3034-
(V_PK_MUL_F32 0, CONST.FP32_ONE, $src_mods, $src)
3034+
(V_PK_MUL_F32 0, (i64 CONST.FP32_ONE), $src_mods, $src)
30353035
>;
30363036
}
30373037

30383038
// TODO: Handle fneg like other types.
30393039
let SubtargetPredicate = isNotGFX12Plus in {
30403040
def : GCNPat<
30413041
(fcanonicalize (f64 (VOP3Mods f64:$src, i32:$src_mods))),
3042-
(V_MUL_F64_e64 0, CONST.FP64_ONE, $src_mods, $src)
3042+
(V_MUL_F64_e64 0, (i64 CONST.FP64_ONE), $src_mods, $src)
30433043
>;
30443044
}
30453045
} // End AddedComplexity = -5
@@ -3403,7 +3403,7 @@ def : GCNPat <
34033403
SRCMODS.NONE,
34043404
(V_FRACT_F64_e64 $mods, $x),
34053405
SRCMODS.NONE,
3406-
(V_MOV_B64_PSEUDO 0x3fefffffffffffff)),
3406+
(V_MOV_B64_PSEUDO (i64 0x3fefffffffffffff))),
34073407
$x,
34083408
(V_CMP_CLASS_F64_e64 SRCMODS.NONE, $x, (i32 3 /*NaN*/))))
34093409
>;

llvm/lib/Target/AMDGPU/SIRegisterInfo.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1047,7 +1047,7 @@ def VS_32_Lo128 : SIRegisterClass<"AMDGPU", [i32, f32, i16, f16, bf16, v2i16, v2
10471047
let HasSGPR = 1;
10481048
}
10491049

1050-
def VS_64 : SIRegisterClass<"AMDGPU", [i64, f64, v2f32], 32, (add VReg_64, SReg_64)> {
1050+
def VS_64 : SIRegisterClass<"AMDGPU", VReg_64.RegTypes, 32, (add VReg_64, SReg_64)> {
10511051
let isAllocatable = 0;
10521052
let HasVGPR = 1;
10531053
let HasSGPR = 1;

0 commit comments

Comments
 (0)