Restore correct iv step for fully-masked loops
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 18 Jun 2019 09:18:17 +0000 (09:18 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 18 Jun 2019 09:18:17 +0000 (09:18 +0000)
commitfcae0292de06aeb54c44d26cfb80d798df60e339
treef98a62e46bca2b433c2c6b950f710a6af3f1183c
parenta9e47ccf267fb088b004461c29e2daf9167bd102
Restore correct iv step for fully-masked loops

r272233 introduced a large number of execution failures on SVE.
The patch hard-coded an IV step of VF, but for SLP groups it needs
to be VF * group size.

Also, iv_precision had type widest_int but only needs to be unsigned int.

2019-06-18  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* tree-vect-loop-manip.c (vect_set_loop_masks_directly): Remove
vf parameter.  Restore the previous iv step of nscalars_step,
but give it iv_type rather than compare_type.  Tweak code order
to match the comments.
(vect_set_loop_condition_masked): Update accordingly.
* tree-vect-loop.c (vect_verify_full_masking): Use "unsigned int"
for iv_precision.  Tweak comment formatting.

From-SVN: r272411
gcc/ChangeLog
gcc/tree-vect-loop-manip.c
gcc/tree-vect-loop.c