@@ -3480,7 +3480,7 @@ bool SIInstrInfo::foldImmediate(MachineInstr &UseMI, MachineInstr &DefMI,
3480
3480
Opc == AMDGPU::V_MAD_F16_e64 || Opc == AMDGPU::V_MAC_F16_e64 ||
3481
3481
Opc == AMDGPU::V_FMA_F32_e64 || Opc == AMDGPU::V_FMAC_F32_e64 ||
3482
3482
Opc == AMDGPU::V_FMA_F16_e64 || Opc == AMDGPU::V_FMAC_F16_e64 ||
3483
- Opc == AMDGPU::V_FMAC_F16_t16_e64 ) {
3483
+ Opc == AMDGPU::V_FMAC_F16_fake16_e64 ) {
3484
3484
// Don't fold if we are using source or output modifiers. The new VOP2
3485
3485
// instructions don't have them.
3486
3486
if (hasAnyModifiersSet (UseMI))
@@ -3500,7 +3500,7 @@ bool SIInstrInfo::foldImmediate(MachineInstr &UseMI, MachineInstr &DefMI,
3500
3500
bool IsFMA =
3501
3501
Opc == AMDGPU::V_FMA_F32_e64 || Opc == AMDGPU::V_FMAC_F32_e64 ||
3502
3502
Opc == AMDGPU::V_FMA_F16_e64 || Opc == AMDGPU::V_FMAC_F16_e64 ||
3503
- Opc == AMDGPU::V_FMAC_F16_t16_e64 ;
3503
+ Opc == AMDGPU::V_FMAC_F16_fake16_e64 ;
3504
3504
MachineOperand *Src1 = getNamedOperand (UseMI, AMDGPU::OpName::src1);
3505
3505
MachineOperand *Src2 = getNamedOperand (UseMI, AMDGPU::OpName::src2);
3506
3506
@@ -3533,16 +3533,16 @@ bool SIInstrInfo::foldImmediate(MachineInstr &UseMI, MachineInstr &DefMI,
3533
3533
3534
3534
unsigned NewOpc =
3535
3535
IsFMA ? (IsF32 ? AMDGPU::V_FMAMK_F32
3536
- : ST.hasTrue16BitInsts () ? AMDGPU::V_FMAMK_F16_t16
3536
+ : ST.hasTrue16BitInsts () ? AMDGPU::V_FMAMK_F16_fake16
3537
3537
: AMDGPU::V_FMAMK_F16)
3538
3538
: (IsF32 ? AMDGPU::V_MADMK_F32 : AMDGPU::V_MADMK_F16);
3539
3539
if (pseudoToMCOpcode (NewOpc) == -1 )
3540
3540
return false ;
3541
3541
3542
- // V_FMAMK_F16_t16 takes VGPR_32_Lo128 operands, so the rewrite
3542
+ // V_FMAMK_F16_fake16 takes VGPR_32_Lo128 operands, so the rewrite
3543
3543
// would also require restricting their register classes. For now
3544
3544
// just bail out.
3545
- if (NewOpc == AMDGPU::V_FMAMK_F16_t16 )
3545
+ if (NewOpc == AMDGPU::V_FMAMK_F16_fake16 )
3546
3546
return false ;
3547
3547
3548
3548
const int64_t Imm = getImmFor (RegSrc == Src1 ? *Src0 : *Src1);
@@ -3557,8 +3557,8 @@ bool SIInstrInfo::foldImmediate(MachineInstr &UseMI, MachineInstr &DefMI,
3557
3557
Src0->setIsKill (RegSrc->isKill ());
3558
3558
3559
3559
if (Opc == AMDGPU::V_MAC_F32_e64 || Opc == AMDGPU::V_MAC_F16_e64 ||
3560
- Opc == AMDGPU::V_FMAC_F32_e64 || Opc == AMDGPU::V_FMAC_F16_t16_e64 ||
3561
- Opc == AMDGPU::V_FMAC_F16_e64)
3560
+ Opc == AMDGPU::V_FMAC_F32_e64 ||
3561
+ Opc == AMDGPU::V_FMAC_F16_fake16_e64 || Opc == AMDGPU:: V_FMAC_F16_e64)
3562
3562
UseMI.untieRegOperand (
3563
3563
AMDGPU::getNamedOperandIdx (Opc, AMDGPU::OpName::src2));
3564
3564
@@ -3612,24 +3612,24 @@ bool SIInstrInfo::foldImmediate(MachineInstr &UseMI, MachineInstr &DefMI,
3612
3612
3613
3613
unsigned NewOpc =
3614
3614
IsFMA ? (IsF32 ? AMDGPU::V_FMAAK_F32
3615
- : ST.hasTrue16BitInsts () ? AMDGPU::V_FMAAK_F16_t16
3615
+ : ST.hasTrue16BitInsts () ? AMDGPU::V_FMAAK_F16_fake16
3616
3616
: AMDGPU::V_FMAAK_F16)
3617
3617
: (IsF32 ? AMDGPU::V_MADAK_F32 : AMDGPU::V_MADAK_F16);
3618
3618
if (pseudoToMCOpcode (NewOpc) == -1 )
3619
3619
return false ;
3620
3620
3621
- // V_FMAAK_F16_t16 takes VGPR_32_Lo128 operands, so the rewrite
3621
+ // V_FMAAK_F16_fake16 takes VGPR_32_Lo128 operands, so the rewrite
3622
3622
// would also require restricting their register classes. For now
3623
3623
// just bail out.
3624
- if (NewOpc == AMDGPU::V_FMAAK_F16_t16 )
3624
+ if (NewOpc == AMDGPU::V_FMAAK_F16_fake16 )
3625
3625
return false ;
3626
3626
3627
3627
// FIXME: This would be a lot easier if we could return a new instruction
3628
3628
// instead of having to modify in place.
3629
3629
3630
3630
if (Opc == AMDGPU::V_MAC_F32_e64 || Opc == AMDGPU::V_MAC_F16_e64 ||
3631
- Opc == AMDGPU::V_FMAC_F32_e64 || Opc == AMDGPU::V_FMAC_F16_t16_e64 ||
3632
- Opc == AMDGPU::V_FMAC_F16_e64)
3631
+ Opc == AMDGPU::V_FMAC_F32_e64 ||
3632
+ Opc == AMDGPU::V_FMAC_F16_fake16_e64 || Opc == AMDGPU:: V_FMAC_F16_e64)
3633
3633
UseMI.untieRegOperand (
3634
3634
AMDGPU::getNamedOperandIdx (Opc, AMDGPU::OpName::src2));
3635
3635
@@ -3852,19 +3852,19 @@ MachineInstr *SIInstrInfo::convertToThreeAddress(MachineInstr &MI,
3852
3852
return MIB;
3853
3853
}
3854
3854
3855
- assert (Opc != AMDGPU::V_FMAC_F16_t16_e32 &&
3856
- " V_FMAC_F16_t16_e32 is not supported and not expected to be present "
3855
+ assert (Opc != AMDGPU::V_FMAC_F16_fake16_e32 &&
3856
+ " V_FMAC_F16_fake16_e32 is not supported and not expected to be present "
3857
3857
" pre-RA" );
3858
3858
3859
3859
// Handle MAC/FMAC.
3860
3860
bool IsF16 = Opc == AMDGPU::V_MAC_F16_e32 || Opc == AMDGPU::V_MAC_F16_e64 ||
3861
3861
Opc == AMDGPU::V_FMAC_F16_e32 || Opc == AMDGPU::V_FMAC_F16_e64 ||
3862
- Opc == AMDGPU::V_FMAC_F16_t16_e64 ;
3862
+ Opc == AMDGPU::V_FMAC_F16_fake16_e64 ;
3863
3863
bool IsFMA = Opc == AMDGPU::V_FMAC_F32_e32 || Opc == AMDGPU::V_FMAC_F32_e64 ||
3864
3864
Opc == AMDGPU::V_FMAC_LEGACY_F32_e32 ||
3865
3865
Opc == AMDGPU::V_FMAC_LEGACY_F32_e64 ||
3866
3866
Opc == AMDGPU::V_FMAC_F16_e32 || Opc == AMDGPU::V_FMAC_F16_e64 ||
3867
- Opc == AMDGPU::V_FMAC_F16_t16_e64 ||
3867
+ Opc == AMDGPU::V_FMAC_F16_fake16_e64 ||
3868
3868
Opc == AMDGPU::V_FMAC_F64_e32 || Opc == AMDGPU::V_FMAC_F64_e64;
3869
3869
bool IsF64 = Opc == AMDGPU::V_FMAC_F64_e32 || Opc == AMDGPU::V_FMAC_F64_e64;
3870
3870
bool IsLegacy = Opc == AMDGPU::V_MAC_LEGACY_F32_e32 ||
@@ -3878,7 +3878,7 @@ MachineInstr *SIInstrInfo::convertToThreeAddress(MachineInstr &MI,
3878
3878
return nullptr ;
3879
3879
case AMDGPU::V_MAC_F16_e64:
3880
3880
case AMDGPU::V_FMAC_F16_e64:
3881
- case AMDGPU::V_FMAC_F16_t16_e64 :
3881
+ case AMDGPU::V_FMAC_F16_fake16_e64 :
3882
3882
case AMDGPU::V_MAC_F32_e64:
3883
3883
case AMDGPU::V_MAC_LEGACY_F32_e64:
3884
3884
case AMDGPU::V_FMAC_F32_e64:
@@ -3963,7 +3963,7 @@ MachineInstr *SIInstrInfo::convertToThreeAddress(MachineInstr &MI,
3963
3963
int64_t Imm;
3964
3964
if (!Src0Literal && getFoldableImm (Src2, Imm, &DefMI)) {
3965
3965
unsigned NewOpc =
3966
- IsFMA ? (IsF16 ? (ST.hasTrue16BitInsts () ? AMDGPU::V_FMAAK_F16_t16
3966
+ IsFMA ? (IsF16 ? (ST.hasTrue16BitInsts () ? AMDGPU::V_FMAAK_F16_fake16
3967
3967
: AMDGPU::V_FMAAK_F16)
3968
3968
: AMDGPU::V_FMAAK_F32)
3969
3969
: (IsF16 ? AMDGPU::V_MADAK_F16 : AMDGPU::V_MADAK_F32);
@@ -3982,7 +3982,7 @@ MachineInstr *SIInstrInfo::convertToThreeAddress(MachineInstr &MI,
3982
3982
}
3983
3983
}
3984
3984
unsigned NewOpc =
3985
- IsFMA ? (IsF16 ? (ST.hasTrue16BitInsts () ? AMDGPU::V_FMAMK_F16_t16
3985
+ IsFMA ? (IsF16 ? (ST.hasTrue16BitInsts () ? AMDGPU::V_FMAMK_F16_fake16
3986
3986
: AMDGPU::V_FMAMK_F16)
3987
3987
: AMDGPU::V_FMAMK_F32)
3988
3988
: (IsF16 ? AMDGPU::V_MADMK_F16 : AMDGPU::V_MADMK_F32);
@@ -4437,7 +4437,7 @@ bool SIInstrInfo::canShrink(const MachineInstr &MI,
4437
4437
case AMDGPU::V_MAC_F32_e64:
4438
4438
case AMDGPU::V_MAC_LEGACY_F32_e64:
4439
4439
case AMDGPU::V_FMAC_F16_e64:
4440
- case AMDGPU::V_FMAC_F16_t16_e64 :
4440
+ case AMDGPU::V_FMAC_F16_fake16_e64 :
4441
4441
case AMDGPU::V_FMAC_F32_e64:
4442
4442
case AMDGPU::V_FMAC_F64_e64:
4443
4443
case AMDGPU::V_FMAC_LEGACY_F32_e64:
@@ -5484,7 +5484,7 @@ unsigned SIInstrInfo::getVALUOp(const MachineInstr &MI) const {
5484
5484
case AMDGPU::S_MUL_F16: return AMDGPU::V_MUL_F16_fake16_e64;
5485
5485
case AMDGPU::S_CVT_PK_RTZ_F16_F32: return AMDGPU::V_CVT_PKRTZ_F16_F32_e64;
5486
5486
case AMDGPU::S_FMAC_F32: return AMDGPU::V_FMAC_F32_e64;
5487
- case AMDGPU::S_FMAC_F16: return AMDGPU::V_FMAC_F16_t16_e64 ;
5487
+ case AMDGPU::S_FMAC_F16: return AMDGPU::V_FMAC_F16_fake16_e64 ;
5488
5488
case AMDGPU::S_FMAMK_F32: return AMDGPU::V_FMAMK_F32;
5489
5489
case AMDGPU::S_FMAAK_F32: return AMDGPU::V_FMAAK_F32;
5490
5490
case AMDGPU::S_CMP_LT_F32: return AMDGPU::V_CMP_LT_F32_e64;
0 commit comments