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]

Re: [PATCH] Fix PR44214


On Thu, Apr 19, 2012 at 6:58 PM, William J. Schmidt
<wschmidt@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 ?<wschmidt@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]