https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103124

--- Comment #2 from HaoChen Gui <guihaoc at gcc dot gnu.org> ---
//lower-subreg.c
          /* If this is a cast from one mode to another, where the modes
             have the same size, and they are not tieable, then mark this
             register as non-decomposable.  If we decompose it we are
             likely to mess up whatever the backend is trying to do.  */
          if (outer_words > 1
              && outer_size == inner_size
              && !targetm.modes_tieable_p (GET_MODE (x), GET_MODE (inner)))
            {
              bitmap_set_bit (non_decomposable_context, regno);
              bitmap_set_bit (subreg_context, regno);
              iter.skip_subrtxes ();
              continue;
            }

As TI and V1TI is not tieable on powerpc, TI register 122 in the following insn
can't be decomposed. 

(insn 12 11 13 2 (set (reg:V1TI 121 [ b ])
        (subreg:V1TI (reg:TI 122) 0)) "test2.c":4:5 1167 {vsx_movv1ti_64bit}
     (nil))

Reply via email to