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]

[PATCH, i386]: Disable spills to vector registers


Hello!

As shown by listed PRs, the spill-to-vector regs infrastructure is not
yet ready. And with no fix in sight, I have disabled it for x86
altogether.

2016-06-26  Uros Bizjak  <ubizjak@gmail.com>

        PR target/70902
        PR target/71453
        PR target/71555
        PR target/71596
        PR target/71657
        * config/i386/i386.c (TARGET_SPILL_CLASS): #if 0 out the definition.
        (ix86_spill_class): Disable to always return NO_REGS.

Uros.

Index: config/i386/i386.c
===================================================================
--- config/i386/i386.c  (revision 237757)
+++ config/i386/i386.c  (working copy)
@@ -54583,10 +54583,13 @@
 /* Return class of registers which could be used for pseudo of MODE
    and of class RCLASS for spilling instead of memory.  Return NO_REGS
    if it is not possible or non-profitable.  */
+
+/* Disabled due to PRs 70902, 71453, 71555, 71596 and 71657.  */
+
 static reg_class_t
 ix86_spill_class (reg_class_t rclass, machine_mode mode)
 {
-  if (TARGET_GENERAL_REGS_SSE_SPILL
+  if (0 && TARGET_GENERAL_REGS_SSE_SPILL
       && TARGET_SSE2
       && TARGET_INTER_UNIT_MOVES_TO_VEC
       && TARGET_INTER_UNIT_MOVES_FROM_VEC
@@ -55700,8 +55703,11 @@
 #undef TARGET_LOOP_UNROLL_ADJUST
 #define TARGET_LOOP_UNROLL_ADJUST ix86_loop_unroll_adjust

+#if 0
+/* Disabled due to PRs 70902, 71453, 71555, 71596 and 71657.  */
 #undef TARGET_SPILL_CLASS
 #define TARGET_SPILL_CLASS ix86_spill_class
+#endif

 #undef TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN
 #define TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN \


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