1	.text
2	.global iwmmxt2
3iwmmxt2:
4
5	waddhc		wr4, wr5, wr6
6	waddwc		wr7, wr8, wr9
7
8	wmadduxgt	wr4, wr5, wr6
9	wmadduneq	wr7, wr8, wr9
10	wmaddsxne	wr4, wr5, wr6
11	wmaddsnge	wr7, wr8, wr9
12
13	wmulumr		wr1, wr2, wr3
14	wmulsmr		wr1, wr2, wr3
15
16	torvscbgt	r15
17	torvschne	r15
18	torvscweq	r15
19
20	wabsb		wr1, wr2
21	wabsh		wr3, wr4
22	wabsw		wr5, wr6
23	wabsbgt		wr1, wr2
24
25	wabsdiffb	wr1, wr2, wr3
26	wabsdiffh	wr4, wr5, wr6
27	wabsdiffw	wr7, wr8, wr9
28	wabsdiffbgt	wr1, wr2, wr3
29
30	waddbhusm	wr1, wr2, wr3
31	waddbhusl	wr4, wr5, wr6
32	waddbhusmgt	wr1, wr2, wr3
33	waddbhuslgt	wr4, wr5, wr6
34
35	waddsubhx	wr1, wr2, wr3
36	waddsubhxlt	wr4, wr5, wr6
37	waddsubhxeq	wr1, wr2, wr3
38	waddsubhxgt	wr4, wr5, wr6
39
40	wavg4		wr1, wr2, wr3
41	wavg4gt		wr4, wr5, wr6
42	wavg4r		wr1, wr2, wr3
43	wavg4rgt	wr4, wr5, wr6
44
45	wldrd		wr1, [r1], -r2
46	wldrd		wr2, [r1], -r2,lsl #3
47	wldrd		wr3, [r1], +r2
48	wldrd		wr4, [r1], +r2,lsl #4
49	wldrd		wr5, [r1, -r2]
50	wldrd		wr6, [r1, -r2,lsl #3]
51	wldrd		wr7, [r1, +r2]
52	wldrd		wr8, [r1, +r2,lsl #4]
53	wldrd		wr9, [r1, -r2]!
54	wldrd		wr10, [r1, -r2,lsl #3]!
55	wldrd		wr11, [r1, +r2]!
56	wldrd		wr12, [r1, +r2,lsl #4]!
57
58	wmerge		wr1, wr2, wr3, #4
59	wmergegt	wr1, wr2, wr3, #4
60
61	wmiatteq	wr1, wr2, wr3
62	wmiatbgt	wr1, wr2, wr3
63	wmiabtne	wr1, wr2, wr3
64	wmiabbgt	wr1, wr2, wr3
65	wmiattneq	wr1, wr2, wr3
66	wmiatbnne	wr1, wr2, wr3
67	wmiabtngt	wr1, wr2, wr3
68	wmiabbneq	wr1, wr2, wr3
69
70	wmiawtteq	wr1, wr2, wr3
71	wmiawtbgt	wr1, wr2, wr3
72	wmiawbtne	wr1, wr2, wr3
73	wmiawbbgt	wr1, wr2, wr3
74	wmiawttnne	wr1, wr2, wr3
75	wmiawtbngt	wr1, wr2, wr3
76	wmiawbtneq	wr1, wr2, wr3
77	wmiawbbnne	wr1, wr2, wr3
78
79	wmulwumeq	wr1, wr2, wr3
80	wmulwumrgt	wr1, wr2, wr3
81	wmulwsmne	wr1, wr2, wr3
82	wmulwsmreq	wr1, wr2, wr3
83	wmulwlgt	wr1, wr2, wr3
84	wmulwlge	wr1, wr2, wr3
85
86	wqmiattne	wr1, wr2, wr3
87	wqmiattneq	wr1, wr2, wr3
88	wqmiatbgt	wr1, wr2, wr3
89	wqmiatbnge	wr1, wr2, wr3
90	wqmiabtne	wr1, wr2, wr3
91	wqmiabtneq	wr1, wr2, wr3
92	wqmiabbgt	wr1, wr2, wr3
93	wqmiabbnne	wr1, wr2, wr3
94
95	wqmulmgt	wr1, wr2, wr3
96	wqmulmreq	wr1, wr2, wr3
97
98	wqmulwmgt	wr1, wr2, wr3
99	wqmulwmreq	wr1, wr2, wr3
100
101	wstrd		wr1, [r1], -r2
102	wstrd		wr2, [r1], -r2,lsl #3
103	wstrd		wr3, [r1], +r2
104	wstrd		wr4, [r1], +r2,lsl #4
105	wstrd		wr5, [r1, -r2]
106	wstrd		wr6, [r1, -r2,lsl #3]
107	wstrd		wr7, [r1, +r2]
108	wstrd		wr8, [r1, +r2,lsl #4]
109	wstrd		wr9, [r1, -r2]!
110	wstrd		wr10, [r1, -r2,lsl #3]!
111	wstrd		wr11, [r1, +r2]!
112	wstrd		wr12, [r1, +r2,lsl #4]!
113
114	wsubaddhxgt	wr1, wr2, wr3
115
116	wrorh		wr1, wr2, #0
117	wrorw		wr1, wr2, #0
118	wrord		wr1, wr2, #0
119	wrorh		wr1, wr2, #21
120	wrorw		wr1, wr2, #13
121	wrord		wr1, wr2, #14
122
123	wsllh		wr1, wr2, #0
124	wsllw		wr1, wr2, #0
125	wslld		wr1, wr2, #0
126	wsllh		wr2, wr9, #11
127	wsllw		wr3, wr5, #13
128	wslld		wr3, wr8, #15
129
130	wsrah		wr1, wr2, #0
131	wsraw		wr1, wr2, #0
132	wsrad		wr1, wr2, #0
133	wsrah		wr2, wr9, #12
134	wsraw		wr3, wr5, #14
135	wsrad		wr3, wr8, #16
136
137	wsrlh		wr1, wr2, #0
138	wsrlw		wr1, wr2, #0
139	wsrld		wr1, wr2, #0
140	wsrlh		wr2, wr9, #12
141	wsrlw		wr3, wr5, #14
142	wsrld		wr3, wr8, #16
143