.text _start: li x2, 0xdead0 # 912080 li x3, 0x1234 # 4660 li x4, 1 # 1 li x5, -123456 # 0xfffe1dc0 (4294843840) li x6, 0xdead0 # duplicate of x2 li x7, -765432 # 0xffed32b8 (4294201864) li x8, 123456 # 123456 li x9, -234567 # 0xfffc7239 (4294732729) li x10, 0xffffffff # max unsigned 32b li x11, 0x80000000 # 2147483648 # 1. REMUW : a % 1 remuw x31, x2, x4 # expected: 0000000000000000 # 2. REMUW : a % a remuw x31, x2, x6 # expected: 0000000000000000 # 3. REMUW : unsigned(x5) % x8 remuw x31, x5, x8 # expected: 000000000000dcc0 # 4. REMUW : unsigned(x7) % x8 remuw x31, x7, x8 # expected: 0000000000007c48 # 5. REMUW : x8 % unsigned(x7) remuw x31, x8, x7 # expected: 000000000001e240 # 6. REMUW : unsigned(x7) % unsigned(x9) remuw x31, x7, x9 # expected: fffffffffff45208 # 7. REMUW : max32 % 2 li x12, 2 remuw x31, x10, x12 # expected: 0000000000000001 # 8. REMUW : min32 % -1 remuw x31, x11, x12 # expected: 0000000000000000 # 9. REMUW : min32 % 1 remuw x31, x11, x4 # expected: 0000000000000000 # 10. REMUW : 0 % any remuw x31, x3, x2 # expected: 0000000000001234 # 11. REMUW : any % 0 remuw x31, x2, x0 # expected: 00000000000dead0 remuw x31, x7, x0 # expected: FFFFFFFFFFF45208