[Bug target/38090] [4.4 Regression] Internal compiler error: in extract_insn while building linux-kernel from git with -Os or -O1 and higher

2008-11-12 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2008-11-12 16:30 ---
The testcase compiles OK with

GNU C (GCC) version 4.4.0 20081112 (experimental) [trunk revision 141785]
(x86_64-unknown-linux-gnu)


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38090



[Bug c/38096] optimization regression

2008-11-12 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2008-11-12 21:29 ---
The paste of the ICE itself would be nice indeed:

pr38096.c: In function ‘foo’:
pr38096.c:13: internal compiler error: in vectorizable_store, at
tree-vect-transform.c:5447
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38096



[Bug c/38096] optimization regression

2008-11-12 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-11-12 21:31 ---


*** This bug has been marked as a duplicate of 37955 ***


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38096



[Bug tree-optimization/37955] [4.4 Regression] internal compiler error: in vectorizable_store, at tree-vect-transform.c:5447

2008-11-12 Thread ubizjak at gmail dot com


--- Comment #12 from ubizjak at gmail dot com  2008-11-12 21:31 ---
*** Bug 38096 has been marked as a duplicate of this bug. ***


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||mariah dot lenox at gmail
   ||dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37955



[Bug target/27855] [4.3/4.4 regression] reassociation causes the RA to be confused

2008-11-13 Thread ubizjak at gmail dot com


--- Comment #27 from ubizjak at gmail dot com  2008-11-13 14:58 ---
I wouldn't call this problem an enhancement. Matrix computations are affected
by this problem.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

   Severity|enhancement |major


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27855



[Bug target/27855] [4.3/4.4 regression] reassociation causes the RA to be confused

2008-11-13 Thread ubizjak at gmail dot com


--- Comment #26 from ubizjak at gmail dot com  2008-11-13 14:52 ---
(In reply to comment #25)
> Now that we have a new RA, is this still an issue?

Yes.

TYPE=double:
gcc -DREPS=1000 -msse3 -O2 -mfpmath=sse -ffast-math -fno-tree-reassoc:
atlasmm   60   1000   0.196 2203.95
gcc -DREPS=1000 -msse3 -O2 -mfpmath=sse -ffast-math
atlasmm   60   1000   0.276 1565.12

TYPE=float:
gcc -DREPS=1000 -msse3 -O2 -mfpmath=sse -ffast-math -fno-tree-reassoc
atlasmm   60   1000   0.160 2699.83

gcc -DREPS=1000 -msse3 -O2 -mfpmath=sse -ffast-math
atlasmm   60   1000   0.232 1861.96

gcc version 4.4.0 20081113 (experimental) [trunk revision 141819] (GCC)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27855



[Bug testsuite/37517] gcc.target/i386/quad-sse.c fails with -fPIC

2008-11-13 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2008-11-13 18:07 ---
We are checking for certain function calls, so following should work too:

Index: quad-sse.c
===
--- quad-sse.c  (revision 141824)
+++ quad-sse.c  (working copy)
@@ -18,4 +18,4 @@
   return __builtin_copysignq (x, y);
 }

-/* { dg-final { scan-assembler-not "call" } } */
+/* { dg-final { scan-assembler-not "call.*(neg|fabs|copysign)" } } */


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-13 18:07:22
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37517



[Bug testsuite/38099] tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o execute failure

2008-11-13 Thread ubizjak at gmail dot com


