@@ -232,9 +232,6 @@ class SPIRVInstructionSelector : public InstructionSelector {
232232 bool selectExt (Register ResVReg, const SPIRVType *ResType, MachineInstr &I,
233233 bool IsSigned) const ;
234234
235- bool selectStrictFMulAdd (Register ResVReg, const SPIRVType *ResType,
236- MachineInstr &I) const ;
237-
238235 bool selectTrunc (Register ResVReg, const SPIRVType *ResType,
239236 MachineInstr &I) const ;
240237
@@ -716,9 +713,6 @@ bool SPIRVInstructionSelector::spvSelect(Register ResVReg,
716713 case TargetOpcode::G_FMA:
717714 return selectExtInst (ResVReg, ResType, I, CL::fma, GL::Fma);
718715
719- case TargetOpcode::G_STRICT_FMULADD:
720- return selectStrictFMulAdd (ResVReg, ResType, I);
721-
722716 case TargetOpcode::G_STRICT_FLDEXP:
723717 return selectExtInst (ResVReg, ResType, I, CL::ldexp);
724718
@@ -1068,37 +1062,6 @@ bool SPIRVInstructionSelector::selectOpWithSrcs(Register ResVReg,
10681062 return MIB.constrainAllUses (TII, TRI, RBI);
10691063}
10701064
1071- bool SPIRVInstructionSelector::selectStrictFMulAdd (Register ResVReg,
1072- const SPIRVType *ResType,
1073- MachineInstr &I) const {
1074- MachineBasicBlock &BB = *I.getParent ();
1075- Register MulLHS = I.getOperand (1 ).getReg ();
1076- Register MulRHS = I.getOperand (2 ).getReg ();
1077- Register AddRHS = I.getOperand (3 ).getReg ();
1078- SPIRVType *MulLHSType = GR.getSPIRVTypeForVReg (MulLHS);
1079- unsigned MulOpcode, AddOpcode;
1080- if (MulLHSType->getOpcode () == SPIRV::OpTypeFloat) {
1081- MulOpcode = SPIRV::OpFMulS;
1082- AddOpcode = SPIRV::OpFAddS;
1083- } else {
1084- MulOpcode = SPIRV::OpFMulV;
1085- AddOpcode = SPIRV::OpFAddV;
1086- }
1087- Register MulTemp = MRI->createVirtualRegister (MRI->getRegClass (MulLHS));
1088- BuildMI (BB, I, I.getDebugLoc (), TII.get (MulOpcode))
1089- .addDef (MulTemp)
1090- .addUse (GR.getSPIRVTypeID (ResType))
1091- .addUse (MulLHS)
1092- .addUse (MulRHS)
1093- .constrainAllUses (TII, TRI, RBI);
1094- return BuildMI (BB, I, I.getDebugLoc (), TII.get (AddOpcode))
1095- .addDef (ResVReg)
1096- .addUse (GR.getSPIRVTypeID (ResType))
1097- .addUse (MulTemp)
1098- .addUse (AddRHS)
1099- .constrainAllUses (TII, TRI, RBI);
1100- }
1101-
11021065bool SPIRVInstructionSelector::selectUnOp (Register ResVReg,
11031066 const SPIRVType *ResType,
11041067 MachineInstr &I,
0 commit comments