Re: Some regressions from the dataflow merge

2007-06-14 Thread Richard Guenther
On Wed, 13 Jun 2007, Kenneth Zadeck wrote:

> Richard Guenther wrote:
> > On Tue, 12 Jun 2007, Richard Guenther wrote:
> >
> >   
> >> On ia64 SPEC2000 I see fma3d and applu now miscompare.
> >> 
> >
> > On x86_64 186.wupwise ICEs with -O2 -ffast-math and FDO:
> >
> > /gcc/spec/sb-haydn-fdo-64/x86_64/install-200706120559/bin/gfortran -c -o 
> > zscal.o-fprofile-use -O2 -ffast-math  zscal.f
> > Error from fdo_make_pass2 'specmake -j2 FDO=PASS2 build 2> 
> > fdo_make_pass2.err | tee fdo_make_pass2.out':
> > zgemm.f: In function 'zgemm':
> > zgemm.f:413: internal compiler error: in remove_insn, at emit-rtl.c:3597
> > Please submit a full bug report,
> > with preprocessed source if appropriate.
> > See http://gcc.gnu.org/bugs.html> for instructions.
> >
> > Likewise for 176.gcc:
> >
> > combine.c: In function 'simplify_comparison':
> > combine.c:9697: internal compiler error: in remove_insn, at 
> > emit-rtl.c:3597
> > Please submit a full bug report,
> > with preprocessed source if appropriate.
> > See http://gcc.gnu.org/bugs.html> for instructions.
> > specmake: *** [combine.o] Error 1
> >
> > Richard.
> >   
> Richard,
> 
> did these two regression go away?  We committed a change to gcse that
> should have fixed this bug.

These two are gone now.  The ia64 miscompares still are there.

Richard.


Bootstrap failure on trunk

2007-06-14 Thread Thomas Veith

Hi,

between r125680 and r125703 bootstrap is broken on trunk for at least 
i686-pc-liunx-gnu.


checking whether gcc supports -pedantic -Wno-long-long 
-Wno-variadic-macros -Wno-overlength-strings... no

configure: error: unknown check category release,yes
make[2]: *** [configure-stage1-gcc] Error 1
make[2]: Leaving directory `/home/xtv/gcc-devel/out'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/xtv/gcc-devel/out'
make: *** [bootstrap] Error 2

According to ChangeLog the configure-Scripts have been regenerated, maybe 
this is the reason for the failure..


2007-06-14  Paolo Bonzini  <[EMAIL PROTECTED]>

* acinclude.m4 (gcc_AC_CHECK_PROG_VER): Remove.
* aclocal.m4: Regenerate.
* configure.ac: Use ACX_PROG_CC_WARNING_OPTS,
ACX_PROG_CC_WARNINGS_ARE_ERRORS,
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_CHECK_PROG_VER.
* configure: Regenerate.

Best regards,
Thomas





Ian Taylor appoined non-algorithmic GWP

2007-06-14 Thread David Edelsohn
I am pleased to announce that the GCC Steering Committee has
appointed Ian Taylor as non-algorithmic Blanket/Global Write Privileges
maintainer.

Please join me in congratulating Ian on his
new role.  Please update your listings in the MAINTAINERS file.

Happy hacking!
David



Diego Novillo appointed middle-end maintainer and non-algorithmic GWP

2007-06-14 Thread David Edelsohn
I am pleased to announce that the GCC Steering Committee has
promoted Diego Novillo to middle-end maintainer and appointed him
non-algorithmic Blanket/Global Write Privileges maintainer.

Please join me in congratulating Diego on his
new role.  Please update your listings in the MAINTAINERS file.

Happy hacking!
David



r125698 breaks bootstrap on trunk for i686-pc-linux-gnu

2007-06-14 Thread Thomas Veith

Hi *,

binary search revealed that r125698 breaks bootstrap on trunk for 
i686-pc-linux-gnu.


Best regards,
Thomas


[PATCH] Fix breakage

2007-06-14 Thread Paolo Bonzini

Sorry, I committed the wrong version of the patch.

2007-06-14  Paolo Bonzini  <[EMAIL PROTECTED]>

* configure.ac: Fix earlier checkin.
* configure: Regenerate.

Index: configure.ac
===
--- configure.ac(revision 125700)
+++ configure.ac(working copy)
@@ -358,7 +358,7 @@ else
   ac_checking_flags=release
 fi])
 IFS="${IFS=}"; ac_save_IFS="$IFS"; IFS="$IFS,"
-for check in release,$ac_checking_flags
+for check in release $ac_checking_flags
 do
case $check in
# these set all the flags to specific states



Re: Diego Novillo appointed middle-end maintainer and non-algorithmic GWP

2007-06-14 Thread Diego Novillo
On 6/14/07 6:37 AM, David Edelsohn wrote:

> Please update your listings in the MAINTAINERS file.

Thanks.  Committed.

* MAINTAINERS: Add self as middle-end maintainer and
non-algorithmic global write maintainer.

Index: MAINTAINERS
===
--- MAINTAINERS (revision 125706)
+++ MAINTAINERS (working copy)
@@ -192,6 +192,7 @@
 testsuite  Janis Johnson   [EMAIL PROTECTED]
 middle-end Roger Sayle [EMAIL PROTECTED]
 middle-end Ian Lance Taylor[EMAIL PROTECTED]
+middle-end Diego Novillo   [EMAIL PROTECTED]
 tree-ssa   Diego Novillo   [EMAIL PROTECTED]
 tree-ssa   Andrew MacLeod  [EMAIL PROTECTED]
 PREDaniel Berlin   [EMAIL PROTECTED]
@@ -221,6 +222,7 @@
 loop optimizer Daniel Berlin   [EMAIL PROTECTED]
 middle-end Richard Guenther[EMAIL PROTECTED]
 libcpp Tom Tromey  [EMAIL PROTECTED]
+blanket write  Diego Novillo   [EMAIL PROTECTED]

 Note that individuals who maintain parts of the compiler as non-algorithmic
 maintainers need approval to check in algorithmic changes or changes


Re: maybe configure.ac problem ?

2007-06-14 Thread Basile STARYNKEVITCH

Basile STARYNKEVITCH wrote:



Hello all,

While trying to compile the trunk gcc (svn rev 125703) on my 
Debian/Sid/AMD64, I got the following problem,



Sorry for the noise. This is being discussed on the gcc-patch list.

http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00940.html
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00958.html

Regards with my apologies!

--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basilestarynkevitchnet mobile: +33 6 8501 2359
8, rue de la Faïencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***



maybe configure.ac problem ?

2007-06-14 Thread Basile STARYNKEVITCH



Hello all,

While trying to compile the trunk gcc (svn rev 125703) on my 
Debian/Sid/AMD64, I got the following problem, which happens even when 
configuring in an empty build directory _Obj/

cd /usr/src/Lang/gcc-trunk/_Obj
/usr/src/Lang/gcc-trunk/configure '--disable-multilib' 
'--program-suffix=-snap' '--enable-maintainer-mode' 
'--enable-languages=c,c++'


checking size of long long... 8
checking for __int64... no
checking whether gcc supports -W... yes
checking whether gcc supports -Wall... yes
checking whether gcc supports -Wwrite-strings... yes
checking whether gcc supports -Wstrict-prototypes... yes
checking whether gcc supports -Wmissing-prototypes... yes
checking whether gcc supports -Wc++-compat... yes
checking whether gcc supports -Wold-style-definition... yes
checking whether gcc supports -Wmissing-format-attribute... yes
checking whether gcc supports -pedantic -Wno-long-long 
-Wno-variadic-macros -Wno-overlength-strings... no

configure: error: unknown check category release,yes
make[2]: *** [configure-stage1-gcc] Error 1
make[2]: Leaving directory `/usr/src/Lang/gcc-trunk/_Obj'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/usr/src/Lang/gcc-trunk/_Obj'
make: *** [all] Error 2


