diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2015-06-22 15:54:58 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2015-06-22 15:54:58 +0200 |
commit | 1ea0e674b0a0ec75772a74783ad0d21454cd5d86 (patch) | |
tree | 0294df52dbc5b8fa09835d831ac7134df532946e /gcc | |
parent | 8f77aa9086f8172d87abf955a95bfbfb87440a26 (diff) | |
download | gcc-1ea0e674b0a0ec75772a74783ad0d21454cd5d86.zip gcc-1ea0e674b0a0ec75772a74783ad0d21454cd5d86.tar.gz gcc-1ea0e674b0a0ec75772a74783ad0d21454cd5d86.tar.bz2 |
re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)
PR target/65871
* config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
cost of embedded comparison.
From-SVN: r224729
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9bfaa22..6ca98cf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-06-22 Uros Bizjak <ubizjak@gmail.com> + + PR target/65871 + * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the + cost of embedded comparison. + 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/65914 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 24fccfc..2df91c4 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -42531,6 +42531,12 @@ ix86_rtx_costs (rtx x, int code_i, int outer_code_i, int opno, int *total, + rtx_cost (const1_rtx, outer_code, opno, speed)); return true; } + + /* The embedded comparison operand is completely free. */ + if (!general_operand (XEXP (x, 0), GET_MODE (XEXP (x, 0))) + && XEXP (x, 1) == const0_rtx) + *total = 0; + return false; case FLOAT_EXTEND: |