[Bug middle-end/79665] gcc's signed (x*x)/200 is slower than clang's
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 23 07:49:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79665
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Feb 23 07:49:06 2017
New Revision: 245676
URL: https://gcc.gnu.org/viewcvs?rev=245676&root=gcc&view=rev
Log:
PR middle-end/79665
* internal-fn.c (get_range_pos_neg): Moved to ...
* tree.c (get_range_pos_neg): ... here. No longer static.
* tree.h (get_range_pos_neg): New prototype.
* expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments
are known to be in between 0 and signed maximum inclusive, try to
expand both unsigned and signed divmod and use the cheaper one from
those.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expr.c
trunk/gcc/internal-fn.c
trunk/gcc/tree.c
trunk/gcc/tree.h
More information about the Gcc-bugs
mailing list