This could be related to the IFS setting in gcc/configure.ac near line 360

my bash version is GNU bash, version 3.1.17(1)-release (x86_64-pc-linux-gnu)

my autoconf version is autoconf (GNU Autoconf) 2.61

Am I the only one to experiment this?

Regards.


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basilestarynkevitchnet mobile: +33 6 8501 2359
8, rue de la Faïencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***



How to submit Intel BID library patch?

2007-06-14 Thread H. J. Lu
We are ready to submit a patch for Intel BID library. We have 3 small
patches and a 2.4MB bz2 tar file for Intel BID library itself. I can

1. Send a 2.4MB bz2 tar file to gcc-patches.
2. Create a bid branch in svn.
3. Put it on kernel.org.

Which one is preferred?

With Intel BID library, we got 2 failures in unmodified DFP tests,
fe-convert-1.c and fe-convert-2.c, due to different exceptions
in Intel BID library vs. libdecnumber. The differences are

1.  When the input value is larger than the max value that fits in the 
destination format, it means overflow. In this case the IEEE 754R draft
specifies that both overflow and inexact exceptions should be signaled.
These are

CONVERT (101, d64, d32, 10.00e96DD, FE_INEXACT)
CONVERT (111, d128, d32, 10.00e96DL, FE_INEXACT)
CONVERT (121, d128, d64, 10.00E384DL, FE_INEXACT)

in testsuite/gcc.dg/dfp/fe-convert-1.c.  Libdecnumber doesn't signal
overflow and Intel BID library does. We believe Intel BID library is
correct.

2. For

CONVERT (100, d, d32, 1.0e96, 0)
CONVERT (102, d, d32, -1.0e96, 0)

in testsuite/gcc.dg/dfp/fe-convert-2.c. They expect the conversion
results to be exact. This is not correct. The input value 1.0e96
(or -1.0e96) is assigned the double precision value d. But this
is not representable exactly as a double precision value, so what we
store in d is an approximation of 1.0e96. The hex value for 1e96 is

0x77d9d58b62cd8a5162e7f4a779f5080f1c46d01ae478b23be1178e81

which does not fit in the 53-bit significand of a double. So when the
value stored in x, the value in x is really

149861653971908893017010268485438462151574892930611988399099305815384459015356416

This is close to 10^96, but not exactly 10^96. So the conversion of
this double to _Decimal32 is inexact (the result is indeed 10^96).
Intel BID library will signal FE_INEXACT in both cases.

Also Intel BID library passes those tests:

#if 0
/* These should result in fp exceptions but don't.  */
CONVERT (xxx, d, d32, 1.0e-96, FE_UNDERFLOW|FE_INEXACT)
CONVERT (xxx, d, d32, 0.00048828125, FE_INEXACT)  /* exact power of 2 */
#endif

in testsuite/gcc.dg/dfp/fe-convert-2.c. I'd like to enable them at
least for Intel BID library. I am enclosing the DFP testsuite
modifications here.  Should I condition all those changes based on
__DECIMAL_BID_FORMAT__?


H.J.

2007-06-14  H.J. Lu  <[EMAIL PROTECTED]>

* gcc.dg/dfp/fe-convert-1.c: Expect FE_OVERFLOW when converting
from 10.00e96DD to _Decimal32, from 10.00e96DL to
_Decimal32 and from 10.00E384DL to _Decimal64.

