forked from OSchip/llvm-project
[mips] Fix floating point branch, comparison, and conditional move instructions
to have register FCC0 (the first floating point condition code register) in their Uses/Defs list. No intended functionality change. llvm-svn: 187233
This commit is contained in:
parent
91f1c8ca27
commit
55f69b302c
|
|
@ -37,7 +37,7 @@ class CMov_F_I_FT<string opstr, RegisterOperand RC, InstrItinClass Itin,
|
||||||
InstSE<(outs RC:$rd), (ins RC:$rs, RC:$F),
|
InstSE<(outs RC:$rd), (ins RC:$rs, RC:$F),
|
||||||
!strconcat(opstr, "\t$rd, $rs, $$fcc0"),
|
!strconcat(opstr, "\t$rd, $rs, $$fcc0"),
|
||||||
[(set RC:$rd, (OpNode RC:$rs, RC:$F))], Itin, FrmFR> {
|
[(set RC:$rd, (OpNode RC:$rs, RC:$F))], Itin, FrmFR> {
|
||||||
let Uses = [FCR31];
|
let Uses = [FCC0];
|
||||||
let Constraints = "$F = $rd";
|
let Constraints = "$F = $rd";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -47,7 +47,7 @@ class CMov_F_F_FT<string opstr, RegisterClass RC, InstrItinClass Itin,
|
||||||
InstSE<(outs RC:$fd), (ins RC:$fs, RC:$F),
|
InstSE<(outs RC:$fd), (ins RC:$fs, RC:$F),
|
||||||
!strconcat(opstr, "\t$fd, $fs, $$fcc0"),
|
!strconcat(opstr, "\t$fd, $fs, $$fcc0"),
|
||||||
[(set RC:$fd, (OpNode RC:$fs, RC:$F))], Itin, FrmFR> {
|
[(set RC:$fd, (OpNode RC:$fs, RC:$F))], Itin, FrmFR> {
|
||||||
let Uses = [FCR31];
|
let Uses = [FCC0];
|
||||||
let Constraints = "$F = $fd";
|
let Constraints = "$F = $fd";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -194,7 +194,7 @@ class BC1F_FT<string opstr, InstrItinClass Itin,
|
||||||
let isTerminator = 1;
|
let isTerminator = 1;
|
||||||
let hasDelaySlot = 1;
|
let hasDelaySlot = 1;
|
||||||
let Defs = [AT];
|
let Defs = [AT];
|
||||||
let Uses = [FCR31];
|
let Uses = [FCC0];
|
||||||
}
|
}
|
||||||
|
|
||||||
class CEQS_FT<string typestr, RegisterClass RC, InstrItinClass Itin,
|
class CEQS_FT<string typestr, RegisterClass RC, InstrItinClass Itin,
|
||||||
|
|
@ -202,7 +202,7 @@ class CEQS_FT<string typestr, RegisterClass RC, InstrItinClass Itin,
|
||||||
InstSE<(outs), (ins RC:$fs, RC:$ft, condcode:$cond),
|
InstSE<(outs), (ins RC:$fs, RC:$ft, condcode:$cond),
|
||||||
!strconcat("c.$cond.", typestr, "\t$fs, $ft"),
|
!strconcat("c.$cond.", typestr, "\t$fs, $ft"),
|
||||||
[(OpNode RC:$fs, RC:$ft, imm:$cond)], Itin, FrmFR> {
|
[(OpNode RC:$fs, RC:$ft, imm:$cond)], Itin, FrmFR> {
|
||||||
let Defs = [FCR31];
|
let Defs = [FCC0];
|
||||||
let isCodeGenOnly = 1;
|
let isCodeGenOnly = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue