Add x86 tune to enable v2df vector reduction by paddpd.
authorliuhongt <hongtao.liu@intel.com>
Tue, 17 Aug 2021 05:11:26 +0000 (13:11 +0800)
committerliuhongt <hongtao.liu@intel.com>
Wed, 18 Aug 2021 03:26:36 +0000 (11:26 +0800)
commit97d51c1764554fcef05fe94ee6445f5d2252bcff
treea7a05130c7237ed77774d58f6a606ea5facc8ab2
parent2d14d64bf2d42a87ec58dd3760be12aeaa4a4279
Add x86 tune to enable v2df vector reduction by paddpd.

The tune is disabled by default.

gcc/ChangeLog:

PR target/97147
* config/i386/i386.h (TARGET_V2DF_REDUCTION_PREFER_HADDPD):
New macro.
* config/i386/sse.md (*sse3_haddv2df3_low): Add
TARGET_V2DF_REDUCTION_PREFER_HADDPD.
(*sse3_hsubv2df3_low): Ditto.
* config/i386/x86-tune.def
(X86_TUNE_V2DF_REDUCTION_PREFER_HADDPD): New tune.

gcc/testsuite/ChangeLog:

PR target/97147
* gcc.target/i386/pr54400.c: Adjust testcase.
* gcc.target/i386/pr94147.c: New test.
gcc/config/i386/i386.h
gcc/config/i386/sse.md
gcc/config/i386/x86-tune.def
gcc/testsuite/gcc.target/i386/pr54400.c
gcc/testsuite/gcc.target/i386/pr94147.c [new file with mode: 0644]