*  gcc.dg/dfp/fe-convert-2.c: Expect FE_INEXACT when converting
from 1.0e96 and -1.0e96 to _Decimal32. Enable testing for
converting from 1.0e-96 and 0.00048828125 to _Decimal32 when
BID is used.

--- gcc/testsuite/gcc.dg/dfp/fe-convert-1.c.dfp-test2007-05-25 
17:42:57.0 -0700
+++ gcc/testsuite/gcc.dg/dfp/fe-convert-1.c 2007-06-13 22:47:36.0 
-0700
@@ -14,13 +14,13 @@ volatile _Decimal128 d128;
is too large or the result can't hold the full precision.  */
 
 CONVERT (100, d64, d32, 9.99e96DD, 0)
-CONVERT (101, d64, d32, 10.00e96DD, FE_INEXACT)
+CONVERT (101, d64, d32, 10.00e96DD, FE_INEXACT|FE_OVERFLOW)
 CONVERT (102, d64, d32, 1.111DD, FE_INEXACT)
 CONVERT (110, d128, d32, 9.99e96DL, 0)
-CONVERT (111, d128, d32, 10.00e96DL, FE_INEXACT)
+CONVERT (111, d128, d32, 10.00e96DL, FE_INEXACT|FE_OVERFLOW)
 CONVERT (112, d128, d32, 1.111DL, FE_INEXACT)
 CONVERT (120, d128, d64, 9.999E384DL, 0)
-CONVERT (121, d128, d64, 10.00E384DL, FE_INEXACT)
+CONVERT (121, d128, d64, 10.00E384DL, FE_INEXACT|FE_OVERFLOW)
 CONVERT (122, d128, d64, 1.DL, FE_INEXACT)
 
 int
--- gcc/testsuite/gcc.dg/dfp/fe-convert-2.c.dfp-test2007-05-25 
17:42:57.0 -0700
+++ gcc/testsuite/gcc.dg/dfp/fe-convert-2.c 2007-06-13 22:47:36.0 
-0700
@@ -9,15 +9,15 @@
 volatile _Decimal32 d32;
 volatile double d;
 
-CONVERT (100, d, d32, 1.0e96, 0)
+CONVERT (100, d, d32, 1.0e96, FE_INEXACT)
 CONVERT (101, d, d32, 1.0e97, FE_OVERFLOW|FE_INEXACT) 
-CONVERT (102, d, d32, -1.0e96, 0)
+CONVERT (102, d, d32, -1.0e96, FE_INEXACT)
 CONVERT (103, d, d32, -1.0e97, FE_OVERFLOW|FE_INEXACT) 
 
-#if 0
-/* These should result in fp exceptions but don't.  */
-CONVERT (xxx, d, d32, 1.0e-96, FE_UNDERFLOW|FE_INEXACT)
-CONVERT (xxx, d, d32, 0.00048828125, FE_INEXACT)  /* exact power of 2 */
+#ifdef __DECIMAL_BID_FORMAT__
+/* These only result in fp exceptions with BID. DPD doesn't work.  */
+CONVERT (104, d, d32, 1.0e-96, FE_UNDERFLOW|FE_INEXACT)
+CONVERT (105, d, d32, 0.00048828125, FE_INEXACT)  /* exact power of 2 */
 #endif
 
 int
@@ -27,6 +27,10 @@ main ()
   convert_101 ();
   convert_102 ();
   convert_103 ();
+#ifdef __DECIMAL_BID_FORMAT__
+  convert_104 ();
+  convert_105 ();
+#endif
 
   if (failcnt != 0)
 abort ();


Re: Ian Taylor appoined non-algorithmic GWP

2007-06-14 Thread Ian Lance Taylor
David Edelsohn <[EMAIL PROTECTED]> writes:

>   I am pleased to announce that the GCC Steering Committee has
> appointed Ian Taylor as non-algorithmic Blanket/Global Write Privileges
> maintainer.
> 
>   Please join me in congratulating Ian on his
> new role.  Please update your listings in the MAINTAINERS file.

Thanks!

Updated as follows.

Ian


2007-06-14  Ian Lance Taylor  <[EMAIL PROTECTED]>

* MAINTAINERS: Add myself as non-algorithmic global write
maintainer.


Index: MAINTAINERS
===
--- MAINTAINERS (revision 125712)
+++ MAINTAINERS (working copy)
@@ -223,6 +223,7 @@ loop optimizer  Daniel Berlin   [EMAIL 
PROTECTED]
 middle-end Richard Guenther[EMAIL PROTECTED]
 libcpp Tom Tromey  [EMAIL PROTECTED]
 blanket write  Diego Novillo   [EMAIL PROTECTED]
+blanket write  Ian Lance Taylor[EMAIL PROTECTED]
 
 Note that individuals who maintain parts of the compiler as non-algorithmic
 maintainers need approval to check in algorithmic changes or changes


Re: Some regressions from the dataflow merge

2007-06-14 Thread Seongbae Park (박성배, 朴成培)

On 6/14/07, Richard Guenther <[EMAIL PROTECTED]> wrote:

On Wed, 13 Jun 2007, Kenneth Zadeck wrote:

