m32r.md, [...]: Add some comments regarding use of dead_or_set_p.

* m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
        some comments regarding use of dead_or_set_p.

From-SVN: r17514
This commit is contained in:
Mike Stump 1998-01-27 22:02:13 +00:00 committed by Jeff Law
parent e95f01957f
commit 4b6bb562de
6 changed files with 48 additions and 11 deletions

View File

@ -1,3 +1,8 @@
Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
* m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
some comments regarding use of dead_or_set_p.
Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
* fixincludes: Tweak fix for struct exception in math.h

View File

@ -1,4 +1,4 @@
;; Machine description of the M32R/D cpu for GNU C compiler
;; Machine description of the Mitsubishi M32R cpu for GNU C compiler
;; Copyright (C) 1996, 1997 Free Software Foundation, Inc.
;; This file is part of GNU CC.
@ -191,7 +191,7 @@
(define_insn "*movsi_insn"
[(set (match_operand:SI 0 "move_dest_operand" "=r,r,r,r,r,r,r,m")
;; FIXME: Do we need a const_double constraint here for large unsigned values?
;; ??? Do we need a const_double constraint here for large unsigned values?
(match_operand:SI 1 "move_src_operand" "r,I,J,MQ,L,N,m,r"))]
"register_operand (operands[0], SImode) || register_operand (operands[1], SImode)"
"@
@ -221,7 +221,7 @@
int shift;
/* In all cases we will emit two instructions. However we try to
use 2 byte instructions whereever possible. We can assume the
use 2 byte instructions wherever possible. We can assume the
constant isn't loadable with any of ldi, ld24, or seth. */
/* See if we can load a 24 bit unsigned value and invert it. */
@ -265,7 +265,7 @@
;; [then seth + ld/st would work for any object in the area]. Doing this
;; would require special handling of _SDA_BASE_ (its value would be
;; (.sdata + 32K) & 0xffff0000) and reloc computations would be different
;; [I think]. What to do about this is defered until later and for now we
;; [I think]. What to do about this is deferred until later and for now we
;; require .sdata to be in the first 16M.
(define_expand "movsi_sda"
@ -584,7 +584,7 @@
(set_attr "length" "4,*")])
;; Sign extension instructions.
;; FIXME: See v850.md.
;; ??? See v850.md.
;; These patterns originally accepted general_operands, however, slightly
;; better code is generated by only accepting register_operands, and then
@ -901,7 +901,7 @@
;;
;; On the m32r it is more efficient to use the bxxz instructions and
;; thus merge the compare and branch into one instruction, so they are
;; prefered.
;; preferred.
(define_expand "cmpsi"
[(set (reg:CC 17)
@ -1463,6 +1463,8 @@
[(set (mem:SI (plus:SI (match_operand:SI 0 "register_operand" "r")
(const_int 4)))
(match_operand:SI 1 "register_operand" "r"))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (insn, operands[0])"
"st %1,@+%0"
[(set_attr "type" "store")

View File

@ -9771,6 +9771,8 @@ move\\t%0,%z4\\n\\
"TARGET_MIPS16
&& GET_CODE (operands[0]) == REG
&& REGNO (operands[0]) == 24
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
&& dead_or_set_p (insn, operands[0])
&& GET_CODE (operands[1]) == REG
&& M16_REG_P (REGNO (operands[1]))"
@ -9796,6 +9798,8 @@ move\\t%0,%z4\\n\\
"TARGET_MIPS16 && TARGET_64BIT
&& GET_CODE (operands[0]) == REG
&& REGNO (operands[0]) == 24
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
&& dead_or_set_p (insn, operands[0])
&& GET_CODE (operands[1]) == REG
&& M16_REG_P (REGNO (operands[1]))"
@ -9827,6 +9831,8 @@ move\\t%0,%z4\\n\\
&& REGNO (operands[1]) == 24
&& GET_CODE (operands[0]) == REG
&& M16_REG_P (REGNO (operands[0]))
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
&& dead_or_set_p (insn, operands[0])"
"*
{
@ -9852,6 +9858,8 @@ move\\t%0,%z4\\n\\
&& REGNO (operands[1]) == 24
&& GET_CODE (operands[0]) == REG
&& M16_REG_P (REGNO (operands[0]))
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
&& dead_or_set_p (insn, operands[0])"
"*
{

View File

@ -1888,6 +1888,8 @@
(set (pc) (if_then_else (ge (cc0) (const_int 0))
(match_operand 1 "" "")
(pc)))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcc %1"
[(set_attr "cc" "clobber")])
@ -1897,6 +1899,8 @@
(set (pc) (if_then_else (lt (cc0) (const_int 0))
(match_operand 1 "" "")
(pc)))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcs %1"
[(set_attr "cc" "clobber")])
@ -1906,6 +1910,8 @@
(set (pc) (if_then_else (ge (cc0) (const_int 0))
(pc)
(match_operand 1 "" "")))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcs %1"
[(set_attr "cc" "clobber")])
@ -1915,6 +1921,8 @@
(set (pc) (if_then_else (lt (cc0) (const_int 0))
(pc)
(match_operand 1 "" "")))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcc %1"
[(set_attr "cc" "clobber")])
@ -1924,6 +1932,8 @@
(set (pc) (if_then_else (ge (cc0) (const_int 0))
(match_operand 1 "" "")
(pc)))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bccx %1"
[(set_attr "cc" "clobber")])
@ -1933,6 +1943,8 @@
(set (pc) (if_then_else (lt (cc0) (const_int 0))
(match_operand 1 "" "")
(pc)))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcsx %1"
[(set_attr "cc" "clobber")])
@ -1942,6 +1954,8 @@
(set (pc) (if_then_else (ge (cc0) (const_int 0))
(pc)
(match_operand 1 "" "")))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcsx %1"
[(set_attr "cc" "clobber")])
@ -1951,6 +1965,8 @@
(set (pc) (if_then_else (lt (cc0) (const_int 0))
(pc)
(match_operand 1 "" "")))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bccx %1"
[(set_attr "cc" "clobber")])

