The optabs patches that I'm working on treat patterns with names like "insvsi" and "insvdi" as part of the public target interface. Those names clash with some existing rs6000.md patterns, so this patch adds some _internal suffixes (a bit like fix_trunc<mode>si2_internal, for example).
AFAICT there are no clashes in other ports. Regression-tested on powerpc64-linux-gnu. I also checked that there were no changes in assembly output for a set of gcc .ii files. OK to install? Richard gcc/ * config/rs6000/rs6000.md (insvsi, insvdi, extvsi, extvdi): Rename to... (insvsi_internal, insvdi_internal, extvsi_internal) (extvdi_internal): ...this. (insv, extv): Update accordingly. Index: gcc/config/rs6000/rs6000.md =================================================================== --- gcc/config/rs6000/rs6000.md 2012-10-29 09:13:00.000000000 +0000 +++ gcc/config/rs6000/rs6000.md 2012-10-29 09:50:28.846354500 +0000 @@ -3126,13 +3126,15 @@ (define_expand "insv" FAIL; if (TARGET_POWERPC64 && GET_MODE (operands[0]) == DImode) - emit_insn (gen_insvdi (operands[0], operands[1], operands[2], operands[3])); + emit_insn (gen_insvdi_internal (operands[0], operands[1], operands[2], + operands[3])); else - emit_insn (gen_insvsi (operands[0], operands[1], operands[2], operands[3])); + emit_insn (gen_insvsi_internal (operands[0], operands[1], operands[2], + operands[3])); DONE; }") -(define_insn "insvsi" +(define_insn "insvsi_internal" [(set (zero_extract:SI (match_operand:SI 0 "gpc_reg_operand" "+r") (match_operand:SI 1 "const_int_operand" "i") (match_operand:SI 2 "const_int_operand" "i")) @@ -3267,7 +3269,7 @@ (define_insn "*insvsi_internal6" }" [(set_attr "type" "insert_word")]) -(define_insn "insvdi" +(define_insn "insvdi_internal" [(set (zero_extract:DI (match_operand:DI 0 "gpc_reg_operand" "+r") (match_operand:SI 1 "const_int_operand" "i") (match_operand:SI 2 "const_int_operand" "i")) @@ -3339,13 +3341,15 @@ (define_expand "extzv" FAIL; if (TARGET_POWERPC64 && GET_MODE (operands[1]) == DImode) - emit_insn (gen_extzvdi (operands[0], operands[1], operands[2], operands[3])); + emit_insn (gen_extzvdi_internal (operands[0], operands[1], operands[2], + operands[3])); else - emit_insn (gen_extzvsi (operands[0], operands[1], operands[2], operands[3])); + emit_insn (gen_extzvsi_internal (operands[0], operands[1], operands[2], + operands[3])); DONE; }") -(define_insn "extzvsi" +(define_insn "extzvsi_internal" [(set (match_operand:SI 0 "gpc_reg_operand" "=r") (zero_extract:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "const_int_operand" "i") @@ -3472,7 +3476,7 @@ (define_split (const_int 0)))] "") -(define_insn "extzvdi" +(define_insn "extzvdi_internal" [(set (match_operand:DI 0 "gpc_reg_operand" "=r") (zero_extract:DI (match_operand:DI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "const_int_operand" "i")