]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[RS6000] Disparage altivec_mov gpr alternatives
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Jul 2016 14:25:47 +0000 (14:25 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Jul 2016 14:25:47 +0000 (14:25 +0000)
and fix constraint '*' placement.

* gcc/config/rs6000/altivec.md (altivec_mov<mode>): 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

gcc/ChangeLog
gcc/config/rs6000/altivec.md

index e04e48af5236dabb08465e935ea29c4fee88702f..6c4204f57389b9cbbeccee6da21040b21b47fa22 100644 (file)
@@ -1,3 +1,9 @@
+2016-07-14  Alan Modra  <amodra@gmail.com>
+
+       * gcc/config/rs6000/altivec.md (altivec_mov<mode>): Disparage
+       gpr alternatives.  Correct '*' placement on Y,r alternative.
+       Add '*' on operand 1 of r,r alternative.
+
 2016-07-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * expmed.c (mult_variant, choose_mult_variant): Move declaration to...
index aa01ac9de8d94cf3dab28aaf8c47a1447d22dc01..9193f07e2f074b6300276c3d914a8c9ac819cc26 100644 (file)
 
 ;; Vector move instructions.
 (define_insn "*altivec_mov<mode>"
-  [(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>mode)
    && (register_operand (operands[0], <MODE>mode) 
        || register_operand (operands[1], <MODE>mode))"