This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
As explained in PR61839, Following difference results in extra instructions: - c = b != 0 ? 486097858 : 972195717; + c = a + 972195718 >> (b != 0);As suggested in PR, attached patch converts CST BINOP COND_EXPR to COND_EXPR ? (CST BINOP 1) : (CST BINOP 0).
Bootstrapped and regression tested for x86-64-linux-gnu with no new regression. Is this OK for statege-1.
Thanks, Kugan gcc/ChangeLog: 2016-04-17 Kugan Vivekanandarajah <kuganv@linaro.org> * tree-vrp.c (simplify_stmt_using_ranges): Convert CST BINOP COND_EXPR to COND_EXPR ? (CST BINOP 1) : (CST BINOP 0) when possible.
Attachment:
pr61839.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |