[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#148529: gnat-3.1: sin/cos is random exception/result generator



On Mon, 2002-06-03 at 09:28, Samuel Tardieu wrote:
> No. You can check that your assembler has been properly included by
> looking at the resulting assembly code (gcc-3.1 -S -o - testbug2.adb).

Curious.

It looks OK, but all it does is copy the input to the output (aux was
created by renaming ada.numerics.aux to aux):

.globl aux__sin
        .type   aux__sin,@function
aux__sin:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $88, %esp
        movl    8(%ebp), %eax
        movl    12(%ebp), %edx
        movl    16(%ebp), %ecx
        movl    %eax, -40(%ebp)
        movl    %edx, -36(%ebp)
        movl    %ecx, -32(%ebp)
        movl    -40(%ebp), %eax
        movl    %eax, -24(%ebp)
        movl    -36(%ebp), %eax
        movl    %eax, -20(%ebp)
        movl    -32(%ebp), %eax
        movl    %eax, -16(%ebp)
        movl    -28(%ebp), %eax
        movl    %eax, -12(%ebp)
.L66:
        fldt    -24(%ebp)
#APP
        fsin                 
        xorl    %eax, %eax 
        fnstsw  %ax         
#NO_APP
        fstp    %st(0)
        movw    %ax, -42(%ebp)
        movb    -41(%ebp), %al
        andl    $4, %eax
        testb   %al, %al
        jne     .L69
        jmp     .L67
.L69:
        subl    $4, %esp
        pushl   -32(%ebp)
        pushl   -36(%ebp)
        pushl   -40(%ebp)
        call    aux__reduce
        addl    $16, %esp
        fstpt   -72(%ebp)
        movl    -72(%ebp), %eax
        movl    %eax, -24(%ebp)
        movl    -68(%ebp), %eax
        movl    %eax, -20(%ebp)
        movl    -64(%ebp), %eax
        movl    %eax, -16(%ebp)
        movl    -60(%ebp), %eax
        movl    %eax, -12(%ebp)
        jmp     .L66
.L67:
        movl    -40(%ebp), %eax
        movl    -36(%ebp), %edx
        movl    -32(%ebp), %ecx
        movl    %eax, -88(%ebp)
        movl    %edx, -84(%ebp)
        movl    %ecx, -80(%ebp)
        fldt    -88(%ebp)
        leave
        ret

> 
>   Sam
> 
-- 
Brian May <bam@snoopy.apana.org.au>



-- 
To UNSUBSCRIBE, email to debian-gcc-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: