On Sat, Sep 23, 2006 at 09:39:55PM +0200, Philippe Ribet wrote:
> Code demonstrating the bug:
> int r75_ix_3560(T75* C, double a1){
> if(a1 >= (double)INT64_MIN){
> printf("here\n");
> return 1;
> } else{
> printf("there\n");
> return 0;
> }
> }
Either I need to get some sleep or the fstp generated in r75_ix_3560 is
wrong:
47: 50 push %eax
48: 52 push %edx
49: df 2c 24 fildll (%esp)
4c: 83 c4 08 add $0x8,%esp
4f: dd 45 08 fldl 0x8(%ebp)
52: dd 55 e8 fstl 0xffffffe8(%ebp)
55: dd d9 fstp %st(1) <-------
57: da e9 fucompp
59: df e0 fnstsw %ax
5b: f6 c4 05 test $0x5,%ah
Daniel
_______________________________________________
Tinycc-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/tinycc-devel