tree-vect-generic: Fix bitfield widths [PR94980 3/3]
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 12 May 2020 08:01:13 +0000 (09:01 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 12 May 2020 08:01:13 +0000 (09:01 +0100)
commit4c0283b9ad75b128b79c507d78d678123fe9f471
tree577ba5e88c800118e7a7ebdf085ad2639c61ffe4
parent14605b6bd8c37fffd8065c5c3fe6b1b9d7b2a294
tree-vect-generic: Fix bitfield widths [PR94980 3/3]

This third patch of three actually fixes the PR.  We were using
8-bit BIT_FIELD_REFs to access single-bit elements, and multiplying
the vector index by 8 bits rather than 1 bit.

2020-05-12  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
PR tree-optimization/94980
* tree-vect-generic.c (expand_vector_comparison): Use
vector_element_bits_tree to get the element size in bits,
rather than using TYPE_SIZE.
(expand_vector_condition, vector_element): Likewise.

gcc/testsuite/
PR tree-optimization/94980
* gcc.target/i386/pr94980.c: New test.
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr94980.c [new file with mode: 0644]
gcc/tree-vect-generic.c