Displaying 2 results from an estimated 2 matches for "hasleon4".
Did you mean:
hasleon3
2015 Sep 18
5
multiply-accumulate instruction
...asr instructions.
===
I have the following in SparcInstrInfo to define the lowering rules for this instruction, but I feel that this isn't likely to work as I need to somehow tie together the fact that %Y, %ASR18 and %rd are all related to each other in the output.
let Predicates = [HasLeon3, HasLeon4], Defs = [Y, ASR18], Uses = [Y, ASR18] in
def SMACrr : F3_1<3, 0b111110,
(outs IntRegs:$rd), (ins IntRegs:$rs1, IntRegs:$rs2, ASRRegs:$asr18),
"smac $rs1, $rs2, $rd",
[(set i32:$rd,
(add i32:$asr18, (mul i32:$rs1,...
2015 Sep 21
2
multiply-accumulate instruction
...-accumulate instruction
Do you only want to define assembler syntax for this, or do you need to be able to be able to automatically emit it from some higher level construct? I'd expect the former would be entirely sufficient, in which case this should be sufficient:
let Predicates = [HasLeon3, HasLeon4], Defs = [Y, ASR18], Uses = [Y, ASR18] in
def SMACrr : F3_1<3, 0b111110,
(outs IntRegs:$rd), (ins IntRegs:$rs1, IntRegs:$rs2),
"smac $rs1, $rs2, $rd",
[]>;
If you want the latter, I'm not sure how you'd go about being able...