diff options
author | Richard Henderson <rth@cygnus.com> | 1998-10-09 08:50:25 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1998-10-09 08:50:25 -0700 |
commit | d006aa54babb7e5c6074e06b71d6ae65e9172c5b (patch) | |
tree | dcc7d4ffbedc5308ac113fce833c31a0318fd188 /gcc/machmode.h | |
parent | 3663a3047f7ec94514d5c76483f1b7e8457934cf (diff) | |
download | gcc-d006aa54babb7e5c6074e06b71d6ae65e9172c5b.tar.gz |
expmed.c (store_bit_field): Pun non-integral str_rtx modes.
* expmed.c (store_bit_field): Pun non-integral str_rtx modes.
Take extra care for op0 now possibly being a subreg.
(extract_bit_field): Likewise.
* function.c (purge_addressof_1): Revert Oct 4 change. Drop
the reg to memory if there is no equal sized integral mode.
* stor-layout.c (int_mode_for_mode): New function.
* machmode.h: Prototype it.
From-SVN: r22962
Diffstat (limited to 'gcc/machmode.h')
-rw-r--r-- | gcc/machmode.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/machmode.h b/gcc/machmode.h index 119950c4348..e8c17e01642 100644 --- a/gcc/machmode.h +++ b/gcc/machmode.h @@ -211,6 +211,11 @@ extern unsigned char mode_wider_mode[]; extern enum machine_mode mode_for_size PROTO((unsigned int, enum mode_class, int)); +/* Return an integer mode of the exact same size as the input mode, + or BLKmode on failure. */ + +extern enum machine_mode int_mode_for_mode PROTO((enum machine_mode)); + /* Find the best mode to use to access a bit field. */ extern enum machine_mode get_best_mode PROTO((int, int, int, enum machine_mode, int)); |