diff options
author | Steve Ellcey <sje@cup.hp.com> | 2002-03-01 01:19:52 +0000 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-02-28 17:19:52 -0800 |
commit | 7879b81e6cedc9090e72804014ab1927832fe8e0 (patch) | |
tree | 7b548c0ab1fb1a218191d2b6c99b0f25d0d7bf12 /gcc/rtl.h | |
parent | 42d579d8796eca2c8c184c52194ea8659d59c20b (diff) | |
download | gcc-7879b81e6cedc9090e72804014ab1927832fe8e0.zip gcc-7879b81e6cedc9090e72804014ab1927832fe8e0.tar.gz gcc-7879b81e6cedc9090e72804014ab1927832fe8e0.tar.bz2 |
rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition to take ptr_extend into account as third type of extension.
* doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
to take ptr_extend into account as third type of extension.
(SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
fields used by SUBREG_PROMOTED_UNSIGNED_P.
* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
(SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
* calls.c (precompute_arguments): Use new macro.
(expand_call): Ditto.
* combine.c (nonzero_bits): Ditto.
(record_promoted_value): Ditto.
* expr.c (store_expr): Ditto.
(expand_expr): Ditto.
* function.c (assign_parms): Ditto.
From-SVN: r50174
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -853,7 +853,16 @@ extern unsigned int subreg_regno PARAMS ((rtx)); when assigning to SUBREG_REG. */ #define SUBREG_PROMOTED_VAR_P(RTX) ((RTX)->in_struct) -#define SUBREG_PROMOTED_UNSIGNED_P(RTX) ((RTX)->unchanging) +#define SUBREG_PROMOTED_UNSIGNED_SET(RTX, VAL) \ +do { \ + if ((VAL) < 0) \ + (RTX)->volatil = 1; \ + else { \ + (RTX)->volatil = 0; \ + (RTX)->unchanging = (VAL); \ + } \ +} while (0) +#define SUBREG_PROMOTED_UNSIGNED_P(RTX) ((RTX)->volatil ? -1 : (RTX)->unchanging) /* Access various components of an ASM_OPERANDS rtx. */ |