diff options
author | konglin1 <lingling.kong@intel.com> | 2024-05-08 15:46:10 +0800 |
---|---|---|
committer | konglin1 <lingling.kong@intel.com> | 2024-05-08 15:46:22 +0800 |
commit | d826f7945609046f922732b138fb90795d5b1985 (patch) | |
tree | a62e0494fd36548df63e5bb52954fa147ffa855f /gcc/tree-vect-patterns.cc | |
parent | 36e877996936abd8bd08f8b1d983c8d1023a5842 (diff) | |
download | gcc-d826f7945609046f922732b138fb90795d5b1985.zip gcc-d826f7945609046f922732b138fb90795d5b1985.tar.gz gcc-d826f7945609046f922732b138fb90795d5b1985.tar.bz2 |
x86: Fix cmov cost model issue [PR109549]
(if_then_else:SI (eq (reg:CCZ 17 flags)
(const_int 0 [0]))
(reg/v:SI 101 [ e ])
(reg:SI 102))
The cost is 8 for the rtx, the cost for
(eq (reg:CCZ 17 flags) (const_int 0 [0])) is 4,
but this is just an operator do not need to compute it's cost in cmov.
gcc/ChangeLog:
PR target/109549
* config/i386/i386.cc (ix86_rtx_costs): The XEXP (x, 0) for cmov
is an operator do not need to compute cost.
gcc/testsuite/ChangeLog:
* gcc.target/i386/cmov6.c: Fixed.
Diffstat (limited to 'gcc/tree-vect-patterns.cc')
0 files changed, 0 insertions, 0 deletions