View File

@ -1397,6 +1397,8 @@
(set (pc) (if_then_else (ge (cc0) (const_int 0))
(match_operand 1 "" "")
(pc)))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcc %1"
[(set_attr "cc" "clobber")])
@ -1406,6 +1408,8 @@
(set (pc) (if_then_else (lt (cc0) (const_int 0))
(match_operand 1 "" "")
(pc)))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcs %1"
[(set_attr "cc" "clobber")])
@ -1415,6 +1419,8 @@
(set (pc) (if_then_else (ge (cc0) (const_int 0))
(pc)
(match_operand 1 "" "")))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcs %1"
[(set_attr "cc" "clobber")])
@ -1424,6 +1430,8 @@
(set (pc) (if_then_else (lt (cc0) (const_int 0))
(pc)
(match_operand 1 "" "")))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
"add %0,%0\;bcc %1"
[(set_attr "cc" "clobber")])

View File

@ -1,5 +1,5 @@
;; GNU C machine description for Pyramid 90x, 9000, MIServer Series
;; Copyright (C) 1989, 1990, 1995 Free Software Foundation, Inc.
;; Copyright (C) 1989, 1990, 1995, 1997 Free Software Foundation, Inc.
;; This file is part of GNU CC.
@ -903,7 +903,6 @@
""
"*
{
extern int optimize;
if (optimize && REG_P (operands[0]) && REG_P (operands[1])
&& REGNO (operands[0]) == REGNO (operands[1])
&& already_sign_extended (insn, HImode, operands[0]))
@ -920,7 +919,6 @@
""
"*
{
extern int optimize;
if (optimize && REG_P (operands[0]) && REG_P (operands[1])
&& REGNO (operands[0]) == REGNO (operands[1])
&& already_sign_extended (insn, QImode, operands[0]))
@ -1029,7 +1027,6 @@
""
"*
{
extern int optimize;
if (optimize)
switch (GET_CODE (operands[0]))
{
@ -1056,7 +1053,6 @@
""
"*
{
extern int optimize;
if (optimize)
switch (GET_CODE (operands[0]))
{
@ -1228,6 +1224,8 @@
(sign_extend:SI (match_dup 1)))
(set (cc0)
(match_dup 2))]
;; ??? This is WRONG, dead_or_set_p cannot be used after reload
;; because the REG_DEAD notes are not maintained after reload.
"dead_or_set_p (insn, operands[2])"
"*
cc_status.flags |= CC_NO_OVERFLOW;