mirror of https://gitee.com/openkylin/qemu.git
27 lines
529 B
ArmAsm
27 lines
529 B
ArmAsm
#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
|