blob: adbb5941e5391455bbf4c1b31f8258cc9f5faa32 [file] [log] [blame]
.text
.macro addb_like_test mnem
\mnem r0,r0,r1,0,8,2
\mnem\().f r0,r0,r1,16,8,2
\mnem\().f.sx r0,r0,r1,8,24,6
.endm
.macro andb_like_test mnem, size
\mnem r0,r0,r1,0,8,\size
\mnem\().f r0,r0,r1,16,8,\size
.endm
.macro notb_like_test mnem
\mnem r0,r1,0,8
\mnem\().f r0,r1,16,16
.endm
.macro div_like_test mnem
\mnem r0,r0,r2,8,8
\mnem\().f r0,r0,0xf,8
.endm
.macro qcmp_test mnem
\mnem r2,r2,r0,8,8,0,1,3
\mnem r2,r2,r0,8,8,1,1
\mnem r2,r2,r0,8,8,1
\mnem r2,r2,r0,8,8
.endm
.macro calcsxd_test mnem
\mnem\() r0, r0, r0, 1
\mnem\().f r1, r1, r0, 2
\mnem\() r2, r2, r3, 4
\mnem\().f r0, r0, r0, 8
\mnem\() r3, r3, r0, 16
\mnem\().f r0, r0, r0, 32
\mnem\() r0, r0, r1, 64
\mnem\().f r2, r2, r0, 128
\mnem\() r1, r1, r2, 256
.endm
.macro calcbsxdkey_test mnem
\mnem\() r0, r0, r0
\mnem\().f r1, r1, r0
\mnem\() r1, r1, r2
\mnem\().f r3, r3, r2
.endm
.macro mxb_like_test mnem
\mnem\() r0, r1, 0, 1, 2
\mnem\() r0, r1, 7, 8, 7
\mnem\() r0, r1, 7, 7, 8
\mnem\().s r2, r3, 1, 4, 3, 2
\mnem\().s r2, r3, 7, 8, 7, 7
\mnem\().s r2, r3, 7, 7, 8, 7
\mnem\().s r2, r3, 7, 8, 7, 8
.endm
.macro addsubl_test mnem
\mnem\() r0, r0, 0
\mnem\() r2, r2, 32767
\mnem\() r5, r5, -32768
\mnem\().f r10, r10, 0
\mnem\().f r11, r11, 1
\mnem\().f r12, r12, -1
.endm
.macro andorxorl_test mnem
\mnem\() r0, r0, 0
\mnem\() r1, r1, 1
\mnem\() r2, r2, 65535
\mnem\().f r10, r10, 0
\mnem\().f r11, r11, 1
\mnem\().f r12, r12, 65535
.endm
.macro andorab_test mnem
\mnem\() r0, r0, 0, 1
\mnem\() r1, r2, 15, 16
\mnem\().f r2, r3, 0, 1
\mnem\().f r12, r13, 16, 16
\mnem\() r0, r0, r0, 0, 1
\mnem\() r1, r1, r2, 15, 16
\mnem\().f r2, r2, r3, 0, 1
\mnem\().f r12, r12, r13, 16, 16
.endm
addb_like_test addb
addb_like_test subb
addb_like_test adcb
addb_like_test sbcb
andb_like_test andb, 2
andb_like_test xorb, 2
andb_like_test orb, 2
andb_like_test shlb, 2
andb_like_test shrb, 2
andb_like_test fxorb, 8
andb_like_test wxorb, 16
notb_like_test notb
notb_like_test cntbb
div_like_test div
div_like_test mod
div_like_test divm
qcmp_test qcmp.ar
qcmp_test qcmp.al
calcsxd_test calcsd
calcsxd_test calcxd
calcbsxdkey_test calcbsd
calcbsxdkey_test calcbxd
calcbsxdkey_test calckey
calcbsxdkey_test calcxkey
mxb_like_test mxb
mxb_like_test imxb
addsubl_test addl
addsubl_test subl
andorxorl_test andl
andorxorl_test orl
andorxorl_test xorl
andorab_test andab
andorab_test orab
lbdsize r0, r1
lbdsize r2, r3
lbdsize.f r0, r1
lbdsize.f r2, r3
bdlen r0, r1, 1
bdlen r1, r3, 256
bdlen r1, r2, 240
bdlen r12, r13
bdlen.f r0, r1, 1
bdlen.f r1, r3, 256
bdlen.f r12, r13
.macro csma_like_test mnem
\mnem\() r10,r12,r20
\mnem\() r0,0x12345678,r20
\mnem\() r6,r7,0xffffffff
\mnem\() r8,0xffffffff,0xffffffff
\mnem\() 0,r14,r13
\mnem\() 0,0xffffffff,r10
\mnem\() 0,r12,0xffffffff
\mnem\() r4,r5,0x1
\mnem\() r3,0x12345678,0x2
\mnem\() 0,r1,0x4
\mnem\() 0,0xffffffff,0x1
.endm
csma_like_test csma
csma_like_test csms
csma_like_test cbba
csma_like_test cbba.f
csma_like_test tr
csma_like_test tr.f
csma_like_test utf8
csma_like_test utf8.f
csma_like_test addf
csma_like_test addf.f
.macro zncv_test mnem
\mnem\() r10,r12,r20
\mnem\() r0,0x12345678,r20
\mnem\() r6,r7,0xffffffff
\mnem\() r8,0xffffffff,0xffffffff
\mnem\() 0,r14,r13
\mnem\() 0,0xffffffff,r10
\mnem\() 0,r12,0xffffffff
\mnem\() r4,r5,0x1
\mnem\() r3,0x12345678,0x2
\mnem\() 0,r1,0x4
\mnem\() 0,0xffffffff,0x1
\mnem\() r1,r1,-1
\mnem\() 0,0xffffffff,-1
.endm
zncv_test zncv.rd
zncv_test zncv.wr
hofs r1, r2, r3
hofs.f r4, r5, r6
hofs r7, r8, 240, 0
hofs.f r7, r8, 0, 1
hash r1, r2, r3, 1, 0, 0, 0
hash r12, r13, r14, 32, 7, 1, 1
.macro hash_p_test mnem
\mnem\() r1, r2, r3, 1, 1, 0, 0
\mnem\() r12, r13, r14, 32, 8, 3, 1
.endm
hash_p_test hash.p0
hash_p_test hash.p1
hash_p_test hash.p2
hash_p_test hash.p3
e4by r0,r1,r2,0,0,0,4
e4by r7,r12,r13,1,2,3,4
e4by r20,r12,r13,7,7,7,7
.macro ldbit_test mnem
\mnem\() r0,[r1]
\mnem\() r0,[r1,1]
\mnem\() r1,[r2,-1]
\mnem\() r3,[0xffffffff,1]
\mnem\() r4,[0x12345678]
\mnem\() r5,[r6,r7]
\mnem\() r8,[r9,0xfeffffff]
\mnem\() r10,[0xffffffff,r11]
.endm
ldbit_test ldbit.di
ldbit_test ldbit.di.cl
ldbit_test ldbit.x2.di
ldbit_test ldbit.x2.di.cl
ldbit_test ldbit.x4.di
ldbit_test ldbit.x4.di.cl