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

Reply via email to