mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-03 17:02:03 +00:00
PowerPC: Fix for rldcl/rldicl/rldicr MC emission
This patch fixes the rldcl/rldicl/rldicr instruction emission. The issue is the MDForm_1 instruction defines the PowerISA MB field from 'rldicl' with the name MBE, but RLDCL/RLDICL/RLDICR definition uses as 'MB'. It end up by generatint the 'rldicl' enconding at 'lib/Target/PowerPC/PPCGenMCCodeEmitter.inc' to use the fourth argument as the third. The patch changes it by adjusting to use the fourth argument as intended. Fixes PR14180. llvm-svn: 166770
This commit is contained in:
parent
8265aeda87
commit
0c35c65808
@ -494,16 +494,16 @@ def RLDIMI : MDForm_1<30, 3,
|
||||
|
||||
// Rotate instructions.
|
||||
def RLDCL : MDForm_1<30, 0,
|
||||
(outs G8RC:$rA), (ins G8RC:$rS, GPRC:$rB, u6imm:$MB),
|
||||
"rldcl $rA, $rS, $rB, $MB", IntRotateD,
|
||||
(outs G8RC:$rA), (ins G8RC:$rS, GPRC:$rB, u6imm:$MBE),
|
||||
"rldcl $rA, $rS, $rB, $MBE", IntRotateD,
|
||||
[]>, isPPC64;
|
||||
def RLDICL : MDForm_1<30, 0,
|
||||
(outs G8RC:$rA), (ins G8RC:$rS, u6imm:$SH, u6imm:$MB),
|
||||
"rldicl $rA, $rS, $SH, $MB", IntRotateDI,
|
||||
(outs G8RC:$rA), (ins G8RC:$rS, u6imm:$SH, u6imm:$MBE),
|
||||
"rldicl $rA, $rS, $SH, $MBE", IntRotateDI,
|
||||
[]>, isPPC64;
|
||||
def RLDICR : MDForm_1<30, 1,
|
||||
(outs G8RC:$rA), (ins G8RC:$rS, u6imm:$SH, u6imm:$ME),
|
||||
"rldicr $rA, $rS, $SH, $ME", IntRotateDI,
|
||||
(outs G8RC:$rA), (ins G8RC:$rS, u6imm:$SH, u6imm:$MBE),
|
||||
"rldicr $rA, $rS, $SH, $MBE", IntRotateDI,
|
||||
[]>, isPPC64;
|
||||
|
||||
def RLWINM8 : MForm_2<21,
|
||||
|
Loading…
Reference in New Issue
Block a user