> Richard Guenther wrote:
> > On Tue, 12 Jun 2007, Richard Guenther wrote:
> >
> >
> >> On ia64 SPEC2000 I see fma3d and applu now miscompare.
> >>
> >
> > On x86_64 186.wupwise ICEs with -O2 -ffast-math and FDO:
> >
> > /gcc/spec/sb-haydn-fdo-64/x86_64/install-200706120559/bin/gfortran -c -o
> > zscal.o-fprofile-use -O2 -ffast-math  zscal.f
> > Error from fdo_make_pass2 'specmake -j2 FDO=PASS2 build 2>
> > fdo_make_pass2.err | tee fdo_make_pass2.out':
> > zgemm.f: In function 'zgemm':
> > zgemm.f:413: internal compiler error: in remove_insn, at emit-rtl.c:3597
> > Please submit a full bug report,
> > with preprocessed source if appropriate.
> > See http://gcc.gnu.org/bugs.html> for instructions.
> >
> > Likewise for 176.gcc:
> >
> > combine.c: In function 'simplify_comparison':
> > combine.c:9697: internal compiler error: in remove_insn, at
> > emit-rtl.c:3597
> > Please submit a full bug report,
> > with preprocessed source if appropriate.
> > See http://gcc.gnu.org/bugs.html> for instructions.
> > specmake: *** [combine.o] Error 1
> >
> > Richard.
> >
> Richard,
>
> did these two regression go away?  We committed a change to gcse that
> should have fixed this bug.

These two are gone now.  The ia64 miscompares still are there.


