[Bug optimization/13540] [3.4 regression] gnat1 segmentation fault

danglin at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Jan 2 02:50:00 GMT 2004


------- Additional Comments From danglin at gcc dot gnu dot org  2004-01-02 02:50 -------
This is the patch that introduced the regression:

2004-01-01  Jan Hubicka  <jh@suse.cz>

        * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
        * expr.c (store_constructor): Use vec_init pattern.
        * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
        * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
        (vec_set_optab, vec_extract_optab, vec_init_optab): New.
        * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
        New patterns.
        (sse2_unpc?pd): Fix pattern.
        (sse2_movlpd): Kill.
        (sse2_movsd): Deal with movlpd too.
        * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
        (ix86_expand_vector_init): New.
        * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
        * md.texi (vec_set, vec_extract): Document

This hunk of the patch seems suspect:

@@ -4958,12 +4994,17 @@
                  target = copy_rtx (target);
                  MEM_KEEP_ALIAS_SET_P (target) = 1;
                }
-
-             store_constructor_field (target, bitsize, bitpos, mode, value,
-                                      type, cleared, get_alias_set (elttype));
-
+             else
+               store_constructor_field (target, bitsize, bitpos, mode, value,
+                                        type, cleared, get_alias_set (elttype));
            }
        }
+      if (vector)
+       {
+         emit_insn (GEN_FCN (icode) (target,
+                                     gen_rtx_PARALLEL (GET_MODE (target),
+                                                       gen_rtvec_v (n_elts, 
vector))));
+       }
     }
 
   /* Set constructor assignments.  */

The failure also affects hppa2.0-hp-hpux11.00.





-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jh at suse dot cz


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13540



More information about the Gcc-bugs mailing list