summaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-26 00:24:37 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-26 00:24:37 +0000
commitb2aef146490d4d5268f3611232ab495169864c13 (patch)
tree16040afedbe7456a6d5be99edc239c4efcbd88c1 /gcc/expr.c
parent87e804868c98a5e30c86483d3b766928f2742c44 (diff)
downloadgcc-b2aef146490d4d5268f3611232ab495169864c13.tar.gz
* target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
* target.h (struct gcc_target): Add scalar_mode_supported_p. * targhooks.c (default_scalar_mode_supported_p): New. * targhooks.h (default_scalar_mode_supported_p): Declare. * doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document. * c-common.c (handle_mode_attribute): Query scalar_mode_supported_p before attempting to create types. Tidy. * expr.c (vector_mode_valid_p): Use scalar_mode_supported_p. * config/alpha/alpha.c (alpha_scalar_mode_supported_p): New. (TARGET_SCALAR_MODE_SUPPORTED_P): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86593 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index b98986447f4..6811abedd80 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -8799,7 +8799,7 @@ vector_mode_valid_p (enum machine_mode mode)
/* If we have support for the inner mode, we can safely emulate it.
We may not have V2DI, but me can emulate with a pair of DIs. */
- return mov_optab->handlers[innermode].insn_code != CODE_FOR_nothing;
+ return targetm.scalar_mode_supported_p (innermode);
}
/* Return a CONST_VECTOR rtx for a VECTOR_CST tree. */