Add abs pattern to handle {si,di} mode abs to avoid pmax/cmove conversion.
authorHongyu Wang <hongyu.wang@intel.com>
Tue, 17 Dec 2019 01:50:35 +0000 (01:50 +0000)
committerHongtao Liu <liuhongt@gcc.gnu.org>
Tue, 17 Dec 2019 01:50:35 +0000 (01:50 +0000)
commitda86c5af207cb04869108aa79b2d0117752e291a
tree3f900a6d3da0a393f0158d04091da841c165eaa6
parent62dd2904f05ee752bbeff43a196b90ecd7b94616
Add abs pattern to handle {si,di} mode abs to avoid pmax/cmove conversion.

2019-12-17  Hongyu Wang  <hongyu.wang@intel.com>

gcc/
PR target/92651
* config/i386/i386.h (TARGET_EXPAND_ABS): New macro.
* config/i386/x86-tune.def (X86_TUNE_EXPAND_ABS): New.
* config/i386/i386.md (abs<SWI48x>2): New define_expand.

gcc/testsuite
* gcc.target/i386/pr92651.c: New testcase.

From-SVN: r279452
gcc/ChangeLog
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/config/i386/x86-tune.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr92651.c [new file with mode: 0644]