--- Comment #11 from ubizjak at gmail dot com  2008-11-14 07:16 ---
(In reply to comment #9)
> This patch:
> 
> http://gcc.gnu.org/ml/gcc-patches/2008-11/msg00593.html

Oh, I forgot to manually merge struct-layout-1.h part.

Fill fix ASAP.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38099



[Bug testsuite/38099] tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o execute failure

2008-11-13 Thread ubizjak at gmail dot com


--- Comment #12 from ubizjak at gmail dot com  2008-11-14 07:40 ---
(In reply to comment #8)
> Let me know if I need to provide anything else to debug this. Again, this test
> case passes completely if I delete the second line of t027_test.h.

The problem is, that %mm0 register is accessed in check2601(), as can be seen
from t027_y.s assembler dump. This access blocks stack registers in
check2601va(), so the check fails at this point.

My patch disables all access to MMX registers, so V1DImode should be handled by
generic moves.

However, IIRC darwin doesn't use MMX registers to pass function args/return
values. From t027_y.s dump that you provided, it is evident that check2601()
returns its structure with only v1di member in %mm0. Is this OK?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38099



[Bug testsuite/38099] tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o execute failure

2008-11-14 Thread ubizjak at gmail dot com


--- Comment #13 from ubizjak at gmail dot com  2008-11-14 09:00 ---
Oh, I see the problem.

We generate:

/* { dg-options " -mno-mmx" { target i?86-*-* x86_64-*-* } } */
/* { dg-options " -fno-common { target ... *-*-darwin *-*-mingw32*
*-*-cygwin* } } */

However, x86 darwin, mingw32 and cygwin* matches both lines. Since dg-options
don't concatenate, latest match simply overwrites all previous matches.

So, these targets simply overwrite -mno-mmx option.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38099



[Bug testsuite/38099] tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o execute failure

2008-11-14 Thread ubizjak at gmail dot com


--- Comment #14 from ubizjak at gmail dot com  2008-11-14 09:49 ---
The problem from Comment #9 is now fixed in mainline.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38099



[Bug testsuite/37517] gcc.target/i386/quad-sse.c fails with -fPIC

2008-11-14 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2008-11-14 11:18 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37517



[Bug testsuite/38099] tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o execute failure

2008-11-14 Thread ubizjak at gmail dot com


--- Comment #16 from ubizjak at gmail dot com  2008-11-14 14:46 ---
(In reply to comment #15)

> I do recall that I tried...
> 
> * { dg-options " -mno-mmx" { target i?86-*-* x86_64-*-* } } */
> /* { dg-options " -fno-common -mno-mmx { target ... *-*-darwin 
> *-*-mingw32*
> *-*-cygwin* } } */
> 
> and that causes many more tests in struct-layout-1 to fail.

This should work now. You have to remove inclusion of mmintrin.h and
xmmintrin.h for -mno-mmx, otherwise you will get the same problem as shown in
Comment #9 on targets where -msse2 is the default (this includes x86 darwin).

Fortunatelly, this is pure testsuite problem, see Comment #13.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38099



[Bug testsuite/38099] tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o execute failure

2008-11-15 Thread ubizjak at gmail dot com


--- Comment #19 from ubizjak at gmail dot com  2008-11-15 10:59 ---
(In reply to comment #17)
> Current gcc trunk, r141877, still fails...

Please read Comment #13 why.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38099



[Bug c/38134] gcc-4.4 speed regression with sse code

2008-11-15 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-11-15 16:46 ---
Can you try with -fno-ira?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38134



[Bug target/38120] missing space in x86 assembly code for some mov instructions

2008-11-16 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2008-11-16 14:16 ---
Can you send us a patch?


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|translation |target
 Ever Confirmed|0   |1
   GCC host triplet|x86_64-unknown-linux-gnu|
 GCC target triplet|x86_64-unknown-linux-gnu|x86-unknown-linux-gnu
   Last reconfirmed|-00-00 00:00:00 |2008-11-16 14:16:22
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38120



[Bug testsuite/38151] tmpdir-gcc.dg-struct-layout-1/t028 failure at -m64 on i686-apple-darwin9

2008-11-16 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2008-11-16 20:28 ---
(In reply to comment #8)
> This failing testcase produces the following in gdb...

> #0  0x7fff83829ee6 in __kill ()
> #1  0x7fff8389af4d in abort ()
> #2  0x00010f6f in main ()
> (gdb) 
> 
> Is there anything else I can provide to debug this?

Yes: compile all three testfiles with -g flag added, put a watchpoint on
"fails" variable (watch fails) and see where it triggers.

It looks to me that something is wrong with s2848 argument that is passed to
check2848 function. At calling site (in test2848 function), we have:

(gdb) print s2848
$10 = {a = 4027477739, b = -936922831153888968, c = 0x601720}

and in check2848 we receive:

(gdb) print arg0
$11 = {a = 4195077, b = 3221252723567493120, c = 0x7fffde0e11a0}

The structure is defined as:

 struct S2848
 {
   unsigned int a;
   _Complex int __attribute__ ((aligned (1))) b;
   struct
   {
   } __attribute__ ((packed, aligned)) c[1];
 };

Hm, looks like a real bug to me.

This also fails on linux, I'll try to create a testcase.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug testsuite/38151] structures with _Complex arguments are not passed correctly

2008-11-16 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2008-11-16 20:58 ---
Real bug with argument passing. Confirmed on x86_64-linux-gnu with the
testcase:

--cut here--
struct S2848
{
  unsigned int a;
  _Complex int b;
};

struct S2848 s2848;

void __attribute__((noinline))
check2848 (struct S2848 arg0)
{
  if (arg0.b != s2848.b)
abort ();
}

int main()
{
  s2848.a = 4027477739U;
  s2848.b = (723419448 + -218144346 * __extension__ 1i);

  check2848 (s2848);

  return 0;
}
--cut here--

> gcc -O2 t.c
> ./a.out
Aborted


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||hjl at gcc dot gnu dot org,
   ||hubicka at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   GCC host triplet|i686-apple-darwin9  |
 GCC target triplet|i686-apple-darwin9  |x86_64
   Keywords||ABI, wrong-code
  Known to fail||4.3.0 4.4.0
   Last reconfirmed|-00-00 00:00:00 |2008-11-16 20:58:10
   date||
Summary|tmpdir-gcc.dg-struct-layout-|structures with _Complex
   |1/t028 failure at -m64 on   |arguments are not passed
   |i686-apple-darwin9  |correctly


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug testsuite/38151] structures with _Complex arguments are not passed correctly

2008-11-16 Thread ubizjak at gmail dot com


--- Comment #11 from ubizjak at gmail dot com  2008-11-16 21:09 ---
Also fails in return from function:

--cut here--
struct S2848
{
  unsigned int a;
  _Complex int b;
};

struct S2848 s2848;

struct S2848 __attribute__((noinline))
check2848 (struct S2848 arg0)
{
  s2848.a = 4027477739U;
  s2848.b = (723419448 + -218144346 * __extension__ 1i);

  return s2848;
}

int main()
{
  struct S2848 ret;

  ret = check2848 (s2848);

  if (ret.b != s2848.b)
abort ();
  return 0;
}
--cut here--


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug target/37033] [4.4 Regression] Revision 138733 breaks -g vs -g0 for PCH

2008-11-17 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2008-11-17 12:27 ---
We can add -fno-dwarf2-cfi-asm to gcc.dg/pch/valid-1b.hs to suppress
definition of __GCC_HAVE_DWARF2_CFI_ASM in -g case.

Patch at http://gcc.gnu.org/ml/gcc-patches/2008-11/msg00807.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||11/msg00807.html
 Status|UNCONFIRMED |NEW
  Component|debug   |target
 Ever Confirmed|0   |1
   Keywords||patch
   Last reconfirmed|-00-00 00:00:00 |2008-11-17 12:27:05
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37033



[Bug target/38134] [4.4 Regression] speed regression with inline-asm sse code

2008-11-17 Thread ubizjak at gmail dot com


--- Comment #6 from ubizjak at gmail dot com  2008-11-17 18:11 ---
I think that

addps   .LC10(%rip), %xmm0
mulps   %xmm1, %xmm0
addps   .LC11(%rip), %xmm0
mulps   %xmm1, %xmm0
addps   .LC12(%rip), %xmm0
mulps   %xmm1, %xmm0
addps   .LC13(%rip), %xmm0
mulps   %xmm1, %xmm0
addps   .LC14(%rip), %xmm0
mulps   %xmm1, %xmm0

is the bottleneck. Perhaps we should split impilicit memory operands out of the
insn by some generic peephole (if the register is available) and schedule loads
appropriately.

OTOH, loop optimizer should detect invariant loads and move them out of the
loop.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38134



[Bug target/37362] [4.4 Regression] Bootstrap broken on mipsisa64r2-linux-gcc

2008-11-17 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2008-11-18 00:11 ---
(In reply to comment #4)
> Using top-of-stack GCC and Binutils from Nov 17, issue still present; Applied
> the below patch and re-tried, no change in behavior. Fails the same way...

This one is tested with a cross and works for me:

Index: mips.md
===
--- mips.md (revision 141951)
+++ mips.md (working copy)
@@ -4537,7 +4537,7 @@
   rtx low = mips_subword (operands[0], 0);
   rtx high = mips_subword (operands[0], 1);
   emit_insn (gen_store_word (low, operands[1], const0_rtx));
-  if (ISA_HAS_MXHC1)
+  if (register_operand (high, mode) && ISA_HAS_MXHC1)
emit_insn (gen_mfhc1 (high, operands[1]));
   else
emit_insn (gen_store_word (high, operands[1], const1_rtx));


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-18 00:11:22
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37362



[Bug target/37362] [4.4 Regression] Bootstrap broken on mipsisa64r2-linux-gcc

2008-11-18 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2008-11-18 08:09 ---
Created an attachment (id=16716)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16716&action=view)
Patch with a testcase

This patch solves all issues with mthc1 and mfhc1.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37362



[Bug target/37362] [4.4 Regression] Bootstrap broken on mipsisa64r2-linux-gcc

2008-11-18 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2008-11-18 22:06 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||11/msg00920.html
 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37362



[Bug target/38151] structures with _Complex arguments are not passed correctly

2008-11-19 Thread ubizjak at gmail dot com


--- Comment #12 from ubizjak at gmail dot com  2008-11-19 19:32 ---
Created an attachment (id=16723)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16723&action=view)
Da patch.

Jack, can you try attached patch?


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|NEW |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug target/38151] structures with _Complex arguments are not passed correctly

2008-11-19 Thread ubizjak at gmail dot com


--- Comment #13 from ubizjak at gmail dot com  2008-11-19 21:17 ---
(In reply to comment #12)
> Created an attachment (id=16723)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16723&action=view) [edit]
> Da patch.
> 
> Jack, can you try attached patch?

Patch at http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01010.html

It looks we still fail va_arg cases. But number of failures with the original
testcase drops from 10 to 4.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug target/38151] structures with _Complex arguments are not passed correctly

2008-11-20 Thread ubizjak at gmail dot com


--- Comment #16 from ubizjak at gmail dot com  2008-11-20 19:50 ---
Problems from Comment #10 and Comment #11 are fixed by the patch from Comment
#13, but following test still fails, even with a patched compiler:

--cut here--
void abort (void);

struct S2848
{
  unsigned int a;
  _Complex int b;
  struct
  {
  } __attribute__ ((aligned)) c;
};

struct S2848 s2848;

int fails;

void  __attribute__((noinline))
check2848va (int z, ...)
{
  struct S2848 arg;
  __builtin_va_list ap;

  __builtin_va_start (ap, z);

  arg = __builtin_va_arg (ap, struct S2848);

  if (s2848.a != arg.a)
++fails;
  if (s2848.b != arg.b)
++fails;

  __builtin_va_end (ap);
}

int main (void)
{
  s2848.a = 4027477739U;
  s2848.b = (723419448 + -218144346 * __extension__ 1i);

  check2848va (1, s2848);

  if (fails)
abort ();

  return 0;
}
--cut here--

> gcc -O2 t1.c

> ./a.out
Aborted

> gdb ./a.out
[...]
(gdb) watch fails
Hardware watchpoint 1: fails
(gdb) run
Starting program: /home/uros/test/compat/a.out 
Hardware watchpoint 1: fails

