Date: Sun, 7 Jan 2007 03:20:16 GMT From: Mikhail Teterin <mi@corbulon.video-collage.com> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/106734: [patch] SSE2 optimization for bzip2/libbz2 Message-ID: <200701070320.l073KGNP004788@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/106734; it has been noted by GNATS. From: Mikhail Teterin <mi@corbulon.video-collage.com> To: jseward@acm.org (Julian Seward) Cc: bug-followup@freebsd.org Subject: Re: bin/106734: [patch] SSE2 optimization for bzip2/libbz2 Date: Sat, 6 Jan 2007 21:37:20 -0500 (EST) > According to Valgrind on amd64-linux, this patch causes bzip2 to > do comparisons based on uninitialised memory when compressing, for the > attached file (PLIST). > > ==16140== Conditional jump or move depends on uninitialised value(s) > ==16140== at 0x414ECF: mainGtU (blocksort.c:538) > ==16140== by 0x414B08: mainSimpleSort (blocksort.c:690) > ==16140== by 0x4150E1: mainQSort3 (blocksort.c:805) Julian! You informed me of this issue in a direct e-mail from Dec 19. I responded the next day on Dec 20: ------------------------------------------------------------ = From my 5-minute investigation, I *think* this is because the loads = /* Load the bytes: */ = n1 = (__m128i)_mm_loadu_pd((double *)(block + i1)); = n2 = (__m128i)_mm_loadu_pd((double *)(block + i2)); I doubt it -- Valgrind's diagnostics says "Conditional jump or move depends on uninitialised value(s)". There are no jumps in the above code, there are two machine instructions (executed in parallel). ------------------------------------------------------------ Have you not received the e-mail with above text? (Message-Id: <200612200615.22819@Misha>). Yours, -mi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701070320.l073KGNP004788>