Use be_put_ignore_regs() instead of duplicating its logic.
[libfirm] / ir / be / test / asm_test3.c
1 /* THIS IS WRONG, but gcc compiles it: (unsigned int)x is NO lvalue */
2 #define udiv_qrnnd(q, r, n1, n0, dv) \
3          __asm__ ("divl %4"                                                    \
4                   : "=a" ((unsigned int) (q)),                                      \
5                     "=d" ((unsigned int) (r))                                       \
6                   : "0" ((unsigned int) (n0)),                                      \
7                     "1" ((unsigned int) (n1)),                                      \
8                     "rm" ((unsigned int) (dv)))
9
10 unsigned int X;
11 unsigned test(void) {
12         unsigned int d0, n0, n1, q0;
13
14         n1 = n0 = d0 = X;
15
16         udiv_qrnnd (q0, n0, n1, n0, d0);
17
18         return q0;
19 }
20
21 int main(void) {
22         return 0;
23 }