re PR target/89369 (pseudo-RNG miscompiled on s390x-linux with -O2 -march=zEC12 ...
authorJakub Jelinek <jakub@redhat.com>
Mon, 18 Feb 2019 11:20:43 +0000 (12:20 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 18 Feb 2019 11:20:43 +0000 (12:20 +0100)
commit290dfd9bc7bea2f102f29723d20674f1b57332f1
treee5df51ca84ece4a9de36fd386608eed8396321e6
parenta10e76edcee03f7c0a5136a6e4b1ac483ee0d70f
re PR target/89369 (pseudo-RNG miscompiled on s390x-linux with -O2 -march=zEC12 -mtune=z13 starting with r266203)

PR target/89369
* config/s390/s390.md (*r<noxa>sbg_<mode>_srl_bitmask,
*r<noxa>sbg_<mode>_sll, *r<noxa>sbg_<mode>_srl): Don't construct
pattern in a temporary buffer.
(*r<noxa>sbg_sidi_srl): Likewise.  Always use 32 as I3 rather
than 64-operands[2].

* gcc.c-torture/execute/pr89369.c: New test.
* gcc.target/s390/md/rXsbg_mode_sXl.c (rosbg_si_srl,
rxsbg_si_srl): Expect last 3 operands 32,63,62 rather than
34,63,62.

From-SVN: r268984
gcc/ChangeLog
gcc/config/s390/s390.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr89369.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/md/rXsbg_mode_sXl.c