_______ added for emphasis

Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.3.0/configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --disable-nls --disable-multilib --disable-werror
--disable-libunwind-exceptions --disable-checking --disable-decimal-float
--enable-shared --enable-tls --enable-threads=posix --enable-bootstrap
--enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++,fortran
--with-cpu=pentium3 --with-system-zlib
Thread model: posix
gcc version 4.3.0 20070624 (experimental)
 /usr/libexec/gcc/i686-pc-linux-gnu/4.3.0/cc1 -E -quiet -v rmg3.c
-mtune=pentium3 ______-fno-builtin-__udivdi3______ -O2 -fpch-preprocess -o
rmg3.i
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.3.0/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.3.0/include-fixed
 /usr/include
End of search list.
 /usr/libexec/gcc/i686-pc-linux-gnu/4.3.0/cc1 -fpreprocessed rmg3.i -quiet
-dumpbase rmg3.c -mtune=pentium3 -auxbase-strip rmg3_nobuiltin.s -O2 -version
______-fno-builtin-__udivdi3______ -o rmg3_nobuiltin.s
GNU C version 4.3.0 20070624 (experimental) (i686-pc-linux-gnu)
        compiled by GNU C version 4.3.0 20070624 (experimental), GMP version
4.2.1, MPFR version 2.2.1-p5.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 081e2e4443ad5c116718923aa10a21d4



        .file   "rmg3.c"
______.globl __udivdi3_______
        .text
        .p2align 4,,15
.globl rmg
        .type   rmg, @function
rmg:
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %edi
        movl    $-1000000000, %edi
        pushl   %ebx
        subl    $48, %esp
        movl    nsec.1646, %eax
        movl    nsec.1646+4, %edx
        movl    %eax, -16(%ebp)
        movl    sec.1647, %eax
        movl    %edx, -12(%ebp)
        testl   %eax, %eax
        jg      .L10
        .p2align 4,,15
.L5:
        movl    -16(%ebp), %edx
        movl    -12(%ebp), %ecx
        addl    $1, %edx
        adcl    $0, %ecx
        cmpl    $0, %ecx
        jbe     .L11
.L7:
        addl    $-1000000000, %edx
        adcl    $-1, %ecx
        incl    %eax
        addl    $-999999999, -16(%ebp)
        movl    %edx, -32(%ebp)
        movl    $1000000000, %edx
        adcl    $-1, -12(%ebp)
        movl    %ecx, -28(%ebp)
        movl    %edx, 8(%esp)
        movl    -12(%ebp), %ecx
        movl    -16(%ebp), %edx
        movl    %eax, -20(%ebp)
        xorl    %eax, %eax
        movl    %eax, 12(%esp)
        movl    %ecx, 4(%esp)
        movl    %edx, (%esp)
        call    ______ __udivdi3 ______
        imull   $-1000000000, %edx, %ecx
        movl    %eax, %ebx
        subl    %eax, %ecx
        mull    %edi
        movl    %edx, -36(%ebp)
        addl    %ecx, %edx
        movl    %eax, -40(%ebp)
        movl    -20(%ebp), %eax
        movl    %edx, -36(%ebp)
        movl    -40(%ebp), %edx
        addl    -32(%ebp), %edx
        movl    -36(%ebp), %ecx
        adcl    -28(%ebp), %ecx
        addl    %ebx, %eax
        movl    %edx, -16(%ebp)
        movl    %ecx, -12(%ebp)
        .p2align 4,,15
.L12:
        testl   %eax, %eax
        jle     .L5
.L10:
        movl    -16(%ebp), %edx
        movl    -12(%ebp), %ecx
        movl    %eax, sec.1647
        movl    %edx, nsec.1646
        movl    %ecx, nsec.1646+4
        addl    $48, %esp
        popl    %ebx
        popl    %edi
        popl    %ebp
        ret
        .p2align 4,,10
        .p2align 3
.L11:
        cmpl    $999999999, %edx
        ja      .L7
        movl    %edx, -16(%ebp)
        movl    %ecx, -12(%ebp)
        jmp     .L12
        .size   rmg, .-rmg
        .p2align 4,,15
.globl main
        .type   main, @function
main:
        leal    4(%esp), %ecx
        andl    $-16, %esp
        pushl   -4(%ecx)
        pushl   %ebp
        pushl   %ecx
        subl    $4, %esp
        call    rmg
        popl    %ecx
        popl    %ecx
        popl    %ebp
        leal    -4(%ecx), %esp
        ret
        .size   main, .-main
        .local  sec.1647
        .comm   sec.1647,4,4
        .local  nsec.1646
        .comm   nsec.1646,8,8
        .ident  "GCC: (GNU) 4.3.0 20070624 (experimental)"
        .section        .note.GNU-stack,"",@progbits






#define NSEC_PER_SEC  1000000000UL
int rmg(void);

int main(void)
{
        /* int sec; */
        return rmg();
}

int rmg(void)
{
static unsigned long long nsec = 0;
static int sec = 0;
    while (sec < 1 ) { 
        nsec++;
        if (nsec < NSEC_PER_SEC, 0) ;
        else 
                while (__builtin_expect( nsec >= NSEC_PER_SEC, 0) ) {
                nsec -= NSEC_PER_SEC;
                ++sec;
        }
    }
        return sec;
}





# 1 "rmg3.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "rmg3.c"


int rmg(void);

int main(void)
{

 return rmg();
}

int rmg(void)
{
static unsigned long long nsec = 0;
static int sec = 0;
    while (sec < 1 ) {
 nsec++;
 if (nsec < 1000000000UL, 0) ;
 else
  while (__builtin_expect( nsec >= 1000000000UL, 0) ) {
  nsec -= 1000000000UL;
  ++sec;
 }
    }
 return sec;
}


-- 
           Summary: fno-builtin-* not working
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: malitzke at metronets dot com
 GCC build triplet: i686-pc-linux.gnu
  GCC host triplet: i686-pc-linux.gnu
GCC target triplet: i686-pc-linux.gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32496

Reply via email to