    .text
_start:
    li x2,  0xdead0        # 912080
    li x3,  0x1234         # 4660
    li x4,  1              # 1
    li x5, 123456          # 123456
    li x6,  0xdead0        # duplicate of x2
    li x7, 765432          # 765432
    li x8,  123456         # 123456
    li x9, 234567          # 234567
    li x10, 0x7fffffffffffffff  # max positive 64b
    li x11, 0x8000000000000000  # min negative 64b (treated as unsigned = 0x8000...)

    # 1. DIVU : a / 1
    divu x31, x2, x4
    # expected: 00000000000dead0

    # 2. DIVU : a / a
    divu x31, x2, x6
    # expected: 0000000000000001

    # 3. DIVU : smaller / larger
    divu x31, x5, x8
    # expected: 0000000000000001

    # 4. DIVU : larger / smaller
    divu x31, x7, x8
    # expected: 0000000000000006

    # 5. DIVU : any / any
    divu x31, x8, x7
    # expected: 0000000000000000

    # 6. DIVU : larger / larger
    divu x31, x7, x9
    # expected: 0000000000000003

    # 7. DIVU : max / 2
    li x12, 2
    divu x31, x10, x12
    # expected: 3fffffffffffffff

    # 8. DIVU : min / 1
    divu x31, x11, x4
    # expected: 8000000000000000

    # 9. DIVU : 0 / any
    divu x31, x3, x2
    # expected: 0000000000000000

    # 10. DIVU : any / 0
    divu x31, x2, x0
    # expected: ffffffffffffffff
    divu x31, x7, x0
    # expected: ffffffffffffffff
