From f668cd6f2be34526a20dcedff00cac876c6760c6 Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Mon, 5 May 2014 07:53:35 +0000 Subject: [PATCH] hoist-register-pressure-1.c: Replace int with long. 2014-05-05 Andreas Krebbel * gcc.dg/hoist-register-pressure-1.c: Replace int with long. Disable asm scan for s390. * gcc.dg/hoist-register-pressure-2.c: Likewise. * gcc.dg/hoist-register-pressure-3.c: Likewise. From-SVN: r210060 --- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/gcc.dg/hoist-register-pressure-1.c | 14 +++++++++----- gcc/testsuite/gcc.dg/hoist-register-pressure-2.c | 14 +++++++++----- gcc/testsuite/gcc.dg/hoist-register-pressure-3.c | 14 +++++++++----- 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8cbc790..d64a06f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-05-05 Andreas Krebbel + + * gcc.dg/hoist-register-pressure-1.c: Replace int with long. + Disable asm scan for s390. + * gcc.dg/hoist-register-pressure-2.c: Likewise. + * gcc.dg/hoist-register-pressure-3.c: Likewise. + 2014-05-05 Bin Cheng PR tree-optimization/60363 diff --git a/gcc/testsuite/gcc.dg/hoist-register-pressure-1.c b/gcc/testsuite/gcc.dg/hoist-register-pressure-1.c index f5b5302..4aabcb7 100644 --- a/gcc/testsuite/gcc.dg/hoist-register-pressure-1.c +++ b/gcc/testsuite/gcc.dg/hoist-register-pressure-1.c @@ -1,14 +1,18 @@ /* { dg-options "-Os -fdump-rtl-hoist" } */ -/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" { target { nonpic } } } } */ +/* The rtl hoist pass requires that the expression to be hoisted can + be assigned without clobbering cc. For a PLUS rtx on S/390 this + requires a load address instruction which is fine on 64 bit but + cannot be used on 31 bit since it does a 31 bit add only. */ +/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" { target { { ! s390-*-* } && nonpic } } } } */ /* { dg-final { cleanup-rtl-dump "hoist" } } */ #define BUF 100 -int a[BUF]; +long a[BUF]; -void com (int); -void bar (int); +void com (long); +void bar (long); -int foo (int x, int y, int z) +long foo (long x, long y, long z) { /* "x+y" won't be hoisted if "-fira-hoist-pressure" is disabled, because its rtx_cost is too small. */ diff --git a/gcc/testsuite/gcc.dg/hoist-register-pressure-2.c b/gcc/testsuite/gcc.dg/hoist-register-pressure-2.c index 30408f3..f1c927e 100644 --- a/gcc/testsuite/gcc.dg/hoist-register-pressure-2.c +++ b/gcc/testsuite/gcc.dg/hoist-register-pressure-2.c @@ -1,14 +1,18 @@ /* { dg-options "-Os -fdump-rtl-hoist" } */ -/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" } } */ +/* The rtl hoist pass requires that the expression to be hoisted can + be assigned without clobbering cc. For a PLUS rtx on S/390 this + requires a load address instruction which is fine on 64 bit but + cannot be used on 31 bit since it does a 31 bit add only. */ +/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" { target { ! s390-*-* } } } } */ /* { dg-final { cleanup-rtl-dump "hoist" } } */ #define BUF 100 -int a[BUF]; +long a[BUF]; -void com (int); -void bar (int); +void com (long); +void bar (long); -int foo (int x, int y, int z) +long foo (long x, long y, long z) { /* "x+y" won't be hoisted if "-fira-hoist-pressure" is disabled, because its rtx_cost is too small. */ diff --git a/gcc/testsuite/gcc.dg/hoist-register-pressure-3.c b/gcc/testsuite/gcc.dg/hoist-register-pressure-3.c index b050f89..24abaa6 100644 --- a/gcc/testsuite/gcc.dg/hoist-register-pressure-3.c +++ b/gcc/testsuite/gcc.dg/hoist-register-pressure-3.c @@ -1,14 +1,18 @@ /* { dg-options "-Os -fdump-rtl-hoist" } */ -/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" } } */ +/* The rtl hoist pass requires that the expression to be hoisted can + be assigned without clobbering cc. For a PLUS rtx on S/390 this + requires a load address instruction which is fine on 64 bit but + cannot be used on 31 bit since it does a 31 bit add only. */ +/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" { target { ! s390-*-* } } } } */ /* { dg-final { cleanup-rtl-dump "hoist" } } */ #define BUF 100 -int a[BUF]; +long a[BUF]; -void com (int); -void bar (int); +void com (long); +void bar (long); -int foo (int x, int y, int z) +long foo (long x, long y, long z) { /* "x+y" won't be hoisted if "-fira-hoist-pressure" is disabled, because its rtx_cost is too small. */ -- 2.7.4