On Wed, Jul 25, 2012 at 1:51 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote: >> Please see attached patch that does all this with minimum surgery and >> also sets missing SSE prefetch for x86_32 with -mprfchw > Thanks, applied! > >> +++ b/gcc/config/i386/prfchwintrin.h >> >> +#if !defined _X86INTRIN_H_INCLUDED && !defined _MM3DNOW_H_INCLUDED >> +# error "Never use <prfchwintrin.h> directly; include <x86intrin.h>\ >> +or <mm3dnow.h> instead." >> +#endif >> >> No need to split the line. > Fixed. > >> --- a/gcc/config/i386/x86intrin.h >> +++ b/gcc/config/i386/x86intrin.h >> @@ -61,6 +61,10 @@ >> /* For including AVX instructions */ >> #include <immintrin.h> >> >> +#if defined (__PRFCHW__) || defined (__3dNOW__) >> +#include <prfchwintrin.h> >> +#endif >> >> Not needed. This header is already included through mm3dnow.h >> inclusion and directly below > Fixed. > > Updated Changelog: > 2012-07-25 Kirill Yukhin <kirill.yuk...@intel.com> > Michael Zolotukhin <michael.v.zolotuk...@intel.com> > > * common/config/i386/i386-common.c (OPTION_MASK_ISA_PRFCHW_SET): New. > (OPTION_MASK_ISA_PRFCHW_UNSET): Likewise. > (ix86_handle_option): Handle mprfchw option. > * config.gcc (i[34567]86-*-*): Add prfchwintrin.h. > (x86_64-*-*): Likewise. > * config/i386/prfchwintrin.h: New header. > * config/i386/cpuid.h (bit_PRFCHW): New. > (bit_BMI): Formatting fix. > (bit_HLE): Likewise. > (bit_RTM): Likewise. > * config/i386/driver-i386.c (host_detect_local_cpu): Detect > PREFETCHW support. > * config/i386/i386-c.c: Define __PRFCHW__ if needed. > * config/i386/i386.c (ix86_target_string): Define > -mprfchw option. Formatting fixes. > (PTA_HLE): Formatting fix. > (PTA_PRFCHW): New. > (ix86_option_override_internal): Handle new option. > (ix86_valid_target_attribute_inner_p): Add OPT_mprfchw. > * config/i386/i386.h (TARGET_PRFCHW): New. > * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW. > * config/i386/i386.opt (mprfchw): New. > * config/i386/mm3dnow.h: Move _m_prefetchw from here to > prfchwintrin.h. > * config/i386/x86intrin.h: Include prfchwintrin.h. > > testsuite/Changelog entry wasn't changed. > > Bootstrap is passing. New & updated tests passing. > > Is it OK for trunk?
OK. Thanks, Uros.