diff options
author | Richard Henderson <rth@redhat.com> | 2005-01-19 19:59:00 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2005-01-19 19:59:00 -0800 |
commit | 72910a0b3b6c68d3ca4d636b9a06923c07a45df8 (patch) | |
tree | cda4b7c4fa5fd8c63fdd336bd609206fd5423cd2 /gcc/expr.c | |
parent | ae7271294d9e2aeba1b08f7e3871c1ce7fa36dd8 (diff) | |
download | gcc-72910a0b3b6c68d3ca4d636b9a06923c07a45df8.zip gcc-72910a0b3b6c68d3ca4d636b9a06923c07a45df8.tar.gz gcc-72910a0b3b6c68d3ca4d636b9a06923c07a45df8.tar.bz2 |
re PR target/19518 ([alpha] unrecognizable insn (set (reg:V4HI) (const_vector:V4HI)) with builtins)
PR target/19518
* config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
(alpha_preferred_reload_class): Handle CONST_VECTOR.
(alpha_emit_set_const_1): Add no_output parameter; don't emit
rtl if true.
(alpha_emit_set_const): Likewise. Make static.
(alpha_emit_set_long_const): Make static.
(alpha_extract_integer): Split out from alpha_expand_mov.
(alpha_split_const_mov): Likewise.
(alpha_expand_mov): Use them. Handle CONST_VECTOR.
(alpha_legitimate_constant_p): New.
* config/alpha/alpha-protos.h: Update.
* config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
(LEGITIMATE_CONSTANT_P): Re-implement with a function.
* config/alpha/alpha.md (movsi): Add n alternative.
(movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
(mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
(splitters for all of the above): Use alpha_split_const_mov.
* config/alpha/predicates.md (non_add_const_operand): New.
(non_zero_const_operand): New.
(input_operand): Use alpha_legitimate_constant_p after reload.
From-SVN: r93943
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions