diff options
author | Eric Christopher <echristo@gcc.gnu.org> | 2004-08-24 00:30:52 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gcc.gnu.org> | 2004-08-24 00:30:52 +0000 |
commit | f676971a92dcc163394d15c819e904cbed2438d6 (patch) | |
tree | 7636aad680528291a6fa22918ea3a0c18c83943b /gcc/expr.c | |
parent | a43b7e0fd7e33918218b26302e1bac209f76cd07 (diff) | |
download | gcc-f676971a92dcc163394d15c819e904cbed2438d6.zip gcc-f676971a92dcc163394d15c819e904cbed2438d6.tar.gz gcc-f676971a92dcc163394d15c819e904cbed2438d6.tar.bz2 |
defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
2004-08-23 Eric Christopher <echristo@redhat.com>
* defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
* system.h (VECTOR_MODE_SUPPORTED_P): Poison.
* target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
* target.h: Ditto.
* hooks.h: Include machmode.h.
(hook_bool_mode_false): Declare.
* hooks.c (hook_bool_mode_false): Define.
* expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
* stor-layout.c (layout_type): Ditto.
* config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
Define to target macro.
* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
* config/arm/arm.c: Ditto. Use.
* config/arm/arm.h: Ditto.
* config/arm/arm-protos.h: Ditto.
* config/i386/i386.c: Ditto.
* config/i386/i386.h: Ditto.
* config/rs6000/rs6000.c: Ditto.
* config/rs6000/rs6000.h: Ditto.
* config/sh/sh.c: Ditto.
* config/sh/sh.h: Ditto.
* config/sh/sh-protos.h: Ditto.
* config/sh/sh.md: Use.
* doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
to TARGET_VECTOR_MODE_SUPPORTED_P.
2004-08-23 Eric Christopher <echristo@redhat.com>
* trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
usage. Use build_vector_type_for_mode for vector types.
From-SVN: r86453
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -7836,17 +7836,17 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, tree pred = TREE_OPERAND (exp, 0); tree then_ = TREE_OPERAND (exp, 1); tree else_ = TREE_OPERAND (exp, 2); - + if (TREE_CODE (then_) != GOTO_EXPR || TREE_CODE (GOTO_DESTINATION (then_)) != LABEL_DECL || TREE_CODE (else_) != GOTO_EXPR || TREE_CODE (GOTO_DESTINATION (else_)) != LABEL_DECL) abort (); - + jumpif (pred, label_rtx (GOTO_DESTINATION (then_))); return expand_expr (else_, const0_rtx, VOIDmode, 0); } - + /* Note that COND_EXPRs whose type is a structure or union are required to be constructed to contain assignments of a temporary variable, so that we can evaluate them here @@ -7857,12 +7857,12 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, || TREE_TYPE (TREE_OPERAND (exp, 1)) == void_type_node || TREE_TYPE (TREE_OPERAND (exp, 2)) == void_type_node) abort (); - + /* If we are not to produce a result, we have no target. Otherwise, if a target was specified use it; it will not be used as an intermediate target unless it is safe. If no target, use a temporary. */ - + if (modifier != EXPAND_STACK_PARM && original_target && safe_from_p (original_target, TREE_OPERAND (exp, 0), 1) @@ -7875,7 +7875,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, temp = original_target; else temp = assign_temp (type, 0, 0, 1); - + do_pending_stack_adjust (); NO_DEFER_POP; op0 = gen_label_rtx (); @@ -7883,17 +7883,17 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, jumpifnot (TREE_OPERAND (exp, 0), op0); store_expr (TREE_OPERAND (exp, 1), temp, modifier == EXPAND_STACK_PARM ? 2 : 0); - + emit_jump_insn (gen_jump (op1)); emit_barrier (); emit_label (op0); store_expr (TREE_OPERAND (exp, 2), temp, modifier == EXPAND_STACK_PARM ? 2 : 0); - + emit_label (op1); OK_DEFER_POP; return temp; - + case MODIFY_EXPR: { /* If lhs is complex, expand calls in rhs before computing it. @@ -8791,7 +8791,7 @@ vector_mode_valid_p (enum machine_mode mode) return 0; /* Hardware support. Woo hoo! */ - if (VECTOR_MODE_SUPPORTED_P (mode)) + if (targetm.vector_mode_supported_p (mode)) return 1; innermode = GET_MODE_INNER (mode); |