summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/radeon/AMDGPUInstrInfo.cpp3
-rw-r--r--src/gallium/drivers/radeon/AMDGPUInstrInfo.h4
-rw-r--r--src/gallium/drivers/radeon/R600InstrInfo.cpp40
-rw-r--r--src/gallium/drivers/radeon/R600InstrInfo.h4
-rw-r--r--src/gallium/drivers/radeon/SIInstrInfo.cpp28
-rw-r--r--src/gallium/drivers/radeon/SIInstrInfo.h9
6 files changed, 1 insertions, 87 deletions
diff --git a/src/gallium/drivers/radeon/AMDGPUInstrInfo.cpp b/src/gallium/drivers/radeon/AMDGPUInstrInfo.cpp
index 3c94c3d..d2bb4e1 100644
--- a/src/gallium/drivers/radeon/AMDGPUInstrInfo.cpp
+++ b/src/gallium/drivers/radeon/AMDGPUInstrInfo.cpp
@@ -29,10 +29,9 @@ MachineInstr * AMDGPUInstrInfo::convertToISA(MachineInstr & MI, MachineFunction
MachineInstrBuilder newInstr;
MachineRegisterInfo &MRI = MF.getRegInfo();
const AMDGPURegisterInfo & RI = getRegisterInfo();
- unsigned ISAOpcode = getISAOpcode(MI.getOpcode());
// Create the new instruction
- newInstr = BuildMI(MF, DL, TM.getInstrInfo()->get(ISAOpcode));
+ newInstr = BuildMI(MF, DL, TM.getInstrInfo()->get(MI.getOpcode()));
for (unsigned i = 0; i < MI.getNumOperands(); i++) {
MachineOperand &MO = MI.getOperand(i);
diff --git a/src/gallium/drivers/radeon/AMDGPUInstrInfo.h b/src/gallium/drivers/radeon/AMDGPUInstrInfo.h
index b0d4e8a..e6b79c8 100644
--- a/src/gallium/drivers/radeon/AMDGPUInstrInfo.h
+++ b/src/gallium/drivers/radeon/AMDGPUInstrInfo.h
@@ -36,10 +36,6 @@ public:
virtual const AMDGPURegisterInfo &getRegisterInfo() const = 0;
- /// getISAOpcode - This function takes an AMDIL opcode as an argument and
- /// returns an equivalent ISA opcode.
- virtual unsigned getISAOpcode(unsigned AMDILopcode) const = 0;
-
/// convertToISA - Convert the AMDIL MachineInstr to a supported ISA
/// MachineInstr
virtual MachineInstr * convertToISA(MachineInstr & MI, MachineFunction &MF,
diff --git a/src/gallium/drivers/radeon/R600InstrInfo.cpp b/src/gallium/drivers/radeon/R600InstrInfo.cpp
index 363c814..3d65e73 100644
--- a/src/gallium/drivers/radeon/R600InstrInfo.cpp
+++ b/src/gallium/drivers/radeon/R600InstrInfo.cpp
@@ -61,46 +61,6 @@ R600InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
}
}
-unsigned R600InstrInfo::getISAOpcode(unsigned opcode) const
-{
- switch (opcode) {
- default: return opcode;
- case AMDIL::IEQ:
- return AMDIL::SETE_INT;
- case AMDIL::INE:
- return AMDIL::SETNE_INT;
- case AMDIL::IGE:
- return AMDIL::SETGE_INT;
- case AMDIL::MOVE_f32:
- case AMDIL::MOVE_i32:
- return AMDIL::MOV;
- case AMDIL::UGE:
- return AMDIL::SETGE_UINT;
- case AMDIL::UGT:
- return AMDIL::SETGT_UINT;
- }
-}
-
-unsigned R600InstrInfo::getASHRop() const
-{
- unsigned gen = TM.getSubtarget<AMDILSubtarget>().device()->getGeneration();
- if (gen < AMDILDeviceInfo::HD5XXX) {
- return AMDIL::ASHR_r600;
- } else {
- return AMDIL::ASHR_eg;
- }
-}
-
-unsigned R600InstrInfo::getLSHRop() const
-{
- unsigned gen = TM.getSubtarget<AMDILSubtarget>().device()->getGeneration();
- if (gen < AMDILDeviceInfo::HD5XXX) {
- return AMDIL::LSHR_r600;
- } else {
- return AMDIL::LSHR_eg;
- }
-}
-
MachineInstr * R600InstrInfo::getMovImmInstr(MachineFunction *MF,
unsigned DstReg, int64_t Imm) const
{
diff --git a/src/gallium/drivers/radeon/R600InstrInfo.h b/src/gallium/drivers/radeon/R600InstrInfo.h
index 2db10ad..a7a65d5 100644
--- a/src/gallium/drivers/radeon/R600InstrInfo.h
+++ b/src/gallium/drivers/radeon/R600InstrInfo.h
@@ -41,12 +41,8 @@ namespace llvm {
unsigned DestReg, unsigned SrcReg,
bool KillSrc) const;
- virtual unsigned getISAOpcode(unsigned opcode) const;
bool isTrig(const MachineInstr &MI) const;
- unsigned getLSHRop() const;
- unsigned getASHRop() const;
-
virtual MachineInstr * getMovImmInstr(MachineFunction *MF, unsigned DstReg,
int64_t Imm) const;
diff --git a/src/gallium/drivers/radeon/SIInstrInfo.cpp b/src/gallium/drivers/radeon/SIInstrInfo.cpp
index 058c772..1d464fe 100644
--- a/src/gallium/drivers/radeon/SIInstrInfo.cpp
+++ b/src/gallium/drivers/radeon/SIInstrInfo.cpp
@@ -77,34 +77,6 @@ unsigned SIInstrInfo::getEncodingBytes(const MachineInstr &MI) const
}
}
-MachineInstr * SIInstrInfo::convertToISA(MachineInstr & MI, MachineFunction &MF,
- DebugLoc DL) const
-{
- MachineInstr * newMI = AMDGPUInstrInfo::convertToISA(MI, MF, DL);
- const MCInstrDesc &newDesc = get(newMI->getOpcode());
-
- /* If this instruction was converted to a VOP3, we need to add the extra
- * operands for abs, clamp, omod, and negate. */
- if (getEncodingType(*newMI) == SIInstrEncodingType::VOP3
- && newMI->getNumOperands() < newDesc.getNumOperands()) {
- MachineInstrBuilder builder(newMI);
- for (unsigned op_idx = newMI->getNumOperands();
- op_idx < newDesc.getNumOperands(); op_idx++) {
- builder.addImm(0);
- }
- }
- return newMI;
-}
-
-unsigned SIInstrInfo::getISAOpcode(unsigned AMDILopcode) const
-{
- switch (AMDILopcode) {
- //XXX We need a better way of detecting end of program
- case AMDIL::MOVE_f32: return AMDIL::V_MOV_B32_e32;
- default: return AMDILopcode;
- }
-}
-
MachineInstr * SIInstrInfo::getMovImmInstr(MachineFunction *MF, unsigned DstReg,
int64_t Imm) const
{
diff --git a/src/gallium/drivers/radeon/SIInstrInfo.h b/src/gallium/drivers/radeon/SIInstrInfo.h
index 6cfbaf4..aa567b6 100644
--- a/src/gallium/drivers/radeon/SIInstrInfo.h
+++ b/src/gallium/drivers/radeon/SIInstrInfo.h
@@ -42,15 +42,6 @@ public:
/// number of bytes.
unsigned getEncodingBytes(const MachineInstr &MI) const;
- /// convertToISA - Convert the AMDIL MachineInstr to a supported SI
- ///MachineInstr
- virtual MachineInstr * convertToISA(MachineInstr & MI, MachineFunction &MF,
- DebugLoc DL) const;
-
- /// getISAOpcode - This function takes an AMDIL opcode as an argument and
- /// returns an equivalent SI opcode.
- virtual unsigned getISAOpcode(unsigned AMDILopcode) const;
-
virtual MachineInstr * getMovImmInstr(MachineFunction *MF, unsigned DstReg,
int64_t Imm) const;