re PR tree-optimization/90510 (Unnecessary permutation)
authorRichard Biener <rguenther@suse.de>
Tue, 21 May 2019 12:01:00 +0000 (12:01 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 21 May 2019 12:01:00 +0000 (12:01 +0000)
commit4f8b89f092467f9550cb2aa873c2e30ac809c08a
treed44631d84c87d1c813dd1788c15ca29337dbdf91
parent3b0657dce501046ebe11b7ba30653a41221f4797
re PR tree-optimization/90510 (Unnecessary permutation)

2019-05-21  Richard Biener  <rguenther@suse.de>

PR middle-end/90510
* fold-const.c (fold_read_from_vector): New function.
* fold-const.h (fold_read_from_vector): Declare.
* match.pd (VEC_PERM_EXPR): Build BIT_INSERT_EXPRs for
single-element insert permutations.  Canonicalize selector
further and fix issue with last commit.

* gcc.target/i386/pr90510.c: New testcase.

From-SVN: r271463
gcc/ChangeLog
gcc/fold-const.c
gcc/fold-const.h
gcc/match.pd
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr90510.c [new file with mode: 0644]