#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