diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2010-07-04 22:13:09 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2010-07-04 22:13:09 +0000 |
commit | 947131ba4e351e264f3aa3a7ccd6b0c82bcc7ebd (patch) | |
tree | c58b0fad8bf6ca1d17ba2102d04c971975a84d81 /gcc/tree-vect-data-refs.c | |
parent | 47e5ff44ccdcf7c7936ad91d07b78cbf64d430d1 (diff) | |
download | gcc-947131ba4e351e264f3aa3a7ccd6b0c82bcc7ebd.tar.gz |
optabs.h (optab_handler, [...]): Turn into inline functions that return an insn code.
gcc/
* optabs.h (optab_handler, convert_optab_handler): Turn into
inline functions that return an insn code.
(set_optab_handler, set_convert_optab_handler): New functions.
* builtins.c: Replace optab_handler(X)->insn_code with
optab_handler or set_optab_handler thoughout. Likewise
convert_optab_handler(X)->insn_code with convert_optab_handler
and set_convert_optab_handler.
* expmed.c, expr.c, genopinit.c, ifcvt.c, optabs.c, reload.c,
reload1.c, stmt.c, targhooks.c, tree-ssa-loop-prefetch.c,
tree-ssa-math-opts.c, tree-vect-data-refs.c, tree-vect-generic.c,
tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
tree-vect-stmts.c, config/m32c/m32c.c, config/rs6000/rs6000.c,
config/spu/spu.c: Likewise.
From-SVN: r161808
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r-- | gcc/tree-vect-data-refs.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 629450c4f36..801f37c5a0d 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -3243,9 +3243,9 @@ bool vect_strided_store_supported (tree vectype) { optab interleave_high_optab, interleave_low_optab; - int mode; + enum machine_mode mode; - mode = (int) TYPE_MODE (vectype); + mode = TYPE_MODE (vectype); /* Check that the operation is supported. */ interleave_high_optab = optab_for_tree_code (VEC_INTERLEAVE_HIGH_EXPR, @@ -3259,10 +3259,8 @@ vect_strided_store_supported (tree vectype) return false; } - if (optab_handler (interleave_high_optab, mode)->insn_code - == CODE_FOR_nothing - || optab_handler (interleave_low_optab, mode)->insn_code - == CODE_FOR_nothing) + if (optab_handler (interleave_high_optab, mode) == CODE_FOR_nothing + || optab_handler (interleave_low_optab, mode) == CODE_FOR_nothing) { if (vect_print_dump_info (REPORT_DETAILS)) fprintf (vect_dump, "interleave op not supported by target."); @@ -3655,9 +3653,9 @@ bool vect_strided_load_supported (tree vectype) { optab perm_even_optab, perm_odd_optab; - int mode; + enum machine_mode mode; - mode = (int) TYPE_MODE (vectype); + mode = TYPE_MODE (vectype); perm_even_optab = optab_for_tree_code (VEC_EXTRACT_EVEN_EXPR, vectype, optab_default); @@ -3668,7 +3666,7 @@ vect_strided_load_supported (tree vectype) return false; } - if (optab_handler (perm_even_optab, mode)->insn_code == CODE_FOR_nothing) + if (optab_handler (perm_even_optab, mode) == CODE_FOR_nothing) { if (vect_print_dump_info (REPORT_DETAILS)) fprintf (vect_dump, "perm_even op not supported by target."); @@ -3684,7 +3682,7 @@ vect_strided_load_supported (tree vectype) return false; } - if (optab_handler (perm_odd_optab, mode)->insn_code == CODE_FOR_nothing) + if (optab_handler (perm_odd_optab, mode) == CODE_FOR_nothing) { if (vect_print_dump_info (REPORT_DETAILS)) fprintf (vect_dump, "perm_odd op not supported by target."); @@ -4044,8 +4042,7 @@ vect_supportable_dr_alignment (struct data_reference *dr, bool is_packed = false; tree type = (TREE_TYPE (DR_REF (dr))); - if (optab_handler (vec_realign_load_optab, mode)->insn_code != - CODE_FOR_nothing + if (optab_handler (vec_realign_load_optab, mode) != CODE_FOR_nothing && (!targetm.vectorize.builtin_mask_for_load || targetm.vectorize.builtin_mask_for_load ())) { |