diff options
author | Richard Henderson <rth@redhat.com> | 2005-03-08 04:01:17 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2005-03-08 04:01:17 -0800 |
commit | 360139876e080a505c41ad40e7fec7383a93fc8f (patch) | |
tree | ca9d4140dfe57915b40135466a7e552e51bd84e3 /gcc/loop-unswitch.c | |
parent | fe8a06f20a82dceb608ad8ba9f7b771ea8421b9d (diff) | |
download | gcc-360139876e080a505c41ad40e7fec7383a93fc8f.zip gcc-360139876e080a505c41ad40e7fec7383a93fc8f.tar.gz gcc-360139876e080a505c41ad40e7fec7383a93fc8f.tar.bz2 |
alpha.c (code_for_builtin): Replace special-case builtin codes with ctzdi2, clzdi2, popcountdi2.
* config/alpha/alpha.c (code_for_builtin): Replace special-case
builtin codes with ctzdi2, clzdi2, popcountdi2.
(struct alpha_builtin_def): Add is_const.
(zero_arg_builtins, one_arg_builtins, two_arg_builtins): Init it.
(alpha_v8qi_u, alpha_v8qi_s, alpha_v4hi_u, alpha_v4hi_s): New.
(alpha_init_builtins): Init them. Set nothrow and const attributes
on builtins.
(alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot,
alpha_fold_builtin_extxx, alpha_fold_builtin_insxx,
alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh,
alpha_fold_vector_minmax, alpha_fold_builtin_perr,
alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb,
alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw,
alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz,
alpha_fold_builtin_ctpop, alpha_fold_builtin): New.
(TARGET_FOLD_BUILTIN): New.
* config/alpha/alpha.md (UNSPEC_CTTZ): Remove.
(UNSPEC_CTLZ, UNSPEC_CTPOP): Remove.
(ffsdi2): Use ctz.
(cttz, builtin_cttz, builtin_ctlz, builtin_ctpop): Remove.
From-SVN: r96098
Diffstat (limited to 'gcc/loop-unswitch.c')
0 files changed, 0 insertions, 0 deletions