From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5050 invoked by alias); 21 Feb 2008 12:00:28 -0000 Received: (qmail 4653 invoked by uid 48); 21 Feb 2008 11:59:45 -0000 Date: Thu, 21 Feb 2008 12:00:00 -0000 From: "grugh at centrum dot cz" To: glibc-bugs@sources.redhat.com Message-ID: <20080221115945.5782.grugh@centrum.cz> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug math/5782] New: Slow sine function for special values on AMD64 - second attempt X-Bugzilla-Reason: CC Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org X-SW-Source: 2008-02/txt/msg00085.txt.bz2 I would like to repost my previously deleted bug by (lazy IMHO) carlos@codesoucery.com. The math sin function is at least 1000x slower on 64bit distributions for special numbers (and carlos dosn't care about it). I can't try it with CVS head, because I cannot connect to cvs through our firewall. But even when I tried the latest snapshot, I couldn't build it (maybe another bug): a - elf/dl-vdso.os : /home/inova/projects/glibc/build/libc_pic.a gcc -nostdlib -nostartfiles -r -o /home/inova/projects/glibc/build/elf/librtld.map.o '-Wl,-(' /home/inova/projects/glibc/build/elf/dl-allobjs.os /home/inova/projects/glibc/build/libc_pic.a -lgcc '-Wl,-)' -Wl,-Map,/home/inova/projects/glibc/build/elf/librtld.mapT /home/inova/projects/glibc/build/libc_pic.a(init-first.os):(.data+0x0): multiple definition of `__libc_multiple_libcs' /home/inova/projects/glibc/build/elf/dl-allobjs.os:/home/inova/projects/glibc/src/glibc-20080218/elf/rtld.c:641: first defined here /home/inova/projects/glibc/build/libc_pic.a(dl-addr.os): In function `_dl_addr_inside_object': /home/inova/projects/glibc/src/glibc-20080218/elf/dl-addr.c:158: multiple definition of `_dl_addr_inside_object' /home/inova/projects/glibc/build/elf/dl-allobjs.os:/home/inova/projects/glibc/src/glibc-20080218/elf/dl-open.c:700: first defined here collect2: ld returned 1 exit status make[2]: *** [/home/inova/projects/glibc/build/elf/librtld.map] Error 1 make[2]: Leaving directory `/home/inova/projects/glibc/src/glibc-20080218/elf' make[1]: *** [elf/subdir_lib] Error 2 make[1]: Leaving directory `/home/inova/projects/glibc/src/glibc-20080218' make: *** [all] Error 2 Please, anyone with 64bit distribution and glibc CVS head, could you try the attached example and post the time results of it? (or help me to build the snapshot...) Thank you ====== Original bug report ====================================== The math sin(double) function is in 64bit distribution (Kubuntu 7.10 AMD64 and Fedora - unknown version) unreasonable slow (~400 microseconds on Atlon64 X2 4800+!!!) for some special values. In 32bit distribution is everything fine. I captured some of those values: 0.93340582292648832662962377071381 0x3fedde75e36bb000 2.3328432680770916363144351635128 0x4002a9a9bb38add0 3.7439477503636453548097051680088 0x400df39ae0cdf500 3.9225160069792437411706487182528 0x400f615012801950 4.0711651639931289992091478779912 0x401048df854fdc20 4.7858438478542097982426639646292 0x401324b43fe92fc0 5.9840767662578002727968851104379 0x4017efb1d1df52a0 Example: #include int main(int argc, char** argv) { volatile double value = 0.93340582292648832662962377071381; volatile double out; int i; for (i=0; i < 20000; i++) out = sin(value); return 0; } -- Summary: Slow sine function for special values on AMD64 - second attempt Product: glibc Version: unspecified Status: NEW Severity: normal Priority: P2 Component: math AssignedTo: aj at suse dot de ReportedBy: grugh at centrum dot cz CC: glibc-bugs at sources dot redhat dot com GCC host triplet: x86_64-unknown-linux-gnu http://sourceware.org/bugzilla/show_bug.cgi?id=5782 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.