Gcc 7 trunk was generating incorrect code for spec2k6 403.gcc due to this constraint issue. OK for trunk after bootstrap/regtest passes?
2016-10-06 Aaron Sawdey <acsaw...@linux.vnet.ibm.com> PR target/77934 * config/rs6000/vmx.md (vsx_concat_<mode>): The mtvsrdd instruction needs a base register for arg 1. Index: gcc/config/rs6000/vsx.md =================================================================== --- gcc/config/rs6000/vsx.md (revision 240994) +++ gcc/config/rs6000/vsx.md (working copy) @@ -1938,7 +1938,7 @@ (define_insn "vsx_concat_<mode>" [(set (match_operand:VSX_D 0 "gpc_reg_operand" "=<VSa>,we") (vec_concat:VSX_D - (match_operand:<VS_scalar> 1 "gpc_reg_operand" "<VS_64reg>,r") + (match_operand:<VS_scalar> 1 "gpc_reg_operand" "<VS_64reg>,b") (match_operand:<VS_scalar> 2 "gpc_reg_operand" "<VS_64reg>,r")))] "VECTOR_MEM_VSX_P (<MODE>mode)" { -- Aaron Sawdey, Ph.D. acsaw...@linux.vnet.ibm.com 050-2/C113 (507) 253-7520 home: 507/263-0782 IBM Linux Technology Center - PPC Toolchain