John Wehle  (john@feith.com)
        * i386.md (movdi): Add splitter.

From-SVN: r26415
This commit is contained in:
John Wehle 1999-04-13 17:47:40 +00:00 committed by Richard Henderson
parent 15838c69df
commit 63a4a903a7
2 changed files with 38 additions and 0 deletions

View File

@ -1,3 +1,7 @@
Tue Apr 13 17:47:14 1999 John Wehle (john@feith.com)
* i386.md (movdi): Add splitter.
Wed Apr 14 10:04:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.md (storeqf_int, storeqf_int_clobber, loadqf_int,

View File

@ -1699,6 +1699,40 @@
[(set_attr "type" "integer,memory")
(set_attr "memory" "*,load")])
(define_split
[(set (match_operand:DI 0 "nonimmediate_operand" "")
(match_operand:DI 1 "general_operand" ""))]
"reload_completed
&& (offsettable_memref_p (operands[0])
|| nonmemory_operand (operands[0], DImode))
&& (offsettable_memref_p (operands[1])
|| nonmemory_operand (operands[1], DImode))
&& (! reg_overlap_mentioned_p (gen_lowpart (SImode, operands[0]),
operands[1])
|| ! reg_overlap_mentioned_p (gen_highpart (SImode, operands[0]),
operands[1]))"
[(set (match_dup 2)
(match_dup 4))
(set (match_dup 3)
(match_dup 5))]
"
{
split_di (&operands[0], 1, &operands[2], &operands[3]);
split_di (&operands[1], 1, &operands[4], &operands[5]);
if (reg_overlap_mentioned_p (operands[2], operands[1]))
{
rtx tmp;
tmp = operands[2];
operands[2] = operands[3];
operands[3] = tmp;
tmp = operands[4];
operands[4] = operands[5];
operands[5] = tmp;
}
}")
;;- conversion instructions
;;- NONE