mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-23 02:32:11 +00:00
R600/SI: Fix definitions for ds_read2 / ds_write2 instructions.
These were just wrong, using the wrong register classes and store2 was missing an operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214756 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d6c23bed52
commit
fa76ba82f2
@ -818,7 +818,8 @@ class DS_Store_Helper <bits<8> op, string asm, RegisterClass regClass> : DS_1A <
|
||||
class DS_Store2_Helper <bits<8> op, string asm, RegisterClass regClass> : DS_1A <
|
||||
op,
|
||||
(outs),
|
||||
(ins i1imm:$gds, VReg_32:$addr, regClass:$data0, u8imm:$offset0, u8imm:$offset1),
|
||||
(ins i1imm:$gds, VReg_32:$addr, regClass:$data0, regClass:$data1,
|
||||
u8imm:$offset0, u8imm:$offset1),
|
||||
asm#" $addr, $data0, $data1, $offset0, $offset1 [M0]",
|
||||
[]> {
|
||||
let mayStore = 1;
|
||||
|
@ -826,8 +826,8 @@ 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_WRITE2_B32 : DS_Store2_Helper <0x0000000E, "DS_WRITE2_B32", VReg_32>;
|
||||
def DS_WRITE2_B64 : DS_Store2_Helper <0x0000004E, "DS_WRITE2_B64", VReg_64>;
|
||||
|
||||
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>;
|
||||
|
Loading…
x
Reference in New Issue
Block a user