From: amodra Date: Thu, 14 Jul 2016 14:25:47 +0000 (+0000) Subject: [RS6000] Disparage altivec_mov gpr alternatives X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=94682be9c92e6179a9badfee68f917a96c3ec36c;p=thirdparty%2Fgcc.git [RS6000] Disparage altivec_mov gpr alternatives and fix constraint '*' placement. * gcc/config/rs6000/altivec.md (altivec_mov): Disparage gpr alternatives. Correct '*' placement on Y,r alternative. Add '*' on operand 1 of r,r alternative. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238339 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e04e48af5236..6c4204f57389 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-07-14 Alan Modra + + * gcc/config/rs6000/altivec.md (altivec_mov): Disparage + gpr alternatives. Correct '*' placement on Y,r alternative. + Add '*' on operand 1 of r,r alternative. + 2016-07-14 Kyrylo Tkachov * expmed.c (mult_variant, choose_mult_variant): Move declaration to... diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index aa01ac9de8d9..9193f07e2f07 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -222,8 +222,8 @@ ;; Vector move instructions. (define_insn "*altivec_mov" - [(set (match_operand:VM2 0 "nonimmediate_operand" "=Z,v,v,*Y,*r,*r,v,v,*r") - (match_operand:VM2 1 "input_operand" "v,Z,v,r,Y,r,j,W,W"))] + [(set (match_operand:VM2 0 "nonimmediate_operand" "=Z,v,v,?Y,?*r,?*r,v,v,?*r") + (match_operand:VM2 1 "input_operand" "v,Z,v,*r,Y,*r,j,W,W"))] "VECTOR_MEM_ALTIVEC_P (mode) && (register_operand (operands[0], mode) || register_operand (operands[1], mode))"