I'm looking at it. It is either a scheduler problem,
or some other problem downstream triggered by the scheduler.
However, I'm having hard time adding fine-grained dbg_cnt to our scheduler
- do you know who might be interested in adding insn level
dbg_cnt in the scheduler ? Current dbg_cnt (sched_insn) causes ICE :(
--
#pragma ident "Seongbae Park, compiler, http://seongbae.blogspot.com";


Please fork soft-fp from libc

2007-06-14 Thread Uros Bizjak

Hello!

There was no response from libc maintainers about changing the type of 
soft-fp compares into CMPtype. This type should be defined to mode(word) 
or at least we should be able to redefine it outside the soft-fp, in 
target dependent sfp-target.h. As this is major obstacle in further 
development (complex numbers) and even in the usability of software FP 
as part of gcclib (TFmode compares return wrong values), I propose that 
we fork soft-fp from libc. Soft-fp already diverged from libc by 
inclusing TImode and TFmode conversions.


Otherwise, I propose that we disable TFmode support on x86_64 due to 
above problems with compares.


Thanks for considering this,
Uros.


Re: Merge PTR_PLUS branch?

2007-06-14 Thread Mark Mitchell
Andrew Pinski wrote:

> If you could review the C++ front-end changes, that would be nice.

Would you please point me at a URL for those changes?

Thanks,

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713


Re: Please fork soft-fp from libc

2007-06-14 Thread Joseph S. Myers
On Thu, 14 Jun 2007, Uros Bizjak wrote:

> There was no response from libc maintainers about changing the type of soft-fp
> compares into CMPtype. This type should be defined to mode(word) or at least

Take that matter with the glibc maintainers directly to RMS.

> we should be able to redefine it outside the soft-fp, in target dependent
> sfp-target.h. As this is major obstacle in further development (complex
> numbers) and even in the usability of software FP as part of gcclib (TFmode
> compares return wrong values), I propose that we fork soft-fp from libc.

Take that proposal directly to RMS.  Forking shared files is not a matter 
for the gcc list.

-- 
Joseph S. Myers
[EMAIL PROTECTED]


Re: Please fork soft-fp from libc

2007-06-14 Thread Joe Buck
On Thu, Jun 14, 2007 at 06:10:52PM +0200, Uros Bizjak wrote:
> There was no response from libc maintainers about changing the type of 
> soft-fp compares into CMPtype. This type should be defined to mode(word) 
> or at least we should be able to redefine it outside the soft-fp, in 
> target dependent sfp-target.h. As this is major obstacle in further 
> development (complex numbers) and even in the usability of software FP 
> as part of gcclib (TFmode compares return wrong values), I propose that 
> we fork soft-fp from libc. Soft-fp already diverged from libc by 
> inclusing TImode and TFmode conversions.
> 
> Otherwise, I propose that we disable TFmode support on x86_64 due to 
> above problems with compares.

The FSF has objected in the past to any discussions of forking glibc.  RMS
would (I believe) argue that what you're talking about is a glibc bug and
glibc should fix it, we shouldn't fork the routine to work around it.
After all, the FSF point of view is that GCC and glibc are both part of
the GNU project, despite the fact that from the GCC point of value, glibc
is only one possible C library, has older and newer versions, etc.

Also, we can't take a file from one FSF project and fork it in another
without FSF permission, particularly if it involves a license change but
even in other cases (because of the way they keep track of assignments).
Some think that this is an unnecessary PITA, but that's one of the things
we signed up for when we remerged egcs with the FSF, I'm afraid.

The SC could discuss this with RMS, but I think your second suggestion
might be wise in the short term if there isn't some other workaround.
Maybe we can just have RMS annoy the glibc folks until they accept
a patch to fix it.

But then we have the problem of all those old glibc's that are already
out there.  So maybe a fork is best after all, and RMS needs to be
talked into it.  Sigh.




RFA: (dataflow?) testsuite regression since last week

2007-06-14 Thread Bob Wilson

I'm still seeing two testsuite regressions for Xtensa compared to last
Friday:

gcc.c-torture/execute/920501-6.c
gcc.c-torture/execute/930921-1.c

Both tests fail at -O3 with "internal compiler error: in get_biv_step,
at loop-iv.c:792".  Neither the Xtensa port nor the loop-iv.c code has
changed since last week in a way that obviously affects this. I'm
suspecting it is somehow related to the dataflow merge, but I don't see any 
obvious connections there, either.


I'm not very familiar with loop-iv.c so I would appreciate help
figuring out how to fix this.

Here is what appears to be happening for 930921-1.c.  The test program is:

f (x)
 unsigned x;
{
  return (unsigned) (((unsigned long long) x * 0xAAAB) >> 32) >> 1;
}

main ()
{
  unsigned i;

  for (i = 0; i < 1; i++)
if (f (i) != i / 3)
  abort ();
  exit (0);
}

At -O3, function f is inlined into main and "x * 0xAAAB" is recognized as
a DImode induction variable.  I'm pretty sure the problem is related
to the lack of an adddi3 pattern in xtensa.md.  We rely on optabs.c to
expand DImode addition.  If I dump the RTL file, the induction
variable increment looks like:

;; ivtmp$55 = ivtmp$55 + 0x0aaab
(insn 26 25 27 930921-1.c:4 (set (reg:DI 50)
(mem/u/c/i:DI (symbol_ref/u:SI ("*.LC1") [flags 0x2]) [2 S8 A64])) -1 
(expr_list:REG_EQUAL (const_double -1431655765 [0xaaab] 0 [0x0] 0 [0x0] 0 
[0x0] 0 [0x0] 0 [0x0])

(nil)))

(insn 27 26 28 930921-1.c:4 (clobber (reg:DI 51)) -1 (nil))

(insn 28 27 29 930921-1.c:4 (set (subreg:SI (reg:DI 51) 4)
(plus:SI (subreg:SI (reg:DI 45 [ ivtmp$55 ]) 4)
(subreg:SI (reg:DI 50) 4))) -1 (nil))

(insn 29 28 30 930921-1.c:4 (set (reg:SI 52)
(const_int 1 [0x1])) -1 (nil))

(jump_insn 30 29 31 930921-1.c:4 (set (pc)
(if_then_else (ltu (subreg:SI (reg:DI 51) 4)
(subreg:SI (reg:DI 45 [ ivtmp$55 ]) 4))
(label_ref 32)
(pc))) -1 (nil))

(insn 31 30 32 930921-1.c:4 (set (reg:SI 52)
(const_int 0 [0x0])) -1 (nil))

(code_label 32 31 33 6 "" [0 uses])

(insn 33 32 34 930921-1.c:4 (set (subreg:SI (reg:DI 51) 0)
(plus:SI (subreg:SI (reg:DI 45 [ ivtmp$55 ]) 0)
(subreg:SI (reg:DI 50) 0))) -1 (nil))

(insn 34 33 35 930921-1.c:4 (set (reg:SI 53)
(plus:SI (reg:SI 52)
(subreg:SI (reg:DI 51) 0))) -1 (nil))

(insn 35 34 36 930921-1.c:4 (set (subreg:SI (reg:DI 51) 0)
(reg:SI 53)) -1 (nil))

(insn 36 35 0 930921-1.c:4 (set (reg:DI 45 [ ivtmp$55 ])
(reg:DI 51)) -1 (expr_list:REG_EQUAL (plus:DI (reg:DI 45 [ ivtmp$55 ])
(reg:DI 50))
(nil)))

The failing assertion in get_biv_step() is:

  gcc_assert ((*inner_mode == *outer_mode) != (*extend != UNKNOWN));

The outer_mode is DImode; the inner_mode is SImode; and extend is
UNKNOWN, since there are no SIGN_EXTEND or ZERO_EXTEND operations
involved here.  Is this code intended to work for DImode IVs when
the machine doesn't directly support DImode operations?  I don't know
if the problem is in this loop-iv.c code or whether it ought not
recognize the DImode induction variable in the first place.

Help?


Re: How to submit Intel BID library patch?

2007-06-14 Thread Janis Johnson
On Thu, 2007-06-14 at 06:30 -0700, H. J. Lu wrote:

> With Intel BID library, we got 2 failures in unmodified DFP tests,
> fe-convert-1.c and fe-convert-2.c, due to different exceptions
> in Intel BID library vs. libdecnumber. The differences are

Go ahead and make those test changes.

Janis



Re: Please fork soft-fp from libc

2007-06-14 Thread Richard Guenther

On 6/14/07, Joe Buck <[EMAIL PROTECTED]> wrote:

On Thu, Jun 14, 2007 at 06:10:52PM +0200, Uros Bizjak wrote:
> There was no response from libc maintainers about changing the type of
> soft-fp compares into CMPtype. This type should be defined to mode(word)
> or at least we should be able to redefine it outside the soft-fp, in
> target dependent sfp-target.h. As this is major obstacle in further
> development (complex numbers) and even in the usability of software FP
> as part of gcclib (TFmode compares return wrong values), I propose that
> we fork soft-fp from libc. Soft-fp already diverged from libc by
> inclusing TImode and TFmode conversions.
>
> Otherwise, I propose that we disable TFmode support on x86_64 due to
> above problems with compares.

The FSF has objected in the past to any discussions of forking glibc.  RMS
would (I believe) argue that what you're talking about is a glibc bug and
glibc should fix it, we shouldn't fork the routine to work around it.
After all, the FSF point of view is that GCC and glibc are both part of
the GNU project, despite the fact that from the GCC point of value, glibc
is only one possible C library, has older and newer versions, etc.

Also, we can't take a file from one FSF project and fork it in another
without FSF permission, particularly if it involves a license change but
even in other cases (because of the way they keep track of assignments).
Some think that this is an unnecessary PITA, but that's one of the things
we signed up for when we remerged egcs with the FSF, I'm afraid.

The SC could discuss this with RMS, but I think your second suggestion
might be wise in the short term if there isn't some other workaround.
Maybe we can just have RMS annoy the glibc folks until they accept
a patch to fix it.

But then we have the problem of all those old glibc's that are already
out there.  So maybe a fork is best after all, and RMS needs to be
talked into it.  Sigh.


Reminds me of forking glibc libm and the libgcc-math discussion
that's still on hold from RMS side.

Richard.


Re: How to submit Intel BID library patch?

2007-06-14 Thread H. J. Lu
On Thu, Jun 14, 2007 at 10:13:49AM -0700, Janis Johnson wrote:
> On Thu, 2007-06-14 at 06:30 -0700, H. J. Lu wrote:
> 
> > With Intel BID library, we got 2 failures in unmodified DFP tests,
> > fe-convert-1.c and fe-convert-2.c, due to different exceptions
> > in Intel BID library vs. libdecnumber. The differences are
> 
> Go ahead and make those test changes.
> 

I checked in those changes. Those tests will fail with the current
libdecnumber. Intel BID library patch:

http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00981.html

will need this patch to support Intel BID library and all DFP
tests should pass with BID.


H.J.
---
2007-06-14  H.J. Lu  <[EMAIL PROTECTED]>

* gcc.dg/dfp/dfp-round.h (FE_DEC_TONEAREST): Redfined for BID.
(FE_DEC_DOWNWARD): Likewise.
(FE_DEC_UPWARD): Likewise.
(FE_DEC_TOWARDZERO): Likewise.
(FE_DEC_TONEARESTFROMZERO): Likewise.

--- gcc/testsuite/gcc.dg/dfp/dfp-round.h.dfp-test   2007-05-25 
17:42:57.0 -0700
+++ gcc/testsuite/gcc.dg/dfp/dfp-round.h2007-06-13 22:47:36.0 
-0700
@@ -2,11 +2,19 @@
pass on the rounding mode to decNumber, but later it can be replaced
with Official Stuff.  */
 
+#ifdef __DECIMAL_BID_FORMAT__
+#define FE_DEC_TONEAREST 0
+#define FE_DEC_DOWNWARD 1
+#define FE_DEC_UPWARD 2
+#define FE_DEC_TOWARDZERO 3
+#define FE_DEC_TONEARESTFROMZERO 4
+#else
 #define FE_DEC_DOWNWARD 0
 #define FE_DEC_TONEAREST 1
 #define FE_DEC_TONEARESTFROMZERO 2
 #define FE_DEC_TOWARDZERO 3
 #define FE_DEC_UPWARD 4
+#endif
 
 extern void __dfp_set_round (int);
 #define DFP_SETROUND(M) __dfp_set_round(M)


Re: Please fork soft-fp from libc

2007-06-14 Thread Jakub Jelinek
On Thu, Jun 14, 2007 at 09:36:46AM -0700, Joe Buck wrote:
> The FSF has objected in the past to any discussions of forking glibc.  RMS
> would (I believe) argue that what you're talking about is a glibc bug and
> glibc should fix it, we shouldn't fork the routine to work around it.

It can hardly be considered a glibc bug when GCC changed this incompatibly
a year ago, up to GCC 4.1.x inclusive __eqtf2 etc. used SItype (i.e. int on
all architectures glibc cares about).

That said, as none of the routines in question
({eq,ge,le,unord}[sdxt]f2) are actually used by sparc32/sparc64/alpha that
use glibc soft-fp code, I guess using CMPtype in those routines doesn't
hurt.  I believe --without-fp ppc support in ports is 32-bit only as well
and therefore doesn't care either.
But certainly it must not be defined to int __attribute__ ((mode (word))),
because Andreas Krebbel is actively trying to get rid of that attribute.
Each sfp-machine.h can define CMPtype instead.

Jakub


Re: Please fork soft-fp from libc

2007-06-14 Thread Uros Bizjak

Jakub Jelinek wrote:

On Thu, Jun 14, 2007 at 09:36:46AM -0700, Joe Buck wrote:
  

The FSF has objected in the past to any discussions of forking glibc.  RMS
would (I believe) argue that what you're talking about is a glibc bug and
glibc should fix it, we shouldn't fork the routine to work around it.



It can hardly be considered a glibc bug when GCC changed this incompatibly
a year ago, up to GCC 4.1.x inclusive __eqtf2 etc. used SItype (i.e. int on
all architectures glibc cares about).

That said, as none of the routines in question
({eq,ge,le,unord}[sdxt]f2) are actually used by sparc32/sparc64/alpha that
use glibc soft-fp code, I guess using CMPtype in those routines doesn't
hurt.  I believe --without-fp ppc support in ports is 32-bit only as well
and therefore doesn't care either.
But certainly it must not be defined to int __attribute__ ((mode (word))),
because Andreas Krebbel is actively trying to get rid of that attribute.
Each sfp-machine.h can define CMPtype instead.
  

I belive that by changing mentioned typedef line of soft-fp.h into

#ifndef CMPtype
#define CMPtype int
#endif

would satisfy everybody. Is this acceptable for glibc?

Thanks,
Uros.



Re: Please fork soft-fp from libc

2007-06-14 Thread Daniel Jacobowitz
On Thu, Jun 14, 2007 at 08:07:32PM +0200, Uros Bizjak wrote:
> > It can hardly be considered a glibc bug when GCC changed this incompatibly
> > a year ago, up to GCC 4.1.x inclusive __eqtf2 etc. used SItype (i.e. int on
> > all architectures glibc cares about).
> >
> > That said, as none of the routines in question
> > ({eq,ge,le,unord}[sdxt]f2) are actually used by sparc32/sparc64/alpha that
> > use glibc soft-fp code,

Could anyone explain why this change was made?  It seems like SItype
would be sufficient everywhere, and I can't see any obvious reason it
would be slower.

-- 
Daniel Jacobowitz
CodeSourcery


Re: Please fork soft-fp from libc

2007-06-14 Thread Jakub Jelinek
On Thu, Jun 14, 2007 at 08:07:32PM +0200, Uros Bizjak wrote:
> I belive that by changing mentioned typedef line of soft-fp.h into
> 
> #ifndef CMPtype
> #define CMPtype int
> #endif
> 
> would satisfy everybody. Is this acceptable for glibc?

Yes.
Though, please use CMPtype not only for return types of the functions, but
also for the type of r variables.

Jakub


Re: Please fork soft-fp from libc

2007-06-14 Thread Uros Bizjak

Jakub Jelinek wrote:

On Thu, Jun 14, 2007 at 08:07:32PM +0200, Uros Bizjak wrote:
  

I belive that by changing mentioned typedef line of soft-fp.h into

#ifndef CMPtype
#define CMPtype int
#endif

would satisfy everybody. Is this acceptable for glibc?



Yes.
Though, please use CMPtype not only for return types of the functions, but
also for the type of r variables.
  


Thanks. I have changed the patch as requested, and it was just sent to 
[EMAIL PROTECTED]


Thanks again for your help to resolve this problem,
Uros.



Re: Please fork soft-fp from libc

2007-06-14 Thread DJ Delorie

Daniel Jacobowitz <[EMAIL PROTECTED]> writes:
> It seems like SItype would be sufficient everywhere, and I can't see
> any obvious reason it would be slower.

What about 16-bit targets?


Re: [patch,committed] Make Fortran maintainers "Non-Autopoiesis Maintainers"

2007-06-14 Thread Brooks Moses
(Because this concerns policy rather than code, I've cc'ed it to the 
main gcc list rather than the patches list.)


FX Coudert wrote:
I noticed in MAINTAINERS that there is a new category of "Non- 
Autopoiesis Maintainers" (I certainly missed the original  
announcement), for maintainers who cannot approve their own patches  
(except trivial ones). There is a FIXME in the file that says that  
Fortran maintainers should be added to this category, and it is  
indeed true, since we decided to work under this kind of rule (which,  
I think, is a very positive thing). So, I moved us all in that  
category, except Paul Brook who is one of the original authors for  
the front-end (unfortunately, Steven B. left GCC development recently).


