Displaying 2 results from an estimated 2 matches for "rdasr".
Did you mean:
rdmasr
2015 Sep 18
5
multiply-accumulate instruction
...the MAC as a source operand.
Assembler syntax:
smac rs1, reg_imm, rd
Operation:
prod[31:0] = rs1[15:0] * reg_imm[15:0]
result[39:0] = (Y[7:0] & %asr18[31:0]) + prod[31:0]
(Y[7:0] & %asr18[31:0]) = result[39:0]
rd = result[31:0]
%asr18 can be read and written using the rdasr and wrasr 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 = [Has...
2015 Sep 21
2
multiply-accumulate instruction
...the MAC as a source operand.
Assembler syntax:
smac rs1, reg_imm, rd
Operation:
prod[31:0] = rs1[15:0] * reg_imm[15:0]
result[39:0] = (Y[7:0] & %asr18[31:0]) + prod[31:0]
(Y[7:0] & %asr18[31:0]) = result[39:0]
rd = result[31:0]
%asr18 can be read and written using the rdasr and wrasr 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 = [HasLeon...