1*56bb7041Schristos	.text
2*56bb7041Schristos	.p2align 2
3*56bb7041Schristos
4*56bb7041Schristos	ldrc	r3
5*56bb7041Schristos	ldrc	r12
6*56bb7041Schristos	ldrc	#10
7*56bb7041Schristos	ldrc	#243
8*56bb7041Schristos	setdmx
9*56bb7041Schristos	setdmy
10*56bb7041Schristos	clrdmxy
11*56bb7041Schristos
12*56bb7041Schristos	movx.w	@r4,x0		movy.w	a0,@r7+
13*56bb7041Schristos	movx.w	@r0,x1
14*56bb7041Schristos	movx.w	@r1+,y0		nopy
15*56bb7041Schristosnopy	movx.w	@r5+r8,y1
16*56bb7041Schristos
17*56bb7041Schristos	movx.l	@r5,x1
18*56bb7041Schristos	movx.l	@r0,x0
19*56bb7041Schristos	movx.l	@r1+,y0		nopy
20*56bb7041Schristosnopy	movx.l	@r4+r8,y1
21*56bb7041Schristos
22*56bb7041Schristos	movx.w	a0,@r4+		movy.w	@r6+r9,y0
23*56bb7041Schristos	movx.w	x0,@r1
24*56bb7041Schristos	movx.w	a1,@r0+		nopy
25*56bb7041Schristosnopy	movx.w	x1,@r5+r8
26*56bb7041Schristos
27*56bb7041Schristos	movx.l	a0,@r5
28*56bb7041Schristos	movx.l	x0,@r0
29*56bb7041Schristos	movx.l	x1,@r1+		nopy
30*56bb7041Schristosnopy	movx.l	a1,@r4+r8
31*56bb7041Schristos
32*56bb7041Schristos	movy.w	@r7,y1		movx.w a1,@r4+r8
33*56bb7041Schristos	movy.w	@r3,y0
34*56bb7041Schristos	movy.w	@r2+,x1		nopx
35*56bb7041Schristosnopx	movy.w	@r6+r9,x0
36*56bb7041Schristos
37*56bb7041Schristos	movy.l	@r6,y1
38*56bb7041Schristos	movy.l	@r2,y0
39*56bb7041Schristos	movy.l	@r3+,x0		nopx
40*56bb7041Schristosnopx	movy.l	@r7+r9,x1
41*56bb7041Schristos
42*56bb7041Schristos	movy.w	a1,@r6+		movx.w	@r5+r8,x1
43*56bb7041Schristos	movy.w	y1,@r2
44*56bb7041Schristos	movy.w	a0,@r3+		nopx
45*56bb7041Schristosnopx	movy.w	y0,@r7+r9
46*56bb7041Schristos
47*56bb7041Schristos	movy.l	a1,@r7
48*56bb7041Schristos	movy.l	y0,@r3
49*56bb7041Schristos	movy.l	y1,@r2+		nopx
50*56bb7041Schristosnopx	movy.l	a0,@r6+r9
51*56bb7041Schristos
52*56bb7041Schristos	pabs	x1,a0
53*56bb7041Schristos	pabs	y0,m1
54*56bb7041Schristos    dct	pabs	a1,m0
55*56bb7041Schristos    dct	pabs	x0,x1
56*56bb7041Schristos    dcf	pabs	a0,y1
57*56bb7041Schristos    dcf	pabs	x1,a0
58*56bb7041Schristos    dct	pabs	y1,x0
59*56bb7041Schristos    dct	pabs	m0,m1
60*56bb7041Schristos    dcf	pabs	m1,y0
61*56bb7041Schristos    dcf	pabs	y0,a1
62*56bb7041Schristos
63*56bb7041Schristos	pmuls	a1,x0,m0
64*56bb7041Schristos	pmuls	y0,a1,m1
65*56bb7041Schristos	pclr	a0
66*56bb7041Schristos    dct	pclr	a1
67*56bb7041Schristos	pclr	x0		pmuls	a1,x0,m0
68*56bb7041Schristos	pclr	a1		pmuls	x0,y0,a0
69*56bb7041Schristos	pclr	a0		pmuls	x1,y1,a1
70*56bb7041Schristos	pclr	y0		pmuls	y0,a1,m1
71*56bb7041Schristos
72*56bb7041Schristos	psub	a0,m0,x0
73*56bb7041Schristos	psub	m1,x1,x1
74*56bb7041Schristos	psub	y0,a0,y0
75*56bb7041Schristos    dct	psub	a1,y1,y1
76*56bb7041Schristos    dct	psub	m0,x1,a0
77*56bb7041Schristos    dct	psub	y1,a0,a1
78*56bb7041Schristos    dcf	psub	x1,m1,m0
79*56bb7041Schristos    dcf	psub	y0,x1,m1
80*56bb7041Schristos    dcf	psub	m1,a0,a1
81*56bb7041Schristos
82*56bb7041Schristos	pswap	a1,m1
83*56bb7041Schristos	pswap	x0,a0
84*56bb7041Schristos	pswap	m1,y0
85*56bb7041Schristos	pswap	y0,x1
86*56bb7041Schristos    dct	pswap	a0,y1
87*56bb7041Schristos    dct	pswap	x1,x0
88*56bb7041Schristos    dct	pswap	y1,a1
89*56bb7041Schristos    dct	pswap	m0,m0
90*56bb7041Schristos    dcf	pswap	a0,a0
91*56bb7041Schristos    dcf	pswap	x1,m1
92*56bb7041Schristos    dcf	pswap	m1,x0
93*56bb7041Schristos    dcf	pswap	y0,y1
94*56bb7041Schristos
95*56bb7041Schristos	prnd	a0,a1
96*56bb7041Schristos	prnd	y1,m0
97*56bb7041Schristos    dct	prnd	a1,x0
98*56bb7041Schristos    dct	prnd	x0,y1
99*56bb7041Schristos    dct	prnd	m1,a0
100*56bb7041Schristos    dct	prnd	y0,x1
101*56bb7041Schristos    dcf	prnd	a0,y0
102*56bb7041Schristos    dcf	prnd	x1,m1
103*56bb7041Schristos    dcf	prnd	y1,a0
104*56bb7041Schristos    dcf	prnd	m0,a1
105