diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-06-01 18:59:17 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-06-01 18:59:17 +0000 |
commit | 14ca333d386817ef8706d21fc17dfc19d6da409b (patch) | |
tree | 66ff1ceb127b3674e58e30bd4c2bf6bc29cfd119 | |
parent | 0cc261bc7bfa1dcd8ec11c0cd92a665032c077f0 (diff) | |
download | gcc-14ca333d386817ef8706d21fc17dfc19d6da409b.zip gcc-14ca333d386817ef8706d21fc17dfc19d6da409b.tar.gz gcc-14ca333d386817ef8706d21fc17dfc19d6da409b.tar.bz2 |
emit-rtl.c (gen_lowpart_common): Handle interpreting integer constants as condition code values.
* emit-rtl.c (gen_lowpart_common): Handle interpreting integer
constants as condition code values.
Co-Authored-By: Geoffrey Keating <geoffk@apple.com>
Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r67309
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 54b55a6..0ac8c42 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-06-01 Roger Sayle <roger@eyesopen.com> + John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + Geoffrey Keating <geoffk@apple.com> + + * emit-rtl.c (gen_lowpart_common): Handle interpreting integer + constants as condition code values. + 2003-06-01 DJ Delorie <dj@redhat.com> * cppmacro.c (warn_of_redefinition): Handle cases where the two diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 1bb79dd..8004cfb 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1291,6 +1291,12 @@ gen_lowpart_common (mode, x) mode); #endif } + /* If MODE is a condition code and X is a CONST_INT, the value of X + must already have been "recognized" by the back-end, and we can + assume that it is valid for this mode. */ + else if (GET_MODE_CLASS (mode) == MODE_CC + && GET_CODE (x) == CONST_INT) + return x; /* Otherwise, we can't do this. */ return 0; |