From: Michael Beck Date: Thu, 4 Sep 2008 10:32:17 +0000 (+0000) Subject: strange difference between eccp and cparser X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=b9f1ef9dbf9540278c8d9e47972fae083739aa04;p=libfirm strange difference between eccp and cparser [r21692] --- diff --git a/ir/be/test/fehler148.c b/ir/be/test/fehler148.c new file mode 100644 index 000000000..1dcdf106d --- /dev/null +++ b/ir/be/test/fehler148.c @@ -0,0 +1,48 @@ +#define NE 6 + +/* Number of 16 bit words in internal format */ +#define NI (NE+3) + +/* Array offset to exponent */ +#define E 1 + +/* Array offset to high guard word */ +#define M 2 + + +static void +eshdn1 (x) + register unsigned short *x; +{ + register unsigned short bits; + int i; + + x += M; /* point to significand area */ + + bits = 0; + for (i = M; i < NI; i++) + { + if (*x & 1) + bits |= 1; + *x >>= 1; + if (bits & 2) + *x |= 0x8000; + bits <<= 1; + ++x; + } + +} + +static int +edivm (den, num) + unsigned short den[], num[]; +{ + eshdn1 (num); +} + +int main(int argc, char *argv[]) { + unsigned short den[NI], num[NI]; + + edivm(den, num); + return 0; +}