Commit 7759f25b by Jim Kingdon Committed by Jeff Law

i386.md: In the 6 insns which call output_fix_trunc, earlyclobber operands[0].

        * i386.md: In the 6 insns which call output_fix_trunc,
        earlyclobber operands[0].

From-SVN: r28921
parent 5ca8e6f7
Fri Aug 27 01:03:48 1999 Jim Kingdon <http://developer.redhat.com>
with much help from Jeffrey A Law and Richard Henderson
* i386.md: In the 6 insns which call output_fix_trunc,
earlyclobber operands[0].
Fri Aug 27 01:01:51 1999 Philip Blundell <pb@nexus.co.uk>
* jump.c (duplicate_loop_exit_test): Call reg_scan_update after
......
......@@ -2710,8 +2710,10 @@
operands[4] = (rtx) assign_386_stack_local (SImode, 0);
}")
;; We have to earlyclobber the register output to prevent it from overlapping
;; with the address for one of the scratch memory operands.
(define_insn ""
[(set (match_operand:SI 0 "nonimmediate_operand" "=m,!r")
[(set (match_operand:SI 0 "nonimmediate_operand" "=m,!&r")
(fix:SI (fix:SF (match_operand:SF 1 "register_operand" "f,f"))))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
(clobber (match_operand:HI 3 "memory_operand" "m,m"))
......@@ -2738,8 +2740,10 @@
operands[4] = (rtx) assign_386_stack_local (DImode, 0);
}")
;; We have to earlyclobber the register output to prevent it from overlapping
;; with the address for one of the scratch memory operands.
(define_insn ""
[(set (match_operand:DI 0 "nonimmediate_operand" "=m,!r")
[(set (match_operand:DI 0 "nonimmediate_operand" "=m,!&r")
(fix:DI (fix:SF (match_operand:SF 1 "register_operand" "f,f"))))
(clobber (match_dup 1))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
......@@ -2765,8 +2769,10 @@
operands[4] = (rtx) assign_386_stack_local (SImode, 0);
}")
;; We have to earlyclobber the register output to prevent it from overlapping
;; with the address for one of the scratch memory operands.
(define_insn ""
[(set (match_operand:SI 0 "nonimmediate_operand" "=m,!r")
[(set (match_operand:SI 0 "nonimmediate_operand" "=m,!&r")
(fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f,f"))))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
(clobber (match_operand:HI 3 "memory_operand" "m,m"))
......@@ -2793,8 +2799,10 @@
operands[4] = (rtx) assign_386_stack_local (DImode, 0);
}")
;; We have to earlyclobber the register output to prevent it from overlapping
;; with the address for one of the scratch memory operands.
(define_insn ""
[(set (match_operand:DI 0 "nonimmediate_operand" "=m,!r")
[(set (match_operand:DI 0 "nonimmediate_operand" "=m,!&r")
(fix:DI (fix:DF (match_operand:DF 1 "register_operand" "f,f"))))
(clobber (match_dup 1))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
......@@ -2820,8 +2828,10 @@
operands[4] = (rtx) assign_386_stack_local (SImode, 0);
}")
;; We have to earlyclobber the register output to prevent it from overlapping
;; with the address for one of the scratch memory operands.
(define_insn ""
[(set (match_operand:SI 0 "nonimmediate_operand" "=m,!r")
[(set (match_operand:SI 0 "nonimmediate_operand" "=m,!&r")
(fix:SI (fix:XF (match_operand:XF 1 "register_operand" "f,f"))))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
(clobber (match_operand:HI 3 "memory_operand" "m,m"))
......@@ -2848,8 +2858,10 @@
operands[4] = (rtx) assign_386_stack_local (DImode, 0);
}")
;; We have to earlyclobber the register output to prevent it from overlapping
;; with the address for one of the scratch memory operands.
(define_insn ""
[(set (match_operand:DI 0 "nonimmediate_operand" "=m,!r")
[(set (match_operand:DI 0 "nonimmediate_operand" "=m,!&r")
(fix:DI (fix:XF (match_operand:XF 1 "register_operand" "f,f"))))
(clobber (match_dup 1))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
......
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