mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-15 06:29:05 +00:00
[PowerPC] Add rldcr/rldic instructions
This adds pattern for the rldcr and rldic instructions (the last instruction from the rotate/shift family that were missing). They are currently used only by the asm parser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184833 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -538,6 +538,10 @@ defm RLDCL : MDSForm_1r<30, 8,
|
|||||||
(outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB, u6imm:$MBE),
|
(outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB, u6imm:$MBE),
|
||||||
"rldcl", "$rA, $rS, $rB, $MBE", IntRotateD,
|
"rldcl", "$rA, $rS, $rB, $MBE", IntRotateD,
|
||||||
[]>, isPPC64;
|
[]>, isPPC64;
|
||||||
|
defm RLDCR : MDSForm_1r<30, 9,
|
||||||
|
(outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB, u6imm:$MBE),
|
||||||
|
"rldcr", "$rA, $rS, $rB, $MBE", IntRotateD,
|
||||||
|
[]>, isPPC64;
|
||||||
defm RLDICL : MDForm_1r<30, 0,
|
defm RLDICL : MDForm_1r<30, 0,
|
||||||
(outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
|
(outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
|
||||||
"rldicl", "$rA, $rS, $SH, $MBE", IntRotateDI,
|
"rldicl", "$rA, $rS, $SH, $MBE", IntRotateDI,
|
||||||
@@ -546,6 +550,10 @@ defm RLDICR : MDForm_1r<30, 1,
|
|||||||
(outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
|
(outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
|
||||||
"rldicr", "$rA, $rS, $SH, $MBE", IntRotateDI,
|
"rldicr", "$rA, $rS, $SH, $MBE", IntRotateDI,
|
||||||
[]>, isPPC64;
|
[]>, isPPC64;
|
||||||
|
defm RLDIC : MDForm_1r<30, 2,
|
||||||
|
(outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
|
||||||
|
"rldic", "$rA, $rS, $SH, $MBE", IntRotateDI,
|
||||||
|
[]>, isPPC64;
|
||||||
|
|
||||||
let Interpretation64Bit = 1 in {
|
let Interpretation64Bit = 1 in {
|
||||||
defm RLWINM8 : MForm_2r<21, (outs g8rc:$rA),
|
defm RLWINM8 : MForm_2r<21, (outs g8rc:$rA),
|
||||||
|
@@ -444,14 +444,18 @@
|
|||||||
rldicr 2, 3, 4, 5
|
rldicr 2, 3, 4, 5
|
||||||
# CHECK: rldicr. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x45]
|
# CHECK: rldicr. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x45]
|
||||||
rldicr. 2, 3, 4, 5
|
rldicr. 2, 3, 4, 5
|
||||||
# FIXME: rldic 2, 3, 4, 5
|
# CHECK: rldic 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x48]
|
||||||
# FIXME: rldic. 2, 3, 4, 5
|
rldic 2, 3, 4, 5
|
||||||
|
# CHECK: rldic. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x49]
|
||||||
|
rldic. 2, 3, 4, 5
|
||||||
# CHECK: rldcl 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x50]
|
# CHECK: rldcl 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x50]
|
||||||
rldcl 2, 3, 4, 5
|
rldcl 2, 3, 4, 5
|
||||||
# CHECK: rldcl. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x51]
|
# CHECK: rldcl. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x51]
|
||||||
rldcl. 2, 3, 4, 5
|
rldcl. 2, 3, 4, 5
|
||||||
# FIXME: rldcr 2, 3, 4, 5
|
# CHECK: rldcr 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x52]
|
||||||
# FIXME: rldcr. 2, 3, 4, 5
|
rldcr 2, 3, 4, 5
|
||||||
|
# CHECK: rldcr. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x53]
|
||||||
|
rldcr. 2, 3, 4, 5
|
||||||
# CHECK: rldimi 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x4c]
|
# CHECK: rldimi 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x4c]
|
||||||
rldimi 2, 3, 4, 5
|
rldimi 2, 3, 4, 5
|
||||||
# CHECK: rldimi. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x4d]
|
# CHECK: rldimi. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x4d]
|
||||||
|
Reference in New Issue
Block a user