diff options
| author | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-24 00:30:52 +0000 |
|---|---|---|
| committer | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-24 00:30:52 +0000 |
| commit | 9e7454d0745c9c37ec19960e35b31c9053d92e76 (patch) | |
| tree | 7636aad680528291a6fa22918ea3a0c18c83943b /gcc/expr.c | |
| parent | ac694641df272b26b0348abb11b6a94c2a7de7b2 (diff) | |
| download | ppe42-gcc-9e7454d0745c9c37ec19960e35b31c9053d92e76.tar.gz ppe42-gcc-9e7454d0745c9c37ec19960e35b31c9053d92e76.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86453 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
| -rw-r--r-- | gcc/expr.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 81b103d0616..72ba4cdeaaa 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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); |

