[Bug target/91498] [10 Regression] STV change in r274481 causes 300.twolf regression on Haswell
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Aug 20 11:21:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91498
--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
Following patch
--cut here--
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 49ab50ea41bf..11c75be113e0 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -18601,9 +18601,9 @@ ix86_register_move_cost (machine_mode mode, reg_class_t
class1_i,
where integer modes in SSE registers are not tieable
because of missing QImode and HImode moves to, from or between
MMX/SSE registers. */
- return MAX (8, SSE_CLASS_P (class1)
- ? ix86_cost->hard_register.sse_to_integer
- : ix86_cost->hard_register.integer_to_sse);
+ return (SSE_CLASS_P (class1)
+ ? ix86_cost->hard_register.sse_to_integer
+ : ix86_cost->hard_register.integer_to_sse);
if (MAYBE_FLOAT_CLASS_P (class1))
return ix86_cost->hard_register.fp_move;
--cut here--
fixes the regression.
(BTW: QI/HImodes are not "missing" at all. We can use %k modifier to move
QImode and HImode values using MOVD instruction between register sets.)
More information about the Gcc-bugs
mailing list