Index: lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp |
diff --git a/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp b/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp |
index cb4cf0ce3886d9d721fb8b299ed9a5f74584aae2..271a97473445f1a347dd2700f30a83194cb388ae 100644 |
--- a/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp |
+++ b/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp |
@@ -36,12 +36,13 @@ class R600MCCodeEmitter : public AMDGPUMCCodeEmitter { |
const MCInstrInfo &MCII; |
const MCRegisterInfo &MRI; |
const MCSubtargetInfo &STI; |
+ MCContext &Ctx; |
public: |
R600MCCodeEmitter(const MCInstrInfo &mcii, const MCRegisterInfo &mri, |
- const MCSubtargetInfo &sti) |
- : MCII(mcii), MRI(mri), STI(sti) { } |
+ const MCSubtargetInfo &sti, MCContext &ctx) |
+ : MCII(mcii), MRI(mri), STI(sti), Ctx(ctx) { } |
/// \brief Encode the instruction and write it to the OS. |
virtual void EncodeInstruction(const MCInst &MI, raw_ostream &OS, |
@@ -98,8 +99,9 @@ enum TextureTypes { |
MCCodeEmitter *llvm::createR600MCCodeEmitter(const MCInstrInfo &MCII, |
const MCRegisterInfo &MRI, |
- const MCSubtargetInfo &STI) { |
- return new R600MCCodeEmitter(MCII, MRI, STI); |
+ const MCSubtargetInfo &STI, |
+ MCContext &Ctx) { |
+ return new R600MCCodeEmitter(MCII, MRI, STI, Ctx); |
} |
void R600MCCodeEmitter::EncodeInstruction(const MCInst &MI, raw_ostream &OS, |
@@ -179,13 +181,6 @@ void R600MCCodeEmitter::EncodeInstruction(const MCInst &MI, raw_ostream &OS, |
Emit((u_int32_t) 0, OS); |
} else { |
uint64_t Inst = getBinaryCodeForInstr(MI, Fixups); |
- if ((STI.getFeatureBits() & AMDGPU::FeatureR600ALUInst) && |
- ((Desc.TSFlags & R600_InstFlag::OP1) || |
- Desc.TSFlags & R600_InstFlag::OP2)) { |
- uint64_t ISAOpCode = Inst & (0x3FFULL << 39); |
- Inst &= ~(0x3FFULL << 39); |
- Inst |= ISAOpCode << 1; |
- } |
Emit(Inst, OS); |
} |
} |