mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 07:34:33 +00:00
R600: Export is emitted as a CF_NATIVE inst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179685 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
141ca7fc64
commit
58df169e82
@ -250,15 +250,6 @@ void R600MCCodeEmitter::EncodeInstruction(const MCInst &MI, raw_ostream &OS,
|
||||
Emit(Word2, OS);
|
||||
break;
|
||||
}
|
||||
case AMDGPU::EG_ExportSwz:
|
||||
case AMDGPU::R600_ExportSwz:
|
||||
case AMDGPU::EG_ExportBuf:
|
||||
case AMDGPU::R600_ExportBuf: {
|
||||
uint64_t Inst = getBinaryCodeForInstr(MI, Fixups);
|
||||
EmitByte(INSTR_EXPORT, OS);
|
||||
Emit(Inst, OS);
|
||||
break;
|
||||
}
|
||||
case AMDGPU::CF_ALU:
|
||||
case AMDGPU::CF_ALU_PUSH_BEFORE: {
|
||||
uint64_t Inst = getBinaryCodeForInstr(MI, Fixups);
|
||||
@ -286,7 +277,11 @@ void R600MCCodeEmitter::EncodeInstruction(const MCInst &MI, raw_ostream &OS,
|
||||
case AMDGPU::CF_CONTINUE_R600:
|
||||
case AMDGPU::CF_JUMP_R600:
|
||||
case AMDGPU::CF_ELSE_R600:
|
||||
case AMDGPU::POP_R600: {
|
||||
case AMDGPU::POP_R600:
|
||||
case AMDGPU::EG_ExportSwz:
|
||||
case AMDGPU::R600_ExportSwz:
|
||||
case AMDGPU::EG_ExportBuf:
|
||||
case AMDGPU::R600_ExportBuf: {
|
||||
uint64_t Inst = getBinaryCodeForInstr(MI, Fixups);
|
||||
EmitByte(INSTR_NATIVE, OS);
|
||||
Emit(Inst, OS);
|
||||
|
@ -1423,7 +1423,7 @@ let Predicates = [isR600] in {
|
||||
(MUL R600_Reg32:$src, (RECIPSQRT_CLAMPED_r600 R600_Reg32:$src))>;
|
||||
|
||||
def R600_ExportSwz : ExportSwzInst {
|
||||
let Word1{20-17} = 1; // BURST_COUNT
|
||||
let Word1{20-17} = 0; // BURST_COUNT
|
||||
let Word1{21} = eop;
|
||||
let Word1{22} = 1; // VALID_PIXEL_MODE
|
||||
let Word1{30-23} = inst;
|
||||
@ -1432,7 +1432,7 @@ let Predicates = [isR600] in {
|
||||
defm : ExportPattern<R600_ExportSwz, 39>;
|
||||
|
||||
def R600_ExportBuf : ExportBufInst {
|
||||
let Word1{20-17} = 1; // BURST_COUNT
|
||||
let Word1{20-17} = 0; // BURST_COUNT
|
||||
let Word1{21} = eop;
|
||||
let Word1{22} = 1; // VALID_PIXEL_MODE
|
||||
let Word1{30-23} = inst;
|
||||
@ -1622,7 +1622,7 @@ let hasSideEffects = 1 in {
|
||||
(FLT_TO_UINT_eg (TRUNC R600_Reg32:$src0))>;
|
||||
|
||||
def EG_ExportSwz : ExportSwzInst {
|
||||
let Word1{19-16} = 1; // BURST_COUNT
|
||||
let Word1{19-16} = 0; // BURST_COUNT
|
||||
let Word1{20} = 1; // VALID_PIXEL_MODE
|
||||
let Word1{21} = eop;
|
||||
let Word1{29-22} = inst;
|
||||
@ -1632,7 +1632,7 @@ let hasSideEffects = 1 in {
|
||||
defm : ExportPattern<EG_ExportSwz, 83>;
|
||||
|
||||
def EG_ExportBuf : ExportBufInst {
|
||||
let Word1{19-16} = 1; // BURST_COUNT
|
||||
let Word1{19-16} = 0; // BURST_COUNT
|
||||
let Word1{20} = 1; // VALID_PIXEL_MODE
|
||||
let Word1{21} = eop;
|
||||
let Word1{29-22} = inst;
|
||||
|
Loading…
x
Reference in New Issue
Block a user