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

Uros Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|steven at gcc dot gnu.org   |ubizjak at gmail dot com

--- Comment #6 from Uros Bizjak <ubizjak at gmail dot com> 2010-10-30 12:49:07 
UTC ---
Created attachment 22206
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22206
Patch that fixes simplify_subreg_concatn

simplify_subreg_concatn passes VOIDmode of const_int elements of

(debug_insn 7 4 8 2 (var_location:V16QI vuchar (concatn:V16QI [
            (const_int 1 [0x1])
            (const_int 2 [0x2])
            (const_int 3 [0x3])
            (const_int 4 [0x4])
            (const_int 1 [0x1])
            (const_int 2 [0x2])
            (const_int 3 [0x3])
            (const_int 4 [0x4])
            (const_int 1 [0x1])
            (const_int 2 [0x2])
            (const_int 3 [0x3])
            (const_int 4 [0x4])
            (const_int 1 [0x1])
            (const_int 2 [0x2])
            (const_int 3 [0x3])
            (const_int 4 [0x4])
        ])) vector-shift2.c:14 -1
     (nil))

to simplify_gen_subreg as inner mode.

So, in case of VOIDmode, just determine the mode of the elements by using
GET_MODE_INNER of vector mode of concatn RTX.

Reply via email to