Uros, Yes, please. Thank you for your proposals and comments. Please commit as you proposed. Sergey
-----Original Message----- From: Uros Bizjak [mailto:ubiz...@gmail.com] Sent: Tuesday, November 21, 2017 6:13 PM To: Shalnov, Sergey <sergey.shal...@intel.com> Cc: gcc-patches@gcc.gnu.org; kirill.yuk...@gmail.com; Koval, Julia <julia.ko...@intel.com>; Senkevich, Andrew <andrew.senkev...@intel.com>; Peryt, Sebastian <sebastian.pe...@intel.com>; Ivchenko, Alexander <alexander.ivche...@intel.com>; Joseph Myers <jos...@codesourcery.com> Subject: Re: [PATCH, i386] Refactor -mprefer-avx[128|256] options into common -mprefer-vector-width=[none|128|256|512] On Tue, Nov 21, 2017 at 4:50 PM, Shalnov, Sergey <sergey.shal...@intel.com> wrote: > Uros, > I did new patch with all comments addressed as proposed. > 1. old option -mprefer-avx128 is Alias(mprefer-vector-width=, 128, > none) 2. Simplified default initialization (as Bernhard proposed) 3. > Fixed documentation (proposed by Sandra) 4. Several tests are changed > to use new style of the option but many leaved with -mprefer-avx128 > (one test with new style -mprefer-vector-width=128) > > > 2017-11-21 Sergey Shalnov <sergey.shal...@intel.com> > > gcc/ > * config/i386/i386-opts.h (enum prefer_vector_width): Added new enum > for the new option -mprefer-vector-width=[none|128|256|512]. > * config/i386/i386.c (ix86_target_string): remove old style options > -mprefer-avx256 and make -mprefer-avx128 as alias. > (ix86_option_override_internal): Apply defaults for the > -mprefer-vector-width=[128|256] option. > * config/i386/i386.h (TARGET_PREFER_AVX128, TARGET_PREFER_AVX256): > Implement macros to work with -mprefer-vector-width=. > * config/i386/i386.opt: Implemented option > -mprefer-vector-width=[none|128|256|512]. > * doc/invoke.texi: Documentation for > -mprefer-vector-width=[none|128|256|512]. > > gcc/testsuite/ > * g++.dg/ext/pr57362.C (__attribute__): Apply new option syntax. > * g++.dg/torture/pr81249.C: Ditto. > * gcc.target/i386/avx512f-constant-float-return.c: Ditto. > * gcc.target/i386/avx512f-prefer.c: Ditto. > * gcc.target/i386/pr82460-2.c: Ditto. > > Please merge this patch if you think it is acceptable. > Thank you > Sergey mprefer-avx128 -Target Report Mask(PREFER_AVX128) Save -Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer. +Target Undocumented Alias(mprefer-vector-width=, 128, none) For compatibility, I'd rather leave this option documented with: +Target Alias(mprefer-vector-width=, 128, 256) This would mean that in addition to -mprefer-avx128 switching to 128-bit AVX, -mno-prefer-avx128 would switch to 256-bit AVX, as documented for the option. The patch is OK, and If you agree, I can commit the patch with the above change. Thanks, Uros.