1 .data
2foodata: .hword 42
3 .text
4footext:
5	.text
6	.global beq16
7
8	.text
9	.global beq
10bgt16:
11	bgt 4
12	bgt 4
13	bgt -4
14	bgt footext
15	bgt foodata
16	bgt 4
17	bgt footext
18	bgt footext
19	.text
20	.global bgt
21
22bgtu16:
23	bgtu 4
24	bgtu -4
25	bgtu footext
26	bgtu 4
27	bgtu -4
28	bgtu footext
29	bgtu footext
30	bgtu 4
31	.text
32	.global bgtu
33
34bgte16:
35	bgte footext
36	bgte footext
37	bgte footext
38	bgte footext
39	bgte footext
40	bgte -4
41	bgte foodata
42	bgte foodata
43
44	.text
45	.global bgteu16
46bgteu16:
47	bgteu 4
48	bgteu -4
49	bgteu foodata
50	bgteu 4
51	bgteu footext
52	bgteu 4
53	bgteu foodata
54	bgteu foodata
55	.text
56	.global bgteu
57bgteu:
58	.text
59	.global blt16
60blt16:
61	blt -4
62	blt 4
63	blt -4
64	blt 4
65	blt -4
66	blt 4
67	blt foodata
68	blt foodata
69	.text
70	.global blt
71blt:
72	.text
73	.global bltu16
74bltu16:
75	bltu -4
76	bltu 4
77	bltu -4
78	bltu footext
79	bltu footext
80	bltu footext
81	bltu 4
82	bltu foodata
83	.text
84	.global bltu
85bltu:
86	.text
87	.global blte16
88blte16:
89	blte footext
90	blte foodata
91	blte foodata
92	blte footext
93	blte -4
94	blte footext
95	blte footext
96	blte 4
97	.text
98	.global blte
99blte:
100	.text
101	.global blteu16
102blteu16:
103	blteu footext
104	blteu foodata
105	blteu footext
106	blteu foodata
107	blteu footext
108	blteu -4
109	blteu foodata
110	blteu foodata
111	.text
112	.global blteu
113blteu:
114	.text
115	.global bbeq16
116bbeq16:
117	bbeq footext
118	bbeq footext
119	bbeq foodata
120	bbeq footext
121	bbeq 4
122	bbeq foodata
123	bbeq foodata
124	bbeq 4
125	.text
126	.global bbeq
127bbeq:
128	.text
129	.global bbne16
130bbne16:
131	bbne foodata
132	bbne -4
133	bbne 4
134	bbne footext
135	bbne 4
136	bbne 4
137	bbne footext
138	bbne footext
139	.text
140	.global bbne
141bbne:
142	.text
143	.global bblt16
144bblt16:
145	bblt foodata
146	bblt 4
147	bblt 4
148	bblt 4
149	bblt -4
150	bblt 4
151	bblt footext
152	bblt -4
153	.text
154	.global bblt
155bblt:
156	.text
157	.global bblte16
158bblte16:
159	bblte 4
160	bblte 4
161	bblte footext
162	bblte footext
163	bblte 4
164	bblte -4
165	bblte foodata
166	bblte 4
167	.text
168	.global bblte
169bblte:
170	.text
171	.global b16
172b16:
173	b footext
174	b footext
175	b 4
176	b -4
177	b footext
178	b foodata
179	b foodata
180	b -4
181	.text
182	.global b
183b:
184	.text
185	.global bl16
186bl16:
187	bl -4
188	bl 4
189	bl footext
190	bl -4
191	bl footext
192	bl -4
193	bl -4
194	bl footext
195	.text
196	.global bl
197bl:
198	.text
199	.global jr16
200jr16:
201	jr ip
202	jr r3
203	jr r0
204	jr fp
205	jr sp
206	jr r0
207	jr r3
208	jr r0
209	.text
210	.global jr
211jr:
212	jr ip
213	jr r59
214	jr r28
215	jr r27
216	jr sp
217	jr r51
218	jr r56
219	jr r45
220	.text
221	.global jalr16
222jalr16:
223	jalr ip
224	jalr r3
225	jalr r0
226	jalr fp
227	jalr sp
228	jalr r3
229	jalr fp
230	jalr ip
231	.text
232	.global jalr
233jalr:
234	jalr ip
235	jalr r59
236	jalr r28
237	jalr r27
238	jalr sp
239	jalr r11
240	jalr r28
241	jalr r59
242	.text
243	.global ldrbx16
244ldrbx16:
245	ldrb ip,[ip,ip]
246	ldrb r3,[r3,r3]
247	ldrb r0,[r0,r0]
248	ldrb fp,[fp,fp]
249	ldrb sp,[sp,sp]
250	ldrb ip,[r0,r0]
251	ldrb r3,[r2,lr]
252	ldrb r2,[ip,r3]
253	.text
254	.global ldrbp16
255ldrbp16:
256	ldrb sp,[r0],fp
257	ldrb lr,[r1],ip
258	ldrb fp,[r0],fp
259	.text
260	.global ldrbx
261ldrbx:
262	ldrb ip,[ip,ip]
263	ldrb r59,[r59,r59]
264	ldrb r28,[r28,r28]
265	ldrb r27,[r27,r27]
266	ldrb sp,[sp,sp]
267	ldrb r41,[r18,r47]
268	ldrb r43,[r16,r21]
269	ldrb r32,[r8,r8]
270	.text
271	.global ldrbp
272ldrbp:
273	ldrb r36,[r49],r18
274	ldrb r32,[r59],r50
275	ldrb r58,[r11],r25
276	.text
277	.global ldrbd16
278ldrbd16:
279	ldrb ip,[ip,0]
280	ldrb r3,[r3,7]
281	ldrb r0,[r0,4]
282	ldrb fp,[fp,3]
283	ldrb sp,[sp,1]
284	ldrb lr,[sp,1]
285	ldrb r1,[r0,0]
286	ldrb r1,[r1,1]
287	.text
288	.global ldrbd
289ldrbd:
290	ldrb ip,[ip,0]
291	ldrb r59,[r59,2047]
292	ldrb r28,[r28,1024]
293	ldrb r27,[r27,1023]
294	ldrb sp,[sp,1]
295	ldrb r7,[r33,1574]
296	ldrb r31,[r6,1957]
297	ldrb r10,[r0,1831]
298	.text
299	.global ldrhx16
300ldrhx16:
301	ldrh ip,[ip,ip]
302	ldrh r3,[r3,r3]
303	ldrh r0,[r0,r0]
304	ldrh fp,[fp,fp]
305	ldrh sp,[sp,sp]
306	ldrh r0,[r0,lr]
307	ldrh lr,[lr,sp]
308	ldrh r0,[fp,fp]
309	.text
310	.global ldrhp16
311ldrhp16:
312	ldrh r2,[sp],fp
313	ldrh r22,[sp],fp
314	.text
315	.global ldrhx
316ldrhx:
317	ldrh ip,[ip,ip]
318	ldrh r59,[r59,r59]
319	ldrh r28,[r28,r28]
320	ldrh r27,[r27,r27]
321	ldrh sp,[sp,sp]
322	ldrh r46,[r17,r21]
323	ldrh r30,[r1,r47]
324	ldrh r43,[r19,r20]
325	.text
326	.global ldrhp
327ldrhp:
328
329
330
331	ldrh r32,[r31],r29
332	ldrh r52,[r47],r10
333	ldrh r31,[r40],r3
334	.text
335	.global ldrhd16
336ldrhd16:
337	ldrh ip,[ip,0]
338	ldrh r3,[r3,7]
339	ldrh r0,[r0,4]
340	ldrh fp,[fp,3]
341	ldrh sp,[sp,1]
342	ldrh lr,[r2,0]
343	ldrh r3,[r0,7]
344	ldrh r0,[r3,6]
345	.text
346	.global ldrhd
347ldrhd:
348	ldrh ip,[ip,0]
349	ldrh r59,[r59,2047]
350	ldrh r28,[r28,1024]
351	ldrh r27,[r27,1023]
352	ldrh sp,[sp,1]
353	ldrh r45,[r24,1221]
354	ldrh r36,[r43,1738]
355	ldrh r42,[r48,25]
356	.text
357	.global ldrx16
358ldrx16:
359	ldr ip,[ip,ip]
360	ldr r3,[r3,r3]
361	ldr r0,[r0,r0]
362	ldr fp,[fp,fp]
363	ldr sp,[sp,sp]
364	ldr r3,[fp,lr]
365	ldr ip,[lr,r2]
366	ldr r3,[r2,lr]
367	.text
368	.global ldrp16
369ldrp16:
370	ldr lr,[fp],sp
371	ldr r0,[sp],r0
372	ldr fp,[r2],r1
373	.text
374	.global ldrx
375ldrx:
376	ldr ip,[ip,ip]
377	ldr r59,[r59,r59]
378	ldr r28,[r28,r28]
379	ldr r27,[r27,r27]
380	ldr sp,[sp,sp]
381	ldr r24,[r16,r47]
382	ldr r22,[r41,r49]
383	ldr r14,[fp,r39]
384	.text
385	.global ldrp
386ldrp:
387	ldr r21,[r5],r30
388	ldr r36,[r12],r14
389	ldr r12,[r4],r11
390	.text
391	.global ldrd16
392ldrd16:
393	ldr ip,[ip,0]
394	ldr r3,[r3,7]
395	ldr r0,[r0,4]
396	ldr fp,[fp,3]
397	ldr sp,[sp,1]
398	ldr r0,[sp,0]
399	ldr ip,[r1,7]
400	ldr fp,[r1,1]
401	.text
402	.global ldrd
403ldrd:
404	ldr ip,[ip,0]
405	ldr r59,[r59,2047]
406	ldr r28,[r28,1024]
407	ldr r27,[r27,1023]
408	ldr sp,[sp,1]
409	ldr r22,[r30,975]
410	ldr r7,[r44,1361]
411	ldr r23,[r19,1855]
412	.text
413	.global ldrdx16
414ldrdx16:
415	ldrd ip,[ip,ip]
416	ldrd r4,[r3,r3]
417	ldrd r0,[r0,r0]
418	ldrd r14,[fp,fp]
419	ldrd r16,[sp,sp]
420	ldrd r30,[r2,ip]
421	ldrd r0,[fp,r3]
422	ldrd r20,[ip,lr]
423	.text
424	.global ldrdp16
425ldrdp16:
426	ldrd r4,[r3],r3
427	ldrd r16,[fp],fp
428	ldrd r20,[sp],sp
429	ldrd r10,[ip],r1
430	ldrd r30,[fp],lr
431	ldrd r62,[lr],sp
432	.text
433	.global ldrdx
434ldrdx:
435	ldrd ip,[ip,ip]
436	ldrd r58,[r59,r59]
437	ldrd r28,[r28,r28]
438	ldrd r26,[r27,r27]
439	ldrd r12,[sp,sp]
440	ldrd r32,[fp,r59]
441	ldrd r4,[r17,r6]
442	ldrd r32,[r40,r1]
443	.text
444	.global ldrdp
445ldrdp:
446	ldrd r16,[sp],sp
447	ldrd r46,[r33],r30
448	ldrd r24,[r36],r59
449	ldrd r58,[r32],r11
450	.text
451	.global ldrdd16
452ldrdd16:
453	ldrd ip,[ip,0]
454	ldrd r4,[r3,7]
455	ldrd r0,[r0,4]
456	ldrd r16,[fp,3]
457	ldrd r18,[sp,1]
458	ldrd r0,[fp,3]
459	ldrd lr,[fp,7]
460	ldrd lr,[ip,1]
461	.text
462	.global ldrdd
463ldrdd:
464	ldrd ip,[ip,0]
465	ldrd r58,[r59,2047]
466	ldrd r28,[r28,1024]
467	ldrd r2,[r27,1023]
468	ldrd r16,[sp,1]
469	ldrd r4,[r21,761]
470	ldrd lr,[r41,1553]
471	ldrd r6,[r14,1922]
472	.text
473	.global strbx16
474strbx16:
475	strb ip,[ip,ip]
476	strb r3,[r3,r3]
477	strb r0,[r0,r0]
478	strb fp,[fp,fp]
479	strb sp,[sp,sp]
480	strb r1,[lr,r3]
481	strb ip,[r3,lr]
482	strb lr,[ip,ip]
483	.text
484	.global strbx
485strbx:
486	strb ip,[ip,ip]
487	strb r59,[r59,r59]
488	strb r28,[r28,r28]
489	strb r27,[r27,r27]
490	strb sp,[sp,sp]
491	strb r50,[r15,sp]
492	strb lr,[fp,r52]
493	strb r14,[r24,r51]
494	.text
495	.global strbp16
496strbp16:
497	strb ip,[ip],ip
498	strb r3,[r3],r3
499	strb r0,[r0],r0
500	strb fp,[fp],fp
501	strb sp,[sp],sp
502	strb r2,[fp],ip
503	strb fp,[r0],r1
504	strb r2,[r2],r3
505	.text
506	.global strbp
507strbp:
508	strb ip,[ip],ip
509	strb r59,[r59],r59
510	strb r28,[r28],r28
511	strb r27,[r27],r27
512	strb sp,[sp],sp
513	strb r14,[r51],r2
514	strb r6,[r44],r50
515	strb r44,[r9],r49
516	.text
517	.global strbd16
518strbd16:
519	strb ip,[ip,0]
520	strb r3,[r3,7]
521	strb r0,[r0,4]
522	strb fp,[fp,3]
523	strb sp,[sp,1]
524	strb r0,[r2,1]
525	strb sp,[r2,3]
526	strb fp,[r2,4]
527	.text
528	.global strbd
529strbd:
530	strb ip,[ip,0]
531	strb r59,[r59,2047]
532	strb r28,[r28,1024]
533	strb r27,[r27,1023]
534	strb sp,[sp,1]
535	strb r23,[r10,1404]
536	strb r12,[r35,1461]
537	strb r54,[r58,1090]
538	.text
539	.global strhx16
540strhx16:
541	strh ip,[ip,ip]
542	strh r3,[r3,r3]
543	strh r0,[r0,r0]
544	strh fp,[fp,fp]
545	strh sp,[sp,sp]
546	strh r0,[r3,r1]
547	strh r1,[fp,r2]
548	strh r3,[r3,fp]
549	.text
550	.global strhx
551strhx:
552	strh ip,[ip,ip]
553	strh r59,[r59,r59]
554	strh r28,[r28,r28]
555	strh r27,[r27,r27]
556	strh sp,[sp,sp]
557	strh r16,[r38,r31]
558	strh r32,[r12,r28]
559	strh r57,[r11,r9]
560	.text
561	.global strhp16
562strhp16:
563	strh ip,[ip],ip
564	strh r3,[r3],r3
565	strh r0,[r0],r0
566	strh fp,[fp],fp
567	strh sp,[sp],sp
568	strh r0,[r2],sp
569	strh sp,[r3],r0
570	strh r1,[r0],r0
571	.text
572	.global strhp
573strhp:
574	strh ip,[ip],ip
575	strh r59,[r59],r59
576	strh r28,[r28],r28
577	strh r27,[r27],r27
578	strh sp,[sp],sp
579	strh r3,[r37],r54
580	strh r4,[r54],r25
581	strh r5,[r32],r25
582	.text
583	.global strhd16
584strhd16:
585	strh ip,[ip,0]
586	strh r3,[r3,7]
587	strh r0,[r0,4]
588	strh fp,[fp,3]
589	strh sp,[sp,1]
590	strh r3,[r0,3]
591	strh lr,[ip,7]
592	strh r3,[r2,7]
593	.text
594	.global strhd
595strhd:
596	strh ip,[ip,0]
597	strh r59,[r59,2047]
598	strh r28,[r28,1024]
599	strh r27,[r27,1023]
600	strh sp,[sp,1]
601	strh r7,[r38,1181]
602	strh r25,[r4,77]
603	strh r11,[fp,631]
604	.text
605	.global strx16
606strx16:
607	str ip,[ip,ip]
608	str r3,[r3,r3]
609	str r0,[r0,r0]
610	str fp,[fp,fp]
611	str sp,[sp,sp]
612	str lr,[r3,r3]
613	str r3,[fp,r0]
614	str ip,[sp,r1]
615	.text
616	.global strx
617strx:
618	str ip,[ip,ip]
619	str r59,[r59,r59]
620	str r28,[r28,r28]
621	str r27,[r27,r27]
622	str sp,[sp,sp]
623	str r53,[r29,r28]
624	str r30,[r22,r34]
625	str r28,[r28,r44]
626	.text
627	.global strp16
628strp16:
629	str ip,[ip],ip
630	str r3,[r3],r3
631	str r0,[r0],r0
632	str fp,[fp],fp
633	str sp,[sp],sp
634	str lr,[r0],r0
635	str fp,[r0],sp
636	str r3,[fp],r0
637	.text
638	.global strp
639strp:
640	str ip,[ip],ip
641	str r59,[r59],r59
642	str r28,[r28],r28
643	str r27,[r27],r27
644	str sp,[sp],sp
645	str r22,[r36],r15
646	str r44,[r13],r47
647	str r19,[r48],sp
648	.text
649	.global strd16
650strd16:
651	str ip,[ip,0]
652	str r3,[r3,7]
653	str r0,[r0,4]
654	str fp,[fp,3]
655	str sp,[sp,1]
656	str r3,[fp,3]
657	str sp,[ip,6]
658	str r1,[lr,3]
659	.text
660	.global strd
661strd:
662	str ip,[ip,0]
663	str r59,[r59,2047]
664	str r28,[r28,1024]
665	str r27,[r27,1023]
666	str sp,[sp,1]
667	str r45,[r44,74]
668	str r58,[r50,370]
669	str r40,[r3,626]
670	.text
671	.global strdx16
672strdx16:
673	strd ip,[ip,ip]
674	strd r2,[r3,r3]
675	strd r0,[r0,r0]
676	strd r16,[fp,fp]
677	strd r18,[sp,sp]
678	strd ip,[r3,r1]
679	strd r2,[lr,fp]
680	strd ip,[r2,r2]
681	.text
682	.global strdx
683strdx:
684	strd ip,[ip,ip]
685	strd r58,[r59,r59]
686	strd r28,[r28,r28]
687	strd r26,[r27,r27]
688	strd r14,[sp,sp]
689	strd r38,[r53,lr]
690	strd r24,[r19,r43]
691	strd r12,[r10,r30]
692	.text
693	.global strdp16
694strdp16:
695	strd ip,[ip],ip
696	strd r2,[r3],r3
697	strd r0,[r0],r0
698	strd r6,[fp],fp
699	strd r4,[sp],sp
700	strd r2,[r3],r0
701	strd r2,[r0],r1
702	strd r2,[lr],r1
703	.text
704	.global strdp
705strdp:
706	strd ip,[ip],ip
707	strd r58,[r59],r59
708	strd r28,[r28],r28
709	strd r26,[r27],r27
710	strd r22,[sp],sp
711	strd r6,[r10],r44
712	strd r10,[r43],r5
713	strd r46,[r17],lr
714	.text
715	.global strdd16
716strdd16:
717	strd r0,[ip,0]
718	strd r2,[r3,7]
719	strd r0,[r0,4]
720	strd r2,[fp,3]
721	strd r4,[sp,1]
722	strd r2,[r2,5]
723	strd r6,[r3,7]
724	strd r6,[r1,2]
725	.text
726	.global strdd
727strdd:
728	strd ip,[ip,0]
729	strd r58,[r59,2047]
730	strd r28,[r28,1024]
731	strd r26,[r27,1023]
732	strd r14,[sp,1]
733	strd r28,[r52,719]
734	strd r40,[r53,1994]
735	strd r44,[r57,494]
736	.text
737	.global mov16EQ
738mov16EQ:
739	moveq ip,ip
740	moveq r3,r3
741	moveq r0,r0
742	moveq fp,fp
743	moveq sp,sp
744	moveq ip,r2
745	moveq r2,fp
746	moveq fp,sp
747	.text
748	.global movEQ
749movEQ:
750	moveq ip,ip
751	moveq r59,r59
752	moveq r28,r28
753	moveq r27,r27
754	moveq sp,sp
755	moveq r32,r30
756	moveq r43,r39
757	moveq r25,r33
758	.text
759	.global mov16NE
760mov16NE:
761	movne ip,ip
762	movne r3,r3
763	movne r0,r0
764	movne fp,fp
765	movne sp,sp
766	movne r3,r3
767	movne r0,fp
768	movne fp,fp
769	.text
770	.global movNE
771movNE:
772	movne ip,ip
773	movne r59,r59
774	movne r28,r28
775	movne r27,r27
776	movne sp,sp
777	movne r4,r3
778	movne r28,fp
779	movne r23,r39
780	.text
781	.global mov16GT
782mov16GT:
783	movgt ip,ip
784	movgt r3,r3
785	movgt r0,r0
786	movgt fp,fp
787	movgt sp,sp
788	movgt r1,r3
789	movgt lr,r3
790	movgt r1,ip
791	.text
792	.global movGT
793movGT:
794	movgt ip,ip
795	movgt r59,r59
796	movgt r28,r28
797	movgt r27,r27
798	movgt sp,sp
799	movgt r1,r21
800	movgt r13,r3
801	movgt r28,r43
802	.text
803	.global mov16GTU
804mov16GTU:
805	movgtu ip,ip
806	movgtu r3,r3
807	movgtu r0,r0
808	movgtu fp,fp
809	movgtu sp,sp
810	movgtu ip,lr
811	movgtu sp,ip
812	movgtu ip,sp
813	.text
814	.global movGTU
815movGTU:
816	movgtu ip,ip
817	movgtu r59,r59
818	movgtu r28,r28
819	movgtu r27,r27
820	movgtu sp,sp
821	movgtu r34,r33
822	movgtu r17,r48
823	movgtu r35,r24
824	.text
825	.global mov16GTE
826mov16GTE:
827	movgte ip,ip
828	movgte r3,r3
829	movgte r0,r0
830	movgte fp,fp
831	movgte sp,sp
832	movgte r0,r0
833	movgte r2,sp
834	movgte lr,r2
835	.text
836	.global movGTE
837movGTE:
838	movgte ip,ip
839	movgte r59,r59
840	movgte r28,r28
841	movgte r27,r27
842	movgte sp,sp
843	movgte ip,r59
844	movgte r37,r42
845	movgte r44,r26
846	.text
847	.global mov16GTEU
848mov16GTEU:
849	movgteu ip,ip
850	movgteu r3,r3
851	movgteu r0,r0
852	movgteu fp,fp
853	movgteu sp,sp
854	movgteu lr,ip
855	movgteu sp,r1
856	movgteu ip,lr
857	.text
858	.global movGTEU
859movGTEU:
860	movgteu ip,ip
861	movgteu r59,r59
862	movgteu r28,r28
863	movgteu r27,r27
864	movgteu sp,sp
865	movgteu r58,r47
866	movgteu r56,r5
867	movgteu r20,r52
868	.text
869	.global mov16LT
870mov16LT:
871	movlt ip,ip
872	movlt r3,r3
873	movlt r0,r0
874	movlt fp,fp
875	movlt sp,sp
876	movlt r3,r3
877	movlt r2,r2
878	movlt ip,lr
879	.text
880	.global movLT
881movLT:
882	movlt ip,ip
883	movlt r59,r59
884	movlt r28,r28
885	movlt r27,r27
886	movlt sp,sp
887	movlt r52,r12
888	movlt r57,r22
889	movlt r8,r7
890	.text
891	.global mov16LTU
892mov16LTU:
893	movltu ip,ip
894	movltu r3,r3
895	movltu r0,r0
896	movltu fp,fp
897	movltu sp,sp
898	movltu ip,r2
899	movltu sp,ip
900	movltu r1,r0
901	.text
902	.global movLTU
903movLTU:
904	movltu ip,ip
905	movltu r59,r59
906	movltu r28,r28
907	movltu r27,r27
908	movltu sp,sp
909	movltu r13,r31
910	movltu r43,ip
911	movltu r7,r56
912	.text
913	.global mov16LTE
914mov16LTE:
915	movlte ip,ip
916	movlte r3,r3
917	movlte r0,r0
918	movlte fp,fp
919	movlte sp,sp
920	movlte r0,r3
921	movlte r3,ip
922	movlte r3,lr
923	.text
924	.global movLTE
925movLTE:
926	movlte ip,ip
927	movlte r59,r59
928	movlte r28,r28
929	movlte r27,r27
930	movlte sp,sp
931	movlte r30,r27
932	movlte r35,r52
933	movlte r15,r53
934	.text
935	.global mov16LTEU
936mov16LTEU:
937	movlteu ip,ip
938	movlteu r3,r3
939	movlteu r0,r0
940	movlteu fp,fp
941	movlteu sp,sp
942	movlteu ip,lr
943	movlteu r2,r2
944	movlteu r2,fp
945	.text
946	.global movLTEU
947movLTEU:
948	movlteu ip,ip
949	movlteu r59,r59
950	movlteu r28,r28
951	movlteu r27,r27
952	movlteu sp,sp
953	movlteu r31,r36
954	movlteu r24,r50
955	movlteu r52,r54
956	.text
957	.global mov16B
958mov16B:
959	mov ip,ip
960	mov r3,r3
961	mov r0,r0
962	mov fp,fp
963	mov sp,sp
964	mov ip,r1
965	mov ip,r0
966	mov r0,ip
967	.text
968	.global movB
969movB:
970	mov ip,ip
971	mov r59,r59
972	mov r28,r28
973	mov r27,r27
974	mov sp,sp
975	mov r1,r59
976	mov r28,r12
977	mov r5,r42
978	.text
979	.global mov16BEQ
980mov16BEQ:
981	movbeq ip,ip
982	movbeq r3,r3
983	movbeq r0,r0
984	movbeq fp,fp
985	movbeq sp,sp
986	movbeq lr,r2
987	movbeq fp,r2
988	movbeq ip,r1
989	.text
990	.global movBEQ
991movBEQ:
992	movbeq ip,ip
993	movbeq r59,r59
994	movbeq r28,r28
995	movbeq r27,r27
996	movbeq sp,sp
997	movbeq r29,r16
998	movbeq r18,r46
999	movbeq lr,r1
1000	.text
1001	.global mov16BNE
1002mov16BNE:
1003	movbne ip,ip
1004	movbne r3,r3
1005	movbne r0,r0
1006	movbne fp,fp
1007	movbne sp,sp
1008	movbne r1,r2
1009	movbne ip,r1
1010	movbne ip,r3
1011	.text
1012	.global movBNE
1013movBNE:
1014	movbne ip,ip
1015	movbne r59,r59
1016	movbne r28,r28
1017	movbne r27,r27
1018	movbne sp,sp
1019	movbne r15,r7
1020	movbne r24,r43
1021	movbne r23,r52
1022	.text
1023	.global mov16BLT
1024mov16BLT:
1025	movblt ip,ip
1026	movblt r3,r3
1027	movblt r0,r0
1028	movblt fp,fp
1029	movblt sp,sp
1030	movblt sp,lr
1031	movblt ip,lr
1032	movblt lr,sp
1033	.text
1034	.global movBLT
1035movBLT:
1036	movblt ip,ip
1037	movblt r59,r59
1038	movblt r28,r28
1039	movblt r27,r27
1040	movblt sp,sp
1041	movblt r52,r44
1042	movblt r57,r35
1043	movblt r53,r33
1044	.text
1045	.global mov16BLTE
1046mov16BLTE:
1047	movblte ip,ip
1048	movblte r3,r3
1049	movblte r0,r0
1050	movblte fp,fp
1051	movblte sp,sp
1052	movblte sp,ip
1053	movblte r0,fp
1054	movblte r0,sp
1055	.text
1056	.global movBLTE
1057movBLTE:
1058	movblte ip,ip
1059	movblte r59,r59
1060	movblte r28,r28
1061	movblte r27,r27
1062	movblte sp,sp
1063	movblte r58,r44
1064	movblte r35,r22
1065	movblte r8,r2
1066	.text
1067	.global movts16
1068movts16:
1069	movts config,ip
1070	movts ipend,r3
1071	movts iret,r0
1072	movts debug,fp
1073	movts status,sp
1074	movts status,fp
1075	movts pc,fp
1076	movts imask,r0
1077	.text
1078	.global movts
1079movts:
1080	movts config,ip
1081	movts ipend,r59
1082	movts iret,r28
1083	movts debug,r27
1084	movts status,sp
1085	movts debug,r50
1086	movts ipend,r33
1087	movts status,ip
1088	.text
1089	.global movfs16
1090movfs16:
1091	movfs ip,config
1092	movfs r3,ipend
1093	movfs r0,iret
1094	movfs fp,debug
1095	movfs sp,status
1096	movfs r1,iret
1097	movfs r2,status
1098	movfs lr,debug
1099	.text
1100	.global movfs
1101movfs:
1102	movfs ip,config
1103	movfs r59,ipend
1104	movfs r28,iret
1105	movfs r27,debug
1106	movfs sp,status
1107	movfs r13,debug
1108	movfs r15,status
1109	movfs r16,imask
1110	.text
1111	.global nop
1112nop:
1113	nop
1114	.text
1115	.global idle
1116idle:
1117	idle
1118	.text
1119	.global bkpt
1120bkpt:
1121	bkpt
1122	.text
1123	.global rti
1124rti:
1125	rti
1126	.text
1127	.global trap16
1128trap16:
1129	trap 0
1130	trap 7
1131	trap 4
1132	trap 3
1133	trap 1
1134	trap 6
1135	trap 3
1136	trap 5
1137	.text
1138	.global add16
1139add16:
1140	add ip,ip,ip
1141	add r3,r3,r3
1142	add r0,r0,r0
1143	add fp,fp,fp
1144	add sp,sp,sp
1145	add sp,r2,lr
1146	add r0,r2,r1
1147	add ip,fp,fp
1148	.text
1149	.global add
1150add:
1151	add ip,ip,ip
1152	add r59,r59,r59
1153	add r28,r28,r28
1154	add r27,r27,r27
1155	add sp,sp,sp
1156	add r56,r10,r16
1157	add r36,r25,r34
1158	add r2,r49,r17
1159	.text
1160	.global sub16
1161sub16:
1162	sub ip,ip,ip
1163	sub r3,r3,r3
1164	sub r0,r0,r0
1165	sub fp,fp,fp
1166	sub sp,sp,sp
1167	sub r2,ip,lr
1168	sub lr,lr,r0
1169	sub r3,r3,r3
1170	.text
1171	.global sub
1172sub:
1173	sub ip,ip,ip
1174	sub r59,r59,r59
1175	sub r28,r28,r28
1176	sub r27,r27,r27
1177	sub sp,sp,sp
1178	sub ip,lr,r20
1179	sub r48,r22,r47
1180	sub r19,r48,r13
1181	.text
1182	.global and16
1183and16:
1184	and ip,ip,ip
1185	and r3,r3,r3
1186	and r0,r0,r0
1187	and fp,fp,fp
1188	and sp,sp,sp
1189	and fp,sp,r3
1190	and r3,r3,r3
1191	and ip,sp,sp
1192	.text
1193	.global and
1194and:
1195	and ip,ip,ip
1196	and r59,r59,r59
1197	and r28,r28,r28
1198	and r27,r27,r27
1199	and sp,sp,sp
1200	and r52,ip,r46
1201	and r44,r40,r44
1202	and r24,r58,r31
1203	.text
1204	.global orr16
1205orr16:
1206	orr ip,ip,ip
1207	orr r3,r3,r3
1208	orr r0,r0,r0
1209	orr fp,fp,fp
1210	orr sp,sp,sp
1211	orr lr,r1,sp
1212	orr r3,lr,lr
1213	orr r2,r3,r2
1214	.text
1215	.global orr
1216orr:
1217	orr ip,ip,ip
1218	orr r59,r59,r59
1219	orr r28,r28,r28
1220	orr r27,r27,r27
1221	orr sp,sp,sp
1222	orr r52,r5,r59
1223	orr r15,r32,r43
1224	orr r56,r29,r44
1225	.text
1226	.global eor16
1227eor16:
1228	eor ip,ip,ip
1229	eor r3,r3,r3
1230	eor r0,r0,r0
1231	eor fp,fp,fp
1232	eor sp,sp,sp
1233	eor ip,r3,r2
1234	eor r3,sp,r2
1235	eor fp,sp,r2
1236	.text
1237	.global eor
1238eor:
1239	eor ip,ip,ip
1240	eor r59,r59,r59
1241	eor r28,r28,r28
1242	eor r27,r27,r27
1243	eor sp,sp,sp
1244	eor r17,r56,r29
1245	eor sp,r41,r27
1246	eor r11,r10,r43
1247	.text
1248	.global asr16
1249asr16:
1250	asr ip,ip,ip
1251	asr r3,r3,r3
1252	asr r0,r0,r0
1253	asr fp,fp,fp
1254	asr sp,sp,sp
1255	asr r3,r0,r3
1256	asr r3,r1,lr
1257	asr r0,fp,sp
1258	.text
1259	.global asr
1260asr:
1261	asr ip,ip,ip
1262	asr r59,r59,r59
1263	asr r28,r28,r28
1264	asr r27,r27,r27
1265	asr sp,sp,sp
1266	asr r34,r9,r25
1267	asr r51,r17,r33
1268	asr ip,r7,r11
1269	.text
1270	.global lsr16
1271lsr16:
1272	lsr ip,ip,ip
1273	lsr r3,r3,r3
1274	lsr r0,r0,r0
1275	lsr fp,fp,fp
1276	lsr sp,sp,sp
1277	lsr sp,r3,fp
1278	lsr fp,r1,lr
1279	lsr lr,r2,r2
1280	.text
1281	.global lsr
1282lsr:
1283	lsr ip,ip,ip
1284	lsr r59,r59,r59
1285	lsr r28,r28,r28
1286	lsr r27,r27,r27
1287	lsr sp,sp,sp
1288	lsr r6,r25,r19
1289	lsr r12,r54,r32
1290	lsr r13,sp,ip
1291	.text
1292	.global lsl16
1293lsl16:
1294	lsl ip,ip,ip
1295	lsl r3,r3,r3
1296	lsl r0,r0,r0
1297	lsl fp,fp,fp
1298	lsl sp,sp,sp
1299	lsl ip,ip,ip
1300	lsl lr,r1,ip
1301	lsl lr,sp,r3
1302	.text
1303	.global lsl
1304lsl:
1305	lsl ip,ip,ip
1306	lsl r59,r59,r59
1307	lsl r28,r28,r28
1308	lsl r27,r27,r27
1309	lsl sp,sp,sp
1310	lsl r36,r43,r15
1311	lsl r34,r39,r37
1312	lsl r23,r33,r29
1313	.text
1314	.global addi16
1315addi16:
1316	add ip,ip,0
1317	add r3,r3,7
1318	add r0,r0,4
1319	add fp,fp,3
1320	add sp,sp,1
1321	add r3,r1,1
1322	add r1,fp,3
1323	add r0,fp,7
1324	.text
1325	.global addi
1326addi:
1327	add ip,ip,0
1328	add r59,r59,1023
1329	add r28,r28,047
1330	add r27,r27,1023
1331	add sp,sp,1
1332	add r49,r28,165
1333	add r31,r2,623
1334	add r16,r9,945
1335	.text
1336	.global subi16
1337subi16:
1338	sub ip,ip,0
1339	sub r3,r3,7
1340	sub r0,r0,4
1341	sub fp,fp,3
1342	sub sp,sp,1
1343	sub ip,r3,2
1344	sub lr,r3,4
1345	sub ip,r2,1
1346	.text
1347	.global subi
1348subi:
1349	sub ip,ip,0
1350	sub r59,r59,-2047
1351	sub r28,r28,1023
1352	sub r27,r27,1022
1353	sub sp,sp,1
1354	sub r51,r6,836
1355	sub r47,r40,772
1356	sub r55,r4,488
1357	.text
1358	.global lsri16
1359lsri16:
1360	lsr ip,ip,0
1361	lsr r3,r3,31
1362	lsr r0,r0,16
1363	lsr fp,fp,15
1364	lsr sp,sp,1
1365	lsr r0,r3,6
1366	lsr r1,r2,8
1367	lsr fp,lr,14
1368	.text
1369	.global lsri32
1370lsri32:
1371	lsr ip,ip,0
1372	lsr r59,r59,31
1373	lsr r28,r28,16
1374	lsr r27,r27,15
1375	lsr sp,sp,1
1376	lsr r30,r48,19
1377	lsr r43,r7,23
1378	lsr r28,r2,28
1379	.text
1380	.global lsli16
1381lsli16:
1382	lsl ip,ip,0
1383	lsl r3,r3,31
1384	lsl r0,r0,16
1385	lsl fp,fp,15
1386	lsl sp,sp,1
1387	lsl r2,r3,11
1388	lsl lr,r2,6
1389	lsl r0,r2,16
1390	.text
1391	.global lsli32
1392lsli32:
1393	lsl ip,ip,0
1394	lsl r59,r59,31
1395	lsl r28,r28,16
1396	lsl r27,r27,15
1397	lsl sp,sp,1
1398	lsl r56,r51,19
1399	lsl r17,r39,19
1400	lsl r2,r12,12
1401	.text
1402	.global asri16
1403asri16:
1404	asr ip,ip,0
1405	asr r3,r3,31
1406	asr r0,r0,16
1407	asr fp,fp,15
1408	asr sp,sp,1
1409	asr lr,ip,21
1410	asr r3,r3,22
1411	asr r3,r3,9
1412	.text
1413	.global asri32
1414asri32:
1415	asr ip,ip,0
1416	asr r59,r59,31
1417	asr r28,r28,16
1418	asr r27,r27,15
1419	asr sp,sp,1
1420	asr r52,r46,17
1421	asr r23,r56,22
1422	asr r21,r46,28
1423	.text
1424	.global mov8
1425mov8:
1426	mov ip,0
1427	mov r3,255
1428	mov r0,128
1429	mov fp,127
1430	mov sp,1
1431	mov lr,91
1432	mov r0,77
1433	mov fp,10
1434	.text
1435	.global mov16
1436mov16:
1437	mov ip,0
1438	mov r59,65535
1439	mov r28,32768
1440	mov r27,32767
1441	mov sp,1
1442	mov r53,61169
1443	mov r18,52207
1444	mov r16,36386
1445	.text
1446	.global faddf16
1447faddf16:
1448	fadd ip,ip,ip
1449	fadd r3,r3,r3
1450	fadd r0,r0,r0
1451	fadd fp,fp,fp
1452	fadd sp,sp,sp
1453	fadd sp,ip,r2
1454	fadd sp,r2,r2
1455	fadd sp,lr,fp
1456	.text
1457	.global faddf32
1458faddf32:
1459	fadd ip,ip,ip
1460	fadd r59,r59,r59
1461	fadd r28,r28,r28
1462	fadd r27,r27,r27
1463	fadd sp,sp,sp
1464	fadd r13,r29,r39
1465	fadd r32,r40,r3
1466	fadd r40,r29,lr
1467	.text
1468	.global fsubf16
1469fsubf16:
1470	fsub ip,ip,ip
1471	fsub r3,r3,r3
1472	fsub r0,r0,r0
1473	fsub fp,fp,fp
1474	fsub sp,sp,sp
1475	fsub r2,lr,sp
1476	fsub r3,r1,ip
1477	fsub r3,ip,r2
1478	.text
1479	.global fsubf32
1480fsubf32:
1481	fsub ip,ip,ip
1482	fsub r59,r59,r59
1483	fsub r28,r28,r28
1484	fsub r27,r27,r27
1485	fsub sp,sp,sp
1486	fsub r1,r56,r11
1487	fsub r3,r22,r15
1488	fsub r6,r48,r45
1489	.text
1490	.global fmulf16
1491fmulf16:
1492	fmul ip,ip,ip
1493	fmul r3,r3,r3
1494	fmul r0,r0,r0
1495	fmul fp,fp,fp
1496	fmul sp,sp,sp
1497	fmul r3,ip,fp
1498	fmul lr,r1,r2
1499	fmul sp,lr,lr
1500	.text
1501	.global fmulf32
1502fmulf32:
1503	fmul ip,ip,ip
1504	fmul r59,r59,r59
1505	fmul r28,r28,r28
1506	fmul r27,r27,r27
1507	fmul sp,sp,sp
1508	fmul r58,r23,r51
1509	fmul r22,r2,r47
1510	fmul r46,r14,r10
1511	.text
1512	.global fmaddf16
1513fmaddf16:
1514	fmadd ip,ip,ip
1515	fmadd r3,r3,r3
1516	fmadd r0,r0,r0
1517	fmadd fp,fp,fp
1518	fmadd sp,sp,sp
1519	fmadd sp,r1,r3
1520	fmadd r3,r3,r0
1521	fmadd r2,ip,ip
1522	.text
1523	.global fmaddf32
1524fmaddf32:
1525	fmadd ip,ip,ip
1526	fmadd r59,r59,r59
1527	fmadd r28,r28,r28
1528	fmadd r27,r27,r27
1529	fmadd sp,sp,sp
1530	fmadd r28,r54,r32
1531	fmadd r12,r2,fp
1532	fmadd fp,r40,r22
1533	.text
1534	.global fmsubf16
1535fmsubf16:
1536	fmsub ip,ip,ip
1537	fmsub r3,r3,r3
1538	fmsub r0,r0,r0
1539	fmsub fp,fp,fp
1540	fmsub sp,sp,sp
1541	fmsub sp,fp,r1
1542	fmsub r1,fp,sp
1543	fmsub r0,r3,r0
1544	.text
1545	.global fmsubf32
1546fmsubf32:
1547	fmsub ip,ip,ip
1548	fmsub r59,r59,r59
1549	fmsub r28,r28,r28
1550	fmsub r27,r27,r27
1551	fmsub sp,sp,sp
1552	fmsub r42,r20,r9
1553	fmsub r22,r24,r42
1554	fmsub r15,r22,r19
1555
1556;; add some negative displacement ld/store
1557	ldr	r1,[r2,-12]
1558	strh	r22,[r30,-2047]
1559	ldrd	r12,[r14,2047]
1560
1561;; add bitr
1562        bitr    r1,r0
1563        bitr    r31,r15
1564