diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2020-09-09 01:23:51 +0200 |
---|---|---|
committer | Ilya Leoshkevich <iii@linux.ibm.com> | 2020-09-15 19:30:37 +0200 |
commit | d1a31689a736cdfb5e7cfa01f1168e338510e63b (patch) | |
tree | 0c90ca9e27c98e4402580771fa12ccb264fb115e /gcc/tree-vectorizer.c | |
parent | d876184c095d6ac41e64eaf4e2c78864d2d935c1 (diff) | |
download | gcc-d1a31689a736cdfb5e7cfa01f1168e338510e63b.zip gcc-d1a31689a736cdfb5e7cfa01f1168e338510e63b.tar.gz gcc-d1a31689a736cdfb5e7cfa01f1168e338510e63b.tar.bz2 |
rtlanal: fix subreg handling in set_noop_p ()
The following s390 rtx is errneously considered a no-op:
(set (subreg:DF (reg:TF %f0) 8) (subreg:DF (reg:V1TF %f0) 8))
Here, SET_DEST is a second register in a floating-point register pair,
and SET_SRC is the second half of a vector register, so they refer to
different bits.
Fix by treating subregs of registers in different modes conservatively.
gcc/ChangeLog:
2020-09-11 Ilya Leoshkevich <iii@linux.ibm.com>
* rtlanal.c (set_noop_p): Treat subregs of registers in
different modes conservatively.
Diffstat (limited to 'gcc/tree-vectorizer.c')
0 files changed, 0 insertions, 0 deletions