Use be_put_ignore_regs() instead of duplicating its logic.
[libfirm] / ir / be / test / fehler148.c
1 #define NE 6
2
3 /* Number of 16 bit words in internal format */
4 #define NI (NE+3)
5
6 /* Array offset to exponent */
7 #define E 1
8
9 /* Array offset to high guard word */
10 #define M 2
11
12
13 static void
14 eshdn1 (x)
15         register unsigned short *x;
16 {
17         register unsigned short bits;
18         int i;
19
20         x += M;                       /* point to significand area */
21
22         bits = 0;
23         for (i = M; i < NI; i++)
24         {
25                 if (*x & 1)
26                         bits |= 1;
27                 *x >>= 1;
28                 if (bits & 2)
29                         *x |= 0x8000;
30                 bits <<= 1;
31                 ++x;
32         }
33
34 }
35
36 static int
37 edivm (den, num)
38              unsigned short den[], num[];
39 {
40         eshdn1 (num);
41 }
42
43 int main(int argc, char *argv[]) {
44         unsigned short den[NI], num[NI];
45
46         edivm(den, num);
47         return 0;
48 }