On Thu, Aug 9, 2012 at 7:55 AM, Gopalasubramanian, Ganesh <ganesh.gopalasubraman...@amd.com> wrote: >> Otherwise, what does -mno-fma4 -mxop do? >> (it should enable both xop and fma4!) what should -mfma4 -mno-xop do >> (it should disable both xop and fma4!). > > Yes! that's what GCC does now. > Some flags are coupled (atleast for now). > For ex, -mno-sse4.2 -mavx enables both sse4.2 and avx > whereas -mavx -mno-sse4.2 disables both. > > Setting of the following are clubbed. > 1) 3DNow sets MMX > 2) SSE2 sets SSE > 3) SSE3 sets SSE2 > 4) SSE4_1 sets SSE3 > 5) SSE4_2 sets SSE4_1 > 6) FMA sets AVX > 7) AVX2 sets AVX > 8) SSE4_A sets SSE3 > 9) FMA4 set SSE4_A and AVX > 10) XOP sets FMA4 > 11) AES sets SSE2 > 12) PCLMUL sets SSE2 > 13) ABM sets POPCNT > > Resetting is done in reversely (MMX resets 3DNOW). > > IMO, if we have different cpuid flags, enabling\disabling > the compiler flags depends on these cpuid flags directly. > Adding subsets to them or tangling them together may give > wrong results.
Uh, ok ... it's messier than I anticipated ;) > Please let me know your opinion. Well, your patch looks reasonable then. I'll defer to x86 maintainers for approval though. Thanks, Richard. > Regards > Ganesh > > -----Original Message----- > From: Richard Guenther [mailto:richard.guent...@gmail.com] > Sent: Wednesday, August 08, 2012 5:12 PM > To: Gopalasubramanian, Ganesh > Cc: gcc-patches@gcc.gnu.org; ubiz...@gmail.com > Subject: Re: [PATCH,i386] fma,fma4 and xop flags > > On Wed, Aug 8, 2012 at 1:31 PM, <ganesh.gopalasubraman...@amd.com> wrote: >> Hello, >> >> Bdver2 cpu supports both fma and fma4 instructions. >> Previous to patch, option "-mno-xop" removes "-mfma4". >> Similarly, option "-mno-fma4" removes "-mxop". > > Eh? Why's that? I think we should disentangle -mxop and -mfma4 > instead. Otherwise, what does -mno-fma4 -mxop do? > (it should enable both xop and fma4!) what should -mfma4 -mno-xop do > (it should disable both xop and fma4!). All this is just confusing to > the user, even if in AMD documents XOP includes FMA4. > > Richard. >