.text
.type _start,@function
_start:
pmpyshr2 r4 = r5, r6, 0
pmpyshr2.u r4 = r5, r6, 16
pmpy2.r r4 = r5, r6
pmpy2.l r4 = r5, r6
mix1.r r4 = r5, r6
mix2.r r4 = r5, r6
mix4.r r4 = r5, r6
mix1.l r4 = r5, r6
mix2.l r4 = r5, r6
mix4.l r4 = r5, r6
pack2.uss r4 = r5, r6
pack2.sss r4 = r5, r6
pack4.sss r4 = r5, r6
unpack1.h r4 = r5, r6
unpack2.h r4 = r5, r6
unpack4.h r4 = r5, r6
unpack1.l r4 = r5, r6
unpack2.l r4 = r5, r6
unpack4.l r4 = r5, r6
pmin1.u r4 = r5, r6
pmax1.u r4 = r5, r6
pmin2 r4 = r5, r6
pmax2 r4 = r5, r6
psad1 r4 = r5, r6
mux1 r4 = r5, @rev
mux1 r4 = r5, @mix
mux1 r4 = r5, @shuf
mux1 r4 = r5, @alt
mux1 r4 = r5, @brcst
mux2 r4 = r5, 0
mux2 r4 = r5, 0xff
mux2 r4 = r5, 0xaa
pshr2 r4 = r5, r6
pshr2 r4 = r5, 0
pshr2 r4 = r5, 8
pshr2 r4 = r5, 31
pshr4 r4 = r5, r6
pshr4 r4 = r5, 0
pshr4 r4 = r5, 8
pshr4 r4 = r5, 31
pshr2.u r4 = r5, r6
pshr2.u r4 = r5, 0
pshr2.u r4 = r5, 8
pshr2.u r4 = r5, 31
pshr4.u r4 = r5, r6
pshr4.u r4 = r5, 0
pshr4.u r4 = r5, 8
pshr4.u r4 = r5, 31
shr r4 = r5, r6
shr.u r4 = r5, r6
pshl2 r4 = r5, r6
pshl2 r4 = r5, 0
pshl2 r4 = r5, 8
pshl2 r4 = r5, 31
pshl4 r4 = r5, r6
pshl4 r4 = r5, 0
pshl4 r4 = r5, 8
pshl4 r4 = r5, 31
shl r4 = r5, r6
popcnt r4 = r5
shrp r4 = r5, r6, 0
shrp r4 = r5, r6, 12
shrp r4 = r5, r6, 63
extr r4 = r5, 0, 16
extr r4 = r5, 0, 63
extr r4 = r5, 10, 40
extr.u r4 = r5, 0, 16
extr.u r4 = r5, 0, 63
extr.u r4 = r5, 10, 40
dep.z r4 = r5, 0, 16
dep.z r4 = r5, 0, 63
dep.z r4 = r5, 10, 40
dep.z r4 = 0, 0, 16
dep.z r4 = 127, 0, 63
dep.z r4 = -128, 5, 50
dep.z r4 = 0x55, 10, 40
dep r4 = 0, r5, 0, 16
dep r4 = -1, r5, 0, 63
// Insert padding NOPs to force the same template selection as IAS.
nop.m 0
nop.f 0
dep r4 = r5, r6, 10, 7
movl r4 = 0
movl r4 = 0xffffffffffffffff
movl r4 = 0x1234567890abcdef
break.i 0
break.i 0x1fffff
nop.i 0
nop.i 0x1fffff
chk.s.i r4, _start
mov r4 = b0
mov b0 = r4
mov pr = r4, 0
mov pr = r4, 0x1234
mov pr = r4, 0x1ffff
mov pr.rot = 0
// ??? This was originally 0x3ffffff, but that generates an assembler warning
// that the testsuite infrastructure isn't set up to ignore.
mov pr.rot = 0x3ff0000
mov pr.rot = -0x4000000
zxt1 r4 = r5
zxt2 r4 = r5
zxt4 r4 = r5
sxt1 r4 = r5
sxt2 r4 = r5
sxt4 r4 = r5
czx1.l r4 = r5
czx2.l r4 = r5
czx1.r r4 = r5
czx2.r r4 = r5
tbit.z p2, p3 = r4, 0
tbit.z.unc p2, p3 = r4, 1
tbit.z.and p2, p3 = r4, 2
tbit.z.or p2, p3 = r4, 3
tbit.z.or.andcm p2, p3 = r4, 4
tbit.z.orcm p2, p3 = r4, 5
tbit.z.andcm p2, p3 = r4, 6
tbit.z.and.orcm p2, p3 = r4, 7
tbit.nz p2, p3 = r4, 8
tbit.nz.unc p2, p3 = r4, 9
tbit.nz.and p2, p3 = r4, 10
tbit.nz.or p2, p3 = r4, 11
tbit.nz.or.andcm p2, p3 = r4, 12
tbit.nz.orcm p2, p3 = r4, 13
tbit.nz.andcm p2, p3 = r4, 14
tbit.nz.and.orcm p2, p3 = r4, 15
tnat.z p2, p3 = r4
tnat.z.unc p2, p3 = r4
tnat.z.and p2, p3 = r4
tnat.z.or p2, p3 = r4
tnat.z.or.andcm p2, p3 = r4
tnat.z.orcm p2, p3 = r4
tnat.z.andcm p2, p3 = r4
tnat.z.and.orcm p2, p3 = r4
tnat.nz p2, p3 = r4
tnat.nz.unc p2, p3 = r4
tnat.nz.and p2, p3 = r4
tnat.nz.or p2, p3 = r4
tnat.nz.or.andcm p2, p3 = r4
tnat.nz.orcm p2, p3 = r4
tnat.nz.andcm p2, p3 = r4
tnat.nz.and.orcm p2, p3 = r4
mov b3 = r4, .L1
mov.imp b3 = r4, .L1
.space 240
.L1:
mov.sptk b3 = r4, .L2
mov.sptk.imp b3 = r4, .L2
.space 240
.L2:
mov.dptk b3 = r4, .L3
mov.dptk.imp b3 = r4, .L3
.space 240
.L3:
mov.ret b3 = r4, .L4
mov.ret.imp b3 = r4, .L4
.space 240
.L4:
mov.ret.sptk b3 = r4, .L5
mov.ret.sptk.imp b3 = r4, .L5
.space 240
.L5:
mov.ret.dptk b3 = r4, .L6
mov.ret.dptk.imp b3 = r4, .L6
.space 240
.L6:
# instructions added by SDM2.1:
hint @pause
hint.i 0
hint.i @pause
hint.i 0x1fffff
(p7) hint @pause
(p7) hint.i 0
(p7) hint.i @pause
(p7) hint.i 0x1fffff
(p7) hint @pause
(p7) hint.i 0
(p7) hint.i @pause
(p7) hint.i 0x1fffff
# instructions added by SDM2.2:
tf.z p2, p3 = 39
tf.z.unc p2, p3 = 39
tf.z.and p2, p3 = 39
tf.z.or p2, p3 = 39
tf.z.or.andcm p2, p3 = 39
tf.z.orcm p2, p3 = 39
tf.z.andcm p2, p3 = 39
tf.z.and.orcm p2, p3 = 39
tf.nz p2, p3 = 39
tf.nz.unc p2, p3 = 39
tf.nz.and p2, p3 = 39
tf.nz.or p2, p3 = 39
tf.nz.or.andcm p2, p3 = 39
tf.nz.orcm p2, p3 = 39
tf.nz.andcm p2, p3 = 39
tf.nz.and.orcm p2, p3 = 39
(p7) tf.z p2, p3 = 39
(p7) tf.z.unc p2, p3 = 39
(p7) tf.z.and p2, p3 = 39
(p7) tf.z.or p2, p3 = 39
(p7) tf.z.or.andcm p2, p3 = 39
(p7) tf.z.orcm p2, p3 = 39
(p7) tf.z.andcm p2, p3 = 39
(p7) tf.z.and.orcm p2, p3 = 39
(p7) tf.nz p2, p3 = 39
(p7) tf.nz.unc p2, p3 = 39
(p7) tf.nz.and p2, p3 = 39
(p7) tf.nz.or p2, p3 = 39
(p7) tf.nz.or.andcm p2, p3 = 39
(p7) tf.nz.orcm p2, p3 = 39
(p7) tf.nz.andcm p2, p3 = 39
(p7) tf.nz.and.orcm p2, p3 = 39