Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-12 Thread Paolo Bonzini

 Paolo,
 
 bootstrap finished OK on alpha, regression test results are at [1].
 There are unrelated errors with random libc++ tests and HJ's PR39323
 testcase. Do not mind the timeouts.

Great -- my testsuite comparison also finished with not a single
difference, which is good.

Paolo


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-11 Thread Uros Bizjak

Uros Bizjak wrote:


I created the cond-optab svn branch and finished committing the
cond-optab patches to it.  I also documented it in svn.html.

To aid testing, I'd like people to help bootstrapping bootstrappable

targets -- arm, alpha, ia64, pa, s390, x86_64.



I can bootstrap on CompileFarm alpha machine. Unfortunatelly, the
machine ran out of disk space, so I'm actually waiting for a quota
update to re-run the bootstrap. Added Laurent to Cc.
  

Paolo,

bootstrap finished OK on alpha, regression test results are at [1]. 
There are unrelated errors with random libc++ tests and HJ's PR39323 
testcase. Do not mind the timeouts.


[1] http://gcc.gnu.org/ml/gcc-testresults/2009-04/msg01146.html

Uros.



Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-09 Thread Paolo Bonzini
 r145655: http://gcc.gnu.org/ml/gcc-patches/2009-04/msg00492.html (testsuite)
 
 What's the point of the compile-only tests?  It would be much more
 useful to have tests that execute and check that the results are
 correct for a variety of input values.

That's true.  I went for compile-only because it was easier to generate
them and because I am aiming at equal assembly output (so execution
tests are not very important to me).

I may work in the future on automatically generated execution tests like
those, but that's what I needed now and I figured it was better to post
those than nothing.  But I see your point.

Paolo


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-09 Thread Andreas Krebbel
Hi,

 r145594: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (s390)

The cond-optab branch (rev. 145751) fails to bootstrap on s390x:

/build2/gcc-condoptab/libgcc/../gcc/libgcc2.c: In function '__fixunsdfti':
/build2/gcc-condoptab/libgcc/../gcc/libgcc2.c:1266: internal compiler error: in 
prepare_cmp_insn, at optabs.c:4206

I'll have look at it next week.

Bye,

-Andreas-


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-09 Thread Paolo Bonzini
Andreas Krebbel wrote:
 Hi,
 
 r145594: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (s390)

Note this patch is unrelated and only affects sync.md patterns.

 The cond-optab branch (rev. 145751) fails to bootstrap on s390x:
 
 /build2/gcc-condoptab/libgcc/../gcc/libgcc2.c: In function '__fixunsdfti':
 /build2/gcc-condoptab/libgcc/../gcc/libgcc2.c:1266: internal compiler error: 
 in prepare_cmp_insn, at optabs.c:4206

What target?  I do not have fixunsdfti here, only fixunsdf{si,di}.

Paolo


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-09 Thread Paolo Bonzini
Paolo Bonzini wrote:
 Andreas Krebbel wrote:
 Hi,

 r145594: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (s390)
 
 Note this patch is unrelated and only affects sync.md patterns.
 
 The cond-optab branch (rev. 145751) fails to bootstrap on s390x:

 /build2/gcc-condoptab/libgcc/../gcc/libgcc2.c: In function '__fixunsdfti':
 /build2/gcc-condoptab/libgcc/../gcc/libgcc2.c:1266: internal compiler error: 
 in prepare_cmp_insn, at optabs.c:4206
 
 What target?  I do not have fixunsdfti here, only fixunsdf{si,di}.

I can reproduce it with _fixunsdfdi.o too.

Paolo


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-09 Thread Paolo Bonzini
Paolo Bonzini wrote:
 Andreas Krebbel wrote:
 Hi,

 r145594: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (s390)
 
 Note this patch is unrelated and only affects sync.md patterns.
 
 The cond-optab branch (rev. 145751) fails to bootstrap on s390x:

 /build2/gcc-condoptab/libgcc/../gcc/libgcc2.c: In function '__fixunsdfti':
 /build2/gcc-condoptab/libgcc/../gcc/libgcc2.c:1266: internal compiler error: 
 in prepare_cmp_insn, at optabs.c:4206
 
 What target?  I do not have fixunsdfti here, only fixunsdf{si,di}.

Fixed like this:

Index: gcc/optabs.c
===
--- gcc/optabs.c(branch cond-optab)
+++ gcc/optabs.c(working copy)
@@ -4026,6 +4026,8 @@ prepare_cmp_insn (rtx x, rtx y, enum rtx
   /* Don't let both operands fail to indicate the mode.  */
   if (GET_MODE (x) == VOIDmode  GET_MODE (y) == VOIDmode)
 x = force_reg (mode, x);
+  if (mode == VOIDmode)
+mode = GET_MODE (x) == VOIDmode ? GET_MODE (x) : GET_MODE (y);

   /* Handle all BLKmode compares.  */


... which I'll commit in a few hours to cond-optab branch.

Thanks!

Paolo


RE: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-09 Thread Ramana Radhakrishnan


 -Original Message-
 From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On Behalf Of
 Ramana Radhakrishnan
 Sent: 08 April 2009 23:30
 To: Paolo Bonzini
 Cc: GCC Development; Ian Lance Taylor; Andreas Krebbel; Uros Bizjak
 Subject: Re: [cond-optab] svn branch created, looking for reviews for
 the cleanup parts
 
 On Tue, Apr 7, 2009 at 11:03 AM, Ramana Radhakrishnan
 raman...@gmail.com wrote:
  To aid testing, I'd like people to help bootstrapping bootstrappable
  targets -- arm, alpha, ia64, pa, s390, x86_64.
 
  I'm bootstrapping the branch on an arm-linux-gnueabi target.
 
 bootstrap on arm-linux-gnueabi completed. Regression testing C, C++
 now but the regression tests are still running. This is as of revision
 145659 because the tester on the compile farm can be slightly slow.

I am seeing a few regressions with respect to trunk of a recent vintage.

The bulk of the failures hit the following ICE. 

/home/ramana/build-cond-optab/gcc/xgcc -B/home/ramana/build-cond-optab/gcc/
-O0  -w -c  -o pr37285.o
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/compile/pr37285.c
(timeout = \
300)
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/compile/pr37285.c: In
function '_bfd_xcoff_canonicalize_dynamic_reloc':^M
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/compile/pr37285.c:14:
error: unrecognizable insn:^M
(insn 26 25 27 9
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/compile/pr37285.c:5 (set
(reg:CC 24 cc)^M
(compare:CC (plus:SI (reg:SI 0 r0)^M
(const_int 1 [0x1]))^M
(const_int 1 [0x1]))) -1 (nil))^M
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/compile/pr37285.c:14:
internal compiler error: in extract_insn, at recog.c:2074^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M
See http://gcc.gnu.org/bugs.html for instructions.^M
compiler exited with status 1

Here's a list of the tests that fail with this error message. Ofcourse you'd
count the execute tests as being twice which causes this to account for
about 28 failures + 3 compile failures = 31. The remainder are
limits-fncdef.c 

/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/compile/pr37285.c:14:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/compile/pr37285.c:14:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/compile/pr37285.c:14:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/930111-1.c:22:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/930111-1.c:22:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:
/home/ramana/cond-optab/gcc/testsuite/gcc.c-torture/execute/pr34154.c:8:
error: unrecognizable insn:

The other failures are with cc1 running out of VM which is a problem with
certain cases like limits*.c.


cheers
Ramana

---
Ramana Radhakrishnan
GNU Tools
ARM Ltd.





Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-09 Thread Michael Matz
Hi,

On Thu, 9 Apr 2009, Paolo Bonzini wrote:

 Fixed like this:
 
 Index: gcc/optabs.c
 ===
 --- gcc/optabs.c(branch cond-optab)
 +++ gcc/optabs.c(working copy)
 @@ -4026,6 +4026,8 @@ prepare_cmp_insn (rtx x, rtx y, enum rtx
/* Don't let both operands fail to indicate the mode.  */
if (GET_MODE (x) == VOIDmode  GET_MODE (y) == VOIDmode)
  x = force_reg (mode, x);
 +  if (mode == VOIDmode)
 +mode = GET_MODE (x) == VOIDmode ? GET_MODE (x) : GET_MODE (y);

I think you want
  mode = GET_MODE (x) == VOIDmode ? GET_MODE (y) : GET_MODE (x);
(swap x and y).


Ciao,
Michael.


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-09 Thread Paolo Bonzini

 I am seeing a few regressions with respect to trunk of a recent vintage.

Thanks, they are not there on arm-elf but I could indeed reproduce them
with arm-linux-gnueabi.  Here is a patch which I am committing to
cond-optab branch.

Paolo
2009-04-09  Paolo Bonzini  bonz...@gnu.org

* optabs.c (prepare_cmp_insn): Simplify flow for libcall case,
recurse on integer case too.

Index: gcc/optabs.c
===
--- gcc/optabs.c(branch cond-optab)
+++ gcc/optabs.c(working copy)
@@ -4150,12 +4150,14 @@ prepare_cmp_insn (rtx x, rtx y, enum rtx
   if (methods != OPTAB_LIB_WIDEN)
 goto fail;
 
-  /* Handle a lib call just for the mode we are using.  */
-  libfunc = optab_libfunc (cmp_optab, mode);
-  if (libfunc  !SCALAR_FLOAT_MODE_P (mode))
+  if (!SCALAR_FLOAT_MODE_P (mode))
 {
   rtx result;
 
+  /* Handle a lib call just for the mode we are using.  */
+  libfunc = optab_libfunc (cmp_optab, mode);
+  gcc_assert (libfunc);
+
   /* If we want unsigned, and this mode has a distinct unsigned
 comparison routine, use that.  */
   if (unsignedp)
@@ -4188,13 +4190,13 @@ prepare_cmp_insn (rtx x, rtx y, enum rtx
y = const0_rtx;
}
 
-  *ptest = gen_rtx_fmt_ee (comparison, word_mode, x, y);
   *pmode = word_mode;
-  return;
+  prepare_cmp_insn (x, y, comparison, NULL_RTX, unsignedp, methods,
+   ptest, pmode);
 }
+  else 
+prepare_float_lib_cmp (x, y, comparison, ptest, pmode);
 
-  gcc_assert (SCALAR_FLOAT_MODE_P (mode));
-  prepare_float_lib_cmp (x, y, comparison, ptest, pmode);
   return;
 
  fail:


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-08 Thread Janis Johnson
On Tue, 2009-04-07 at 12:32 +0200, Paolo Bonzini wrote:
 Thanks, this leaves out:
 
 r145593: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (i386)
 r145594: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (s390)
 r145597, r145598, r145599:
 http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00947.html (gen*)
 r145603: http://gcc.gnu.org/ml/gcc-patches/2009-04/msg00496.html (gen*, RTL)
 r145655: http://gcc.gnu.org/ml/gcc-patches/2009-04/msg00492.html (testsuite)

What's the point of the compile-only tests?  It would be much more
useful to have tests that execute and check that the results are
correct for a variety of input values.

Janis



Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-08 Thread Ramana Radhakrishnan
On Tue, Apr 7, 2009 at 11:03 AM, Ramana Radhakrishnan
raman...@gmail.com wrote:
 To aid testing, I'd like people to help bootstrapping bootstrappable
 targets -- arm, alpha, ia64, pa, s390, x86_64.

 I'm bootstrapping the branch on an arm-linux-gnueabi target.

bootstrap on arm-linux-gnueabi completed. Regression testing C, C++
now but the regression tests are still running. This is as of revision
145659 because the tester on the compile farm can be slightly slow.

cheers
Ramana

 Ramana



Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-07 Thread Richard Guenther
On Tue, Apr 7, 2009 at 11:55 AM, Paolo Bonzini bonz...@gnu.org wrote:
 I created the cond-optab svn branch and finished committing the
 cond-optab patches to it.  I also documented it in svn.html.

 The branch was bootstrapped i686-pc-linux-gnu and is identical to the
 tree that Kaz bootstrapped on sh4-linux.

 The rest of this message details the plans for merging and further
 testing of the branch.

 (Sorry for the continuous spamming of updates---but I really need
 reviewers now...)

 1. PATCHES READY TO BE MERGED
 =

 The following patches can be transported to mainline independent of the
 completion of the project.  I would like to merge these patches one at a
 time, so reviews for these are welcome now.

 r145601: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg01215.html (RTL)

This is also ok.

Thanks,
Richard.


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-07 Thread Ramana Radhakrishnan
 To aid testing, I'd like people to help bootstrapping bootstrappable
 targets -- arm, alpha, ia64, pa, s390, x86_64.

I'm bootstrapping the branch on an arm-linux-gnueabi target.

Ramana


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-07 Thread Laurent GUERBY
On Tue, 2009-04-07 at 12:37 +0200, Uros Bizjak wrote:
 On Tue, Apr 7, 2009 at 11:55 AM, Paolo Bonzini bonz...@gnu.org wrote:
 
  I created the cond-optab svn branch and finished committing the
  cond-optab patches to it.  I also documented it in svn.html.
 
  To aid testing, I'd like people to help bootstrapping bootstrappable
  targets -- arm, alpha, ia64, pa, s390, x86_64.
 
 I can bootstrap on CompileFarm alpha machine. Unfortunatelly, the
 machine ran out of disk space, so I'm actually waiting for a quota
 update to re-run the bootstrap. Added Laurent to Cc.

There's currently 4.3 GB free on gcc30:/home so you should
be able to bootstrap.

Sincerely,

Laurent




Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-07 Thread Richard Guenther
On Tue, Apr 7, 2009 at 11:55 AM, Paolo Bonzini bonz...@gnu.org wrote:
 I created the cond-optab svn branch and finished committing the
 cond-optab patches to it.  I also documented it in svn.html.

 The branch was bootstrapped i686-pc-linux-gnu and is identical to the
 tree that Kaz bootstrapped on sh4-linux.

 The rest of this message details the plans for merging and further
 testing of the branch.

 (Sorry for the continuous spamming of updates---but I really need
 reviewers now...)

 1. PATCHES READY TO BE MERGED
 =

 The following patches can be transported to mainline independent of the
 completion of the project.  I would like to merge these patches one at a
 time, so reviews for these are welcome now.


 r145595: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00546.html (expand)

This is ok.

 r145596: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00548.html (i386,
 s390, expand)

This is ok given no objection from the two affected targets maintainers
within 48h.

 r145600: http://gcc.gnu.org/ml/gcc-patches/2009-04/msg00497.html (expand)

This is ok.

 r145611: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00547.html (expand)

This is ok.

Supposed they bootstrap/test ok on trunk of course.

Thanks,
Richard.


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-07 Thread Uros Bizjak
On Tue, Apr 7, 2009 at 11:55 AM, Paolo Bonzini bonz...@gnu.org wrote:

 I created the cond-optab svn branch and finished committing the
 cond-optab patches to it.  I also documented it in svn.html.

 To aid testing, I'd like people to help bootstrapping bootstrappable
 targets -- arm, alpha, ia64, pa, s390, x86_64.

I can bootstrap on CompileFarm alpha machine. Unfortunatelly, the
machine ran out of disk space, so I'm actually waiting for a quota
update to re-run the bootstrap. Added Laurent to Cc.

Uros.


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-07 Thread Uros Bizjak
On Tue, Apr 7, 2009 at 11:55 AM, Paolo Bonzini bonz...@gnu.org wrote:

 The following patches can be transported to mainline independent of the
 completion of the project.  I would like to merge these patches one at a
 time, so reviews for these are welcome now.

 r145593: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (i386)

i386 part of the patch is OK (the patch also includes sparc and s390 bits).

Thanks,
Uros.


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-07 Thread Paolo Bonzini

 r145601: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg01215.html (RTL)
 
 This is also ok.

Thanks, I won't commit this until the final merge though because I
cannot really test it separately.

Paolo


Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-07 Thread Paolo Bonzini
Thanks, this leaves out:

r145593: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (i386)
r145594: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (s390)
r145597, r145598, r145599:
http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00947.html (gen*)
r145603: http://gcc.gnu.org/ml/gcc-patches/2009-04/msg00496.html (gen*, RTL)
r145655: http://gcc.gnu.org/ml/gcc-patches/2009-04/msg00492.html (testsuite)

Paolo



Re: [cond-optab] svn branch created, looking for reviews for the cleanup parts

2009-04-07 Thread Uros Bizjak
On Tue, Apr 7, 2009 at 12:46 PM, Laurent GUERBY laur...@guerby.net wrote:

  I created the cond-optab svn branch and finished committing the
  cond-optab patches to it.  I also documented it in svn.html.

  To aid testing, I'd like people to help bootstrapping bootstrappable
  targets -- arm, alpha, ia64, pa, s390, x86_64.

 I can bootstrap on CompileFarm alpha machine. Unfortunatelly, the
 machine ran out of disk space, so I'm actually waiting for a quota
 update to re-run the bootstrap. Added Laurent to Cc.

 There's currently 4.3 GB free on gcc30:/home so you should
 be able to bootstrap.

I have started a bootstrap of cond-optab branch on gcc-30. I would
like to ask other cfarm users to stay away of gcc30 for 4-5 days (it
takes this time for a bootstrap + regtest if everything goes OK).

Thanks,
Uros.