mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-22 10:29:35 +00:00
Fix some issues exposed by more testing. XORIS had the wrong operands
specified. The various *imm operands defined by PPC are really all i32, even though the actual immediate is restricted to a smaller value in it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23352 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
39e8af9913
commit
4345a4a452
@ -238,16 +238,16 @@ class isDOT {
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// PowerPC Operand Definitions.
|
// PowerPC Operand Definitions.
|
||||||
|
|
||||||
def u5imm : Operand<i8> {
|
def u5imm : Operand<i32> {
|
||||||
let PrintMethod = "printU5ImmOperand";
|
let PrintMethod = "printU5ImmOperand";
|
||||||
}
|
}
|
||||||
def u6imm : Operand<i8> {
|
def u6imm : Operand<i32> {
|
||||||
let PrintMethod = "printU6ImmOperand";
|
let PrintMethod = "printU6ImmOperand";
|
||||||
}
|
}
|
||||||
def s16imm : Operand<i16> {
|
def s16imm : Operand<i32> {
|
||||||
let PrintMethod = "printS16ImmOperand";
|
let PrintMethod = "printS16ImmOperand";
|
||||||
}
|
}
|
||||||
def u16imm : Operand<i16> {
|
def u16imm : Operand<i32> {
|
||||||
let PrintMethod = "printU16ImmOperand";
|
let PrintMethod = "printU16ImmOperand";
|
||||||
}
|
}
|
||||||
def target : Operand<i32> {
|
def target : Operand<i32> {
|
||||||
@ -409,7 +409,7 @@ def XORI : DForm_4<26, (ops GPRC:$dst, GPRC:$src1, u16imm:$src2),
|
|||||||
[(set GPRC:$dst, (xor GPRC:$src1, immZExt16:$src2))]>;
|
[(set GPRC:$dst, (xor GPRC:$src1, immZExt16:$src2))]>;
|
||||||
def XORIS : DForm_4<27, (ops GPRC:$dst, GPRC:$src1, u16imm:$src2),
|
def XORIS : DForm_4<27, (ops GPRC:$dst, GPRC:$src1, u16imm:$src2),
|
||||||
"xoris $dst, $src1, $src2",
|
"xoris $dst, $src1, $src2",
|
||||||
[(set GPRC:$dst, (xor GPRC:$src2, imm16Shifted:$src2))]>;
|
[(set GPRC:$dst, (xor GPRC:$src1, imm16Shifted:$src2))]>;
|
||||||
def NOP : DForm_4_zero<24, (ops), "nop">;
|
def NOP : DForm_4_zero<24, (ops), "nop">;
|
||||||
def CMPI : DForm_5<11, (ops CRRC:$crD, i1imm:$L, GPRC:$rA, s16imm:$imm),
|
def CMPI : DForm_5<11, (ops CRRC:$crD, i1imm:$L, GPRC:$rA, s16imm:$imm),
|
||||||
"cmpi $crD, $L, $rA, $imm">;
|
"cmpi $crD, $L, $rA, $imm">;
|
||||||
|
Loading…
Reference in New Issue
Block a user