Old value = 0
New value = 1
0x0040051d in check2848va (z=1) at t1.c:29
29  ++fails;
Missing separate debuginfos, use: debuginfo-install glibc.x86_64
(gdb) p /x arg.b
$2 = 0x004005802b1e8138
(gdb) p /x s2848.b
$3 = 0xf2ff61a62b1e8138


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug target/38151] structures with _Complex arguments are not passed correctly

2008-11-20 Thread ubizjak at gmail dot com


--- Comment #18 from ubizjak at gmail dot com  2008-11-20 21:13 ---
va_arg problem from Comment #16 remains unfixed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug target/38151] structures with _Complex arguments are not passed correctly

2008-11-20 Thread ubizjak at gmail dot com


--- Comment #19 from ubizjak at gmail dot com  2008-11-20 21:37 ---
Hm, rdx gets corrupted:

check2848va:
.LFB0:
.cfi_startproc
movq%rsi, %rcx  # tmp73,
leaq8(%rsp), %rax   #,
(+) movq%rdx, -40(%rsp) #,
shrq$32, %rcx   #,
cmpl%esi, s2848(%rip)   # tmp73, s2848.a
>>> movq-80(%rsp), %rdx #, tmp74
movq%rax, -112(%rsp)#, .overflow_arg_area
leaq-56(%rsp), %rax #,
movq%rsi, -48(%rsp) #,
movl$8, -120(%rsp)  #, .gp_offset
movq%rsi, -88(%rsp) # tmp70,
movq%rax, -104(%rsp)#, .reg_save_area
movq%rsi, -72(%rsp) # tmp73, arg
movq%rdx, -64(%rsp) # tmp74, arg
je  .L4 #,
addl$1, fails(%rip) #, fails
.L4:
cmpl%ecx, s2848+4(%rip) # arg$b$real, s2848.b
setne   %cl #, tmp79
(++)cmpl%edx, s2848+8(%rip) # arg$b$imag, s2848.b
setne   %al #, tmp82
orb %al, %cl# tmp82, tmp79
je  .L6 #,
addl$1, fails(%rip) #, fails

rdx is saved at the point of (+), corrupted at ">>>" and this corrupted value
is used at (++). The insn at ">>>" just falls in the insn stream from the sky,
it is not present if "a" is changed to "unsigned long" in S2848 structure.

In case when "a" is changed to "unsigned long", testcase works OK. The testcase
also works when insn at ">>>" is removed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug target/36793] x86-64 does not get __sync_synchronize right

2008-11-21 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-11-21 17:22 ---
H.J. can probably confirm this.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||hjl dot tools at gmail dot
   ||com, ubizjak at gmail dot
   ||com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36793



[Bug c/38217] gcc.dg/sync-2.c and gcc.dg/sync-3.c fail execution test on powerpc-apple-darwin9

2008-11-21 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2008-11-21 17:23 ---


*** This bug has been marked as a duplicate of 38213 ***


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38217



[Bug testsuite/38213] gcc.dg/ia64-sync-1.c and gcc.dg/ia64-sync-2.c execution tests fails on powerpc-apple-darwin9

2008-11-21 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2008-11-21 17:23 ---
*** Bug 38217 has been marked as a duplicate of this bug. ***


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38213



[Bug testsuite/38213] gcc.dg/ia64-sync-1.c and gcc.dg/ia64-sync-2.c execution tests fails on powerpc-apple-darwin9

2008-11-21 Thread ubizjak at gmail dot com


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC|rth at gcc dot gnu dot org  |
  BugsThisDependsOn||37908
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-21 17:25:17
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38213



[Bug testsuite/38221] FAIL: gcc.c-torture/compile/sync-3.c -O0 (test for warnings, line )

2008-11-22 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2008-11-22 10:11 ---
This test is there to check that at least one message about changed NAND
semantics per file is generated.

x86_64 does:

~/gcc-build/gcc/cc1 -O0 -w -quiet sync-3.c
sync-3.c: In function ‘test_op_ignore’:
sync-3.c:74: note: ‘__sync_fetch_and_nand’ changed semantics in GCC 4.4

Does PA somehow bypass standard expansion of __sync intrinsics?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38221



[Bug testsuite/38222] gcc.target/i386/sse4_2-popcntl.c fails on i686-apple-darwin9

2008-11-22 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-11-22 10:22 ---
(In reply to comment #1)
> GNU assembler supports both
> 
> popcntl %edx, %eax
> popcnt %edx, %eax
> 
> I guess we can just generate
> 
> popcnt %edx, %eax

No, we won't cripple the output due to assembler bugs.

I will add a configure check for broken assembler, it is the same situation as
with sun as and ffreep insn (and some version of gnu as with sahf insn).


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added
----
             CC|ubizjak at gmail dot com|
 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-22 10:22:47
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38222



[Bug target/38151] structures with _Complex arguments are not passed correctly

2008-11-22 Thread ubizjak at gmail dot com


--- Comment #21 from ubizjak at gmail dot com  2008-11-22 12:33 ---
This is a trace what happens in the testcase, from .expand dump:

(2) [frame + 8 ]<- si
(3) [frame + 16]<- dx
(4) r62 <- di

(8) r63 <- virtual-incoming-args + 0
(9) r64 <- virtual-stack-vars - 64
(10) [r64]  <- 8;; gp_offset
(11) r65<- virtual-stack-vars - 64
(12) [r65 + 8 ] <- virtual-incoming-args;; overflow_arg_area
(13) r66<- virtual-stack-vars - 64
(14) [r66 + 16] <- frame;; reg_save_area
(15) r61<- [virtual-stack-vars - 64];; gp_offset
if (r61 > 39)
   goto label 27

(19) r67<- virtual-stack-vars - 32
(20) r68<- zext (r61)
(21) r69<- [virtual-stack-vars - 48];; reg_save_area
(22) r70<- [r69 + r68]
(23) [r67]  <- r70
(24) r58<- virtual-stack-vars - 32
goto label 32

label 27:
(29) r72<- [virtual-stack-vars - 56];; overflow_arg_area
(30) r71<- r72 + 15
(31) r58<- r71 & -16

label 32:
(34) r73<- [r58]
(35) [virtual-stack-vars - 16] <- r73
(36) r74<- [r58 + 8]
(37) [virtual-stack-vars - 8 ] <- r74
(38) r60<- [virual-stack-vars - 12] ;; arg$b$real
(39) r59<- [virual-stack-vars - 8 ] ;; arg$b$imag

So, around insn (22), gcc forgets to copy dx register to reg_save_area. r74 is
then read from uninitialized reg_save_area slot.

I'm looking at va-arg handling implementation in i386.c. But I'm not familiar
with this code, so a bit of help would be most welcome here.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added
--------------------
 AssignedTo|ubizjak at gmail dot com|unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug testsuite/38222] gcc.target/i386/sse4_2-popcntl.c fails on i686-apple-darwin9

2008-11-22 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2008-11-22 14:21 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||11/msg01175.html
 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38222



[Bug target/38151] structures with _Complex arguments are not passed correctly

2008-11-22 Thread ubizjak at gmail dot com


--- Comment #22 from ubizjak at gmail dot com  2008-11-22 17:07 ---
Aliasing problems, gcc shoots himself in the foot...

When container consists of registers in different modes (due to
X86_64_INTEGERSI_CLASS optimization):

(parallel:BLK [
(expr_list:REG_DEP_TRUE (reg:DI 0 ax)
(const_int 0 [0x0]))
(expr_list:REG_DEP_TRUE (reg:SI 1 dx)
(const_int 8 [0x8]))
])

then ix86_gimplify_va_arg happily creates code with invalid aliasing (from
_.gimple dump):

  addr.0 = &va_arg_tmp.3;
> addr.4 = (long unsigned int *) addr.0;
  int_addr.5 = (long unsigned int *) int_addr.1;
  D.1615 = *int_addr.5;
  *addr.4 = D.1615;
> addr.6 = (unsigned int *) addr.0;
  D.1617 = addr.6 + 8;

