diff options
author | Guozhi Wei <carrot@google.com> | 2014-08-08 23:00:28 +0000 |
---|---|---|
committer | Wei Guozhi <carrot@gcc.gnu.org> | 2014-08-08 23:00:28 +0000 |
commit | b435752c2e89a34fb7b4d41567f90769e932c36b (patch) | |
tree | c4d6c00a52e89b9045bf6e9d7f7a5369ef555e9f | |
parent | 4dd7c3b285daf030da0ff9c0d5e2f79b24943d1e (diff) | |
download | gcc-b435752c2e89a34fb7b4d41567f90769e932c36b.zip gcc-b435752c2e89a34fb7b4d41567f90769e932c36b.tar.gz gcc-b435752c2e89a34fb7b4d41567f90769e932c36b.tar.bz2 |
rs6000.md (*movdi_internal64): Add a new constraint.
* config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
From-SVN: r213767
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 11 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4be1771..0bb62f7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2014-08-08 Guozhi Wei <carrot@google.com> + + * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint. + 2014-08-08 Cary Coutant <ccoutant@google.com> * dwarf2out.c (get_skeleton_type_unit): Remove. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index a577d35..4869484 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -9652,8 +9652,8 @@ { rs6000_split_multireg_move (operands[0], operands[1]); DONE; }) (define_insn "*movdi_internal64" - [(set (match_operand:DI 0 "nonimmediate_operand" "=Y,r,r,r,r,r,?m,?*d,?*d,r,*h,*h,r,?*wg,r,?*wm") - (match_operand:DI 1 "input_operand" "r,Y,r,I,L,nF,d,m,d,*h,r,0,*wg,r,*wm,r"))] + [(set (match_operand:DI 0 "nonimmediate_operand" "=Y,r,r,r,r,r,?m,?*d,?*d,r,*h,*h,r,?*wg,r,?*wm,?*wm") + (match_operand:DI 1 "input_operand" "r,Y,r,I,L,nF,d,m,d,*h,r,0,*wg,r,*wm,r,O"))] "TARGET_POWERPC64 && (gpc_reg_operand (operands[0], DImode) || gpc_reg_operand (operands[1], DImode))" @@ -9673,9 +9673,10 @@ mftgpr %0,%1 mffgpr %0,%1 mfvsrd %0,%x1 - mtvsrd %x0,%1" - [(set_attr "type" "store,load,*,*,*,*,fpstore,fpload,fp,mfjmpr,mtjmpr,*,mftgpr,mffgpr,mftgpr,mffgpr") - (set_attr "length" "4,4,4,4,4,20,4,4,4,4,4,4,4,4,4,4")]) + mtvsrd %x0,%1 + xxlxor %x0,%x0,%x0" + [(set_attr "type" "store,load,*,*,*,*,fpstore,fpload,fp,mfjmpr,mtjmpr,*,mftgpr,mffgpr,mftgpr,mffgpr,vecsimple") + (set_attr "length" "4,4,4,4,4,20,4,4,4,4,4,4,4,4,4,4,4")]) ;; Generate all one-bits and clear left or right. ;; Use (and:DI (rotate:DI ...)) to avoid anddi3 unnecessary clobber. |