Commit 64d8baf9 by Jim Wilson

(movdf_internal1): Disable if TARGET_FLOAT64 != TARGET_64BIT.

(movdf_internal1a):  New pattern.

From-SVN: r6595
parent 3005527f
......@@ -2983,7 +2983,7 @@ move\\t%0,%z4\\n\\
(define_insn "movdf_internal1"
[(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,f,R,o,f,*f,*d,*d,*d,*d,*R,*o")
(match_operand:DF 1 "general_operand" "f,R,o,fG,fG,F,*d,*f,*d*G,*R,*o*F,*d,*d"))]
"TARGET_HARD_FLOAT
"TARGET_HARD_FLOAT && !(TARGET_FLOAT64 && !TARGET_64BIT)
&& (register_operand (operands[0], DFmode)
|| register_operand (operands[1], DFmode)
|| (GET_CODE (operands[1]) == CONST_INT && INTVAL (operands[1]) == 0)
......@@ -2993,6 +2993,21 @@ move\\t%0,%z4\\n\\
(set_attr "mode" "DF")
(set_attr "length" "1,2,4,2,4,4,2,2,2,2,4,2,4")])
(define_insn "movdf_internal1a"
[(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,R,R,o,o,f,*d,*d,*d,*o,*R")
(match_operand:DF 1 "general_operand" " f,o,f,G,f,G,F,*F,*o,*R,*d,*d"))]
"TARGET_HARD_FLOAT && (TARGET_FLOAT64 && !TARGET_64BIT)
&& (register_operand (operands[0], DFmode)
|| register_operand (operands[1], DFmode))
|| (GET_CODE (operands [0]) == MEM
&& ((GET_CODE (operands[1]) == CONST_INT
&& INTVAL (operands[1]) == 0)
|| operands[1] == CONST0_RTX (DFmode)))"
"* return mips_move_2words (operands, insn); "
[(set_attr "type" "move,load,store,store,store,store,load,load,load,load,store,store")
(set_attr "mode" "DF")
(set_attr "length" "1,2,1,1,2,2,2,2,2,1,2,1")])
(define_insn "movdf_internal2"
[(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,R,o")
(match_operand:DF 1 "general_operand" "dG,R,oF,d,d"))]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment