summaryrefslogtreecommitdiff
path: root/gcc/machmode.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1998-10-09 08:50:25 -0700
committerRichard Henderson <rth@gcc.gnu.org>1998-10-09 08:50:25 -0700
commitd006aa54babb7e5c6074e06b71d6ae65e9172c5b (patch)
treedcc7d4ffbedc5308ac113fce833c31a0318fd188 /gcc/machmode.h
parent3663a3047f7ec94514d5c76483f1b7e8457934cf (diff)
downloadgcc-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.h5
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));