This is the mail archive of the gcc-bugs@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]

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


------- 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


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