[Bug rtl-optimization/42575] arm-eabi-gcc 64-bit multiply weirdness

2010-01-04 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2010-01-04 10:54 ---
Confirmed with trunk I get 

longfunc:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mul r1, r2, r1
mla r1, r0, r3, r1
stmfd   sp!, {r4, r5}
umull   r4, r5, r2, r0
add r1, r1, r5
mov r0, r4
mov r5, r1
ldmfd   sp!, {r4, r5}
bx  lr

r4 and r5 need not be used here  - you could do with just r2 and r3 instead of
r4 and r5 here 

i.e.
mul r1, r2, r1
mla r1, r0, r3, r1
umull   r2, r3, r2, r0
add r1, r1, r3
mov r0, r2
bx  lr


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|target  |rtl-optimization
 Ever Confirmed|0   |1
   Keywords||missed-optimization, ra
   Last reconfirmed|-00-00 00:00:00 |2010-01-04 10:54:28
   date||
Summary|arm-eabi-gcc 4.2.1 64-bit   |arm-eabi-gcc 64-bit multiply
   |multiply weirdness  |weirdness


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



[Bug target/42509] bootstrap failure in stage3 (integer overflow in preprocessor expression)

2009-12-30 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-12-30 23:54 ---
Mine.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ramana at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-12-29 10:08:55 |2009-12-30 23:54:53
   date||


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



[Bug c++/42500] Unnecessary call to memset to initialize array at Os

