diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-11-21 21:45:59 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-11-21 21:45:59 +0100 |
commit | 4fd723f869c976c27d9140e36cd79df49032efc6 (patch) | |
tree | 595666e7fc98a7a9cd4c3e84ca623e3be1c8a63b /gcc | |
parent | 96af90b5d6f0a29d09627bba215ffe2f2d638f3e (diff) | |
download | gcc-4fd723f869c976c27d9140e36cd79df49032efc6.zip gcc-4fd723f869c976c27d9140e36cd79df49032efc6.tar.gz gcc-4fd723f869c976c27d9140e36cd79df49032efc6.tar.bz2 |
re PR rtl-optimization/85925 (compilation of masking with 257 goes wrong in combine at -02)
PR rtl-optimization/85925
* gcc.c-torture/execute/20181120-1.c: Require effective target
int32plus.
(u): New variable.
(main): Compare d against u.f1 rather than 0x101. Use 0x4030201
instead of 0x10101.
From-SVN: r266357
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20181120-1.c | 6 |
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a25a24b..d43adb4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2018-11-21 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/85925 + * gcc.c-torture/execute/20181120-1.c: Require effective target + int32plus. + (u): New variable. + (main): Compare d against u.f1 rather than 0x101. Use 0x4030201 + instead of 0x10101. + 018-11-21 Lokesh Janghel <lokeshjanghel91@gmail.com> PR target/85667 diff --git a/gcc/testsuite/gcc.c-torture/execute/20181120-1.c b/gcc/testsuite/gcc.c-torture/execute/20181120-1.c index 21e5f7a..da3d455 100644 --- a/gcc/testsuite/gcc.c-torture/execute/20181120-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/20181120-1.c @@ -1,4 +1,5 @@ /* PR rtl-optimization/85925 */ +/* { dg-require-effective-target int32plus } */ /* Testcase by <sudi@gcc.gnu.org> */ int a, c, d; @@ -9,17 +10,18 @@ union U1 { unsigned f0; unsigned f1 : 15; }; +volatile union U1 u = { 0x4030201 }; int main (void) { for (c = 0; c <= 1; c++) { - union U1 f = {0x10101}; + union U1 f = {0x4030201}; if (c == 1) b; *e = f.f1; } - if (d != 0x101) + if (d != u.f1) __builtin_abort (); return 0; |