mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-20 14:29:27 +00:00
R600/SI: Add unused LDS 2 form instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204275 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e3620da269
commit
925147ca20
@ -412,10 +412,22 @@ class DS_Load_Helper <bits<8> op, string asm, RegisterClass regClass> : DS_1A <
|
||||
let mayStore = 0;
|
||||
}
|
||||
|
||||
class DS_Load2_Helper <bits<8> op, string asm, RegisterClass regClass> : DS <
|
||||
op,
|
||||
(outs regClass:$vdst),
|
||||
(ins i1imm:$gds, VReg_32:$addr, i8imm:$offset0, i8imm:$offset1),
|
||||
asm#" $gds, $vdst, $addr, $offset0, $offset1, [M0]",
|
||||
[]> {
|
||||
let data0 = 0;
|
||||
let data1 = 0;
|
||||
let mayLoad = 1;
|
||||
let mayStore = 0;
|
||||
}
|
||||
|
||||
class DS_Store_Helper <bits<8> op, string asm, RegisterClass regClass> : DS_1A <
|
||||
op,
|
||||
(outs),
|
||||
(ins i1imm:$gds, VReg_32:$addr, VReg_32:$data0, i16imm:$offset),
|
||||
(ins i1imm:$gds, VReg_32:$addr, regClass:$data0, i16imm:$offset),
|
||||
asm#" $addr, $data0, $offset [M0]",
|
||||
[]> {
|
||||
let data1 = 0;
|
||||
@ -424,6 +436,17 @@ class DS_Store_Helper <bits<8> op, string asm, RegisterClass regClass> : DS_1A <
|
||||
let vdst = 0;
|
||||
}
|
||||
|
||||
class DS_Store2_Helper <bits<8> op, string asm, RegisterClass regClass> : DS_1A <
|
||||
op,
|
||||
(outs),
|
||||
(ins i1imm:$gds, VReg_32:$addr, regClass:$data0, i8imm:$offset0, i8imm:$offset1),
|
||||
asm#" $addr, $data0, $data1, $offset0, $offset1 [M0]",
|
||||
[]> {
|
||||
let mayStore = 1;
|
||||
let mayLoad = 0;
|
||||
let vdst = 0;
|
||||
}
|
||||
|
||||
class DS_1A1D_RET <bits<8> op, string asm, RegisterClass rc> : DS_1A <
|
||||
op,
|
||||
(outs rc:$vdst),
|
||||
|
@ -417,6 +417,17 @@ def DS_READ_I16 : DS_Load_Helper <0x0000003b, "DS_READ_I16", VReg_32>;
|
||||
def DS_READ_U16 : DS_Load_Helper <0x0000003c, "DS_READ_U16", VReg_32>;
|
||||
def DS_READ_B64 : DS_Load_Helper <0x00000076, "DS_READ_B64", VReg_64>;
|
||||
|
||||
// 2 forms.
|
||||
def DS_WRITE2_B32 : DS_Load2_Helper <0x0000000E, "DS_WRITE2_B32", VReg_64>;
|
||||
def DS_WRITE2_B64 : DS_Load2_Helper <0x0000004E, "DS_WRITE2_B64", VReg_128>;
|
||||
|
||||
def DS_READ2_B32 : DS_Load2_Helper <0x00000037, "DS_READ2_B32", VReg_64>;
|
||||
def DS_READ2_B64 : DS_Load2_Helper <0x00000075, "DS_READ2_B64", VReg_128>;
|
||||
|
||||
// TODO: DS_READ2ST64_B32, DS_READ2ST64_B64,
|
||||
// DS_WRITE2ST64_B32, DS_WRITE2ST64_B64
|
||||
|
||||
|
||||
//def BUFFER_LOAD_FORMAT_X : MUBUF_ <0x00000000, "BUFFER_LOAD_FORMAT_X", []>;
|
||||
//def BUFFER_LOAD_FORMAT_XY : MUBUF_ <0x00000001, "BUFFER_LOAD_FORMAT_XY", []>;
|
||||
//def BUFFER_LOAD_FORMAT_XYZ : MUBUF_ <0x00000002, "BUFFER_LOAD_FORMAT_XYZ", []>;
|
||||
|
Loading…
x
Reference in New Issue
Block a user