可以指定任意《寄存器对》存放全积结果。
对寄存器分配算法更友好。
两条指令在流水线内融合,看作一条。
汇编代码跟流水线微码有些区别。
【 在 quene 的大作中提到: 】
: 看了一下 LonngISA 的指令描述,一般来说,两个寄存器相乘,乘积结果是双倍寄存器宽度,同然用一对寄存器来存放结果。比如 MIPS 乘法结果放入 hi, lo 两个寄存器,传统x86 乘法结果放入 eax, edx 两个寄存器。原本以为龙芯也是类似,一条乘法指令结果放入一对相邻寄存器,比如: mul r4, r3, r2, 把两个寄存器 r3, r2 的乘积放入r4 和r5(偶数号寄存器连同其后紧邻的一个寄存器),这样似乎非常自然。
: 然而 LoongISA 却不这样,非得用两条乘法指令才行:
: mul r4, r3, r2;
: ...................
--
FROM 119.129.255.*