aboutsummaryrefslogtreecommitdiff
path: root/gcc/explow.c
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@redhat.com>2002-08-19 18:18:12 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2002-08-19 18:18:12 +0000
commit71012d9720fc774abd9f586abf40bd5d5643a412 (patch)
tree90d5a658b60ca93c1db59343c9ba71bdd464f467 /gcc/explow.c
parent35fb4cf6116fa7b35673deccfde8b3eb099ea261 (diff)
downloadgcc-71012d9720fc774abd9f586abf40bd5d5643a412.zip
gcc-71012d9720fc774abd9f586abf40bd5d5643a412.tar.gz
gcc-71012d9720fc774abd9f586abf40bd5d5643a412.tar.bz2
machmode.h (SCALAR_INT_MODE_P): New macro to test for scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
* machmode.h (SCALAR_INT_MODE_P): New macro to test for scaler integer mode (MODE_INT or MODE_PARTIAL_INT). * explow.c (trunc_int_for_mode): Abort when the mode is not a scaler integer mode. * combine.c (expand_compound_operation): Don't expand Vector or Complex modes into shifts. (expand_field_assignment): Don't do bitwise arithmatic and shifts on Vector or Complex modes. (simplify_comparison): Don't call trunc_int_for_mode for VOIDmode. * recog.c (general_operand): Likewise. (immediate_operand): Likewise. (nonmemory_operand): Likewise. Co-Authored-By: Steve Ellcey <sje@cup.hp.com> From-SVN: r56443
Diffstat (limited to 'gcc/explow.c')
-rw-r--r--gcc/explow.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/explow.c b/gcc/explow.c
index f61d009..4cda365 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -49,6 +49,10 @@ trunc_int_for_mode (c, mode)
{
int width = GET_MODE_BITSIZE (mode);
+ /* You want to truncate to a _what_? */
+ if (! SCALAR_INT_MODE_P (mode))
+ abort ();
+
/* Canonicalize BImode to 0 and STORE_FLAG_VALUE. */
if (mode == BImode)
return c & 1 ? STORE_FLAG_VALUE : 0;