mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Add a pattern for i64 sra. Print 8-byte units with a space between the .quad
and the data git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28934 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7ffa9abdad
commit
e4172be920
@ -276,7 +276,7 @@ namespace {
|
||||
PrivateGlobalPrefix = "L"; // Marker for constant pool idxs
|
||||
ZeroDirective = "\t.space\t"; // ".space N" emits N zeros.
|
||||
if (isPPC64)
|
||||
Data64bitsDirective = ".quad"; // we can't emit a 64-bit unit
|
||||
Data64bitsDirective = ".quad\t"; // we can't emit a 64-bit unit
|
||||
else
|
||||
Data64bitsDirective = 0; // we can't emit a 64-bit unit
|
||||
AlignmentIsInBytes = false; // Alignment is by power of 2.
|
||||
|
@ -190,8 +190,10 @@ def EXTSW_32_64 : XForm_11<31, 986, (ops G8RC:$rA, GPRC:$rS),
|
||||
"extsw $rA, $rS", IntGeneral,
|
||||
[(set G8RC:$rA, (sext GPRC:$rS))]>, isPPC64;
|
||||
|
||||
def SRADI : XSForm_1<31, 413, (ops GPRC:$rA, GPRC:$rS, u6imm:$SH),
|
||||
"sradi $rA, $rS, $SH", IntRotateD>, isPPC64;
|
||||
def SRADI : XSForm_1<31, 413, (ops G8RC:$rA, G8RC:$rS, u6imm:$SH),
|
||||
"sradi $rA, $rS, $SH", IntRotateD,
|
||||
[(set G8RC:$rA, (sra G8RC:$rS, (i32 imm:$SH)))]>, isPPC64;
|
||||
|
||||
def DIVD : XOForm_1<31, 489, 0, (ops G8RC:$rT, G8RC:$rA, G8RC:$rB),
|
||||
"divd $rT, $rA, $rB", IntDivD,
|
||||
[(set G8RC:$rT, (sdiv G8RC:$rA, G8RC:$rB))]>, isPPC64,
|
||||
|
@ -501,13 +501,14 @@ class XFXForm_7_ext<bits<6> opcode, bits<10> xo, bits<10> spr,
|
||||
|
||||
// 1.7.10 XS-Form
|
||||
class XSForm_1<bits<6> opcode, bits<9> xo, dag OL, string asmstr,
|
||||
InstrItinClass itin>
|
||||
InstrItinClass itin, list<dag> pattern>
|
||||
: I<opcode, OL, asmstr, itin> {
|
||||
bits<5> RS;
|
||||
bits<5> A;
|
||||
bits<6> SH;
|
||||
|
||||
bit RC = 0; // set by isDOT
|
||||
let Pattern = pattern;
|
||||
|
||||
let Inst{6-10} = RS;
|
||||
let Inst{11-15} = A;
|
||||
|
Loading…
Reference in New Issue
Block a user