summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1993-04-25 21:14:10 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1993-04-25 21:14:10 +0000
commit690c31d5ed84d7384b636edbec69baed7c881dd3 (patch)
tree24ac37d5d088b8f6c0777f8ee6d9697424811d7e /gcc/config
parent35140538aaded515e2264912a532a7d11a57beab (diff)
downloadgcc-690c31d5ed84d7384b636edbec69baed7c881dd3.tar.gz
(movdf): Add a define split.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4217 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/sparc/sparc.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 723a08d1fa6..1aafb674ac8 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1223,6 +1223,18 @@
[(set_attr "type" "store,load,move,store,load")
(set_attr "length" "1,1,2,3,3")])
+(define_split
+ [(set (match_operand:DF 0 "register_operand" "")
+ (match_operand:DF 1 "register_operand" ""))]
+ "reload_completed"
+ [(set (match_dup 2) (match_dup 3))
+ (set (match_dup 4) (match_dup 5))]
+ "
+{ operands[2] = operand_subword (operands[0], 0, 0, DFmode);
+ operands[3] = operand_subword (operands[1], 0, 0, DFmode);
+ operands[4] = operand_subword (operands[0], 1, 0, DFmode);
+ operands[5] = operand_subword (operands[1], 1, 0, DFmode); }")
+
(define_insn ""
[(set (mem:DF (match_operand:SI 0 "symbolic_operand" "i,i"))
(match_operand:DF 1 "reg_or_0_operand" "rf,G"))