There _was_ no official announcement, save this note under a subject 
heading of "[PATCH]: Minor cleanups after the dataflow merge":


http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00723.html

I'm not entirely sure that I agree with formalizing this for the Fortran 
maintainers in bulk, at least without discussion.  My understanding (and 
it's entirely possible that I've missed something) was that this wasn't 
so much a formal rule as a general custom -- and, being a custom rather 
than a formal rule, unobjectionable to break when appropriate.


I have no objection to this as a custom for GFortran, certainly -- I 
think it's a very good idea, and as a custom I very much support it. 
However, there have historically been reasonable exceptions to it.  In 
particular, I've committed several documentation patches without review, 
and I have seen a few small patches submitted by maintainers for 
comments rather than a formal review and then committed when there were 
no dissenting comments.  My understanding at the time was that these 
were entirely acceptable things to do; is this still true, or no?


Mostly what I want is some discussion about what we expect this to mean 
as a formal rule, and how strictly we're expecting to interpret it.  For 
values of "we" meaning both the GFortran maintainers, and the wider GCC 
maintainer community.


(I think I'd also like to register a very small polite complaint about 
the introduction of a new category of maintainers without any sort of 
announcement or discussion on the gcc@ list, at least insofar as I could 
find by searching on "autopoiesis" in the archives.)


