Fix vectorizable_live_operation handling of vector booleans
commitaa8a4b0bb66dbbcec3475929608eba447889571c
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Sep 2017 15:26:03 +0000 (18 15:26 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Sep 2017 15:26:03 +0000 (18 15:26 +0000)
tree35419b5f93ee6ecc7296335c8c6c3bb68672d001
parent865b21f47fefb0e96c002119df48c81a084ca174
Fix vectorizable_live_operation handling of vector booleans

vectorizable_live_operation needs to use BIT_FIELD_REF to extract one
element of a vector.  For a packed vector boolean type, the number of
bits to extract should be taken from TYPE_PRECISION rather than TYPE_SIZE.

This is shown by existing tests once SVE is added.

2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

gcc/
* tree-vect-loop.c (vectorizable_live_operation): Fix element size
calculation for vector booleans.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@252930 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/tree-vect-loop.c