This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix up split-path-11.c testcase (Re: [committed] [PR tree-optimization/80520] Throttle path splitting slightly.)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 11 Dec 2018 18:15:00 +0100
- Subject: [PATCH] Fix up split-path-11.c testcase (Re: [committed] [PR tree-optimization/80520] Throttle path splitting slightly.)
- References: <2bac4239-d7ef-7555-a362-cfddc6bde931@redhat.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Mon, Dec 10, 2018 at 09:56:46PM -0700, Jeff Law wrote:
> commit d90b13427e4940adabc4320c68ca88513dee2eef
> Author: Jeff Law <law@redhat.com>
> Date: Mon Dec 10 21:46:41 2018 -0700
>
> PR tree-optimization/80520
> * gimple-ssa-split-paths.c (is_feasible_trace): Recognize half
> diamonds that are likely if convertable.
>
> * gcc.dg/tree-ssa/split-path-5.c: Update expected output.
> * gcc.dg/tree-ssa/split-path-11.c: New test.
>
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/split-path-11.c
> @@ -0,0 +1,14 @@
> +/* { dg-do compile } */
> +/* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details -w" } */
> +
> +void foo(unsigned long *M)
> +{
> + for (unsigned long k = 0; k < 227; ++k)
> + {
> + unsigned long y =
> + ((M[k] & 0xffffffff80000000) | (M[k + 1] & 0x7fffffff));
> + M[k] = (M[k + 397] ^ (y >> 1) ^ ((y & 1) ? 2567483615 : 0));
> + }
> +}
> +
> +/* { dg-final { scan-tree-dump-times "join point for if-convertable half-diamond" 1 "split-paths" } } */
This testcase fails on ILP32 targets like i?86-linux*.
Fixed thusly, ok for trunk?
2018-12-11 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/80520
* gcc.dg/tree-ssa/split-path-11.c (foo): Make the test ilp32 target
clean.
--- gcc/testsuite/gcc.dg/tree-ssa/split-path-11.c.jj 2018-12-11 11:02:09.009065808 +0100
+++ gcc/testsuite/gcc.dg/tree-ssa/split-path-11.c 2018-12-11 18:10:33.811169259 +0100
@@ -1,13 +1,13 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details -w" } */
-void foo(unsigned long *M)
+void foo(unsigned long long *M)
{
- for (unsigned long k = 0; k < 227; ++k)
+ for (unsigned long long k = 0; k < 227; ++k)
{
- unsigned long y =
- ((M[k] & 0xffffffff80000000) | (M[k + 1] & 0x7fffffff));
- M[k] = (M[k + 397] ^ (y >> 1) ^ ((y & 1) ? 2567483615 : 0));
+ unsigned long long y =
+ ((M[k] & 0xffffffff80000000ULL) | (M[k + 1] & 0x7fffffffULL));
+ M[k] = (M[k + 397] ^ (y >> 1) ^ ((y & 1) ? 2567483615ULL : 0));
}
}
Jakub