-
- Downloads
re PR tree-optimization/86401 (The "For constants M and N, if M == (1LL <<...
re PR tree-optimization/86401 (The "For constants M and N, if M == (1LL << cst) - 1 && (N & M) == M,..." opts are only in fold-const.c and in RTL) PR tree-optimization/86401 * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Move the ((A & N) + B) & M -> (A + B) & M etc. optimization into ... (fold_bit_and_mask): ... here. New helper function for match.pd. * fold-const.h (fold_bit_and_mask): Declare. * match.pd (((A & N) + B) & M -> (A + B) & M): New optimization. * gcc.dg/tree-ssa/pr86401-1.c: New test. * gcc.dg/tree-ssa/pr86401-2.c: New test. * c-c++-common/rotate-9.c: New test. From-SVN: r262485
Showing
- gcc/ChangeLog 9 additions, 0 deletionsgcc/ChangeLog
- gcc/fold-const.c 94 additions, 115 deletionsgcc/fold-const.c
- gcc/fold-const.h 3 additions, 0 deletionsgcc/fold-const.h
- gcc/match.pd 54 additions, 0 deletionsgcc/match.pd
- gcc/testsuite/ChangeLog 7 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/c-c++-common/rotate-9.c 19 additions, 0 deletionsgcc/testsuite/c-c++-common/rotate-9.c
- gcc/testsuite/gcc.dg/tree-ssa/pr86401-1.c 48 additions, 0 deletionsgcc/testsuite/gcc.dg/tree-ssa/pr86401-1.c
- gcc/testsuite/gcc.dg/tree-ssa/pr86401-2.c 48 additions, 0 deletionsgcc/testsuite/gcc.dg/tree-ssa/pr86401-2.c
Loading
Please register or sign in to comment