1.data	8
2ok:
3.c	"ok\n"
4
5/* r0,r1 = r2 op r3 */
6#define QALUR(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
7	movi %R2 I0					\
8	movi %R3 I1					\
9	OP##r##T %R0 %R1 %R2 %R3			\
10	bnei OP##T##N##rlo##R0##R1##R2##R3 %R0 LO	\
11	bnei OP##T##N##rlo##R0##R1##R2##R3 %R1 HI	\
12	bnei OP##T##N##rlo##R0##R1##R2##R3 %R2 I0	\
13	beqi OP##T##N##rhi##R0##R1##R2##R3 %R3 I1	\
14OP##T##N##rlo##R0##R1##R2##R3:				\
15	calli @abort					\
16OP##T##N##rhi##R0##R1##R2##R3:
17
18/* r0,r1 = r2 op i0 */
19#define QALUI(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
20	movi %R2 I0					\
21	movi %R3 HI					\
22	OP##i##T %R0 %R1 %R2 I1				\
23	bnei OP##T##N##ilo##R0##R1##R2##R3 %R0 LO	\
24	bner OP##T##N##ilo##R0##R1##R2##R3 %R1 %R3	\
25	beqi OP##T##N##ihi##R0##R1##R2##R3 %R2 I0	\
26OP##T##N##ilo##R0##R1##R2##R3:				\
27	calli @abort					\
28OP##T##N##ihi##R0##R1##R2##R3:
29
30/* r0,r1 = r0 op r1 */
31#define QALUX(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
32	movi %R0 I0					\
33	movi %R1 I1					\
34	movi %R2 LO					\
35	movi %R3 HI					\
36	OP##r##T %R0 %R1 %R0 %R1			\
37	bner OP##T##N##0lo##R0##R1##R2##R3 %R0 %R2	\
38	beqr OP##T##N##0hi##R0##R1##R2##R3 %R1 %R3	\
39OP##T##N##0lo##R0##R1##R2##R3:				\
40	calli @abort					\
41OP##T##N##0hi##R0##R1##R2##R3:
42
43/* r0,r1 = r1 op r0 */
44#define QALUY(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
45	movi %R1 I0					\
46	movi %R0 I1					\
47	movi %R2 LO					\
48	movi %R3 HI					\
49	OP##r##T %R0 %R1 %R1 %R0			\
50	bner OP##T##N##1lo##R0##R1##R2##R3 %R0 %R2	\
51	beqr OP##T##N##1hi##R0##R1##R2##R3 %R1 %R3	\
52OP##T##N##1lo##R0##R1##R2##R3:				\
53	calli @abort					\
54OP##T##N##1hi##R0##R1##R2##R3:
55
56/* r0,r1 = r0 op r3 */
57#define QALUZ(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
58	movi %R0 I0					\
59	movi %R3 I1					\
60	movi %R2 LO					\
61	OP##r##T %R0 %R1 %R0 %R3			\
62	bner OP##T##N##2lo##R0##R1##R2##R3 %R0 %R2	\
63	bnei OP##T##N##2lo##R0##R1##R2##R3 %R1 HI	\
64	beqi OP##T##N##2hi##R0##R1##R2##R3 %R3 I1	\
65OP##T##N##2lo##R0##R1##R2##R3:				\
66	calli @abort					\
67OP##T##N##2hi##R0##R1##R2##R3:
68
69/* r0,r1 = r2 op r1 */
70#define QALUW(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
71	movi %R2 I0					\
72	movi %R1 I1					\
73	movi %R3 LO					\
74	OP##r##T %R0 %R1 %R2 %R1			\
75	bner OP##T##N##3lo##R0##R1##R2##R3 %R0 %R3	\
76	bnei OP##T##N##3lo##R0##R1##R2##R3 %R1 HI	\
77	beqi OP##T##N##3hi##R0##R1##R2##R3 %R2 I0	\
78OP##T##N##3lo##R0##R1##R2##R3:				\
79	calli @abort					\
80OP##T##N##3hi##R0##R1##R2##R3:
81
82#define QALU2(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
83	QALUR(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
84	QALUI(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
85	QALUX(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
86	QALUY(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
87	QALUZ(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
88	QALUW(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)
89
90#define QALU1(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
91	QALU2(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3)	\
92	QALU2(N, T, OP, I0, I1, LO, HI, R0, R1, R3, R2)	\
93	QALU2(N, T, OP, I0, I1, LO, HI, R0, R2, R1, R3)	\
94	QALU2(N, T, OP, I0, I1, LO, HI, R0, R2, R3, R1)	\
95	QALU2(N, T, OP, I0, I1, LO, HI, R0, R3, R1, R2)	\
96	QALU2(N, T, OP, I0, I1, LO, HI, R0, R3, R2, R1)	\
97	QALU2(N, T, OP, I0, I1, LO, HI, R1, R0, R2, R3)	\
98	QALU2(N, T, OP, I0, I1, LO, HI, R1, R0, R3, R2)	\
99	QALU2(N, T, OP, I0, I1, LO, HI, R1, R2, R0, R3)	\
100	QALU2(N, T, OP, I0, I1, LO, HI, R1, R2, R3, R0)	\
101	QALU2(N, T, OP, I0, I1, LO, HI, R1, R3, R0, R2)	\
102	QALU2(N, T, OP, I0, I1, LO, HI, R1, R3, R2, R0)	\
103	QALU2(N, T, OP, I0, I1, LO, HI, R2, R1, R0, R3)	\
104	QALU2(N, T, OP, I0, I1, LO, HI, R2, R1, R3, R0)	\
105	QALU2(N, T, OP, I0, I1, LO, HI, R2, R0, R1, R3)	\
106	QALU2(N, T, OP, I0, I1, LO, HI, R2, R0, R3, R1)	\
107	QALU2(N, T, OP, I0, I1, LO, HI, R2, R3, R1, R0)	\
108	QALU2(N, T, OP, I0, I1, LO, HI, R2, R3, R0, R1)	\
109	QALU2(N, T, OP, I0, I1, LO, HI, R3, R1, R2, R0)	\
110	QALU2(N, T, OP, I0, I1, LO, HI, R3, R1, R0, R2)	\
111	QALU2(N, T, OP, I0, I1, LO, HI, R3, R2, R1, R0)	\
112	QALU2(N, T, OP, I0, I1, LO, HI, R3, R2, R0, R1)	\
113	QALU2(N, T, OP, I0, I1, LO, HI, R3, R0, R1, R2)	\
114	QALU2(N, T, OP, I0, I1, LO, HI, R3, R0, R2, R1)
115
116#define QALU(N, T, OP, I0, I1, LO, HI)			\
117	QALU1(N, T, OP, I0, I1, LO, HI, v0, v1, v2, r0)	\
118	QALU1(N, T, OP, I0, I1, LO, HI, v0, v1, v2, r1)	\
119	QALU1(N, T, OP, I0, I1, LO, HI, v0, v1, v2, r2)	\
120	QALU1(N, T, OP, I0, I1, LO, HI, v1, v2, r0, r1)	\
121	QALU1(N, T, OP, I0, I1, LO, HI, v1, v2, r0, r2)	\
122	QALU1(N, T, OP, I0, I1, LO, HI, v2, r0, r1, r2)
123