| .include "macros.inc" | |
| test_suite extui | |
| .macro test_extui v, shiftimm, maskimm | |
| .if \shiftimm + \maskimm <= 32 | |
| movi a2, \v | |
| extui a3, a2, \shiftimm, \maskimm | |
| movi a4, ((\v) >> (\shiftimm)) & ((1 << (\maskimm)) - 1) | |
| assert eq, a3, a4 | |
| .endif | |
| .endm | |
| test extui | |
| .set shiftimm, 0 | |
| .rept 32 | |
| .set maskimm, 1 | |
| .rept 16 | |
| test_extui 0xc8df1370, shiftimm, maskimm | |
| .set maskimm, maskimm + 1 | |
| .endr | |
| .set shiftimm, shiftimm + 1 | |
| .endr | |
| test_end | |
| test_suite_end |