2 void glue(glue(test_
, OP
), b
)(int64 op0
, int64 op1
)
4 int64 res
, s1
, s0
, flags
;
11 stringify(OP
)"b %b2\n\t"
14 : "=a" (res
), "=g" (flags
)
15 : "q" (s1
), "0" (res
), "1" (flags
));
16 printf("%-10s A=%016llx B=%016llx R=%016llx CC=%04llx\n",
17 stringify(OP
) "b", s0
, s1
, res
, flags
& CC_MASK
);
20 void glue(glue(test_
, OP
), w
)(int64 op0h
, int64 op0
, int64 op1
)
22 int64 res
, s1
, flags
, resh
;
29 stringify(OP
) "w %w3\n\t"
32 : "=a" (res
), "=g" (flags
), "=d" (resh
)
33 : "q" (s1
), "0" (res
), "1" (flags
), "2" (resh
));
34 printf("%-10s AH=%016llx AL=%016llx B=%016llx RH=%016llx RL=%016llx CC=%04llx\n",
35 stringify(OP
) "w", op0h
, op0
, s1
, resh
, res
, flags
& CC_MASK
);
38 void glue(glue(test_
, OP
), l
)(int64 op0h
, int64 op0
, int64 op1
)
40 int64 res
, s1
, flags
, resh
;
47 stringify(OP
) "l %3\n\t"
50 : "=a" (res
), "=g" (flags
), "=d" (resh
)
51 : "q" ((int)s1
), "0" (res
), "1" (flags
), "2" (resh
));
52 printf("%-10s AH=%016llx AL=%016llx B=%016llx RH=%016llx RL=%016llx CC=%04llx\n",
53 stringify(OP
) "l", op0h
, op0
, s1
, resh
, res
, flags
& CC_MASK
);
56 void glue(glue(test_
, OP
), q
)(int64 op0h
, int64 op0
, int64 op1
)
58 int64 res
, s1
, flags
, resh
;
65 stringify(OP
) "q %3\n\t"
68 : "=a" (res
), "=g" (flags
), "=d" (resh
)
69 : "q" (s1
), "0" (res
), "1" (flags
), "2" (resh
));
70 printf("%-10s AH=%016llx AL=%016llx B=%016llx RH=%016llx RL=%016llx CC=%04llx\n",
71 stringify(OP
) "q", op0h
, op0
, s1
, resh
, res
, flags
& CC_MASK
);