2009-12-30 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-30 19:14 ---
Ok (In reply to comment #3)
> My complete command line:
> 
> "/home/carrot/compiler/armobj/gcc/cc1plus" "-fpreprocessed" "testH.ii" 
> "-quiet"
> "-dumpbase" "testH.cpp" "-auxbase-strip" "obj/./testH.o" "-Os" "-o" "testH.s"
> 
> Please compile it as C++ program. When I compiled it as C program, I got the
> same result as yours.

Ok that is a subject of a separate bug report that has been filed at PR42556.
Let this remain about just the redundant move of sp into r4.

Ramana


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|target  |c++
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-30 19:14:49
   date||
Summary|unnecessary register move   |Unnecessary call to memset
   ||to initialize array at Os


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



[Bug c++/42556] New: Unnecessary generation of a zero initializer for array with C++

2009-12-30 Thread ramana at gcc dot gnu dot org
This is distilled from PR42500. The same testcase doesn't show a problem if
compiled with a C compiler only.

Why does the gimple for the following testcase contain ? 

extern "C" void foo(int a[4]);
extern "C" void bar(int a, int b, int c, int d)
{
  int v[4] = { a, b, c, d};
 foo(v);
 foo(v);
}


in .004t.gimple

void bar(int, int, int, int) (int a, int b, int c, int d)
{
  int v[4];

  v = {};
  v[0] = a;
  v[1] = b;
  v[2] = c;
  v[3] = d;
  foo (&v[0]);
  foo (&v[0]);
}

even when all members of the array have been initialized  in your original
testcase. I wonder if this can be eliminated as a part of the lowering process
to GIMPLE in the C++ frontend rather than any other place. 

At -O2 the RTL optimizers remove 2 of the stores but there are unnecessary
stores of 0 to memory locations at [sp+8] , [sp+12] and the code generated is
as follows. (Instructions marked A and B below).

bar:
stmfd   sp!, {r4, lr}
.save {r4, lr}
.LCFI0:
.pad #16
sub sp, sp, #16
.LCFI1:
mov lr, #0
add ip, sp, #8
str lr, [ip], #4  // A
str r0, [sp, #0] 
mov r0, sp
str lr, [ip, #0]  // B
stmib   sp, {r1, r2, r3}@ phole stm
bl  foo
mov r0, sp
mov r4, sp 
bl  foo
add sp, sp, #16
ldmfd   sp!, {r4, lr}
bx  lr




At -Os because the zero initializer is in the form of a memset - the RTL
optimizers don't remove anything and the code generated is as follows. 


bar:
.fnstart
.LFB0:
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
stmfd   sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
.save {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
.LCFI0:
mov r6, r0
mov r5, r1
mov r4, r2
mov r1, #0
mov r2, #16
mov r0, sp
mov r8, r3
bl  memset
mov r0, sp
str r6, [sp, #0]
str r5, [sp, #4]
mov r7, sp
str r4, [sp, #8]
str r8, [sp, #12]
bl  foo
mov r0, sp
bl  foo
ldmfd   sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, pc}



If I change the testcase to use the extended initializer list in c++0x and
gnu++0x . There is an unnecessary move from sp to r4 but that is the subject of
PR42500.


void foo(int a[4]);
void bar(int a, int b, int c, int d)
{
  int v[4] ;
  v = { a, b, c, d};
 foo(v);
 foo(v);
}
bar:
.fnstart
.LFB0:
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
stmfd   sp!, {r0, r1, r2, r3, r4, lr}
.save {r0, r1, r2, r3, r4, lr}
.LCFI0:
str r0, [sp, #0]
mov r0, sp
stmib   sp, {r1, r2, r3}@ phole stm
bl  foo
mov r0, sp
mov r4, sp
bl  foo
ldmfd   sp!, {r0, r1, r2, r3, r4, pc}
.LFE0:
.fnend


cheers
Ramana


-- 
   Summary: Unnecessary generation of a zero initializer for array
with C++
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ramana at gcc dot gnu dot org
  GCC host triplet: x86_64 linux gnu
GCC target triplet: arm-eabi


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



[Bug rtl-optimization/42497] Generate conditional tail calls .

2009-12-30 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-12-30 17:32 ---
The problem here essentially appears to be that GCC can't seem to generate
conditional tail-calls (or conditional calls for that matter in this case) with
-fno-optimize-sibling-calls . I don't read this as a problem with
builtin_expect per-se but that of GCC not being able to generate a conditional
tail-call / call.

A simpler test is essentially the following. 

void foo (int x)
{
  if (x)
bar ();
  else
baz ();
}


This is also not just a target problem but probably one for the RTL optimizers
rather any where else..


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
  Component|target  |rtl-optimization
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-30 17:32:59
   date||
Summary|GCC can do less work in the |Generate conditional tail
   |frequently executed path|calls .


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



[Bug middle-end/42501] [4.4 only] Code bloating on operations with bit fields

2009-12-29 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-12-30 00:19 ---
This appears to be a 4.4 only size regression and this  appears to be fixed on
trunk.

With -Os -march=armv5te -mthumb size is 44 bytes on trunk as of today. gcc
version 4.5.0 20091229 (experimental) (GCC) 


 :
   0:   b5f0push{r4, r5, r6, r7, lr}
   2:   4b09ldr r3, [pc, #36]   ; (28 )
   4:   2200movsr2, #0
   6:   681bldr r3, [r3, #0]
   8:   2503movsr5, #3
   a:   e007b.n 1c 
   c:   c910ldmia   r1!, {r4}
   e:   009flslsr7, r3, #2
  10:   6826ldr r6, [r4, #0]
  12:   3201addsr2, #1
  14:   402eandsr6, r5
  16:   433eorrsr6, r7
  18:   3301addsr3, #1
  1a:   6026str r6, [r4, #0]
  1c:   4282cmp r2, r0
  1e:   dbf5blt.n   c 
  20:   4a01ldr r2, [pc, #4]; (28 )
  22:   6013str r3, [r2, #0]
  24:   bdf0pop {r4, r5, r6, r7, pc}
  26:   46c0nop ; (mov r8, r8)
  28:   .word   0x


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-30 00:19:26
   date||
Summary|Code bloating on operations |[4.4 only] Code bloating on
   |with bit fields |operations with bit fields


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



[Bug target/42500] unnecessary register move

2009-12-29 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-30 00:10 ---
(In reply to comment #1)
> What architecture options are you using  ? With .ident  "GCC: (GNU)
> 4.5.0 20091229 (experimental)" and -O2 I get the redundant move into r4 of sp 
> . 
> 
> But for -Os I get the following very different code.  I don't see the call to
> memset ever. \

Sorry I meant this rather than the code in comment #1

bar:
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
stmfd   sp!, {r0, r1, r2, r3, r4, lr}
str r0, [sp, #0]
mov r0, sp
stmib   sp, {r1, r2, r3}@ phole stm
bl  foo
mov r0, sp
mov r4, sp
bl  foo
ldmfd   sp!, {r0, r1, r2, r3, r4, pc}
.size   bar, .-bar
.ident  "GCC: (GNU) 4.5.0 20091229 (experimental)"
.section.note.GNU-stack,"",%progbits


-- 


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



[Bug target/42500] unnecessary register move

2009-12-29 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-12-30 00:08 ---
What architecture options are you using  ? With .ident  "GCC: (GNU)
4.5.0 20091229 (experimental)" and -O2 I get the redundant move into r4 of sp . 

But for -Os I get the following very different code.  I don't see the call to
memset ever. 

.text
.align  2
.global foo
.type   foo, %function
foo:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd   sp!, {r0, r1, r2, lr}   @,
mov r3, r0  @ a, a
ldr r2, [r0, #12]   @ tmp142,
str r2, [sp, #0]@ tmp142,
ldr r0, .L2 @,
ldmia   r3, {r1, r2, r3}@ phole ldm
bl  printf  @
ldmfd   sp!, {r1, r2, r3, pc}
.L3:
.align  2
.L2:
.word   .LC0
.size   foo, .-foo
.section.rodata.str1.1,"aMS",%progbits,1
.LC0:
.ascii  "%d %d %d %d \012\000"
.ident  "GCC: (GNU) 4.5.0 20091229 (experimental)"
.section    .note.GNU-stack,"",%progbits


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|unnecessary register move   |unnecessary register move


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



[Bug middle-end/29274] [4.3/4.4/4.5 Regression] not using mulsidi3

2009-12-29 Thread ramana at gcc dot gnu dot org


--- Comment #10 from ramana at gcc dot gnu dot org  2009-12-29 23:21 ---
*** Bug 42498 has been marked as a duplicate of this bug. ***


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||carrot at google dot com


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



[Bug target/42498] GCC can't use smull to compute int * int --> long long

2009-12-29 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-29 23:21 ---
This looks like a DUP of PR29274.

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


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c/42537] [PATCH] misc spelling fixes

2009-12-29 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-29 12:47 ---
Please submit patches to gcc-patc...@gcc.gnu.org rather than attaching the
patch here. 


-- 


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



[Bug tree-optimization/42494] [4.4 Regression] Missed dead-code-elimination: GCC 4.2.1 generates better code than 4.4.0

2009-12-29 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2009-12-29 12:44 ---
Steven,

(In reply to comment #2)
> The "if (outcnt == 1) func ();" bit is optimized for me with gcc-4.4.2 on
> x86_64 at -O1 and -O2, but not at -Os. I was a bit too hasty to call this 
> alias
> related, it seems.

Yes it seems to go away at O1 and O2. I didn't see any comment from you earlier
so not sure what you are referring to here. 

> The O2 and Os tree dumps start to diverge in the dom1 dump,
> where we have just one call to func after dom1 at -O2 and still two calls at
> -O2.
> 

FWIW I saw this removed by dom2 in trunk at -Os. In any case I think the
component ought to be tree-optimization and changed.

Cheers
Ramana


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |tree-optimization


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



[Bug c/42494] [4.4 only] Regression on dead-code-elimination: GCC 4.2.1 generates better code than 4.4.0

2009-12-29 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-12-29 10:35 ---
I can confirm this as a problem on the 4.4 branch and I can see this isn't a
problem on trunk .



.arch armv5te
.fpu softvfp
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 1
.eabi_attribute 30, 4
.eabi_attribute 18, 4
.code   16
.file   "t.c"
.text
.align  1
.global test
.code   16
.thumb_func
.type   test, %function
test:
ldr r3, .L4
mov r2, #0
str r2, [r3]
ldr r3, .L4+4
@ sp needed for prologue
ldr r2, [r3]
sub r3, r2, #1
sbc r2, r2, r3
ldr r3, .L4+8
lsl r2, r2, #1
strbr2, [r3]
bx  lr
.L5:
.align  2
.L4:
.word   outcnt
.word   bool_var
.word   outbuf
.size   test, .-test
.ident  "GCC: (GNU) 4.5.0 20091223 (experimental)"


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-29 10:35:21
   date||
Summary|Regression on dead-code-|[4.4 only] Regression on
   |elimination: GCC 4.2.1  |dead-code-elimination: GCC
   |generates better code than  |4.2.1 generates better code
   |4.4.0   |than 4.4.0


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



[Bug target/42503] [4.4 Regression] gcc-4.4-20091215 broke libjava on ARM

2009-12-29 Thread ramana at gcc dot gnu dot org


--- Comment #11 from ramana at gcc dot gnu dot org  2009-12-29 10:24 ---
(In reply to comment #7)
> (In reply to comment #5)
> > I believe it's the *absence* of the PR40134 fix on 4_4-branch that's causing
> > the backport of __sync_synchronize() support to regress. I'm currently 
> > testing
> > 4.4-20091215 with relevant bits of PR40134 backported (r151568 + r152975): 
> > that
> > cured the build failure, but the testsuite run is not yet finished.
> 
> The testsuite run now finished with no regressions compared to 4.4 snapshots
> from before this regression.
> 

Can you or Matthias submit this patch to gcc-patc...@gcc.gnu.org ? 


-- 


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



[Bug target/42509] bootstrap failure in stage3 (integer overflow in preprocessor expression)

2009-12-29 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-29 10:08:55
   date||


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



[Bug target/42503] [4.4 Regression] gcc-4.4-20091215 broke libjava on ARM

2009-12-28 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-28 21:40:59
   date||


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



[Bug target/42503] gcc-4.4-20091215 broke libjava on ARM

2009-12-27 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-27 11:37 ---
The correct fix is potentially a version of the fix for PR40133 / PR40134 for
arm-linux-gnueabi. Looking at this.


-- 


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



[Bug target/42486] Parameter spilling can be merged into function prologue

2009-12-24 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-24 16:02 ---
This isn't going to happen till we teach csa and the other optimizers about
load and store multiple as first class objects in the IR.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-24 16:02:23
   date||


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



[Bug target/40887] GCC generates suboptimal code for indirect function calls on ARM

2009-12-24 Thread ramana at gcc dot gnu dot org


--- Comment #9 from ramana at gcc dot gnu dot org  2009-12-24 10:46 ---
Subject: Bug 40887

Author: ramana
Date: Thu Dec 24 10:46:00 2009
New Revision: 155453

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155453
Log:
Fix PR target/40887



2009-12-24  Julian Brown  
Ramana Radhakrishnan  

PR target/40887

* config/arm/arm.c (output_call_mem): Remove armv5 support.
* config/arm/arm.md (*call_mem): Disable for armv5. Add note.
(*call_value_mem): Likewise.


PR target/40887

* gcc.target/gcc.arm/pr40887.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/arm/pr40887.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c
trunk/gcc/config/arm/arm.md
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug target/42093] [4.5 regression] Compressed switch tables for Thumb2 have signed offsets

2009-12-24 Thread ramana at gcc dot gnu dot org


--- Comment #7 from ramana at gcc dot gnu dot org  2009-12-24 10:18 ---
Matthias confirmed to me privately that his bootstrap had gone past the
infinite loop in stage2 . There might be other issues with Thumb2 bootstrap -
we'll open new bugs in the future for those. 

Updated subject line to be more appropriate.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Component|bootstrap   |target
 Resolution||FIXED
Summary|[4.5 regression] bootstrap  |[4.5 regression] Compressed
   |hangs in stage2 run of  |switch tables for Thumb2
   |build/gengtype  |have signed offsets


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



[Bug target/40670] Load floating point constant 0 directly

2009-12-23 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2009-12-23 16:37 ---
Fixed.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.5.0


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



[Bug bootstrap/42093] [4.5 regression] bootstrap hangs in stage2 run of build/gengtype

2009-12-23 Thread ramana at gcc dot gnu dot org


--- Comment #6 from ramana at gcc dot gnu dot org  2009-12-23 16:36 ---
Subject: Bug 42093

Author: ramana
Date: Wed Dec 23 16:36:40 2009
New Revision: 155428

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155428
Log:
Fix PR target/42093


2009-12-23  Ramana Radhakrishnan  

PR target/42093
* config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage
to TARGET_THUMB1.
(CASE_VECTOR_SHORTEN_MODE): Allow signed offsets 
only for TARGET_THUMB1.

2009-12-23  Ramana Radhakrishnan  

PR target/42093
* gcc.target/arm/pr42093.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/arm/pr42093.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.h
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug target/40670] Load floating point constant 0 directly

2009-12-23 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-23 16:29 ---
Subject: Bug 40670

Author: ramana
Date: Wed Dec 23 16:29:12 2009
New Revision: 155427

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155427
Log:
Pass floating point constant moves to integer registers
as mov immediates for Thumb1.


2009-12-23  Ramana Radhakrishnan  

PR target/40670
* config/arm/arm.md: Split for Thumb1 as well.

* gcc.target/arm/pr40670.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/arm/pr40670.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.md
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug target/42404] Incorrect CFI generated

2009-12-23 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-23 15:25 ---
Can't see anything in the backend that does CFI in prologue and epilogue for
the ARM port. Reclassifying as a target bug rather than a debug bug.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|debug   |target
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-23 15:25:04
   date||


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



[Bug libmudflap/42279] libmudflap checks with the wrong CPP for execinfo.h

2009-12-23 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2009-12-23 15:12 ---
(In reply to comment #4)
> Created an attachment (id=19267)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19267&action=view) [edit]
> Fix for libmudflap + libstdc++v3 for gcc 4.4.2
> 
> In gcc 4.4.2, libstdc++v3 is also affected by the CPP probelm.
> 
> I attach the fix for gcc 4.4.2 that fixes both libstdc++v3 and libmudflap
> builds, and I imagine, any target library build.
> 

Please again send this to the mailing list rather than attaching the fix here. 


-- 


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



[Bug target/40887] GCC generates suboptimal code for indirect function calls on ARM

2009-12-23 Thread ramana at gcc dot gnu dot org


--- Comment #8 from ramana at gcc dot gnu dot org  2009-12-23 09:00 ---
Patch submitted here. http://gcc.gnu.org/ml/gcc-patches/2009-12/msg01060.html


-- 


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



[Bug target/40657] allocate local variables with fewer instructions

2009-12-22 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement


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



[Bug rtl-optimization/20972] Register allocator/reload uses auto-inc register in non-addressing operand

2009-12-22 Thread ramana at gcc dot gnu dot org


--- Comment #13 from ramana at gcc dot gnu dot org  2009-12-22 22:39 ---
Can't reproduce with trunk or release branches for the attached testcase. 


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |WAITING


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



[Bug target/41366] Invariant algebraic expressions using mixed 64 and 32 bit expressions not recognized.

2009-12-22 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-22 22:36 ---
Updating summary and Component.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |target
Summary|Very inefficient code   |Invariant algebraic
   |generated   |expressions using mixed 64
   ||and 32 bit expressions not
   ||recognized.


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



[Bug target/20810] ICE in reload_cse_simplify_operands, at postreload.c:391

2009-12-22 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-22 22:06 ---
Can't reproduce with 4.3 branch, 4.4 branch , trunk and arm-eabi / arm-elf

Tested with 

-O2 , -O3 , -Os
-march=armv5te, armv4t , armv7-a
-marm -mthumb


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WORKSFORME


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



[Bug target/28872] ARM inline assembly can be mispredicated.

2009-12-22 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2009-12-22 20:26 ---
(In reply to comment #1)
> The only reason for keeping the old predication-based code is that it can
> handle an important case that the generic code cannot.  Specifically, it can
> conditionally skip a call to a function: this is not normally predicable since
> it clobbers the instruction codes.   However, the arm-specific code knows that
> it is safe to do this iff the call instruction is the last instruction in the
> predicated sequence.
> 


http://gcc.gnu.org/ml/gcc/2009-08/msg00154.html for a thread on the issues with
turning this off for ARM and conditional calls.



> If the MI code could be made to handle cases where the predicate register was
> clobbered by the last predicable instruction, then the need to keep the
> existing MD code could disappear in a puff of smoke.
> 


-- 


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



[Bug bootstrap/42093] [4.5 regression] bootstrap hangs in stage2 run of build/gengtype

2009-12-22 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2009-12-22 16:35 ---
Testing this patch. Thumb2 can't have signed numbers in the tbh instruction.

Index: arm.h
===
--- arm.h   (revision 155371)
+++ arm.h   (working copy)
@@ -2122,7 +2122,7 @@ typedef struct
 && (optimize_size || flag_pic)))

 #define CASE_VECTOR_SHORTEN_MODE(min, max, body)   \
-  (TARGET_THUMB   
\
+  (TARGET_THUMB1   \
? (min >= 0 && max < 512\
   ? (ADDR_DIFF_VEC_FLAGS (body).offset_unsigned = 1, QImode)   \
   : min >= -256 && max < 256   \


-- 


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



[Bug middle-end/40887] GCC generates suboptimal code for indirect function calls on ARM

2009-12-21 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ramana at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-07-28 08:29:41 |2009-12-21 17:18:35
   date||


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



[Bug debug/42380] CFI statements vs. -pg

2009-12-17 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-17 10:49 ---
Confirmed - 


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-17 10:49:01
   date||


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



[Bug bootstrap/42093] [4.5 regression] bootstrap hangs in stage2 run of build/gengtype

2009-12-16 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-16 11:11 ---
(In reply to comment #3)

Comment #3 has a couple of incorrect statements about this being a problem with
the system compiler - It's actually a 4.5 problem because the object files used
in build/genmddeps are actually compiled by the stage1 compiler.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|bootstrap hangs in stage2   |[4.5 regression] bootstrap
   |run of build/gengtype   |hangs in stage2 run of
   ||build/gengtype


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



[Bug middle-end/42372] Error: undefined symbol `.LPIC7' in operation

2009-12-15 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2009-12-15 09:50 ---
Created an attachment (id=19308)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19308&action=view)
Reduced testcase.

Reduced testcase attached - Compiling with -c -Os -frename-registers exposes
the problem.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #19300|0   |1
is obsolete||


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



[Bug bootstrap/42093] bootstrap hangs in stage2 run of build/gengtype

2009-12-14 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2009-12-14 23:43 ---
I now see a bootstrap failure with build/genmddeps going into an infinite loop
for stage2. This has to be a problem with the the system compiler.

This utility jumps into never never land from read_rtx in read-rtl.c - It's
something that's compiled by the system gcc-4.4 compiler . I've used the lucid
system compiler 4.4.2-ubuntu-5 as the system compiler and for read_rtx I see
the following code being generated - A number of statements including return 1
for the function are removed.

I will have to see if a 4.4 based FSF compiler used as the system code
generates similar code for the function.

b038 :
b038:   e92d 4ff0   stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp,
lr}
b03c:   f8df 926c   ldr.w   r9, [pc, #620]  ; b2ac 
b040:   b08dsub sp, #52 ; 0x34
b042:   f8d9 50c4   ldr.w   r5, [r9, #196]  ; 0xc4
b046:   9005str r0, [sp, #20]
b048:   9103str r1, [sp, #12]
b04a:   9204str r2, [sp, #16]
b04c:   b19dcbz r5, b076 
b04e:   f8d9 40c8   ldr.w   r4, [r9, #200]  ; 0xc8
b052:   4d96ldr r5, [pc, #600]  ; (b2ac
)
b054:   2c00cmp r4, #0
b056:   f000 80eb   beq.w   b230 
b05a:   68a2ldr r2, [r4, #8]
b05c:   2001movsr0, #1
b05e:   9903ldr r1, [sp, #12]
b060:   f8d9 30cc   ldr.w   r3, [r9, #204]  ; 0xcc
b064:   600astr r2, [r1, #0]
b066:   9a04ldr r2, [sp, #16]
b068:   6013str r3, [r2, #0]
b06a:   68e3ldr r3, [r4, #12]
b06c:   f8c9 30c8   str.w   r3, [r9, #200]  ; 0xc8
b070:   b00dadd sp, #52 ; 0x34
b072:   e8bd 8ff0   ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp,
pc}
b076:   462bmov r3, r5
b078:   498dldr r1, [pc, #564]  ; (b2b0
)
b07a:   4a8eldr r2, [pc, #568]  ; (b2b4
)
b07c:   200dmovsr0, #13
b07e:   f002 fcfb   bl  da78 
b082:   462bmov r3, r5
b084:   498aldr r1, [pc, #552]  ; (b2b0
)
b086:   4a8bldr r2, [pc, #556]  ; (b2b4
)
b088:   f8df a22c   ldr.w   sl, [pc, #556]  ; b2b8 
b08c:   4c8bldr r4, [pc, #556]  ; (b2bc
)
b08e:   4684mov ip, r0
b090:   200dmovsr0, #13
b092:   f8c9 c060   str.w   ip, [r9, #96]   ; 0x60
b096:   f002 fcef   bl  da78 
b09a:   462bmov r3, r5
b09c:   4984ldr r1, [pc, #528]  ; (b2b0
)
b09e:   4a85ldr r2, [pc, #532]  ; (b2b4
)
b0a0:   4684mov ip, r0
b0a2:   f8c9 c064   str.w   ip, [r9, #100]  ; 0x64
b0a6:   f04f 0c52   mov.w   ip, #82 ; 0x52
b0aa:   f8c9 c068   str.w   ip, [r9, #104]  ; 0x68
b0ae:   f8df c210   ldr.w   ip, [pc, #528]  ; b2c0 
b0b2:   200dmovsr0, #13
b0b4:   f8c9 c06c   str.w   ip, [r9, #108]  ; 0x6c
b0b8:   f8df c208   ldr.w   ip, [pc, #520]  ; b2c4 
b0bc:   f8c9 c070   str.w   ip, [r9, #112]  ; 0x70
b0c0:   f8df c204   ldr.w   ip, [pc, #516]  ; b2c8 
b0c4:   f8c9 c074   str.w   ip, [r9, #116]  ; 0x74
b0c8:   f002 fcd6   bl  da78 
b0cc:   462bmov r3, r5
b0ce:   4978ldr r1, [pc, #480]  ; (b2b0
)
b0d0:   4a78ldr r2, [pc, #480]  ; (b2b4
)
b0d2:   4684mov ip, r0
b0d4:   200dmovsr0, #13
b0d6:   f8c9 c0ac   str.w   ip, [r9, #172]  ; 0xac
b0da:   f002 fccd   bl  da78 
b0de:   462bmov r3, r5
b0e0:   f8d9 1060   ldr.w   r1, [r9, #96]   ; 0x60
b0e4:   4a79ldr r2, [pc, #484]  ; (b2cc
)
b0e6:   4684mov ip, r0
b0e8:   f8c9 c0b0   str.w   ip, [r9, #176]  ; 0xb0
b0ec:   f04f 0cb8   mov.w   ip, #184; 0xb8
b0f0:   f8c9 c0b4   str.w   ip, [r9, #180]  ; 0xb4
b0f4:   f8df c1d8   ldr.w   ip, [pc, #472]  ; b2d0 
b0f8:   f109 0060   add.w   r0, r9, #96 ; 0x60
b0fc:   f8c9 c0b8   str.w   ip, [r9, #184]  ; 0xb8
b100:   f8df c1d0   ldr.w   ip, [pc, #464]  ; b2d4 
b104:   f8c9 c0bc   str.w   ip, [r9, #188]  ; 0xbc
b108:   f8df c1cc   ldr.w   ip, [pc, #460]  ; b2d8 
b10c:   f8c9 c0c0   str.w   ip, [r9, #192]  ; 0xc0
b110:   f7fe fcd0   bl  9ab4 
b

[Bug middle-end/42372] Error: undefined symbol `.LPIC7' in operation

2009-12-14 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-14 23:37 ---
Confirmed - the work around appears to also be to remove -frename-registers.


Reducing testcase.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-14 23:37:08
   date||


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



[Bug rtl-optimization/41455] memcpy not tail called if it's a struct assignment

2009-12-14 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement


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



[Bug target/35623] RTL check failure in arm_const_double_rtx

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #6 from ramana at gcc dot gnu dot org  2009-12-11 18:27 ---
As it could not be reproduced and a later comment indicates it works for 4.4.0.
Resolved as INVALID.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID
   Target Milestone|--- |4.4.0


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



[Bug target/35586] seg fault when compiling liboil 0.3.13, file conv_c.c

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2009-12-11 18:23 ---
No feedback in over 6 months.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |UNCONFIRMED


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



[Bug target/36527] gcc 4.2.x generates wrong code for ARM target

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #10 from ramana at gcc dot gnu dot org  2009-12-11 18:21 ---
No feedback in over 6 months and appears to work fine in later versions of the
tools.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WONTFIX
   Target Milestone|--- |4.3.1


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



[Bug libgcj/36658] Building gcj for arm linux from trunk (gcc 4.4.0): libjava/gcj/array.h:24: internal compiler error: verify_gimple failed

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2009-12-11 18:19 ---
No feedback in over a year and don't have more information . Hence Suspended.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |UNCONFIRMED


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



[Bug target/37386] Interrupt service routine for arm target corrupts program counter

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-11 18:16 ---
Fixed with 4.3.2 apparently.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.2


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




[Bug target/36697] SIGSEGV on program exit with gcc 4.3.1

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-11 18:15 ---
No feedback in more than 6 months .


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WORKSFORME


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



[Bug target/41482] ICE in libgfortran arm thumb multilib compile

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-11 18:11 ---
arm-elf is in maintenance only mode. Marking it as P4 -


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P4


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



[Bug target/41151] Gas fails to consume the assembly Error: offset too big

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2009-12-11 18:10 ---
Needed an update to a newer version of binutils. Invalid.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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



[Bug rtl-optimization/41574] Distribute floating point expressions causes bad code [4.4 only]

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #12 from ramana at gcc dot gnu dot org  2009-12-11 17:46 ---
Fixed .


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/42263] Wrong code bugs in SMP support

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-11 17:46 ---
Fixed.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/42263] Wrong code bugs in SMP support

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2009-12-11 17:45 ---
Subject: Bug 42263

Author: ramana
Date: Fri Dec 11 17:45:32 2009
New Revision: 155172

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155172
Log:
2009-12-11  Ramana Radhakrishnan  

PR target/42263
Backport from mainline

2009-12-03  Richard Earnshaw  

* arm/linux-atomic.c (SYNC_LOCK_RELEASE): Place memory barrier
before the lock release.

Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/arm/linux-atomic.c


-- 


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



[Bug target/42263] Wrong code bugs in SMP support

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-11 17:37 ---
Subject: Bug 42263

Author: ramana
Date: Fri Dec 11 17:37:34 2009
New Revision: 155171

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155171
Log:
2009-12-11  Ramana Radhakrishnan  

PR target/42263
2009-08-11  Andrew Haley  
* config/arm/arm.c (arm_init_libfuncs): Add __sync_synchronize.

Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/arm/arm.c


-- 


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



[Bug target/41196] The use of ARM NEON vshll_n_u8 intrinsic results in compile error on valid code [4.4 only]

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #10 from ramana at gcc dot gnu dot org  2009-12-11 11:54 ---
Fixed.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


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



[Bug target/41196] The use of ARM NEON vshll_n_u8 intrinsic results in compile error on valid code [4.4 only]

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #9 from ramana at gcc dot gnu dot org  2009-12-11 11:54 ---
Subject: Bug 41196

Author: ramana
Date: Fri Dec 11 11:53:46 2009
New Revision: 155158

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155158
Log:
Fix target/41196

 2009-12-11  Ramana Radhakrishnan  

   PR target/41196
   2009-10-14  Daniel Gutson  

   * config/arm/neon.md (neon_vshll_n): Checking Bounds
   fixed.

 2009-12-11  Ramana Radhakrishnan  

   PR target/41196
   2009-10-14  Daniel Gutson  
   * testsuite/gcc.target/arm/neon/vfp-shift-a2t2.c: New test case.

Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/arm/neon.md
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug rtl-optimization/41574] Distribute floating point expressions causes bad code [4.4 only]

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #11 from ramana at gcc dot gnu dot org  2009-12-11 11:21 ---
Subject: Bug 41574

Author: ramana
Date: Fri Dec 11 11:21:33 2009
New Revision: 155157

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155157
Log:
Fix PR41574 on 4.4 branch.

2009-12-11  Ramana Radhakrishnan  

2009-10-05  Doug Kwan  

PR rtl-optimization/41574
* combine.c (distribute_and_simplify_rtx): Quit if RTX mode is
floating point and we are not doing unsafe math optimizations.


2009-12-11  Ramana Radhakrishnan  

2009-10-08  Doug Kwan  

PR rtl-optimization/41574
* gcc.dg/pr41574.c: New test.



Added:
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr41574.c
  - copied unchanged from r152580, trunk/gcc/testsuite/gcc.dg/pr41574.c
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/combine.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug target/41939] EABI violation in accessing values below the stack.

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-12-11 10:31 ---
Subject: Bug 41939

Author: ramana
Date: Fri Dec 11 10:31:13 2009
New Revision: 155154

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155154
Log:
2009-12-11  Ramana Radhakrishnan  

PR target/41939
Backport from mainline:
2009-06-05  Julian Brown  

* config/arm/ieee754-df.S (cmpdf2): Avoid writing below SP.
* config/arm/ieee754-sf.S (cmpsf2): Likewise.

Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/arm/ieee754-df.S
branches/gcc-4_4-branch/gcc/config/arm/ieee754-sf.S


-- 


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



[Bug bootstrap/42093] bootstrap hangs in stage2 run of build/gengtype

2009-12-11 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ramana at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Priority|P3  |P2
   Last reconfirmed|2009-11-20 16:00:02 |2009-12-11 10:17:51
   date||


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



[Bug target/41399] [4.5 Regression] Internal error compiling fortran/intrinsic.c

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #15 from ramana at gcc dot gnu dot org  2009-12-11 09:53 ---
*** Bug 42351 has been marked as a duplicate of this bug. ***


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||carrot at google dot com


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



[Bug regression/42351] 64 bit arm gcc consumes huge memory

2009-12-11 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-12-11 09:53 ---
Is a dup of PR41399

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


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug bootstrap/40651] bootstrap error on arm-linux-gnueabi: segfault in next_const_call_expr_arg

2009-12-10 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-11 00:33 ---
I haven't been able to reproduce this - closing this out as WORKSFORME.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WORKSFORME


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



[Bug target/41653] not optimal result for multiplication with constant when -Os is specified

2009-12-10 Thread ramana at gcc dot gnu dot org


--- Comment #6 from ramana at gcc dot gnu dot org  2009-12-11 00:25 ---
(In reply to comment #5)

> Please submit patches to gcc-patc...@gcc.gnu.org rather than attaching it to
> the bug report. 

Also when doing so can you measure the impact of your patch with CSIBe and see
code size numbers ? 


Thanks,
Ramana

> 
> Ramana
> 


-- 


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



[Bug target/41653] not optimal result for multiplication with constant when -Os is specified

2009-12-10 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2009-12-11 00:22 ---
(In reply to comment #4)
> Created an attachment (id=19247)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19247&action=view) [edit]
> patch
> 
> The attached patch can fix this bug. But due to
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42258, it can't bring any benefit
> at now.
> 

Please submit patches to gcc-patc...@gcc.gnu.org rather than attaching it to
the bug report. 

Ramana


-- 


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



[Bug libffi/42289] [4.3 only] libffi fails to build with binutils-2.20 on ARM

2009-12-10 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-10 23:51 ---
Update summary


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|libffi fails to build with  |[4.3 only] libffi fails to
   |binutils-2.20 on ARM|build with binutils-2.20 on
   ||ARM


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



[Bug libgcj/40868] ecjx.cc should be compiled by host gcc

2009-12-10 Thread ramana at gcc dot gnu dot org


--- Comment #7 from ramana at gcc dot gnu dot org  2009-12-10 15:25 ---
(In reply to comment #6)
> Created an attachment (id=19222)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19222&action=view) [edit]
> Proposed patch
> 
> With this patch applied, gcj cross-builds fine (not a canadian cross though).
> 

Please submit patches to gcc-patc...@gcc.gnu.org 


-- 


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



[Bug target/42263] Wrong code bugs in SMP support

2009-12-10 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-12-10 15:23 ---
Fixing target milestone and version reported against. 

cheers
Ramana


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.4.4   |4.4.3
Version|4.4.3   |4.4.2


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



[Bug target/41939] EABI violation in accessing values below the stack.

2009-12-10 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.4.3


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



[Bug rtl-optimization/41574] Distribute floating point expressions causes bad code [4.4 only]

2009-12-10 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.4.3


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



[Bug libffi/40242] unsupported asm instructions in libffi/src/arm/sysv.S

2009-12-10 Thread ramana at gcc dot gnu dot org


--- Comment #12 from ramana at gcc dot gnu dot org  2009-12-10 15:18 ---
This is now fixed in trunk and all release branches. 


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.5


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



[Bug target/37987] iwmmxt: insn does not satisfy its constraints on (int64_t)

2009-12-09 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-09 17:10:46
   date||


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



[Bug tree-optimization/40436] [4.5 regression] 0.5% code size regression caused by r147852

2009-12-09 Thread ramana at gcc dot gnu dot org


--- Comment #14 from ramana at gcc dot gnu dot org  2009-12-09 17:09 ---
(In reply to comment #13)

> I am just re-testing it on vangelis with size
> estimates ignoring it.

Honza - Any updates on this ?

Ramana
> 
> Honza
> 


-- 


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



[Bug target/42235] redundant memory move from parameter space to spill space

2009-12-09 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-09 16:55:46
   date||


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



[Bug inline-asm/42321] NEON/VFP registers from inline assembly clobber list are saved/restored incorrectly

2009-12-09 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-09 16:55 ---
This occurs with arm-eabi cross as well.

Ramana


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
  GCC build triplet|armv4tl-softfloat-linux-|armv4tl-softfloat-linux-
   |gnueabi |gnueabi, x86_64-linux
   GCC host triplet|armv4tl-softfloat-linux-|armv4tl-softfloat-linux-
   |gnueabi |gnueabi, x86_64-linux
 GCC target triplet|armv4tl-softfloat-linux-|armv4tl-softfloat-linux-
   |gnueabi |gnueabi, arm-eabi
   Priority|P3  |P2


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



[Bug libffi/42289] libffi fails to build with binutils-2.20 on ARM

2009-12-09 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2009-12-09 16:49 ---
Please submit the patch upstream as requested. this is a 4.3 only bug.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-09 16:49:26
   date||
   Target Milestone|--- |4.3.5
Version|unknown |4.3.4


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



[Bug libmudflap/42279] libmudflap checks with the wrong CPP for execinfo.h

2009-12-09 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-09 16:38:12
   date||


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



[Bug libmudflap/42318] The newer libtool scripts break the build of libmudflap regarding the start files

2009-12-09 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-09 16:25 ---
(In reply to comment #1)
> I add that this happens also in native builds (host=build=target)


Sorry, your bug report is contradictory - you say this is a native build but
your host is x86_64-linux and your target is arm-linux-gnueabi .


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug regression/42258] redundant register move around mul instruction

2009-12-09 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-09 16:12:19
   date||


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



[Bug target/42081] big-endian arm MULTILIB_DEFAULTS hard-coded to little-endian

2009-12-09 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-09 16:10 ---
Dup of 16350.

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


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug target/16350] gcc only understands little endian ARM systems

2009-12-09 Thread ramana at gcc dot gnu dot org


--- Comment #25 from ramana at gcc dot gnu dot org  2009-12-09 16:10 ---
*** Bug 42081 has been marked as a duplicate of this bug. ***


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tom at giftssoft dot com


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



[Bug c/41797] Segmentation fault on compiling using pre-compiled headers

2009-12-09 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-12-09 16:04 ---
Do you still see this problem ? Can you provide a backtrace or some more
information about this one ? 

I don't see this as of 4.4 from yesterday. 

mkdir test.gch
gcc -x c-header -marm -fmem-report -ftime-report -c -march=armv5te test.h -o
test.gch/c
Memory still allocated at the end of the compilation process
Size   AllocatedUsedOverhead
8   81925856 192 
128  156k153k   1404 
256 40962048  32 
512 40961536  32 
102440963072  32 
2048  32k 32k256 
4096  20k 20k160 
8192  16k 16k 64 
65536 64k 64k 32 
104   68k 66k612 
96  4096  96  36 
80  4096 160  36 
5688k 86k880 
88  4096 176  36 
64  40961984  40 
32   168k166k   2016 
40  81924920  88 
1624k 20k384 
48  40961008  40 
Total684k645k   6372 

String pool
entries 1574
identifiers 1574 (100.00%)
slots   16384
deleted 0
bytes   21k (4095M overhead)
table size  64k
coll/search 0.0573
ins/search  0.7274
avg. entry  14.01 bytes (+/- 7.79)
longest entry   45

??? tree nodes created

(No per-node statistics)
Type hash: size 1021, 286 elements, 0.295706 collisions
DECL_DEBUG_EXPR  hash: size 1021, 0 elements, 0.00 collisions
DECL_VALUE_EXPR  hash: size 1021, 0 elements, 0.00 collisions
No gimple statistics

Execution times (seconds)
 parser:   0.09 (75%) usr   0.01 (100%) sys   0.32 (73%) wall  
  104 kB (17%) ggc
 TOTAL :   0.12 0.01 0.44  
 617 kB
gcc -c -marm -fmem-report -ftime-report -march=armv5te -include test test.c
Memory still allocated at the end of the compilation process
Size   AllocatedUsedOverhead
8228k224k   5440 
128 1216k   1112k   9728 
256  940k681k   7520 
512  164k 70k   1312 
10242064k   2062k 16k
2048 636k634k   4864 
40961308k156k 10k
8192  96k 88k352 
16384912k 80k   1824 
32768192k128k192 
65536192k192k 96 
131072128k  0  32 
262144256k256k 32 
104 1232k   1216k 10k
96   152k149k   1368 
80  2368k   2356k 20k
56  3408k   3399k 32k
88  2660k   2534k 23k
64  4052k   4049k 39k
3211M 11M134k
4010M 10M113k
1616M 16M270k
48  2820k   2597k 27k
Total 62M 59M731k

String pool
entries 11239
identifiers 11239 (100.00%)
slots   16384
deleted 0
bytes   115k (4095M overhead)
table size  64k
coll/search 0.5970
ins/search  0.0827
avg. entry  10.50 bytes (+/- 5.95)
longest entry   45

??? tree nodes created

(No per-node statistics)
Type hash: size 4093, 2786 elements, 0.998014 collisions
DECL_DEBUG_EXPR  hash: size 4093, 1657 elements, 1.080266 collisions
DECL_VALUE_EXPR  hash: size 1021, 0 elements, 0.00 collisions
No gimple statistics

Execution times (seconds)
 callgraph construction:   0.50 ( 1%) usr   0.00 ( 0%) sys   1.02 ( 1%) wall   
1535 kB ( 2%) ggc
 callgraph optimization:   0.18 ( 1%) usr   0.01 ( 1%) sys   0.44 ( 0%) wall   
1030 kB ( 1%) ggc
 cfg cleanup   :   0.25 ( 1%) usr   0.01 ( 1%) sys   0.69 ( 1%) wall   
  25 kB ( 0%) ggc
 trivially dead code   :   0.23 ( 1%) usr   0.01 ( 1%) sys   0.55 ( 1%) wall   
   0 kB ( 0%) ggc
 df live regs  :   0.34 ( 1%) usr   0.00 ( 0%) sys   0.88 ( 1%) wall   
   0 kB ( 0%) ggc
 df reg dead/unused notes:   0.64 ( 2%) usr   0.02 ( 1%) sys   1.61 ( 2%) wall 
  1246 kB ( 2%) ggc
 register information  :   0.30 ( 1%) usr   0.01 ( 1%) sys   0.70 ( 1%) wall   
   0 kB ( 0%) ggc
 alias analysis:   0.21 ( 1%) usr   0.00 ( 0%) sys   0.49 ( 1%) wall   
 386 kB ( 0%) ggc
 rebuild jump labels   :   0.15 ( 0%) usr   0.02 ( 1%) sys   0.50 ( 1%) wall   
   0 kB ( 0%) ggc
 preprocessing :   0.79 ( 2%) usr   0.14 ( 8%) sys   2.22 ( 2%) wall   
 728 kB ( 1%) ggc
 lexical analysis  :   0.51 ( 1%) usr   0.29 (16%) sys   1.90 ( 2%) wall   
   0 kB ( 0%) ggc
 parser:   1.79 ( 5%) usr   0.27 (15%) sys   4.55 ( 5%) wall   
9896 kB (13%) ggc
 inline heuristics :   0.16 ( 0%) usr   0.01 ( 1%

[Bug rtl-optimization/42226] [missed optimization] inefficient byte access when -Os is specified

2009-12-09 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2009-12-09 15:48 ---
Only with trunk - this is a performance and size regression. 

The correct answer might be to define thumb1 specific size costs . At the
minute thumb1_rtx_costs is used for both speed and size.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-09 15:48:59
   date||


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



[Bug bootstrap/42343] gcc 3.2.x fails to build with current gcc versions

2009-12-09 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2009-12-09 15:35 ---
Bugzilla is for trunk and the currently maintained release branches. gcc 3.2 is
no longer actively maintained. 

Ramana


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
   Priority|P3  |P5
 Resolution||WONTFIX


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



[Bug bootstrap/41399] [4.5 Regression] Internal error compiling fortran/intrinsic.c

2009-12-08 Thread ramana at gcc dot gnu dot org


--- Comment #13 from ramana at gcc dot gnu dot org  2009-12-08 11:47 ---
I see this with last night's trunk on a native armv5te linux machine with 512MB
of RAM. 


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
   Priority|P3  |P2
   Last reconfirmed|2009-12-07 17:01:24 |2009-12-08 11:47:37
   date||


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



[Bug bootstrap/41399] [4.5 Regression] Internal error compiling fortran/intrinsic.c

2009-12-07 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
   Last reconfirmed|2009-11-17 00:19:52 |2009-12-07 17:01:24
   date||


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



[Bug inline-asm/42321] NEON/VFP registers from inline assembly clobber list are saved/restored incorrectly

2009-12-07 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-07 15:52 ---
Also appears with trunk as of today.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-07 15:52:27
   date||


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



[Bug java/42276] When creating cross-gcj compiler, libjvm gets installed in system library paths

2009-12-06 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-07 07:56 ---
Please send patches to the appropriate patches list and not attach it to the
bug report.


-- 


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



[Bug target/42235] redundant memory move from parameter space to spill space

2009-12-01 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-12-01 18:26 ---
(In reply to comment #0)
> Compile the attached source code with options -Os -fpic -mthumb, gcc generates
> following code for the constructor:

Could you do some more analysis of where this is coming from using rtl / tree
dumps ? 


-- 


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



[Bug bootstrap/42093] bootstrap hangs in stage2 run of build/gengtype

2009-11-20 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2009-11-20 16:00 ---
(In reply to comment #1)
> only seen when configuring with --with-mode=thumb, disabling scheduling for
> thumb2 shows the same endless loop.

Confirmed unless there's a miscompilation in libc that we are missing. 
> 


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-11-20 16:00:02
   date||


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



[Bug target/41999] Bug in generation of interrupt function code for ARM processor

2009-11-16 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-11-16 10:18 ---
Confirmed. 


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-11-16 10:18:39
   date||


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



[Bug target/42017] gcc compiling C for ARM has stopped using r14 in leaf functions?

2009-11-16 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2009-11-16 09:58 ---
Confirmed. LR could have been used instead of using the stack here. 


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-11-16 09:58:48
   date||


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



[Bug target/42017] gcc compiling C for ARM has stopped using r14 in leaf functions?

2009-11-13 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-11-13 17:32 ---

(In reply to comment #0)
> In gcc4.2.1 targeting ARM processors, pure leaf functions were able to make 
> use
> of r14 / lr (the link register). However, in gcc4.3.2 and gcc4.4.1 (and
> presumably since then, since I can't find it mentioned in any gcc bug 
> reports),
> this now uses the stack instead rather than this spare register (boo, hiss).

Can you post specifically what output you got with 4.2.1, what you get with 4.3
and what you get with 4.4 ? 

Presumably you are targetting Thumb1 but you need to make that explicit.




> 
> Here's some C test code: when compiled with the -O3 option, this uses lr on
> gcc4.2.1 but [sp] on gcc4.3.2 and gcc4.4.1.
> 
> int foo(int r0) {
> int r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14;
> 
> r1 = 0;
> 
> for(r2=0;r2 for(r3=0;r3 for(r4=0;r4 for(r5=0;r5 for(r6=0;r6 for(r7=0;r7 for(r8=0;r8 for(r9=0;r9 for(r10=0;r10 for(r11=0;r11 for(r12=0;r12 for(r13=0;r13 for(r14=0;r14   r1++;
> 
> return r1;
> }
> 
> PS: my guess is that this might have got broken when Thumb2 and ARMv7 support
> was added in (round about gcc4.3)...
> 


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug target/42031] Thumb2 ICE - spill failure.

2009-11-13 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-11-13 17:23 ---
Created an attachment (id=19011)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19011&action=view)
Reduced testcase.


-- 


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



[Bug target/42031] New: Thumb2 ICE - spill failure.

2009-11-13 Thread ramana at gcc dot gnu dot org
The patch here http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00515.html breaks
CSibe builds at Os for thumb2. I've attached a reduced testcase with this bug
report. This was reduced from linux-2.4.23/fs/nfs/read.c .

Building with -fno-schedule-insns works. 

Command Line options used -mcpu=cortex-a8 -mthumb -Os.


besttry.c:75:1: error: unable to find a register to spill in class 'LO_REGS'
besttry.c:75:1: error: this is the insn:
(insn 28 32 29 3 besttry.c:52 (parallel [
(set (reg:DI 162)
(plus:DI (zero_extend:DI (reg:SI 161 [ req_6(D)->wb_offset ]))
(reg:DI 173 [orig:158 D.2071 ] [158])))
(clobber (reg:CC 24 cc))
]) 3 {*adddi_zesidi_di} (expr_list:REG_DEAD (reg:SI 161 [
req_6(D)->wb_offset ])
(expr_list:REG_UNUSED (reg:CC 24 cc)
(expr_list:REG_EQUIV (mem/s:DI (reg:SI 133 [ D.2071 ]) [7
0B->args.offset+0 S8 A64])
(nil)
besttry.c:75:1: internal compiler error: in spill_failure, at reload1.c:2141
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


-- 
   Summary: Thumb2 ICE - spill failure.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ramana at gcc dot gnu dot org
 GCC build triplet: x86_64-linux
  GCC host triplet: x86_64 linux gnu
GCC target triplet: arm-eabi


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



[Bug debug/41679] [4.5 Regression] internal compiler error: in loc_cmp, at var-tracking.c:2433

2009-11-10 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2009-11-10 10:36 ---
Testcase in Comment #3 fails with -march=armv5te on arm-eabi cross on an
x86_64-linux-gnu host with trunk.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|armv5tel-unknown-linux- |armv5tel-unknown-linux-
   |gnueabi |gnueabi, arm-eabi
   Priority|P3  |P2
   Last reconfirmed|-00-00 00:00:00 |2009-11-10 10:36:34
   date||


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



[Bug target/41939] EABI violation in accessing values below the stack.

2009-11-04 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-11-04 14:01:43
   date||


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



[Bug target/41939] New: EABI violation in accessing values below the stack.

2009-11-04 Thread ramana at gcc dot gnu dot org
4.4.x has a problem with the floating point emulation libraries with respect to
the EABI in that they access an area below the stack pointer. 

This is fixed on trunk with
http://gcc.gnu.org/ml/gcc-patches/2009-06/msg00372.html but needs backporting
to 4.4.x and 4.3.x branches. I will do so once I've backported and regression
tested these.

cheers
Ramana


-- 
   Summary: EABI violation in accessing values below the stack.
   Product: gcc
   Version: 4.4.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: ramana at gcc dot gnu dot org
ReportedBy: ramana at gcc dot gnu dot org
GCC target triplet: arm-*-eabi


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



[Bug target/41780] File "gcc/config/arm/lib1funcs.asm" broken for THUMB version 1 since r150545

2009-11-02 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-11-02 13:21:46
   date||


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



[Bug objc/41848] Extra Objective C test failures because of section anchors.

2009-10-30 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-10-30 13:15 ---
Patch submitted here. http://gcc.gnu.org/ml/gcc-patches/2009-10/msg01792.html


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-10-30 13:15:48
   date||
Summary|Extra Objective C/C++ test  |Extra Objective C test
   |failures because of section |failures because of section
   |anchors.|anchors.


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



[Bug objc/41848] New: Extra Objective C/C++ test failures because of section anchors.

2009-10-27 Thread ramana at gcc dot gnu dot org
Look at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41684#c10 for a list of
test failures fixed by disabling fsection-anchors in the arm backend. 

Look also at the way in which the PPC backend works around this at 
http://gcc.gnu.org/ml/gcc-patches/2008-08/msg02194.html

Instead of putting in such a work around in the backends, the target
independent parts should disable -fsection-anchors for Objective C.


-- 
   Summary: Extra Objective C/C++ test failures because of section
anchors.
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: objc
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ramana at gcc dot gnu dot org
  GCC host triplet: arm-linux-gnueabi
GCC target triplet: arm-linux-gnueabi


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



[Bug target/41684] [4.4/4.5 regression] binutils testsuite failures when built with 4.4/4.5

2009-10-27 Thread ramana at gcc dot gnu dot org


--- Comment #13 from ramana at gcc dot gnu dot org  2009-10-27 14:58 ---
(In reply to comment #0)
> when binutils 2.20 branch is built with gcc-4.4 branch or trunk, I see the
> following test failures in the ld testsuite. Checked with gcc-4.4 from
> debian/testing, debian/unstable and ubuntu/karmic, and gcc-snapshot (4.5
> 20091010) from debian/unstable.
> 
> Running
> /home/doko/tmp/binutils-2.19.91.20091006/ld/testsuite/ld-elfvsb/elfvsb.exp ...
> FAIL: visibility (hidden_normal) (non PIC)
> FAIL: visibility (hidden_normal) (non PIC, load offset)
> FAIL: visibility (normal) (non PIC)
> FAIL: visibility (normal) (non PIC, load offset)
> Running
> /home/doko/tmp/binutils-2.19.91.20091006/ld/testsuite/ld-shared/shared.exp ...
> FAIL: shared (non PIC)
> FAIL: shared (non PIC, load offset)
> FAIL: shared (PIC main, non PIC so)

 When generating code that is not position independent, the compiler is
entitled to enable optimizations that don't retain the property of symbol
pre-emption that is possible with shared libraries and position independent
code. Section anchors is one optimization that doesn't retain symbol
pre-emptibility in shared libraries and hence is disabled when generating PIC
code. All these failures are because the tests are trying to create non-PIC
.so's with section anchors turned on.

The tests need to be fixed with respect to section anchors by building them
with -fno-section-anchors for the arm-linux-gnueabi port.


The Objective C testsuite failures should be fixed by disabling section anchors
in the objective C and C++ frontend and not by disabling this in the backend. 

Look at the mail thread here for reference. 

http://gcc.gnu.org/ml/gcc-patches/2008-08/msg02194.html

However that is a subject of a separate bug report, though these failures might
be related to PR41617. Hence this is an INVALID bug as far as GCC is concerned
and hence marking it so.

cheers
Ramana




-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||INVALID


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



[Bug target/38203] attribute `noreturn' isn't effective when -mthumb param is active

2009-10-26 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-10-26 11:38 ---
Not working on this.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|ramana at gcc dot gnu dot   |unassigned at gcc dot gnu
   |org |dot org
 Status|ASSIGNED|NEW


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



[Bug target/14202] [arm] Thumb __builtin_setjmp not interworking safe

2009-10-26 Thread ramana at gcc dot gnu dot org


--- Comment #14 from ramana at gcc dot gnu dot org  2009-10-26 11:37 ---
Unassigning self. No longer working on this.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|ramana at gcc dot gnu dot   |unassigned at gcc dot gnu
   |org |dot org
 Status|ASSIGNED|NEW


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



<    1   2   3   4   5   6   >