4 char in_b
, out_b1
, out_b2
, in_b2
;
6 short in_w
, out_w1
, out_w2
;
8 int in_l
, out_l1
, out_l2
;
10 extern void sbb_ib_al ( void );
13 VG_SYM(sbb_ib_al
) ":\n"
15 #ifndef VGP_amd64_darwin
16 "\tmovb " VG_SYM(in_b
) ", %al\n"
18 "\tmovb " VG_SYM(in_b
) "(%rip), %al\n"
23 #ifndef VGP_amd64_darwin
24 "\tmovb %al, " VG_SYM(out_b1
) "\n"
26 "\tmovb " VG_SYM(in_b
) ", %al\n"
28 "\tmovb %al, " VG_SYM(out_b1
) "(%rip)\n"
30 "\tmovb " VG_SYM(in_b
) "(%rip), %al\n"
34 #ifndef VGP_amd64_darwin
35 "\tmovb %al, " VG_SYM(out_b2
) "\n"
37 "\tmovb %al," VG_SYM(out_b2
) "(%rip) \n"
45 extern void sbb_iw_ax ( void );
48 VG_SYM(sbb_iw_ax
) ":\n"
50 #ifndef VGP_amd64_darwin
51 "\tmovw " VG_SYM(in_w
) ", %ax\n"
53 "\tmovw " VG_SYM(in_w
) "(%rip), %ax\n"
57 #ifndef VGP_amd64_darwin
58 "\tmovw %ax, " VG_SYM(out_w1
) "\n"
60 "\tmovw " VG_SYM(in_w
) ", %ax\n"
62 "\tmovw %ax, " VG_SYM(out_w1
) "(%rip)\n"
64 "\tmovw " VG_SYM(in_w
) "(%rip), %ax\n"
68 #ifndef VGP_amd64_darwin
69 "\tmovw %ax, " VG_SYM(out_w2
) "\n"
71 "\tmovw %ax, " VG_SYM(out_w2
) "(%rip)\n"
79 extern void sbb_il_eax ( void );
82 VG_SYM(sbb_il_eax
) ":\n"
84 #ifndef VGP_amd64_darwin
85 "\tmovl " VG_SYM(in_l
) ", %eax\n"
87 "\tmovl " VG_SYM(in_l
) "(%rip), %eax\n"
90 "\tsbbl $555666, %eax\n"
91 #ifndef VGP_amd64_darwin
92 "\tmovl %eax, " VG_SYM(out_l1
) "\n"
94 "\tmovl " VG_SYM(in_l
) ", %eax\n"
96 "\tmovl %eax, " VG_SYM(out_l1
) "(%rip)\n"
98 "\tmovl " VG_SYM(in_l
) "(%rip), %eax\n"
101 "\tsbbl $555666, %eax\n"
102 #ifndef VGP_amd64_darwin
103 "\tmovl %eax, " VG_SYM(out_l2
) "\n"
105 "\tmovl %eax, " VG_SYM(out_l2
) "(%rip)\n"
113 extern void sbb_eb_gb ( void );
116 VG_SYM(sbb_eb_gb
) ":\n"
118 #ifndef VGP_amd64_darwin
119 "\tmovb " VG_SYM(in_b
) ", %al\n"
121 "\tmovb " VG_SYM(in_b
) "(%rip), %al\n"
124 #ifndef VGP_amd64_darwin
125 "\tsbbb " VG_SYM(in_b2
) ", %al\n"
126 "\tmovb %al, " VG_SYM(out_b1
) "\n"
128 "\tmovb " VG_SYM(in_b
) ", %al\n"
130 "\tsbbb " VG_SYM(in_b2
) "(%rip), %al\n"
131 "\tmovb %al, " VG_SYM(out_b1
) "(%rip)\n"
133 "\tmovb " VG_SYM(in_b
) "(%rip), %al\n"
136 #ifndef VGP_amd64_darwin
137 "\tsbbb " VG_SYM(in_b2
) ", %al\n"
138 "\tmovb %al, " VG_SYM(out_b2
) "\n"
140 "\tsbbb " VG_SYM(in_b2
) "(%rip), %al\n"
141 "\tmovb %al, " VG_SYM(out_b2
) "(%rip)\n"
149 extern void sbb_eb_gb_2 ( void );
152 VG_SYM(sbb_eb_gb_2
) ":\n"
155 #ifndef VGP_amd64_darwin
156 "\tmovb " VG_SYM(in_b
) ", %cl\n"
157 "\tmovb " VG_SYM(in_b2
) ", %dh\n"
159 "\tmovb " VG_SYM(in_b
) "(%rip), %cl\n"
160 "\tmovb " VG_SYM(in_b2
) "(%rip), %dh\n"
164 #ifndef VGP_amd64_darwin
165 "\tmovb %cl, " VG_SYM(out_b1
) "\n"
167 "\tmovb " VG_SYM(in_b
) ", %cl\n"
168 "\tmovb " VG_SYM(in_b2
) ", %dh\n"
170 "\tmovb %cl, " VG_SYM(out_b1
) "(%rip)\n"
172 "\tmovb " VG_SYM(in_b
) "(%rip), %cl\n"
173 "\tmovb " VG_SYM(in_b2
) "(%rip), %dh\n"
177 #ifndef VGP_amd64_darwin
178 "\tmovb %cl, " VG_SYM(out_b2
) "\n"
180 "\tmovb %cl, " VG_SYM(out_b2
) "(%rip)\n"
189 extern void adc_eb_gb ( void );
192 VG_SYM(adc_eb_gb
) ":\n"
194 #ifndef VGP_amd64_darwin
195 "\tmovb " VG_SYM(in_b
) ", %al\n"
197 "\tmovb " VG_SYM(in_b
) "(%rip), %al\n"
200 #ifndef VGP_amd64_darwin
201 "\tadcb " VG_SYM(in_b2
) ", %al\n"
202 "\tmovb %al, " VG_SYM(out_b1
) "\n"
204 "\tmovb " VG_SYM(in_b
) ", %al\n"
206 "\tadcb " VG_SYM(in_b2
) "(%rip), %al\n"
207 "\tmovb %al, " VG_SYM(out_b1
) "(%rip)\n"
209 "\tmovb " VG_SYM(in_b
) "(%rip), %al\n"
212 #ifndef VGP_amd64_darwin
213 "\tadcb " VG_SYM(in_b2
) ", %al\n"
214 "\tmovb %al, " VG_SYM(out_b2
) "\n"
216 "\tadcb " VG_SYM(in_b2
) "(%rip), %al\n"
217 "\tmovb %al, " VG_SYM(out_b2
) "(%rip)\n"
225 extern void adc_eb_gb_2 ( void );
228 VG_SYM(adc_eb_gb_2
) ":\n"
231 #ifndef VGP_amd64_darwin
232 "\tmovb " VG_SYM(in_b
) ", %cl\n"
233 "\tmovb " VG_SYM(in_b2
) ", %dh\n"
235 "\tmovb " VG_SYM(in_b
) "(%rip), %cl\n"
236 "\tmovb " VG_SYM(in_b2
) "(%rip), %dh\n"
240 #ifndef VGP_amd64_darwin
241 "\tmovb %cl, " VG_SYM(out_b1
) "\n"
243 "\tmovb " VG_SYM(in_b
) ", %cl\n"
244 "\tmovb " VG_SYM(in_b2
) ", %dh\n"
246 "\tmovb %cl, " VG_SYM(out_b1
) "(%rip)\n"
248 "\tmovb " VG_SYM(in_b
) "(%rip), %cl\n"
249 "\tmovb " VG_SYM(in_b2
) "(%rip), %dh\n"
253 #ifndef VGP_amd64_darwin
254 "\tmovb %cl, " VG_SYM(out_b2
) "\n"
256 "\tmovb %cl, " VG_SYM(out_b2
) "(%rip)\n"
264 extern void adc_ib_al ( void );
267 VG_SYM(adc_ib_al
) ":\n"
269 #ifndef VGP_amd64_darwin
270 "\tmovb " VG_SYM(in_b
) ", %al\n"
272 "\tmovb " VG_SYM(in_b
) "(%rip), %al\n"
276 #ifndef VGP_amd64_darwin
277 "\tmovb %al, " VG_SYM(out_b1
) "\n"
279 "\tmovb " VG_SYM(in_b
) ", %al\n"
281 "\tmovb %al, " VG_SYM(out_b1
) "(%rip)\n"
283 "\tmovb " VG_SYM(in_b
) "(%rip), %al\n"
287 #ifndef VGP_amd64_darwin
288 "\tmovb %al, " VG_SYM(out_b2
) "\n"
290 "\tmovb %al, " VG_SYM(out_b2
) "(%rip)\n"
298 extern void adc_iw_ax ( void );
301 VG_SYM(adc_iw_ax
) ":\n"
303 #ifndef VGP_amd64_darwin
304 "\tmovw " VG_SYM(in_w
) ", %ax\n"
306 "\tmovw " VG_SYM(in_w
) "(%rip), %ax\n"
310 #ifndef VGP_amd64_darwin
311 "\tmovw %ax, " VG_SYM(out_w1
) "\n"
313 "\tmovw " VG_SYM(in_w
) ", %ax\n"
315 "\tmovw %ax, " VG_SYM(out_w1
) "(%rip)\n"
317 "\tmovw " VG_SYM(in_w
) "(%rip), %ax\n"
321 #ifndef VGP_amd64_darwin
322 "\tmovw %ax, " VG_SYM(out_w2
) "\n"
324 "\tmovw %ax, " VG_SYM(out_w2
) "(%rip)\n"
332 extern void adc_il_eax ( void );
335 VG_SYM(adc_il_eax
) ":\n"
337 #ifndef VGP_amd64_darwin
338 "\tmovl " VG_SYM(in_l
) ", %eax\n"
340 "\tmovl " VG_SYM(in_l
) "(%rip), %eax\n"
343 "\tadcl $555666, %eax\n"
344 #ifndef VGP_amd64_darwin
345 "\tmovl %eax, " VG_SYM(out_l1
) "\n"
347 "\tmovl " VG_SYM(in_l
) ", %eax\n"
349 "\tmovl %eax, " VG_SYM(out_l1
) "(%rip)\n"
351 "\tmovl " VG_SYM(in_l
) "(%rip), %eax\n"
354 "\tadcl $555666, %eax\n"
355 #ifndef VGP_amd64_darwin
356 "\tmovl %eax, " VG_SYM(out_l2
) "\n"
358 "\tmovl %eax, " VG_SYM(out_l2
) "(%rip)\n"
370 printf("r1 = %d %d\n", (int)out_b1
, (int)out_b2
);
372 in_w
= -15537; /* was 49999 but that causes a warning */
374 printf("r2 = %d %d\n", (int)out_w1
, (int)out_w2
);
378 printf("r3 = %d %d\n", (int)out_l1
, (int)out_l2
);
383 printf("r4 = %d %d\n", (int)out_b1
, (int)out_b2
);
388 printf("r5 = %d %d\n", (int)out_b1
, (int)out_b2
);
393 printf("r6 = %d %d\n", (int)out_b1
, (int)out_b2
);
398 printf("r7 = %d %d\n", (int)out_b1
, (int)out_b2
);
402 printf("r8 = %d %d\n", (int)out_b1
, (int)out_b2
);
406 printf("r9 = %d %d\n", (int)out_w1
, (int)out_w2
);
410 printf("r10 = %d %d\n", (int)out_l1
, (int)out_l2
);