On Thu, Sep 28, 2017 at 3:08 PM, Shalnov, Sergey <sergey.shal...@intel.com> wrote: > Hi, > GCC uses full 512-bit register to return the constant from the function. > The patch avoid 512-bit register usage if "-mprefer-avx256" option used. > > 2017-09-28 Sergey Shalnov <sergey.shal...@intel.com> > > gcc/ > * config/i386/i386.md(*movsf_internal, *movdf_internal): > Return 256-bit AVX modes for TARGET_PREFER_AVX256. > > gcc/testsuite/ > * gcc.target/i386/avx512f-constant-float-return.c: New test. >
- (match_test "TARGET_AVX512F") + (match_test "TARGET_AVX512F && !TARGET_PREFER_AVX256") Please use (and (match_test "TARGET_AVX512F) (not (match_test "TARGET_PREFER_AVX256))) Uros.