aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-01-19 19:59:00 -0800
committerRichard Henderson <rth@gcc.gnu.org>2005-01-19 19:59:00 -0800
commit72910a0b3b6c68d3ca4d636b9a06923c07a45df8 (patch)
treecda4b7c4fa5fd8c63fdd336bd609206fd5423cd2 /gcc/expr.c
parentae7271294d9e2aeba1b08f7e3871c1ce7fa36dd8 (diff)
downloadgcc-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