.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 (4294967295) li x11, 0x80000000 # 2147483648 # 1. DIVUW : a / 1 divuw x31, x2, x4 # expected: 000000000000dead0 # 2. DIVUW : a / a divuw x31, x2, x6 # expected: 0000000000000001 # 3. DIVUW : unsigned(0xfffe1dc0) / 123456 divuw x31, x5, x8 # expected: 00000000000087e4 # 4. DIVUW : unsigned(0xffed32b8) / 123456 divuw x31, x7, x8 # expected: 00000000000087df # 5. DIVUW : unsigned(123456) / unsigned(0xffed32b8) divuw x31, x8, x7 # expected: 0000000000000000 # 6. DIVUW : unsigned(x7) / unsigned(x9) divuw x31, x7, x9 # expected: 0000000000000000 # 7. DIVUW : max32 / 2 li x12, 2 divuw x31, x10, x12 # expected: 000000007fffffff # 8. DIVUW : min32 / 1 divuw x31, x11, x4 # expected: ffffffff80000000 # 9. DIVUW : 0 / any divuw x31, x0, x2 # expected: 0000000000000000 # 10. DIVUW : any / 0 divuw x31, x2, x0 # expected: ffffffffffffffff divuw x31, x7, x0 # expected: ffffffffffffffff