On Thu, Apr 19, 2012 at 6:58 PM, William J. Schmidt <wschm...@linux.vnet.ibm.com> wrote: > This enhances constant folding for division by complex and vector > constants. When -freciprocal-math is present, such divisions are > converted into multiplies by the constant reciprocal. When an exact > reciprocal is available, this is done for vector constants when > optimizing. I did not implement logic for exact reciprocals of complex > constants because either (a) the complexity doesn't justify the > likelihood of occurrence, or (b) I'm lazy. Your choice. ;) > > Bootstrapped with no new regressions on powerpc64-unknown-linux-gnu. Ok > for trunk? > > Thanks, > Bill > > > gcc: > > 2012-04-19 Bill Schmidt <wschm...@linux.vnet.ibm.com> > > PR rtl-optimization/44214 > * fold-const.c (exact_inverse): New function. > (fold_binary_loc): Fold vector and complex division by constant into > multiply by recripocal with flag_reciprocal_math; fold vector division > by constant into multiply by reciprocal with exact inverse. > > gcc/testsuite: >
It caused: FAIL: gcc.dg/torture/builtin-explog-1.c -O0 (test for excess errors) FAIL: gcc.dg/torture/builtin-power-1.c -O0 (test for excess errors) on x86. -- H.J.