Date: Tue, 26 Jun 2012 09:04:36 +0200 From: magnum <john.magnum@...hmail.com> To: john-dev@...ts.openwall.com Subject: Re: precompiled sse-intrinsics vs. -march=native On 2012-06-26 04:10, Solar Designer wrote: > On Tue, Jun 26, 2012 at 03:58:19AM +0200, magnum wrote: >> On 2012-06-26 03:41, Solar Designer wrote: >>> It appears that we shouldn't use the precompiled sse-intrinsics >>> files (icc's *.S) in -march=native builds. Specifically, when I >>> tried linux-x86-64-gpu on bull where -march=native implies XOP, I >>> got reporting that XOP intrinsics were being used, whereas in reality >>> the build used icc-precompiled SSE2 code. >> >> My bad, I though I removed -DUSING_ICC_S_FILE from them. Good thing you >> caught it. > > Ouch, I did not even consider -DUSING_ICC_S_FILE. Now I see that the > -x86-64-gpu, etc. targets did not have it, but the -x86-gpu, etc. ones > did. Since we're now removing the uses of precompiled sse-intrinsics > from those targets, we should also remove -DUSING_ICC_S_FILE from them. > This is not done in the patch that I sent - please do it manually. I'm glad I took a nap before trying to grasp this. The original problem was that I did remove -DUSING_ICC_S_FILE when I added -march=native, but forgot to change sse-intrinsics-64.o to sse-intrinsics.o. Yes, this explains the segfaults. I never added -march=native to the 32-bit targets because they benefit so much from ICC and building 32-bit is very irrational if your CPU has stuff like XOP or AVX. So you actually broke them. I now reverted your patch to them, and I kept your changes to the 64-bit ones. magnum
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.