Hi, This fixes an SH64 problem which was introduced in r185534 and went unnoticed until recently. There, the extendqihi2 insn was converted to an expander and the TARGET_SH1 condition was wrongly omitted. Tested with 'make all-gcc' on sh-elf and sh64-elf. Committed on trunk as r218469, on 4.9 as r218470 and on 4.8 as r218471.
Cheers, Oleg gcc/ChangeLog: PR target/50751 * config/sh/sh.md (extendqihi2): Allow only for TARGET_SH1.
Index: gcc/config/sh/sh.md =================================================================== --- gcc/config/sh/sh.md (revision 218464) +++ gcc/config/sh/sh.md (working copy) @@ -6364,10 +6364,9 @@ }) (define_expand "extendqihi2" - [(set (match_operand:HI 0 "arith_reg_dest" "") - (sign_extend:HI (match_operand:QI 1 "arith_reg_operand" "")))] - "" - "") + [(set (match_operand:HI 0 "arith_reg_dest") + (sign_extend:HI (match_operand:QI 1 "arith_reg_operand")))] + "TARGET_SH1") (define_insn "*extendqihi2_compact_reg" [(set (match_operand:HI 0 "arith_reg_dest" "=r")