We access addr.0 as (long unsigned int *) and as (unsigned int *. Following
optimization passes are more than happy to remove the second access.

So to prove my point, testcase compiled with -fno-strict-aliasing works OK.

These problems also apply to FPmode parameters passing through SSE regs, so
following patch moves registers from register area to tmp area in generic mode
that fits argument passing registers best: DImode for integer and V4SFmode for
SSE registers. This avoids aliasing problems.

Index: i386.c
===
--- i386.c  (revision 142120)
+++ i386.c  (working copy)
@@ -6750,7 +6750,8 @@ ix86_gimplify_va_arg (tree valist, tree 
{
  rtx slot = XVECEXP (container, 0, i);
  rtx reg = XEXP (slot, 0);
- enum machine_mode mode = GET_MODE (reg);
+ enum machine_mode mode
+   = SSE_REGNO_P (REGNO (reg)) ? V4SFmode : DImode;
  tree piece_type = lang_hooks.types.type_for_mode (mode, 1);
  tree addr_type = build_pointer_type (piece_type);
  tree src_addr, src;


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-11-16 20:58:10 |2008-11-22 17:07:30
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug testsuite/38221] FAIL: gcc.c-torture/compile/sync-3.c -O0 (test for warnings, line )

2008-11-22 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2008-11-22 18:27 ---
Ah, this is gcc-4.3.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38221



[Bug target/36793] x86-64 does not get __sync_synchronize right

2008-11-22 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2008-11-22 18:29 ---
Patch that implements "memory_barrier" for x86 at [1].

[1] http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01181.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||11/msg01181.html
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-22 18:29:20
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36793



[Bug target/38151] structures with _Complex arguments are not passed correctly

2008-11-22 Thread ubizjak at gmail dot com


--- Comment #25 from ubizjak at gmail dot com  2008-11-22 19:30 ---
Deassigning me, this is tree stuff.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|ubizjak at gmail dot com|unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151



[Bug target/38177] Internal compiler error during gcc build with -march=amdfam10

2008-11-24 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2008-11-24 15:05 ---
The sbitmap.i works for me with ~/gcc-build-43/gcc/cc1 -O2 -march=amdfam10
-mcx16 -msahf -fprofile-generate --param l1-cache-size=64 --param
l1-cache-line-size=64

where

GNU C (GCC) version 4.3.3 20081110 (prerelease) [gcc-4_3-branch revision
141732] (i686-pc-linux-gnu)

and

GNU C (GCC) version 4.4.0 20081121 (prerelease) [trunk revision 142081]
(i686-pc-linux-gnu)

Can you try latest 4.3 branch?


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

  Known to work||4.3.3 4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38177



[Bug target/38177] Internal compiler error during gcc build with -march=amdfam10

2008-11-24 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2008-11-24 15:29 ---
BTW: You should report this bug to:

with-bugurl=http://bugs.gentoo.org/


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38177



[Bug target/38177] Internal compiler error during gcc build with -march=amdfam10

2008-11-24 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2008-11-24 16:00 ---
(In reply to comment #6)
> I've already spoken to one of the GCC maintainers for gentoo - he advised me 
> to
> report the issue directly upstream if I could reproduce it without
> gentoo-specific patches (which I have); this could be an issue with how the

The trick is, that gentoo maintainer should first check if the bug is already
fixed in the SVN (on the branch they are using). The maintainer _should_ track
the SVN branch head to filter out bugs that are already fixed.

Please see http://gcc.gnu.org/bugs.html#dontwant


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38177



[Bug target/36793] x86-64 does not get __sync_synchronize right

2008-11-24 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2008-11-24 16:59 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36793



[Bug target/38254] [4.4 Regression] Revision 142160 causes PR27908 -O3

2008-11-24 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2008-11-24 22:35 ---
OK, we need a full memory clobber, as in sse2_mfence case.

I'm testing this patch:

Index: sync.md
===
--- sync.md (revision 142160)
+++ sync.md (working copy)
@@ -36,19 +36,22 @@
(unspec:BLK [(match_dup 0)] UNSPEC_MFENCE))]
   ""
 {
-  if (!TARGET_SSE2)
-{
-  /* Emit a locked no-operation when SSE2 is not available.  */
-  int slot = virtuals_instantiated ? SLOT_TEMP : SLOT_VIRTUAL;
-  rtx temp = assign_386_stack_local (QImode, slot);
-  emit_insn (gen_sync_iorqi (temp, CONST0_RTX (QImode)));
-  DONE;
-}
-
   operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
   MEM_VOLATILE_P (operands[0]) = 1;
 })

+(define_insn "*memory_barrier_nosse"
+  [(set (match_operand:BLK 0 "" "")
+   (unspec:BLK [(match_dup 0)] UNSPEC_MFENCE))]
+  "!TARGET_SSE2"
+{
+  if (TARGET_64BIT)
+return "lock{%;| }or{q}\t{$0, (%%rsp)|QWORD PTR [rsp], 0}";
+  else
+return "lock{%;| }or{l}\t{$0, (%%esp)|DWORD PTR [esp], 0}";
+}
+  [(set_attr "memory" "unknown")])
+
 ;; ??? It would be possible to use cmpxchg8b on pentium for DImode
 ;; changes.  It's complicated because the insn uses ecx:ebx as the
 ;; new value; note that the registers are reversed from the order


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added
--------------------
 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-24 22:35:07
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38254



[Bug c++/38253] g++.dg/ipa/iinline-1.C scan-ipa-dump inline fails on powerpc-apple-darwin9

2008-11-24 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-11-24 23:07 ---
(In reply to comment #1)
> Created an attachment (id=16763)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16763&action=view) [edit]
> assembly file for  g++.dg/ipa/iinline-1.C on powerpc-apple-darwin9

Please attach an _.inline dump (produced with -fdump-ipa-inline).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38253



[Bug target/38254] [4.4 Regression] Revision 142160 causes PR27908 -O3

2008-11-24 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-11-25 00:16 ---
Subject: Bug 38256

Author: uros
Date: Tue Nov 25 00:12:15 2008
New Revision: 142177

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142177
Log:
PR target/38254
* config/i386/sync.md (memory_barrier_nosse): New insn
(memory_barrier): Generate memory_barrier_nosse insn for !TARGET_SSE2.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/sync.md


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38254



[Bug target/38254] [4.4 Regression] Revision 142160 causes PR27908 -O3

2008-11-24 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2008-11-25 00:16 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38254



[Bug c++/38256] [4.4 regression] ICE with "operator auto"

