@@ -779,24 +779,6 @@ bool AMDGPUInstructionSelector::selectG_ICMP(MachineInstr &I) const {
779
779
return Ret;
780
780
}
781
781
782
- static MachineInstr *
783
- buildEXP (const TargetInstrInfo &TII, MachineInstr *Insert, unsigned Tgt,
784
- unsigned Reg0, unsigned Reg1, unsigned Reg2, unsigned Reg3,
785
- unsigned VM, bool Compr, unsigned Enabled, bool Done) {
786
- const DebugLoc &DL = Insert->getDebugLoc ();
787
- MachineBasicBlock &BB = *Insert->getParent ();
788
- unsigned Opcode = Done ? AMDGPU::EXP_DONE : AMDGPU::EXP;
789
- return BuildMI (BB, Insert, DL, TII.get (Opcode))
790
- .addImm (Tgt)
791
- .addReg (Reg0)
792
- .addReg (Reg1)
793
- .addReg (Reg2)
794
- .addReg (Reg3)
795
- .addImm (VM)
796
- .addImm (Compr)
797
- .addImm (Enabled);
798
- }
799
-
800
782
static bool isZero (Register Reg, MachineRegisterInfo &MRI) {
801
783
int64_t C;
802
784
if (mi_match (Reg, MRI, m_ICst (C)) && C == 0 )
@@ -1111,38 +1093,6 @@ bool AMDGPUInstructionSelector::selectG_INTRINSIC_W_SIDE_EFFECTS(
1111
1093
MachineBasicBlock *BB = I.getParent ();
1112
1094
unsigned IntrinsicID = I.getIntrinsicID ();
1113
1095
switch (IntrinsicID) {
1114
- case Intrinsic::amdgcn_exp: {
1115
- int64_t Tgt = I.getOperand (1 ).getImm ();
1116
- int64_t Enabled = I.getOperand (2 ).getImm ();
1117
- int64_t Done = I.getOperand (7 ).getImm ();
1118
- int64_t VM = I.getOperand (8 ).getImm ();
1119
-
1120
- MachineInstr *Exp = buildEXP (TII, &I, Tgt, I.getOperand (3 ).getReg (),
1121
- I.getOperand (4 ).getReg (),
1122
- I.getOperand (5 ).getReg (),
1123
- I.getOperand (6 ).getReg (),
1124
- VM, false , Enabled, Done);
1125
-
1126
- I.eraseFromParent ();
1127
- return constrainSelectedInstRegOperands (*Exp, TII, TRI, RBI);
1128
- }
1129
- case Intrinsic::amdgcn_exp_compr: {
1130
- const DebugLoc &DL = I.getDebugLoc ();
1131
- int64_t Tgt = I.getOperand (1 ).getImm ();
1132
- int64_t Enabled = I.getOperand (2 ).getImm ();
1133
- Register Reg0 = I.getOperand (3 ).getReg ();
1134
- Register Reg1 = I.getOperand (4 ).getReg ();
1135
- Register Undef = MRI->createVirtualRegister (&AMDGPU::VGPR_32RegClass);
1136
- int64_t Done = I.getOperand (5 ).getImm ();
1137
- int64_t VM = I.getOperand (6 ).getImm ();
1138
-
1139
- BuildMI (*BB, &I, DL, TII.get (AMDGPU::IMPLICIT_DEF), Undef);
1140
- MachineInstr *Exp = buildEXP (TII, &I, Tgt, Reg0, Reg1, Undef, Undef, VM,
1141
- true , Enabled, Done);
1142
-
1143
- I.eraseFromParent ();
1144
- return constrainSelectedInstRegOperands (*Exp, TII, TRI, RBI);
1145
- }
1146
1096
case Intrinsic::amdgcn_end_cf: {
1147
1097
// FIXME: Manually selecting to avoid dealiing with the SReg_1 trick
1148
1098
// SelectionDAG uses for wave32 vs wave64.
0 commit comments