This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fix IRA issue, PR79728


Hello!

> This is an ICE where setup_pressure_classes fails if xmm0 is a global reg. Instead of
> GENERAL/FLOAT/SSE/MMX_REGS, it computes only SSE_FIRST_REG as the third register
> class. The problem is that the costs for moving between SSE_FIRST_REG and SSE_REGS are
> inflated because we think we have no available registers in SSE_FIRST_REG (since the only
> register in that class is global), and that somewhat confuses the algorithm.

Index: gcc/testsuite/gcc.target/i386/sse-globalreg.c
===================================================================
--- gcc/testsuite/gcc.target/i386/sse-globalreg.c (nonexistent)
+++ gcc/testsuite/gcc.target/i386/sse-globalreg.c (working copy)
@@ -0,0 +1,6 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -msse2 -w" } */
+/* { dg-require-effective-target sse2 } */

There is no need for effective-target checks for compile-only testcase.

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]