2008-11-24 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-11-25 00:17 ---
(In reply to comment #1)
> Subject: Bug 38256

Oops, wrong PR number in ChangeLog.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38256



[Bug target/36793] x86-64 does not get __sync_synchronize right

2008-11-25 Thread ubizjak at gmail dot com


--- Comment #11 from ubizjak at gmail dot com  2008-11-25 09:15 ---
Should we fix __sync_synchronize in 4.3 too?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36793



[Bug target/38288] i386/i386.c: 7 * set but not used variables

2008-11-28 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-11-28 13:28 ---
(In reply to comment #1)
> I've sent a patch to gcc-patches.

Can you paste the URL to the patch?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38288



[Bug target/38320] missed movd opcode (32bits mm -> r/m32).

2008-11-30 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2008-11-30 11:43 ---
(In reply to comment #2)

> and what about 32-bits?

The quote from i386.c:

  /* ??? This is a lie.  We do have moves between mmx/general, and for
 mmx/sse2.  But by saying we need secondary memory we discourage the
 register allocator from using the mmx registers unless needed.  */
  if (MMX_CLASS_P (class1) != MMX_CLASS_P (class2))
return true;


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38320



[Bug target/37364] [4.4 Regression] IRA generates inefficient code due to missing regmove pass

2008-12-01 Thread ubizjak at gmail dot com


--- Comment #30 from ubizjak at gmail dot com  2008-12-01 18:26 ---
(In reply to comment #29)

> Other compilers do this kind of transformation via reverse copy propagation. 
> GCC could perhaps add something like that too, when it transforms a 3-address
> insn to a 2-address insn.

Will this also solve PR 19398, where we have:

fstps  -4(%ebp)
(*) movss  -4(%ebp), %xmm0
(*) cvttss2si   %xmm0, %eax
leave

Note, that we could simply have:

cvttss2si   -4(%ebp), %eax


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37364



[Bug middle-end/37908] atomic NAND op generate wrong code; __sync_nand_and_fetch, __sync_fetch_and_nand

2008-12-10 Thread ubizjak at gmail dot com


--- Comment #17 from ubizjak at gmail dot com  2008-12-10 09:55 ---
Fixed on 4.4 branch, WONTFIX on earlier branches.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37908



[Bug target/38213] gcc.dg/ia64-sync-1.c and gcc.dg/ia64-sync-2.c execution tests fails on powerpc*-*-*

2008-12-10 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2008-12-10 09:57 ---
Fixed by http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01500.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38213



[Bug testsuite/38163] gcc.dg/tree-ssa/loop-3.c failure at -m64 on i686-apple-darwin9

2008-12-12 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2008-12-12 22:41 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38163



[Bug target/34256] mmx and movd/movq on x86_64

2008-12-13 Thread ubizjak at gmail dot com


--- Comment #11 from ubizjak at gmail dot com  2008-12-13 19:29 ---
(In reply to comment #10)

> FAIL: gcc.target/i386/pr34256.c scan-assembler-times mov 4

PR 37364


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34256



[Bug bootstrap/37349] [4.4 Regression] bootstrap broken on Alpha: undefined reference to _Jv_RegisterClasses

2008-12-14 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2008-12-14 10:41 ---
(In reply to comment #6)
> Has this been fixed in the meantime?
> 
> Uros, you wrote in
> http://gcc.gnu.org/ml/gcc/2008-12/msg00228.html that bootstrap works
> on Alpha...

Yes, bootstrap works. I have bootstrapped gcc on gcc30 cfarm machine a couple
of times, last bootstrap from a clean directory was yesterday. Bootstrap
produces working compiler:

u...@sarah:~/gcc-build/gcc$ ./xgcc -v
Using built-in specs.
Target: alphaev56-unknown-linux-gnu
Configured with: ../gcc-svn/trunk/configure --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.0 20081213 (experimental) [ revision ] (GCC) 
u...@sarah:~/gcc-build/gcc$ 

And from (still running) testrun:

--cut here--
LAST_UPDATED: samedi 13 décembre 2008, 16:52:13 (UTC+) (revision )

Native configuration is alphaev56-unknown-linux-gnu

=== gcc tests ===


Running target unix

Compiler version: gcc gcc 
Platform: alphaev56-unknown-linux-gnu
configure flags: --enable-languages=c,c++,fortran
BOOT_CFLAGS=-g -O2
--cut here--


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37349



[Bug c/38521] -masm=intel, struct output for __asm__() block causes gcc to ask for bug report.

2008-12-14 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2008-12-14 11:18 ---
There were many problems with -masm=intel, that were fixed for gcc-4.3 and
later by [1] and (many) followup patches. The change that you are looking for
is (gcc/config/i386/i386.c):

@@ -9037,8 +9047,9 @@ print_operand (FILE *file, rtx x, int co

   else if (MEM_P (x))
 {
-  /* No `byte ptr' prefix for call instructions.  */
-  if (ASSEMBLER_DIALECT == ASM_INTEL && code != 'X' && code != 'P')
+  /* No `byte ptr' prefix for call instructions or BLKmode operands.  */
+  if (ASSEMBLER_DIALECT == ASM_INTEL && code != 'X' && code != 'P'
+ && GET_MODE (x) != BLKmode)
{
  const char * size;
  switch (GET_MODE_SIZE (GET_MODE (x)))


However, this is just one of many changes to properly support -masm=intel, so
my best advice is to use gcc-4.3.x. This won't be fixed for gcc-4.2.

[1] http://gcc.gnu.org/ml/gcc-patches/2007-10/msg01254.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.3.0
 Resolution||WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38521



[Bug c++/38525] sse2(int16) code fails with -O3

2008-12-14 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-12-14 19:29 ---
I can't compile the attachment:

g++ -O3 -fpreprocessed u-array.ii 
In file included from /home/lvv/p/lvv/sse.h:23,
 from /home/lvv/p/lvv/array.h:35,
 from u-array.cc:10:
/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/include/pmmintrin.h: In
function ‘float __vector__ _mm_addsub_ps(float __vector__, float __vector__)’:
[...]

However, since you already found a failing test, please reduce your source to a
short, self contained runtime testcase (in plain C if possible) that fails with
certain compile flags.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38525



[Bug c++/38525] sse2(int16) code fails with -O3

2008-12-14 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2008-12-14 19:31 ---
(In reply to comment #2)

> /usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/include/pmmintrin.h: In
> function ‘float __vector__ _mm_addsub_ps(float __vector__, float __vector__)’:

g++ -O3 -fpreprocessed u-array.ii 
In file included from /home/lvv/p/lvv/sse.h:23,
 from /home/lvv/p/lvv/array.h:35,
 from u-array.cc:10:
/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/include/pmmintrin.h: In
function ‘float __vector__ _mm_addsub_ps(float __vector__, float __vector__)’:
/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/include/pmmintrin.h:53:
error: ‘__builtin_ia32_addsubps’ was not declared in this scope
[...]


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38525



[Bug target/38544] missed opportunity to use adc

2008-12-17 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2008-12-17 08:56 ---
There are various scary comments in ifcvt.c, noce_process_if_block() regarding
memory operands, like:

  /* Only operate on register destinations, and even then avoid extending
 the lifetime of hard registers on small register class machines.  */

and 

  /* Don't operate on sources that may trap or are volatile.  */

and

  /* Avoid store speculation: given "if (...) x = a" where x is a
 MEM, we only want to do the store if x is always set
 somewhere in the function.  This avoids cases like
   if (pthread_mutex_trylock(mutex))
 ++global_variable;
 where we only want global_variable to be changed if the mutex
 is held.  FIXME: This should ideally be expressed directly in
 RTL somehow.  */

I don't think it is always safe to simplify global memory operands.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38544



[Bug rtl-optimization/38544] missed opportunity to use adc

2008-12-17 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-12-17 08:58 ---
Setting Component to Generic RTL optimization.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

  Component|target  |rtl-optimization


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38544



[Bug libmudflap/28077] [4.2/4.3 regression] pass39-frag.c produces mudflap violation on alpha

2008-12-18 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2008-12-18 15:31 ---
This does not fail on 4.4 [1] branch.

[1] http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg01564.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

Summary|[4.2/4.3/4.4 regression]|[4.2/4.3 regression] pass39-
   |pass39-frag.c produces  |frag.c produces mudflap
   |mudflap violation on alpha  |violation on alpha


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28077



[Bug target/34571] [4.3/4.4 Regression] Segfault in alpha_expand_mov at -O3

2008-12-18 Thread ubizjak at gmail dot com


--- Comment #15 from ubizjak at gmail dot com  2008-12-18 15:36 ---
(In reply to comment #14)
> Patch exists, tested and all, and just needs a re-test and then submit...

I will re-bootstrap/re-test this patch. Will take some days to retest.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|rask at gcc dot gnu dot org |ubizjak at gmail dot com
 Status|ASSIGNED|UNCONFIRMED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34571



[Bug target/34571] [4.3/4.4 Regression] Segfault in alpha_expand_mov at -O3

2008-12-18 Thread ubizjak at gmail dot com


--- Comment #16 from ubizjak at gmail dot com  2008-12-18 19:53 ---
(In reply to comment #15)

> I will re-bootstrap/re-test this patch. Will take some days to retest.

It looks to me, that we need to fix this from the other side. According to the
comment above symbolic_operand predicate, we should also accept label_ref with
an offset, so:

Index: varasm.c
===
--- varasm.c(revision 142326)
+++ varasm.c(working copy)
@@ -3710,7 +3710,7 @@
   /* FALLTHRU  */

 case LABEL_REF:
-  tmp = XEXP (x, 0);
+  tmp = XEXP (tmp, 0);
   gcc_assert (!INSN_DELETED_P (tmp));
   gcc_assert (!NOTE_P (tmp)
  || NOTE_KIND (tmp) != NOTE_INSN_DELETED);
Index: config/alpha/predicates.md
===
--- config/alpha/predicates.md  (revision 142326)
+++ config/alpha/predicates.md  (working copy)
@@ -390,7 +390,8 @@
   (ior (match_code "symbol_ref,label_ref")
(and (match_code "const")
(match_test "GET_CODE (XEXP (op,0)) == PLUS
-&& GET_CODE (XEXP (XEXP (op,0), 0)) == SYMBOL_REF
+&& (GET_CODE (XEXP (XEXP (op,0), 0)) == SYMBOL_REF
+|| GET_CODE (XEXP (XEXP (op,0), 0)) == LABEL_REF)
 && GET_CODE (XEXP (XEXP (op,0), 1)) == CONST_INT"

 ;; Return true if OP is valid for 16-bit DTP relative relocations.


BTW: The fix to varasm.c is already in mainline, need to backport

2008-03-31  James E. Wilson  

* varasm.c (output_constant_pool_1): In LABEL_REF check,
use tmp consistently.

BTW: The test doesn't fail anymore neither on 4.4 and neither on 4.3 branch.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-12-18 19:53:11
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34571



[Bug target/34571] [4.3 Regression] Segfault in alpha_expand_mov at -O3

2008-12-22 Thread ubizjak at gmail dot com


--- Comment #18 from ubizjak at gmail dot com  2008-12-22 17:53 ---
Patch [1] was committed to 4.4 mainline, needs to be backported to 4.3,
together with varasm.c change.

[1] http://gcc.gnu.org/ml/gcc-patches/2008-12/msg01127.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

Summary|[4.3/4.4 Regression]|[4.3 Regression] Segfault in
   |Segfault in alpha_expand_mov|alpha_expand_mov at -O3
   |at -O3  |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34571



[Bug target/34163] [4.3/4.4 Regression] 10% performance regression since Nov 1 on Polyhedron's "NF" on AMD64

2008-12-27 Thread ubizjak at gmail dot com


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

Summary|10% performance regression  |[4.3/4.4 Regression] 10%
   |since Nov 1 on Polyhedron's |performance regression since
   |"NF" on AMD64   |Nov 1 on Polyhedron's "NF"
   ||on AMD64
   Target Milestone|--- |4.3.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34163



[Bug target/34163] [4.3/4.4 Regression] 10% performance regression since Nov 1 on Polyhedron's "NF" on AMD64

2008-12-27 Thread ubizjak at gmail dot com


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

   Target Milestone|4.3.4   |4.3.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34163



[Bug middle-end/38652] [4.4 Regression] dse.c: In function get_call_args: dse.c:2309: error: target undeclared

2008-12-29 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2008-12-29 12:40 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38652



[Bug target/31488] va_list considered non-POD

2008-12-29 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2008-12-29 20:39 ---
The testcase:

#include 

extern int foo (int a, int b, ...);

int bar (int a, int b, ...)
{
  va_list args;
  va_start (args, b);
  int result = foo (a, b, args);
  va_end (args);
  return result;
}

g++ -O2:

pod.C: In function ‘int bar(int, int, ...)’:
pod.C:9: warning: cannot pass objects of non-POD type ‘struct va_list’ through
‘...’; call will abort at runtime


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

OtherBugsDependingO||38664
  nThis||
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-12-29 20:39:29
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31488



[Bug target/31488] va_list considered non-POD

2008-12-29 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2008-12-29 20:42 ---
Preprocessed source, can be compiled with a crosscompiler:

--cut here--
# 1 "pod.C"
# 1 ""
# 1 ""
# 1 "pod.C"
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.2.4/include/stdarg.h" 1 3 4
# 43 "/usr/lib/gcc/alpha-linux-gnu/4.2.4/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 105 "/usr/lib/gcc/alpha-linux-gnu/4.2.4/include/stdarg.h" 3 4
typedef __gnuc_va_list va_list;
# 2 "pod.C" 2

extern int foo (int a, int b, ...);

int bar (int a, int b, ...)
{
  va_list args;
__builtin_va_start(args,b);
  int result = foo (a, b, args);
__builtin_va_end(args);
   return result;
   }
--cut here--


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31488



[Bug c++/31488] va_list considered non-POD

2008-12-29 Thread ubizjak at gmail dot com


--- Comment #6 from ubizjak at gmail dot com  2008-12-29 20:57 ---
(In reply to comment #2)
> It is *not* represented as an array on Alpha.

But as a RECORD_TYPE. Following patch cures the warning:

Index: cp/tree.c
===
--- cp/tree.c   (revision 142948)
+++ cp/tree.c   (working copy)
@@ -2113,6 +2113,9 @@ pod_type_p (const_tree t)
  argument unmodified and we assign it to a const_tree.  */
   t = strip_array_types (CONST_CAST_TREE(t));

+  if (TREE_CODE (t) == RECORD_TYPE)
+return 1;
+
   if (t == error_mark_node)
 return 1;
   if (INTEGRAL_TYPE_P (t))


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC|    |ubizjak at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31488



[Bug c++/31488] va_list considered non-POD

2008-12-29 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2008-12-29 23:29 ---
(In reply to comment #7)

>   if (! CLASS_TYPE_P (t))
> return 0; /* other non-class type (reference or function) */
>   if (CLASSTYPE_NON_POD_P (t))
> return 0;
>   return 1; 
> 
> One of those two should be set correctly.

In alpha/alpha.c we have:

alpha_build_builtin_va_list (void)
{
  tree base, ofs, space, record, type_decl;

  if (TARGET_ABI_OPEN_VMS || TARGET_ABI_UNICOSMK)
return ptr_type_node;

  record = (*lang_hooks.types.make_type) (RECORD_TYPE);
  type_decl = build_decl (TYPE_DECL, get_identifier ("__va_list_tag"), record);
  TREE_CHAIN (record) = type_decl;
  TYPE_NAME (record) = type_decl;

  /* C++? SET_IS_AGGR_TYPE (record, 1); */

  ...

So, actually there is no way we can SET_CLASS_TYPE_P (t, 1) on the created
RECORD_TYPE. IOW, we should somehow be able to reach cp/lex.c/make_class_type
() function from target .c file.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31488



[Bug c++/31488] va_list considered non-POD

2008-12-30 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2008-12-30 14:45 ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2008-12/msg01280.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||12/msg01280.html


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31488



[Bug c++/31488] [4.3/4.4 Regression] va_list considered non-POD

2008-12-31 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2008-12-31 17:02 ---
Marking as a regression, testsuite failures are always regressions.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

Summary|va_list considered non-POD  |[4.3/4.4 Regression] va_list
   ||considered non-POD
   Target Milestone|--- |4.3.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31488



[Bug target/33717] slow code generated for 64-bit arithmetic

2009-01-01 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2009-01-01 17:35 ---
(In reply to comment #3)

> Most likely addsi3_carry should accept 0 as one of the operands.

It does:

(define_insn "addsi3_carry"
  [(set (match_operand:SI 0 "nonimmediate_operand" "=rm,r")
  (plus:SI (plus:SI (match_operand:SI 3 "ix86_carry_flag_operator" "")
(match_operand:SI 1 "nonimmediate_operand" "%0,0"))
   (match_operand:SI 2 "general_operand" "ri,rm")))
   (clobber (reg:CC FLAGS_REG))]


It looks to me that cprop_hardreg is the pass to handle this case, at least
this sequence should be handled (to propagate cx):

(insn 74 50 52 3 pr33717.c:12 (parallel [
(set (reg:SI 2 cx [+4 ])
(const_int 0 [0x0]))
(clobber (reg:CC 17 flags))
]) 45 {*movsi_xor} (nil))


(insn 53 52 54 3 pr33717.c:12 (parallel [
(set (reg:SI 4 si [+4 ])
(plus:SI (plus:SI (ltu:SI (reg:CC 17 flags)
(const_int 0 [0x0]))
(reg:SI 4 si [+4 ]))
(reg:SI 2 cx [+4 ])))
(clobber (reg:CC 17 flags))
]) 266 {addsi3_carry} (expr_list:REG_DEAD (reg:CC 17 flags)
(expr_list:REG_DEAD (reg:SI 2 cx [+4 ])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33717



[Bug target/38706] [4.4 regression] ../../../../src/libstdc++-v3/src/strstream.cc:419: internal compiler error: Segmentation fault

2009-01-03 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2009-01-03 16:57 ---
Can you create a reduced testcase?

gcc bootstrapped OK a couple of days ago on alphaev56-unknown-linux-gnu
(gcc30.fsffrance.org).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38706



[Bug target/38706] [4.4 regression] ../../../../src/libstdc++-v3/src/strstream.cc:419: internal compiler error: Segmentation fault

2009-01-03 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2009-01-03 16:58 ---
BTW: Did you build from a clean build directory?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38706



[Bug target/38749] native and core2 differ on core2 hardware

2009-01-06 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2009-01-07 07:21 ---
(In reply to comment #2)
> Andrew, ah, right. But then, why output differs? Gentoo does not modifies this
> bits...

gcc driver has separate checks for CPUID features. So, it first determines CPU
model and then adds appropriate flags, derived from CPUID.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38749



[Bug target/38706] [4.4 Regression] ../../../../src/libstdc++-v3/src/strstream.cc:419: internal compiler error: Segmentation fault

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2009-01-07 08:04 ---
(In reply to comment #6)
> Current trunk bootstraps fine on an other machine, but the testcase fails too
> on it.

Thanks for the testcase, it fails on a crosscompiler too. I'll look into it.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-01-07 08:04:04
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38706



[Bug target/38706] [4.4 Regression] ../../../../src/libstdc++-v3/src/strstream.cc:419: internal compiler error: Segmentation fault

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2009-01-07 11:14 ---
Created an attachment (id=17045)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17045&action=view)
Patch to fix the failure

We should not free cfun since it is needed in alpha_end_function.

Arthur, can you perhaps bootstrap/regression test the patch?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38706



[Bug testsuite/33263] [4.3/4.4 regression] libjava testsuite failures on alpha-linux

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2009-01-07 14:02 ---
(In reply to comment #0)

> FAIL: natgetargssize.cc compilation
> FAIL: natgetlocalvartable.cc compilation
> FAIL: natgetstacktrace.cc compilation
> FAIL: natevents.cc compilation
> FAIL: natgetallthreads.cc compilation
> FAIL: natgeterrorname.cc compilation
> FAIL: natgetmethodname.cc compilation

These are in fact due to PR31488.

> FAIL: Array_3 execution - source compiled test
> FAIL: Array_3 -findirect-dispatch execution - source compiled test
> FAIL: Array_3 -O3 execution - source compiled test
> FAIL: Array_3 -O3 -findirect-dispatch execution - source compiled test
> FAIL: G19990303_02 execution - source compiled test
> FAIL: G19990303_02 -findirect-dispatch execution - source compiled test
> FAIL: G19990303_02 -O3 execution - source compiled test
> FAIL: G19990303_02 -O3 -findirect-dispatch execution - source compiled test
> FAIL: Invoke_1 execution - source compiled test
> FAIL: Invoke_1 -findirect-dispatch execution - source compiled test
> FAIL: Invoke_1 -O3 execution - source compiled test
> FAIL: Invoke_1 -O3 -findirect-dispatch execution - source compiled test
> FAIL: N19990310_02 -O3 output - source compiled test
> FAIL: N19990310_02 -O3 -findirect-dispatch output - source compiled test
> FAIL: PR218 output - source compiled test
> FAIL: PR218 -O3 output - source compiled test
> FAIL: StackTrace2 execution - source compiled test
> FAIL: StackTrace2 -findirect-dispatch execution - source compiled test
> FAIL: StackTrace2 -O3 execution - source compiled test
> FAIL: StackTrace2 -O3 -findirect-dispatch execution - source compiled test
> FAIL: Throw_2 execution - source compiled test
> FAIL: Throw_2 -findirect-dispatch execution - source compiled test
> FAIL: Throw_2 -O3 execution - source compiled test
> FAIL: Throw_2 -O3 -findirect-dispatch execution - source compiled test
> FAIL: Throw_3 output - source compiled test
> FAIL: Throw_3 -findirect-dispatch output - source compiled test
> FAIL: Throw_3 -O3 output - source compiled test
> FAIL: Throw_3 -O3 -findirect-dispatch output - source compiled test
> FAIL: initexc execution - source compiled test
> FAIL: initexc -findirect-dispatch execution - source compiled test
> FAIL: initexc -O3 execution - source compiled test
> FAIL: initexc -O3 -findirect-dispatch execution - source compiled test
> FAIL: invokethrow execution - source compiled test
> FAIL: invokethrow -findirect-dispatch output - source compiled test
> FAIL: invokethrow -O3 execution - source compiled test
> FAIL: invokethrow -O3 -findirect-dispatch output - source compiled test
> FAIL: pr83 -findirect-dispatch execution - source compiled test
> FAIL: pr83 -O3 -findirect-dispatch execution - source compiled test

These are due to some strange failure in dejagnu framework on debian alpha.
>From my private communication with Matthias Close:

--quote--
I'm trying to fix last remaining gcc testsuite errors [0] on Debian
alpha gcc (gcc30 cfarm machine) and I tripped on some strange
dejagnu/Expect/Tcl error on Debian system.

This problem causes following teststuite failures:

FAIL: g++.dg/ext/cleanup-10.C execution test
FAIL: g++.dg/ext/cleanup-11.C execution test
FAIL: g++.dg/ext/cleanup-8.C execution test
FAIL: g++.dg/ext/cleanup-9.C execution test

FAIL: gcc.dg/cleanup-10.c execution test
FAIL: gcc.dg/cleanup-11.c execution test
FAIL: gcc.dg/cleanup-8.c execution test
FAIL: gcc.dg/cleanup-9.c execution test

and all remaining libjava test failures, FWIW.

These runtime testcases (including java) all work OK when executed
directly from the shell (using just built libraries, so all libraries
are exactly the same), but fail when run from dejagnu framework. They
also fail when executing these test cases through dejagnu with default
installed compiler (gcc-4.2.4).

The problem is, that SIGSEGV handling is somehow suppressed when run
from dejagnu framework. To check this, please put attached sig.c to
gcc/testsuite/dg.exp directory and execute "make -k check-gcc
RUNTESTFLAGS=dg.exp=sig.c" from gcc/ subdirectory of your build dir.
The testcase will fail, OTOH, it will finish without problems when
executed directly from the shell.

I have noticed, that in some of your testreports, these strange
failures happen [1], but some of your testreports doesn't show them
[2], [3]. Are these tests performed on the same machine? If not, what
is the difference with runtime/testing environments between these test
runs?

[0] http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg02551.html
[1] http://gcc.gnu.org/ml/gcc-testresults/2009-01/msg00182.html
[2] http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg01836.html
[3] http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg00926.html
--/quote--

--quote2--
The question is, why we abort on following dejagnu testcase on alpha systems:


[Bug bootstrap/37349] [4.4 Regression] bootstrap broken on Alpha: undefined reference to _Jv_RegisterClasses

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2009-01-07 14:05 ---
Closed as WORKSFORME, since bootstrap - well - works for me.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WORKSFORME


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37349



[Bug ada/36025] "cpu_set_t" not declared in "OS_Interface" compilation problem on alpha

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2009-01-07 14:08 ---
Ada stuff.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

  Component|other   |ada


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36025



[Bug target/25687] pwlib 1.8.7 does not build on alpha due with -Os

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2009-01-07 15:37 ---
No answer in 3 months.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25687



[Bug target/26879] LibJava not compile under alpha

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #15 from ubizjak at gmail dot com  2009-01-07 15:38 ---
4.1 is not supported anymore.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26879



[Bug target/29207] gij bus errors on hppa-linux-gnu and alpha-linux-gnu

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2009-01-07 15:39 ---
Does this still fail?


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29207



[Bug target/4605] [alpha-osf]mips-tfile & spaced directory names

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2009-01-07 15:40 ---
Does this still happen with 4.3 or 4.4 branch?


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4605



[Bug debug/7055] [alpha osf4] G++ 3.1 Produced bad debugging entries if compiled with -gcoff, also segv.

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2009-01-07 15:41 ---
Does this still happen with version 4.3 or 4.4?


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7055



[Bug target/8603] [Alpha] s?addl pattern doesn't work

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2009-01-07 17:56 ---
Following patch that changes addsi3 and subsi3 expander constraint fixes this
problem:

--cut here--
Index: alpha.md
===
--- alpha.md(revision 143157)
+++ alpha.md(working copy)
@@ -261,7 +261,7 @@
   [(set (match_operand:SI 0 "register_operand" "")
(plus:SI (match_operand:SI 1 "reg_or_0_operand" "")
 (match_operand:SI 2 "add_operand" "")))]
-  "! optimize"
+  ""
   "")

 (define_insn "*addsi_internal"
@@ -622,7 +622,7 @@
   [(set (match_operand:SI 0 "register_operand" "")
(minus:SI (match_operand:SI 1 "reg_or_0_operand" "")
  (match_operand:SI 2 "reg_or_8bit_operand" "")))]
-  "! optimize"
+  ""
   "")

 (define_insn "*subsi_internal"
--cut here--

With the patch (gcc -O2):

f:
s4addl $16,$17,$0
ret $31,($26),1

g:
s4subl $16,$16,$0
ret $31,($26),1

This regression was introduced by:

Sat Feb 23 08:42:47 2002  Richard Kenner  

* expr.c (store_expr): When converting expression to promoted
equivalent type, allow using SUBREG_REG of TARGET as the target
of the expansion of EXP.
* loop.c (basic_induction_var, case SUBREG): Always look inside.
* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
(alpha_emit_set_const): Handle SImode when can't make new pseudos.
(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.

And the comment above addsi3 says:

;; Don't say we have addsi3 if optimizing.  This generates better code.  We
;; have the anonymous addsi3 pattern below in case combine wants to make it.

So, is this still true? Can somebody benchmark this patch? We can perhaps look
at csibe numbers.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8603



[Bug target/38706] [4.4 Regression] ../../../../src/libstdc++-v3/src/strstream.cc:419: internal compiler error: Segmentation fault

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #12 from ubizjak at gmail dot com  2009-01-07 21:58 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38706



[Bug c++/31488] [4.3/4.4 Regression] va_list considered non-POD

2009-01-07 Thread ubizjak at gmail dot com


--- Comment #12 from ubizjak at gmail dot com  2009-01-08 07:04 ---
(In reply to comment #11)
> Created an attachment (id=17051)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17051&action=view) [edit]
> Fix in pod_type_p
> 
> Uros is testing this patch for me.

This patch bootstraps OK and fixes following libjava FAILs on
alphaev56-unknown-linux-gnu:

-FAIL: natgetargssize.cc compilation
-FAIL: natgetlocalvartable.cc compilation
-FAIL: natgetstacktrace.cc compilation
-FAIL: natevents.cc compilation
-FAIL: natgetallthreads.cc compilation
-FAIL: natgeterrorname.cc compilation
-FAIL: natgetmethodname.cc compilation

The patch was also bootstrapped and regression tested on x86_64-pc-linux-gnu
{,-m32} without any problems.

BTW: Cleaned testcase can be found at [1].

[1] http://gcc.gnu.org/ml/gcc-patches/2008-12/msg01280.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

URL|http://gcc.gnu.org/ml/gcc-  |
   |patches/2008-   |
   |12/msg01280.html|


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31488



[Bug middle-end/38666] [4.3 Regression] internal compiler error: Segmentation fault

2009-01-08 Thread ubizjak at gmail dot com


--- Comment #11 from ubizjak at gmail dot com  2009-01-08 13:10 ---
Program received signal SIGSEGV, Segmentation fault.
record_one_conflict (allocnos_live=0x16103ee8, hard_regs_live=, 
regno=390007032) at
../../gcc-svn/branches/gcc-4_3-branch/gcc/ra-conflict.c:176
176 word = conflicts[index];
(gdb) bt
#0  record_one_conflict (allocnos_live=0x16103ee8, hard_regs_live=, 
regno=390007032) at
../../gcc-svn/branches/gcc-4_3-branch/gcc/ra-conflict.c:176
#1  0x08535fef in global_conflicts ()
at ../../gcc-svn/branches/gcc-4_3-branch/gcc/ra-conflict.c:290
#2  0x0850b80d in rest_of_handle_global_alloc ()
at ../../gcc-svn/branches/gcc-4_3-branch/gcc/global.c:534
#3  0x081d1d43 in execute_one_pass (pass=0x86e38c0)
at ../../gcc-svn/branches/gcc-4_3-branch/gcc/passes.c:1122


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38666



[Bug middle-end/38666] [4.3 Regression] internal compiler error: Segmentation fault

2009-01-08 Thread ubizjak at gmail dot com


--- Comment #12 from ubizjak at gmail dot com  2009-01-08 13:55 ---
At the point of failure, we have:

bitnum = 1024405, index = 32012

(BTW: The function doesn't crash when index = 26677).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38666



[Bug middle-end/38666] [4.3 Regression] internal compiler error: Segmentation fault

2009-01-08 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2009-01-08 13:03 ---
Confirmed, attached testcase fails with -O1 on 4.3 branch, works OK for 4.4
branch.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|x86_64-linux-gnu|i686-linux-gnu
  Known to fail||4.3.3
  Known to work||4.4.0
   Last reconfirmed|-00-00 00:00:00 |2009-01-08 13:03:12
   date||
Summary|internal compiler error:|[4.3 Regression] internal
   |Segmentation fault  |compiler error: Segmentation
   ||fault
   Target Milestone|--- |4.3.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38666



[Bug debug/7055] [alpha osf4] G++ 3.1 Produced bad debugging entries if compiled with -gcoff, also segv.

2009-01-08 Thread ubizjak at gmail dot com


--- Comment #12 from ubizjak at gmail dot com  2009-01-08 15:01 ---
(In reply to comment #11)

> So GCC 4.1 and 4.2 no longer create the problematic definitions, but
> nevertheless the problem in mips-tfile is still present.

Can you please post your patch to gcc-patches@ mailing list for a review?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7055



[Bug debug/7055] [alpha osf4] G++ 3.1 Produced bad debugging entries if compiled with -gcoff, also segv.

2009-01-08 Thread ubizjak at gmail dot com


--- Comment #14 from ubizjak at gmail dot com  2009-01-08 15:55 ---
(In reply to comment #13)
> Note that my original patch is for the 4.1.1 source tree. Should I post it
> anyway?

Yes, I think that there were no recent changes in this area.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7055



[Bug middle-end/38666] [4.3 Regression] internal compiler error: Segmentation fault in record_one_conflict, ra-conflict.c:176

2009-01-08 Thread ubizjak at gmail dot com


--- Comment #19 from ubizjak at gmail dot com  2009-01-09 07:20 ---
(In reply to comment #18)
> So, only the ICE is a regression, not the memory-hog, correct?

Yes.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

   Keywords|memory-hog  |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38666



  1   2   3   4   5   6   7   8   9   10   >