1*a2e67072SMax Filippov#include "macros.inc" 27be9d0e6SMax Filippov 37be9d0e6SMax Filippovtest_suite extui 47be9d0e6SMax Filippov 57be9d0e6SMax Filippov.macro test_extui v, shiftimm, maskimm 67be9d0e6SMax Filippov .if \shiftimm + \maskimm <= 32 77be9d0e6SMax Filippov movi a2, \v 87be9d0e6SMax Filippov extui a3, a2, \shiftimm, \maskimm 97be9d0e6SMax Filippov movi a4, ((\v) >> (\shiftimm)) & ((1 << (\maskimm)) - 1) 107be9d0e6SMax Filippov assert eq, a3, a4 117be9d0e6SMax Filippov .endif 127be9d0e6SMax Filippov.endm 137be9d0e6SMax Filippov 147be9d0e6SMax Filippovtest extui 157be9d0e6SMax Filippov .set shiftimm, 0 167be9d0e6SMax Filippov .rept 32 177be9d0e6SMax Filippov .set maskimm, 1 187be9d0e6SMax Filippov .rept 16 197be9d0e6SMax Filippov test_extui 0xc8df1370, shiftimm, maskimm 207be9d0e6SMax Filippov .set maskimm, maskimm + 1 217be9d0e6SMax Filippov .endr 227be9d0e6SMax Filippov .set shiftimm, shiftimm + 1 237be9d0e6SMax Filippov .endr 247be9d0e6SMax Filippovtest_end 257be9d0e6SMax Filippov 267be9d0e6SMax Filippovtest_suite_end 27