switch(MI.getOpcode()) {
case AMDIL::RAT_WRITE_CACHELESS_eg:
{
- /* XXX: Support for autoencoding 64-bit instructions was added
- * in LLVM 3.1. Until we drop support for 3.0, we will use Magic
- * numbers for the high bits. */
- uint64_t high = 0x95c0100000000000;
uint64_t inst = getBinaryCodeForInstr(MI);
- inst |= high;
/* Set End Of Program bit */
/* XXX: Need better check of end of program. EOP should be
* encoded in one of the operands of the MI, and it should be
let Inst{31-30} = ELEM_SIZE;
/* CF_ALLOC_EXPORT_WORD1_BUF */
-/* XXX: We can't have auto encoding of 64-bit instructions until LLVM 3.1 :( */
-/*
let Inst{43-32} = ARRAY_SIZE;
let Inst{47-44} = COMP_MASK;
let Inst{51-48} = BURST_COUNT;
let Inst{61-54} = cf_inst;
let Inst{62} = MARK;
let Inst{63} = BARRIER;
-*/
}
/*
EG_CF_RAT <0x57, 0x2, (outs), (ins R600_TReg32_X:$rw_gpr,
R600_TReg32_X:$index_gpr, i32imm:$rat_id), "">
{
-/*
- let Inst{3-0} = RAT_ID;
- let Inst{21-15} = RW_GPR;
- let Inst{29-23} = INDEX_GPR;
- /* Propery of the UAV */
- let Inst{31-30} = ELEM_SIZE;
-*/
let RIM = 0;
/* XXX: Have a separate instruction for non-indexed writes. */
let TYPE = 1;
let RW_REL = 0;
let ELEM_SIZE = 0;
-/*
let ARRAY_SIZE = 0;
let COMP_MASK = 1;
let BURST_COUNT = 0;
let EOP = 0;
let MARK = 0;
let BARRIER = 1;
-*/
}
def VTX_READ_eg : InstR600ISA < (outs R600_TReg32_X:$dst),