This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix IRA issue, PR79728
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Bernd Schmidt <bschmidt at redhat dot com>
- Date: Tue, 7 Mar 2017 10:46:37 +0100
- Subject: Fix IRA issue, PR79728
- Authentication-results: sourceware.org; auth=none
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.