Reduces LUT needed by mul extension
This commit is contained in:
@@ -1,27 +1,55 @@
|
||||
# expected: dead0, ffffffffffffffff, 0, 0, 18, 8000000000000000, fffffffffffff6cd
|
||||
.text
|
||||
_start:
|
||||
li x1, 0x0293
|
||||
li x2, 0xdead0
|
||||
li x3, 0x0
|
||||
li x4, 0x1
|
||||
li x5, (-1)
|
||||
li x6, 0xdead0
|
||||
li x7, (-2355)
|
||||
li x8, (-324)
|
||||
li x9, 0x8000000000000000
|
||||
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
|
||||
|
||||
# Remainder by 0
|
||||
remu x31, x2, x3
|
||||
remu x31, x5, x3
|
||||
|
||||
# Basic remainders
|
||||
# 1. REMU : a % 1
|
||||
remu x31, x2, x4
|
||||
# expected: 0000000000000000
|
||||
|
||||
# 2. REMU : a % a
|
||||
remu x31, x2, x6
|
||||
remu x31, x6, x1
|
||||
# expected: 0000000000000000
|
||||
|
||||
# Overflow
|
||||
remu x31, x9, x5
|
||||
# 3. REMU : smaller % larger
|
||||
remu x31, x5, x7
|
||||
# expected: 000000000001e240
|
||||
|
||||
# Signed / signed
|
||||
# 4. REMU : larger % smaller
|
||||
remu x31, x7, x8
|
||||
# expected: 0000000000006078
|
||||
|
||||
# 5. REMU : any % any
|
||||
remu x31, x8, x7
|
||||
# expected: 000000000001e240
|
||||
|
||||
# 6. REMU : larger % larger
|
||||
remu x31, x7, x9
|
||||
# expected: 000000000000f123
|
||||
|
||||
# 7. REMU : max % 2
|
||||
li x12, 2
|
||||
remu x31, x10, x12
|
||||
# expected: 0000000000000001
|
||||
|
||||
# 8. REMU : min % 1
|
||||
remu x31, x11, x4
|
||||
# expected: 0000000000000000
|
||||
|
||||
# 9. REMU : 0 % any
|
||||
remu x31, x3, x2
|
||||
# expected: 0000000000001234
|
||||
|
||||
# 10. REMU : any % 0
|
||||
remu x31, x2, x0
|
||||
# expected: 00000000000dead0
|
||||
remu x31, x7, x0
|
||||
# expected: 00000000000badf8
|
||||
|
||||
Reference in New Issue
Block a user