mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-18 13:34:04 +00:00
Remove isTwoAddress from Alpha.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106445 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e407c1d158
commit
23265d0054
@ -182,7 +182,7 @@ class OForm4<bits<6> opcode, bits<7> fun, string asmstr, list<dag> pattern, Inst
|
||||
bits<5> Rb;
|
||||
bits<7> Function = fun;
|
||||
|
||||
// let isTwoAddress = 1;
|
||||
// let Constraints = "$RFALSE = $RDEST";
|
||||
let Inst{25-21} = Ra;
|
||||
let Inst{20-16} = Rb;
|
||||
let Inst{15-13} = 0;
|
||||
@ -223,7 +223,7 @@ class OForm4L<bits<6> opcode, bits<7> fun, string asmstr, list<dag> pattern, Ins
|
||||
bits<8> LIT;
|
||||
bits<7> Function = fun;
|
||||
|
||||
// let isTwoAddress = 1;
|
||||
// let Constraints = "$RFALSE = $RDEST";
|
||||
let Inst{25-21} = Ra;
|
||||
let Inst{20-13} = LIT;
|
||||
let Inst{12} = 1;
|
||||
|
@ -680,18 +680,32 @@ def CPYSNSt : FPForm<0x17, 0x021, "cpysn $RA,$RB,$RC",
|
||||
}
|
||||
|
||||
//conditional moves, floats
|
||||
let OutOperandList = (outs F4RC:$RDEST), InOperandList = (ins F4RC:$RFALSE, F4RC:$RTRUE, F8RC:$RCOND),
|
||||
isTwoAddress = 1 in {
|
||||
def FCMOVEQS : FPForm<0x17, 0x02A, "fcmoveq $RCOND,$RTRUE,$RDEST",[], s_fcmov>; //FCMOVE if = zero
|
||||
def FCMOVGES : FPForm<0x17, 0x02D, "fcmovge $RCOND,$RTRUE,$RDEST",[], s_fcmov>; //FCMOVE if >= zero
|
||||
def FCMOVGTS : FPForm<0x17, 0x02F, "fcmovgt $RCOND,$RTRUE,$RDEST",[], s_fcmov>; //FCMOVE if > zero
|
||||
def FCMOVLES : FPForm<0x17, 0x02E, "fcmovle $RCOND,$RTRUE,$RDEST",[], s_fcmov>; //FCMOVE if <= zero
|
||||
def FCMOVLTS : FPForm<0x17, 0x02C, "fcmovlt $RCOND,$RTRUE,$RDEST",[], s_fcmov>; // FCMOVE if < zero
|
||||
def FCMOVNES : FPForm<0x17, 0x02B, "fcmovne $RCOND,$RTRUE,$RDEST",[], s_fcmov>; //FCMOVE if != zero
|
||||
let OutOperandList = (outs F4RC:$RDEST),
|
||||
InOperandList = (ins F4RC:$RFALSE, F4RC:$RTRUE, F8RC:$RCOND),
|
||||
Constraints = "$RTRUE = $RDEST" in {
|
||||
def FCMOVEQS : FPForm<0x17, 0x02A,
|
||||
"fcmoveq $RCOND,$RTRUE,$RDEST",
|
||||
[], s_fcmov>; //FCMOVE if = zero
|
||||
def FCMOVGES : FPForm<0x17, 0x02D,
|
||||
"fcmovge $RCOND,$RTRUE,$RDEST",
|
||||
[], s_fcmov>; //FCMOVE if >= zero
|
||||
def FCMOVGTS : FPForm<0x17, 0x02F,
|
||||
"fcmovgt $RCOND,$RTRUE,$RDEST",
|
||||
[], s_fcmov>; //FCMOVE if > zero
|
||||
def FCMOVLES : FPForm<0x17, 0x02E,
|
||||
"fcmovle $RCOND,$RTRUE,$RDEST",
|
||||
[], s_fcmov>; //FCMOVE if <= zero
|
||||
def FCMOVLTS : FPForm<0x17, 0x02C,
|
||||
"fcmovlt $RCOND,$RTRUE,$RDEST",
|
||||
[], s_fcmov>; // FCMOVE if < zero
|
||||
def FCMOVNES : FPForm<0x17, 0x02B,
|
||||
"fcmovne $RCOND,$RTRUE,$RDEST",
|
||||
[], s_fcmov>; //FCMOVE if != zero
|
||||
}
|
||||
//conditional moves, doubles
|
||||
let OutOperandList = (outs F8RC:$RDEST), InOperandList = (ins F8RC:$RFALSE, F8RC:$RTRUE, F8RC:$RCOND),
|
||||
isTwoAddress = 1 in {
|
||||
let OutOperandList = (outs F8RC:$RDEST),
|
||||
InOperandList = (ins F8RC:$RFALSE, F8RC:$RTRUE, F8RC:$RCOND),
|
||||
Constraints = "$RTRUE = $RDEST" in {
|
||||
def FCMOVEQT : FPForm<0x17, 0x02A, "fcmoveq $RCOND,$RTRUE,$RDEST", [], s_fcmov>;
|
||||
def FCMOVGET : FPForm<0x17, 0x02D, "fcmovge $RCOND,$RTRUE,$RDEST", [], s_fcmov>;
|
||||
def FCMOVGTT : FPForm<0x17, 0x02F, "fcmovgt $RCOND,$RTRUE,$RDEST", [], s_fcmov>;
|
||||
|
Loading…
x
Reference in New Issue
Block a user