https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100866
--- Comment #13 from luoxhu at gcc dot gnu.org --- It is not visible in combine due to the constant data is in *.LC0 and UNSPEC_VPERM. Will shelf this and switch to other high priority issues. pr100866.c.277r.combine: (note 4 0 20 2 [bb 2] NOTE_INSN_BASIC_BLOCK) (insn 20 4 2 2 (set (reg:V8HI 126) (reg:V8HI 66 %v2 [ a ])) "pr100866.c":18:1 1132 {vsx_movv8hi_64bit} (expr_list:REG_DEAD (reg:V8HI 66 %v2 [ a ]) (nil))) (note 2 20 3 2 NOTE_INSN_DELETED) (note 3 2 6 2 NOTE_INSN_FUNCTION_BEG) (insn 6 3 18 2 (set (reg/f:DI 122) (unspec:DI [ (symbol_ref/u:DI ("*.LC0") [flags 0x82]) (reg:DI 2 %r2) ] UNSPEC_TOCREL)) "pr100866.c":19:13 719 {*tocrefdi} (expr_list:REG_EQUAL (symbol_ref/u:DI ("*.LC0") [flags 0x82]) (nil))) (insn 18 6 9 2 (set (reg:V16QI 123) (mem/u/c:V16QI (and:DI (reg/f:DI 122) (const_int -16 [0xfffffffffffffff0])) [0 S16 A128])) "pr100866.c":19:13 1131 {vsx_movv16qi_64bit} (expr_list:REG_DEAD (reg/f:DI 122) (nil))) (insn 9 18 10 2 (set (reg:V16QI 124) (not:V16QI (reg:V16QI 123))) "pr100866.c":19:13 508 {one_cmplv16qi2} (expr_list:REG_DEAD (reg:V16QI 123) (nil))) (note 10 9 15 2 NOTE_INSN_DELETED) (insn 15 10 16 2 (set (reg/i:V8HI 66 %v2) (unspec:V8HI [ (reg:V8HI 126) repeated x2 (reg:V16QI 124) ] UNSPEC_VPERM)) "pr100866.c":20:1 1830 {altivec_vperm_v8hi_direct} (expr_list:REG_DEAD (reg:V16QI 124) (expr_list:REG_DEAD (reg:V8HI 126) (nil)))) (insn 16 15 0 2 (use (reg/i:V8HI 66 %v2)) "pr100866.c":20:1 -1 (nil)) ;; Combiner totals: 12 attempts, 12 substitutions (2 requiring new space),