https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86029

--- Comment #3 from Zsolt <hg2ecz at ham dot hu> ---
smallrx$ clang-6.0 -O3 -march=native rx.c -S
smallrx$ cat rx.s | grep mulsc
        callq   __mulsc3
        callq   __mulsc3
        callq   __mulsc3

smallrx$ gcc -O3 -march=native rx.c -S
smallrx$ cat rx.s | grep mulsc
        call    __mulsc3@PLT
        call    __mulsc3@PLT
        call    __mulsc3@PLT

What is the difference between gcc's and clang's __mulsc3?

More test result:
$ gcc -O1 -march=native rx.c -lm -o rx
$ dd if=/dev/urandom bs=1M count=30 | time -p ./rx 145500000 145525000 f >
/dev/null

... gcc -O1 isn't slower than gcc -O2 or gcc -O3 ???

$ clang-6.0 -O1 -march=native rx.c -lm -o rx
$ dd if=/dev/urandom bs=1M count=30 | time -p ./rx 145500000 145525000 f >
/dev/null

... 5x faster the "clang -O1" than "gcc -O3".

Reply via email to