On Fri, 20 Jan 2017, Nick Clifton wrote: > Hi Guys, > > [I have been asked to look at this PR in the hopes that it can be > fixed soon and so no longer act as a blocker for the gcc 7 branch]. > > It seems to me that Richard's proposed patch does work: > > https://gcc.gnu.org/ml/gcc-patches/2016-11/msg00909.html > > The only problem is that the check_effective_target_vect_hw_misalign > proc is always returning 0 (or false) for ARM, even when unaligned > vectors are supported. This is why Richard's patch introduces a new > failure for the arm-* targets. > > So what I would like to suggest is an extended patch (attached) which > also updates the check_effective_target_vect_hw_misalign proc to use > the check_effective_target_arm_vect_no_misalign proc. With this patch > applied not only does the gcc.dg/vect/vect-strided-a-u8-i2-gap.c test > for both big-endian and little-endian arm targets, but there is also a > significant reduction in the number of failures in the gcc.dg/vect > tests overall: > > Little Endian ARM: > < # of expected passes 3275 > < # of unexpected failures 63 > < # of unexpected successes 125 > < # of expected failures 123 > < # of unsupported tests 153 > --- > > # of expected passes 3448 > > # of unexpected failures 2 > > # of unexpected successes 14 > > # of expected failures 131 > > # of unsupported tests 151 > > Big Endian ARM: > < # of expected passes 2995 > < # of unexpected failures 269 > < # of unexpected successes 21 > < # of expected failures 128 > --- > > # of expected passes 3037 > > # of unexpected failures 127 > > # of unexpected successes 24 > > # of expected failures 228 > > Which looks like a win to me. So - any objections to my applying this > patch and then closing the PR ?
Ok. Thanks, Richard. > Cheers > Nick > > gcc/ChangeLog > 2017-01-20 Richard Biener <rguent...@suse.de> > Nick Clifton <ni...@redhat.com> > > PR testsuite/78421 > * lib/target-supports.exp (check_effective_target_vect_hw_misalign): > If the target is ARM return the result of the > check_effective_target_arm_vect_no_misalign proc. > * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: If the target does not > support unaligned vectors then only expect one of the loops to be > unrolled. > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)