Also, I took this opportunity to change the label of the front-end in  
that file from "fortran 95" to "Fortran", to be more consistent with  
our decision to not mention the 95 standard in the compiler  
description and use the capitalized Fortran spelling. I also  
reordered our names into alphabetical order.


This, I entirely agree with; it had been mildly bugging me for a while.

- Brooks



Re: [patch,committed] Make Fortran maintainers "Non-Autopoiesis Maintainers"

2007-06-14 Thread Steve Kargl
On Thu, Jun 14, 2007 at 08:48:22PM -0700, Brooks Moses wrote:
> 
> I have no objection to this as a custom for GFortran, certainly -- I 
> think it's a very good idea, and as a custom I very much support it. 
> However, there have historically been reasonable exceptions to it.  In 
> particular, I've committed several documentation patches without review, 
> and I have seen a few small patches submitted by maintainers for 
> comments rather than a formal review and then committed when there were 
> no dissenting comments.  My understanding at the time was that these 
> were entirely acceptable things to do; is this still true, or no?
> 

As the Fortran maintainer the pre-approved your doc patches (and
Daniel's patches) I feel I should comment.  The gfortran docs
were in such a mess that neither you nor Danial could possibly
commit a change that would make the docs worse.  Well, I guess
you could have, but your previous involvement in the mailing list
suggested otherwise.  My other objective (besides better docs)
was to lure you into the realm of bug fixer and developer.  It
appears that I succeed. :-)

I haven't looked at the guidelines for this new category in that
I doubt it will change the day-to-day interaction of the gfortran
developers.  In general, we ask for reviews when necessary and
commit obvious fixes as they arise.  In my 4+ years of hacking on
gfortran, I cannot recall a single dispute among the developers.
Sure, there's been disagreement, but not dispute.

PS:  The 4 year anniversity of my first commit is coming up:

2003-06-24  Steven G. Kargl  <[EMAIL PROTECTED]>`

-- 
Steve


Re: [patch,committed] Make Fortran maintainers "Non-Autopoiesis Maintainers"

2007-06-14 Thread Brooks Moses

At 09:40 PM 6/14/2007, Steve Kargl wrote:

On Thu, Jun 14, 2007 at 08:48:22PM -0700, Brooks Moses wrote:
> I have no objection to this as a custom for GFortran, certainly -- I
> think it's a very good idea, and as a custom I very much support it.
> However, there have historically been reasonable exceptions to it.  In
> particular, I've committed several documentation patches without review,
> and I have seen a few small patches submitted by maintainers for
> comments rather than a formal review and then committed when there were
> no dissenting comments.  My understanding at the time was that these
> were entirely acceptable things to do; is this still true, or no?

As the Fortran maintainer the pre-approved your doc patches (and
Daniel's patches) I feel I should comment.  The gfortran docs
were in such a mess that neither you nor Danial could possibly
commit a change that would make the docs worse.  Well, I guess
you could have, but your previous involvement in the mailing list
suggested otherwise.


Indeed -- but my impression was that, when I became a maintainer, that 
explicit pre-approval was no longer needed.  Perhaps I misunderstood?


Though I guess it does amount to the same thing in practice -- if you 
hadn't encouraged me to commit documentation patches without troubling 
people for reviews of each one, then I would have assumed once I became a 
maintainer that I should continue to request reviews of the documentation 
patches I proposed, and would have done so.



I haven't looked at the guidelines for this new category in that
I doubt it will change the day-to-day interaction of the gfortran
developers.  In general, we ask for reviews when necessary and
commit obvious fixes as they arise.  In my 4+ years of hacking on
gfortran, I cannot recall a single dispute among the developers.
Sure, there's been disagreement, but not dispute.


Oh, definitely.  That's sort of why I wanted to comment on this; insofar as 
this is documenting the status quo, that's a good thing, but I wanted to 
make sure that it wasn't setting up a situation where people in the rest of 
the GCC community would expect us to follow more rigid rules than we 
actually do.


- Brooks



Re: [patch,committed] Make Fortran maintainers "Non-Autopoiesis Maintainers"

2007-06-14 Thread Steve Kargl
On Thu, Jun 14, 2007 at 10:28:58PM -0700, Brooks Moses wrote:
> At 09:40 PM 6/14/2007, Steve Kargl wrote:
> >On Thu, Jun 14, 2007 at 08:48:22PM -0700, Brooks Moses wrote:
> >> I have no objection to this as a custom for GFortran, certainly -- I
> >> think it's a very good idea, and as a custom I very much support it.
> >> However, there have historically been reasonable exceptions to it.  In
> >> particular, I've committed several documentation patches without review,
> >> and I have seen a few small patches submitted by maintainers for
> >> comments rather than a formal review and then committed when there were
> >> no dissenting comments.  My understanding at the time was that these
> >> were entirely acceptable things to do; is this still true, or no?
> >
> >As the Fortran maintainer the pre-approved your doc patches (and
> >Daniel's patches) I feel I should comment.  The gfortran docs
> >were in such a mess that neither you nor Danial could possibly
> >commit a change that would make the docs worse.  Well, I guess
> >you could have, but your previous involvement in the mailing list
> >suggested otherwise.
> 
> Indeed -- but my impression was that, when I became a maintainer, that 
> explicit pre-approval was no longer needed.  Perhaps I misunderstood?
> 

You did not misunderstand.  You are on your own with respect to doc
patches.  

For the people that I've encourage to become more active in gfortran
development, the process is simple.

1) person sends good bug reports (dominique is in this phase)
2) person sends small, trivial, patches (no assignment is needed)
3) person sends big patches, so encourage copyright assignment.
   Commit the patches for person (Christopher Rickett is here).
4) More patches come, seek write-after-approval (Chris  will
   be here after ISO C binding is committed).
5) more patches come and comments on the patches of others.
   A maintainer approves patches (Asher and DanielD are here)
6) more patches comes. bestow maintainership.

-- 
Steve


Re: [patch,committed] Make Fortran maintainers "Non-Autopoiesis Maintainers"

2007-06-14 Thread FX Coudert
Mostly what I want is some discussion about what we expect this to  
mean as a formal rule, and how strictly we're expecting to  
interpret it.  For values of "we" meaning both the GFortran  
maintainers, and the wider GCC maintainer community.


I agree with your intrepretation of this rule exactly as you stated  
it, and as it is stated on http://gcc.gnu.org/fortran/ : approval of  
non-obvious patches is required as a rule, but the scope of "obvious"  
can be extended at times, and it's also possible to send a patch  
asking if anyone has comments, saying that you plan on committing it  
on a given date. I did change the Fortran maintainers from the  
standard category to this new one because it seemed close to what we  
currently do.


To come to the heart of the issue, I don't think it will be  
intepreted to our disadvantage by the GCC community. From the past,  
it seemed that the steering committee and release managers have kept  
to a simple line: the Fortran maintainers have a system that works,  
even though it's not completely the same as the usual GCC  
maintainership. If it works well, let's keep it that way. [1] I feel  
that we have a wide margin to make our decisions. After all, IIRC,  
the "mostly non-autopoiesis" system that we have is something we came  
up with, not the steering committee.


In short: I understand your point of view, and I think we have been  
given enough liberty for Fortran choices in the past not to worry  
about this MAINTAINERS category not 100% describing our policy.


FX


[1] I'm sorry if I'm misunderstanding the policy that is applied to  
us; and I want to note that I'm only speaking about maintainership,  
not the development and branches rules, for which we're going slowly  
toward the standard GCC practices.