7 extern void loop_plain ( void );
10 VG_SYM(loop_plain
) ":\n"
13 "\tmovl " VG_SYM(arg
) ", %ecx\n"
21 "\tmovl %eax, " VG_SYM(res
) "\n"
26 extern void loop_ne ( void );
32 "\tmovl " VG_SYM(arg
) ", %ecx\n"
40 "\tmovl %eax, " VG_SYM(res
) "\n"
45 extern void loop_e ( void );
51 "\tmovl " VG_SYM(arg
) ", %ecx\n"
57 /* invert the Z flag */
59 "\txorl $64, 0(%esp)\n"
63 "\tmovl %eax, " VG_SYM(res
) "\n"
70 res
= 0; arg
= 10; loop_plain(); printf("res = %d\n", res
);
72 res
= 0; arg
= 10; loop_ne(); printf("res = %d\n", res
);
73 res
= 0; arg
= 500; loop_ne(); printf("res = %d\n", res
);
75 res
= 0; arg
= 10; loop_e(); printf("res = %d\n", res
);
76 res
= 0; arg
= 500; loop_e(); printf("res = %d\n", res
);