关于龙芯扩展指令gsorn/gsandn的请教

您好!
近期Java虚拟机优化时涉及到了 逻辑位非或(gsorn) 和 逻辑位非与(gsandn) 这两条龙芯扩展指令。
现有如下问题欲请教相关人员:
--------------------------------------------------------------------------------
对于指令:
gsorn   T0, R0, S0,
在Java虚拟机中观察到,若 S0 = 0x00 00 00 00 c0 00 00 00, 则上述指令在3A3000上实际执行的结果为T0 = 0x00 00 00 00 3f ff ff ff

问题:
1. 为何上述指令执行的结果不是T0 = 0xff ff ff ff 3f ff ff ff ?
2. 基于上述实验结果,是否可以认为“gsorn和gsandn这两条扩展指令仅对64位寄存器的低32位执行逻辑运算,并且运算结果按32-bit的word进行符号扩展到64-bit的” ?
--------------------------------------------------------------------------------

多谢解答!
 
已邀请:

要回复问题请先登录注册