llvm.org GIT mirror llvm / edf5e9a
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166770 91177308-0d34-0410-b5e6-96231b3b80d8 Adhemerval Zanella 7 years ago
1 changed file(s) with 6 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
493493
494494 // Rotate instructions.
495495 def RLDCL : MDForm_1<30, 0,
496 (outs G8RC:$rA), (ins G8RC:$rS, GPRC:$rB, u6imm:$MB),
497 "rldcl $rA, $rS, $rB, $MB", IntRotateD,
496 (outs G8RC:$rA), (ins G8RC:$rS, GPRC:$rB, u6imm:$MBE),
497 "rldcl $rA, $rS, $rB, $MBE", IntRotateD,
498498 []>, isPPC64;
499499 def RLDICL : MDForm_1<30, 0,
500 (outs G8RC:$rA), (ins G8RC:$rS, u6imm:$SH, u6imm:$MB),
501 "rldicl $rA, $rS, $SH, $MB", IntRotateDI,
500 (outs G8RC:$rA), (ins G8RC:$rS, u6imm:$SH, u6imm:$MBE),
501 "rldicl $rA, $rS, $SH, $MBE", IntRotateDI,
502502 []>, isPPC64;
503503 def RLDICR : MDForm_1<30, 1,
504 (outs G8RC:$rA), (ins G8RC:$rS, u6imm:$SH, u6imm:$ME),
505 "rldicr $rA, $rS, $SH, $ME", IntRotateDI,
504 (outs G8RC:$rA), (ins G8RC:$rS, u6imm:$SH, u6imm:$MBE),
505 "rldicr $rA, $rS, $SH, $MBE", IntRotateDI,
506506 []>, isPPC64;
507507
508508 def RLWINM8 : MForm_2<21,