match.pd: Fix sve/vcond_3.c
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 8 Apr 2021 16:39:11 +0000 (17:39 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 8 Apr 2021 16:39:11 +0000 (17:39 +0100)
commit5240c5ca2e2b1f362670791df233c4103d87cf5b
tree2637536bf4b422067ce3a3c6b2150d79b300e631
parent9f74f9cf47ed9d65e65a06378041e9dd5698e49d
match.pd: Fix sve/vcond_3.c

The sve/vcond_3.c tests had started to fail after PR97690/99305,
because we were generating:

  a = VEC_COND_EXPR <cond, { 0, ... }, { 1, ... }>;
  b = a << 15;

instead of:

  a = VEC_COND_EXPR <cond, { 0, ... }, { 1<<15, ... }>;

We already have a match.pd rule to handle this kind of thing,
but it didn't handle shifts.

gcc/
* match.pd: Extend vec_cond folds to handle shifts.
gcc/match.pd