On 11/06/2015 04:09 AM, Richard Biener wrote:
On Fri, 6 Nov 2015, Richard Biener wrote:
The following patch makes the BB vectorizer not only handle BB heads
(until the first stmt with a data reference it cannot handle) but
arbitrary regions in a BB separated by such stmts.
This improves the number of BB vectorizations from 469 to 556
in a quick test on SPEC CPU 2006 with -Ofast on x86_64 and
1x400.perlbench 1x410.bwaves 1x416.gamess 1x450.soplex 1x453.povray
1x481.wrf failing both patched and unpatched (have to update my
config used for such experiments it seems ...)
Bootstrapped and tested on x86_64-unknown-linux-gnu, aarch64 cross built.
I'm currently re-testing for a cosmetic change I made when writing
the changelog.
I expected (and there are) some issues with compile-time. Left
is unpatched and right is patched.
'403.gcc': 00:00:54 (54) | '403.gcc': 00:00:55 (55)
'483.xalancbmk': 00:02:20 (140) | '483.xalancbmk': 00:02:24 (144)
'416.gamess': 00:02:36 (156) | '416.gamess': 00:02:37 (157)
'435.gromacs': 00:00:18 (18) | '435.gromacs': 00:00:19 (19)
'447.dealII': 00:01:31 (91) | '447.dealII': 00:01:33 (93)
'453.povray': 00:04:54 (294) | '453.povray': 00:08:54 (534)
'454.calculix': 00:00:34 (34) | '454.calculix': 00:00:52 (52)
'481.wrf': 00:01:57 (117) | '481.wrf': 00:01:59 (119)
other benchmarks are unchanged. I'm double-checking now that a followup
patch I have which re-implements BB vectorization dependence checking
fixes this (that's the only quadraticness I know of).
Fixes all but
'453.povray': 00:04:54 (294) | '453.povray': 00:06:46 (406)
453.povray is mine, related to the FSM bits.
jeff