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