Split movdf so it can go into a branch delay slot.

From-SVN: r6480
This commit is contained in:
Stan Cox 1994-02-04 16:29:24 +00:00
parent 8698cce380
commit 2d257716a9

View File

@ -2,7 +2,7 @@
;; Copyright (C) 1988, 1989, 1990, 1991, 1993 Free Software Foundation, Inc. ;; Copyright (C) 1988, 1989, 1990, 1991, 1993 Free Software Foundation, Inc.
;; Contributed by Michael Tiemann (tiemann@mcc.com) ;; Contributed by Michael Tiemann (tiemann@mcc.com)
;; Additional changes by Michael Meissner (meissner@osf.org) ;; Additional changes by Michael Meissner (meissner@osf.org)
;; Version 2 port by Tom Wood (Tom_Wood@NeXT.com) ;; Version 2 port by Tom Wood (twood@pets.sps.mot.com)
;; This file is part of GNU CC. ;; This file is part of GNU CC.
@ -23,15 +23,16 @@
;;- See file "rtl.def" for documentation on define_insn, match_*, et. al. ;;- See file "rtl.def" for documentation on define_insn, match_*, et. al.
;; SCCS rev field. This is a NOP, just to get the SCCS id into the ;; RCS rev field. This is a NOP, just to get the RCS id into the
;; program image. ;; program image.
(define_expand "m88k_sccs_id" (define_expand "m88k_rcs_id"
[(match_operand:SI 0 "" "")] [(match_operand:SI 0 "" "")]
"" ""
"{ static char sccs_id[] = \"@(#)m88k.md 2.3.3.2 12/16/92 08:26:12\"; "{ static char rcs_id[] = \"$What: <@(#) m88k.md,v 1.5> $\";
FAIL; }") FAIL; }")
;; Attribute specifications ;; Attribute describing the processor. This attribute must match exactly
;; with the processor_type enumeration in m88k.h.
; Target CPU. ; Target CPU.
(define_attr "cpu" "m88100,m88110,m88000" (define_attr "cpu" "m88100,m88110,m88000"
@ -1970,6 +1971,18 @@
DONE; DONE;
}") }")
(define_split
[(set (match_operand:DF 0 "register_operand" "=r")
(match_operand:DF 1 "register_operand" "r"))]
"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); }")
;; @@ This pattern is incomplete and doesn't appear necessary. ;; @@ This pattern is incomplete and doesn't appear necessary.
;; ;;
;; This pattern forces (set (reg:DF ...) (const_double ...)) ;; This pattern forces (set (reg:DF ...) (const_double ...))