summaryrefslogtreecommitdiffstats
path: root/tests/tcg/xtensa/test_extui.S
blob: c32bb824dfd3935375b8f5a5af2049ca13f9534a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#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