8 A1 = abs a1, a0 = ABS A0;
21 r4.L = R2.h + r0.L (s);
22 r5.H = R1.H + R1.L (S);
23 r6.L = R6.L + r5.l (NS);
26 .global add_sub_prescale_down
27 add_sub_prescale_down:
28 r4.l = r0 + r1 (RND20);
29 R3.H = r5 + r0 (rnd20);
30 r1.L = r7 - R5 (rND20);
33 .global add_sub_prescale_up
35 r2.L = R0 + R1 (rnd12);
36 r7.H = r7 + r6 (RND12);
37 r5.l = r3 - R2 (rNd12);
38 r2.h = R1 - R2 (Rnd12);
54 .global divide_primitive
62 r6.L = EXPADJ (r5, r4.l);
63 R5.l = ExpAdj (r0.h, r1.l);
64 R4.L = expadj (R3, R5.L) (V);
80 .global modify_decrement
90 .global modify_increment
106 r1.L = r5.H * r0.H (s2rnd);
107 r7.l = r3.l * r3.H (FU);
108 r4 = r2.H * r5.H (iSS2);
109 r0 = r1.l * r3.l (is);
112 r2.h = r7.l * r6.H (M, iu);
114 R0.H = r1.L * r1.H (M);
115 r1 = r7.H * r6.L (M, is);
117 r3 = r6.H * r0.H (m);
126 .global multiply_accumulate
128 a0 = r5.l * R7.H (w32);
130 A0 += R2.L * r3.H (FU);
132 a0 -= r7.l * r6.H (Is);
135 a1 = r1.L * r0.H (M);
137 A1 = R7.H * R6.L (M, W32);
138 a1 += r3.l * r2.l (fu);
140 A1 -= r0.L * R3.H (is);
144 .global multiply_accumulate_half
145 multiply_accumulate_half:
146 r7.l = (a0 = r6.H * r5.L);
147 r0.L = (A0 = r1.h * R2.l) (tfu);
148 R2.L = (a0 += r5.L * r4.L);
149 r3.l = (A0 += r7.H * r6.h) (T);
150 r0.l = (a0 -= r3.h * r2.h);
151 r1.l = (a0 -= r5.L * r4.L) (iH);
153 r1.H = (a1 = r1.l * R0.H);
154 r2.h = (A1 = r0.H * r3.L) (M, Iss2);
155 R6.H = (a1 += r7.l * r7.H);
156 r7.h = (a1 += R2.L * R3.L) (S2rnd);
157 r6.H = (A1 -= R4.h * r2.h);
158 r5.h = (a1 -= r3.H * r7.L) (M, tFu);
161 .global multiply_accumulate_data_reg
162 multiply_accumulate_data_reg:
163 R0 = (A0 = R1.L * R2.L);
164 R2 = (A0 = r1.l * r2.l) (is);
165 r4 = (a0 += r7.h * r6.L);
166 r6 = (A0 += R5.L * r3.h) (s2RND);
167 R6 = (a0 -= r2.h * r7.l);
168 r4 = (A0 -= R0.L * r6.H) (FU);
170 r7 = (a1 = r0.h * r1.l);
171 R5 = (A1 = r2.H * r3.H) (M, fu);
172 R3 = (A1 += r7.l * r5.l);
173 r1 = (a1 += r2.h * r7.h) (iss2);
174 r3 = (A1 -= r0.l * R0.H);
175 R5 = (a1 -= R2.l * R7.h) (m, is);
200 A1 = a1 (S), a0 = A0 (s);
206 r0.L = SIGNbits r7.H;
217 r5.l = R6.H - R7.h (s);
218 r0.H = r3.l - r3.h (NS);
221 .global subtract_immediate