# expected: 0000000000000000, FFFFFFFFFFFFFFFF, 0000000000000004, 0000000000000000 .text _start: # 0 sub li x1, 0 subw x31, x0, x1 # all bits sub + sign extension to 32 bits then 64 bits li x1, 1 subw x31, x0, x1 # simple subtraction li x1, 8 li x2, 4 subw x31, x1, x2 # 32bits trim li x1, 0xFFFFFFFF00000000 subw x31, x1, x1