[Bug target/36502] i386/darwin generates unnecessary stack ops in every function

2010-08-30 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2010-08-30 18:20 ---
It's caused by this:

config/i386/darwin.h:#define STACK_BOUNDARY 128

I think you want to delete that and allow STACK_BOUNDARY to be defined
by i386.h to UNITS_PER_WORD.  Non-leaf functions should be handled by

#define MIN_STACK_BOUNDARY 128

which should get you your ABI minimum for the callee.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu dot org


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



[Bug bootstrap/45381] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: error: AltiVec argument passed to unprototyped function

2010-08-26 Thread rth at gcc dot gnu dot org


--- Comment #2 from rth at gcc dot gnu dot org  2010-08-26 16:27 ---
Created an attachment (id=21571)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21571action=view)
Use altivec.h

Rather than use gcc builtins directly, use the standard header file.
Hopefully this will work with Apple's GCC as well, and continue to
work in the future with any FSF GCC changes.


-- 


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



[Bug bootstrap/45381] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: error: AltiVec argument passed to unprototyped function

2010-08-26 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2010-08-26 16:27 ---
The patch bootstraps on ppc64-linux; please test on Darwin.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING


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



[Bug bootstrap/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'

2010-08-24 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
  Component|target  |bootstrap
   Last reconfirmed|2010-08-23 21:42:35 |2010-08-24 21:06:41
   date||


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



[Bug bootstrap/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'

2010-08-24 Thread rth at gcc dot gnu dot org


--- Comment #7 from rth at gcc dot gnu dot org  2010-08-24 21:08 ---
Subject: Bug 45376

Author: rth
Date: Tue Aug 24 21:08:05 2010
New Revision: 163528

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163528
Log:
PR bootstrap/45376
* configure.ac (HAVE_SSE4): New check.
* configure, config.in: Rebuild.
* lex.c (search_line_sse42): Omit if !HAVE_SSE4.

Modified:
trunk/libcpp/ChangeLog
trunk/libcpp/config.in
trunk/libcpp/configure
trunk/libcpp/configure.ac
trunk/libcpp/lex.c


-- 


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



[Bug bootstrap/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'

2010-08-24 Thread rth at gcc dot gnu dot org


--- Comment #8 from rth at gcc dot gnu dot org  2010-08-24 21:08 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/45381] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: error: AltiVec argument passed to unprototyped function

2010-08-24 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-24 21:16:50
   date||


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



[Bug middle-end/45325] [4.6 Regression] target attribute doesn't work with -march=i586

2010-08-19 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2010-08-19 19:48 ---
(In reply to comment #3)
 Well, I think we should back out support for that option.  The set of
 nonsensical options doesn't include sse - but all options are included
 in the set of broken options.  At least I expect that you can create a
 testcase with such ICEs for every one.

Not every one, just those that expand the set of valid backend modes.
Thus sse3 will not cause additional ice's, assuming sse2 is in
effect globally.

That's not to say this feature isn't fraught with peril.  I think it
should be improved though, not removed.


-- 


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



[Bug debug/42487] FAIL: gcc.dg/debug/dwarf2/aranges-fnsec-1.c scan-assembler DW_AT_ranges

2010-08-16 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2010-08-16 15:48 ---
Darwin doesn't really support -ffunction-sections.  Which means
that the aranges feature isn't exercised.


-- 


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



[Bug debug/45189] [4.6 regression] New stack alignment test failures

2010-08-05 Thread rth at gcc dot gnu dot org


--- Comment #2 from rth at gcc dot gnu dot org  2010-08-05 15:40 ---
Subject: Bug 45189

Author: rth
Date: Thu Aug  5 15:39:54 2010
New Revision: 162917

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162917
Log:
PR 45189
Unbreak ia64 build after last dwarf2out.c change.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c


-- 


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



[Bug debug/45188] [4.6 regression] Failed to bootstrap on Linux/ia64

2010-08-05 Thread rth at gcc dot gnu dot org


--- Comment #1 from rth at gcc dot gnu dot org  2010-08-05 17:59 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug target/45189] [4.6 regression] New stack alignment test failures

2010-08-05 Thread rth at gcc dot gnu dot org


--- Comment #4 from rth at gcc dot gnu dot org  2010-08-05 18:01 ---
I've now reproduced this on a 64-bit host with -m32,
though still not on the 32-bit host.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
  Component|debug   |target
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-05 18:01:38
   date||


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



[Bug target/45189] [4.6 regression] New stack alignment test failures

2010-08-05 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2010-08-05 18:05 ---
Subject: Bug 45189

Author: rth
Date: Thu Aug  5 18:04:58 2010
New Revision: 162919

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162919
Log:
PR target/45189
Fix unwind for i386 stack re-alignment.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c


-- 


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



[Bug target/45189] [4.6 regression] New stack alignment test failures

2010-08-05 Thread rth at gcc dot gnu dot org


--- Comment #6 from rth at gcc dot gnu dot org  2010-08-05 18:13 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/45171] Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.

2010-08-04 Thread rth at gcc dot gnu dot org


--- Comment #10 from rth at gcc dot gnu dot org  2010-08-04 19:33 ---
Verified with

  typedef struct { int a, b; } x;

./cc1plus -g -fno-eliminate-unused-debug-types -dA z.c

.uleb128 0x2# (DIE (0x2d) DW_TAG_structure_type)
.byte   0x8 # DW_AT_byte_size
.byte   0x1 # DW_AT_decl_file (z.c)
.byte   0x3 # DW_AT_decl_line
.byte   0x8 # DW_AT_byte_size
.byte   0x1 # DW_AT_decl_file (z.c)
.byte   0x3 # DW_AT_decl_line

Note that both byte_size and and the decl location are replicated.
This happens with the C++ compiler, but not the C compiler.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-04 19:33:43
   date||


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



[Bug other/24724] _Unwind_Backtrace() calls malloc

2010-08-04 Thread rth at gcc dot gnu dot org


--- Comment #13 from rth at gcc dot gnu dot org  2010-08-04 23:08 ---
There are two solutions to this:

(1) Make sure your binary provides PT_GNU_EH_FRAME.  This is the quickest
path through the unwinder, since the table is pre-sorted by the linker.

(2) Have your malloc detect the recursion and return NULL.  This will cause
the unwinder to perform a linear search through the unsorted tables.
It should not fail due to the fake out-of-memory condition, since it
was designed to handle throwing an exception during a true OOM condition.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX


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



[Bug debug/45171] Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.

2010-08-04 Thread rth at gcc dot gnu dot org


--- Comment #11 from rth at gcc dot gnu dot org  2010-08-04 23:21 ---
This is fallout from c++/44188.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|middle-end  |debug


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



[Bug debug/45171] Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.

2010-08-04 Thread rth at gcc dot gnu dot org


--- Comment #12 from rth at gcc dot gnu dot org  2010-08-04 23:32 ---
Subject: Bug 45171

Author: rth
Date: Wed Aug  4 23:32:08 2010
New Revision: 162882

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162882
Log:
PR debug/45171
* dwarf2out.c (gen_typedef_die): Don't re-generate the die of
an is_naming_typedef_decl.

Added:
trunk/gcc/testsuite/g++.dg/debug/dwarf2/typedef4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c


-- 


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



[Bug middle-end/45171] Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.

2010-08-04 Thread rth at gcc dot gnu dot org


--- Comment #13 from rth at gcc dot gnu dot org  2010-08-04 23:41 ---
Should be fixed, but I'll leave the bug open until you get a chance
to test the whole build against that darwin linker.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING
  Component|debug   |middle-end


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



[Bug target/45142] split for *vec_setmode_0_sse2 incomplete

2010-07-30 Thread rth at gcc dot gnu dot org


--- Comment #1 from rth at gcc dot gnu dot org  2010-07-30 14:17 ---
Test case?


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu dot org


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



[Bug target/44132] [4.6 Regression] emutls is broken under a range of circumstances.

2010-07-26 Thread rth at gcc dot gnu dot org


--- Comment #42 from rth at gcc dot gnu dot org  2010-07-26 22:54 ---
Subject: Bug 44132

Author: rth
Date: Mon Jul 26 22:53:50 2010
New Revision: 162549

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162549
Log:
PR target/44132
Emulated TLS rewrite.

Added:
trunk/gcc/testsuite/gcc.dg/tls/emutls-2.c
trunk/gcc/testsuite/gcc.dg/tls/thr-init-1.c
trunk/gcc/testsuite/gcc.dg/tls/thr-init-2.c
trunk/gcc/testsuite/gcc.dg/torture/tls/
trunk/gcc/testsuite/gcc.dg/torture/tls/thr-init-1.c
trunk/gcc/testsuite/gcc.dg/torture/tls/thr-init-2.c
trunk/gcc/testsuite/gcc.dg/torture/tls/tls-test.c
trunk/gcc/testsuite/gcc.dg/torture/tls/tls.exp
trunk/gcc/tree-emutls.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/config/i386/i386.c
trunk/gcc/dwarf2out.c
trunk/gcc/expr.c
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/f95-lang.c
trunk/gcc/gimple-iterator.c
trunk/gcc/output.h
trunk/gcc/passes.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/gomp/clause-3.C
trunk/gcc/testsuite/g++.dg/gomp/copyin-1.C
trunk/gcc/testsuite/g++.dg/gomp/pr35244.C
trunk/gcc/testsuite/g++.dg/gomp/sharing-1.C
trunk/gcc/testsuite/g++.dg/gomp/tls-1.C
trunk/gcc/testsuite/g++.dg/gomp/tls-2.C
trunk/gcc/testsuite/g++.dg/gomp/tls-3.C
trunk/gcc/testsuite/g++.dg/gomp/tls-4.C
trunk/gcc/testsuite/g++.dg/tls/diag-1.C
trunk/gcc/testsuite/g++.dg/tls/diag-2.C
trunk/gcc/testsuite/g++.dg/tls/diag-3.C
trunk/gcc/testsuite/g++.dg/tls/diag-4.C
trunk/gcc/testsuite/g++.dg/tls/diag-5.C
trunk/gcc/testsuite/g++.dg/tls/init-1.C
trunk/gcc/testsuite/g++.dg/tls/init-2.C
trunk/gcc/testsuite/g++.dg/tls/trivial.C
trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.22.1.c
trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.22.2.c
trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.24.1.c
trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.32.1.c
trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.33.1.c
trunk/gcc/testsuite/gcc.dg/gomp/clause-1.c
trunk/gcc/testsuite/gcc.dg/gomp/copyin-1.c
trunk/gcc/testsuite/gcc.dg/gomp/pr35244.c
trunk/gcc/testsuite/gcc.dg/gomp/sharing-1.c
trunk/gcc/testsuite/gcc.dg/gomp/tls-1.c
trunk/gcc/testsuite/gcc.dg/gomp/tls-2.c
trunk/gcc/testsuite/gcc.dg/tls/opt-1.c
trunk/gcc/testsuite/gcc.dg/tls/opt-13.c
trunk/gcc/testsuite/gcc.dg/tls/opt-14.c
trunk/gcc/testsuite/gcc.dg/tls/opt-15.c
trunk/gcc/testsuite/gcc.dg/tls/opt-2.c
trunk/gcc/testsuite/gcc.dg/tls/opt-3.c
trunk/gcc/testsuite/gcc.dg/tls/opt-7.c
trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.22.1.f90
trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.22.4.f90
trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.22.5.f90
trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.22.6.f90
trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.24.1.f90
trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.32.1.f90
trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.33.1.f90
trunk/gcc/testsuite/gfortran.dg/gomp/crayptr2.f90
trunk/gcc/testsuite/gfortran.dg/gomp/fixed-1.f
trunk/gcc/testsuite/gfortran.dg/gomp/free-1.f90
trunk/gcc/testsuite/gfortran.dg/gomp/omp_threadprivate1.f90
trunk/gcc/testsuite/gfortran.dg/gomp/omp_threadprivate2.f90
trunk/gcc/testsuite/gfortran.dg/gomp/reduction1.f90
trunk/gcc/testsuite/gfortran.dg/gomp/sharing-1.f90
trunk/gcc/toplev.c
trunk/gcc/tree-pass.h
trunk/gcc/tree.h
trunk/gcc/varasm.c
trunk/gcc/varpool.c


-- 


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



[Bug target/44132] [4.6 Regression] emutls is broken under a range of circumstances.

2010-07-26 Thread rth at gcc dot gnu dot org


--- Comment #43 from rth at gcc dot gnu dot org  2010-07-26 22:58 ---
Emutls now re-written in a way that should support LTO.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/45027] [4.6 Regression] FAIL: c-c++-common/dfp/pr36800.c

2010-07-22 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-22 18:19:31
   date||


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



[Bug tree-optimization/45032] New: Missed optimization in ifcvt/crossjump

2010-07-22 Thread rth at gcc dot gnu dot org
int f(int x, int y);
int g(int x, int z)
{
  int r;
  if (z == 0)
r = f(x, 1);
  else
r = f(x, 0);
  return r + 1;
}

could be optimized to 

  r = f(x, (z == 0 ? 1 : 0));

which would reduce the size of the generated code, and for
most targets allow further simplifications on the COND_EXPR
leading to branchless assembly.


-- 
   Summary: Missed optimization in ifcvt/crossjump
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rth at gcc dot gnu dot org


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



[Bug target/45027] [4.6 Regression] FAIL: c-c++-common/dfp/pr36800.c

2010-07-22 Thread rth at gcc dot gnu dot org


--- Comment #2 from rth at gcc dot gnu dot org  2010-07-22 21:40 ---
Subject: Bug 45027

Author: rth
Date: Thu Jul 22 21:40:41 2010
New Revision: 162429

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162429
Log:
PR target/45027
* config/i386/i386.c (setup_incoming_varargs_64): Force the use
of V4SFmode for the SSE saves; increase stack alignment if needed.
(ix86_gimplify_va_arg): Don't increase stack alignment here.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c


-- 


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



[Bug target/45027] [4.6 Regression] FAIL: c-c++-common/dfp/pr36800.c

2010-07-22 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2010-07-22 22:04 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/44132] [4.6 Regression] emutls is broken under a range of circumstances.

2010-07-09 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-09 23:40:16
   date||


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



[Bug rtl-optimization/44469] [4.5/4.6 Regression] internal compiler error: in fixup_reorder_chain, at cfglayout.c:797

2010-07-07 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-06-24 21:40:33 |2010-07-07 19:43:32
   date||


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



[Bug tree-optimization/44182] [4.5/4.6 Regression] -fcompare-debug failure (length) with -O1

2010-05-27 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2010-05-27 15:44 ---
The context in which stmt_can_throw_internal is being called is different
pre- and post-inlining, so of course the answer could be different.  This
is neither surprising nor a bug.

I even tend to doubt (without checking of course) whether this is a regression
with the EH rewrite, since I would expect the same new EH edge to have appeared
with the old EH code -- anything less would have been a bug in the old EH code.
However, in order to see the bug one also needs the VTA code present, which 
means looking at the redhat-4.4 branch.

So yes, Jakub, I think the inliner needs to do something to clean up the debug
statement that would appear alone in that new block.  I suppose such debug
statements would have to be dropped to avoid changing the code due to changes
in the CFG.


-- 


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



[Bug rtl-optimization/44123] gcc produces poor code at -O1

2010-05-13 Thread rth at gcc dot gnu dot org


--- Comment #4 from rth at gcc dot gnu dot org  2010-05-13 22:41 ---
The only thing wrong with the code from -O1 is that it didn't inline __ffs.
Since that function isn't explicitly marked inline, I don't see anything wrong
with that decision.

Given that adding static inline to the declaration of __ffs results in code
identical to that produced with -O2, I'm calling this not-a-bug.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug target/43129] Simplify global variable's address loading with option -fpic

2010-04-07 Thread rth at gcc dot gnu dot org


--- Comment #4 from rth at gcc dot gnu dot org  2010-04-07 15:45 ---
My best guess is that this optimization should be done late.
For instance, in the machine-dependant reorg pass.  I don't
see any place to hook this earlier.

The problem is that reload should be able to spill pseudos
containing your got addresses and re-compute them from the
given constants rather than consuming a stack slot to hold
the computed value.  Which means that the number of instances
of got address loads may vary until after reload, which means
that any size estimation calculation you do earlier can be off.

The down-side to doing it after reload is that you will have
committed to saving and restoring arm_pic_register in the prologue
and epilogue.  Given that arm uses ldm/stm this ought not impact
your code size often, but will in the extreme case of a leaf
function with no other saved registers.

I guess you'll have to experiment with your implementation to
see what gives the best results on a large body of code.


-- 


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



[Bug middle-end/43365] [4.5 Regression] Destructor not called when returning in exception handler

2010-03-16 Thread rth at gcc dot gnu dot org


--- Comment #4 from rth at gcc dot gnu dot org  2010-03-16 23:02 ---
Subject: Bug 43365

Author: rth
Date: Tue Mar 16 23:02:35 2010
New Revision: 157499

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157499
Log:
PR middle-end/43365
* tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
(lower_try_finally): Save and restore eh_seq around the expansion
of the try-finally.

Added:
trunk/gcc/testsuite/g++.dg/eh/pr43365.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-eh.c


-- 


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



[Bug middle-end/43365] [4.5 Regression] Destructor not called when returning in exception handler

2010-03-15 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-03-14 17:27:20 |2010-03-15 18:53:26
   date||


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



[Bug tree-optimization/42833] [4.5 Regression] sra miscompiles qemu

2010-01-22 Thread rth at gcc dot gnu dot org


--- Comment #2 from rth at gcc dot gnu dot org  2010-01-22 18:52 ---
Subject: Bug 42833

Author: rth
Date: Fri Jan 22 18:52:01 2010
New Revision: 156176

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156176
Log:
PR tree-opt/42833
* tree-sra.c (sra_modify_assign): Delay re-gimplification of
the RHS until after generate_subtree_copies has insertted its
code before the current statement.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr42833.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-sra.c


-- 


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



[Bug tree-optimization/42833] New: SRA miscompiles qemu

2010-01-21 Thread rth at gcc dot gnu dot org
The reduced test case compiles down to 

xor   %eax,%eax
ret

which comes from an invalid transformation in .030t.esra

  conv_u.v = vdest;
  res_115 = conv_u.i;
-
  D.2888_153 = VIEW_CONVERT_EXPRuint32_t(vdest);
  vdest.v1 = vdest$v1_154;
  vdest.v2 = vdest$v2_152;
  vdest.v3 = vdest$v3_151;
  vdest.v4 = vdest$v4_150;
  conv_u$i_171 = D.2888_153;

Note in particular that the components of vdest are stored after
we've done the view_convert.


-- 
   Summary: SRA miscompiles qemu
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rth at gcc dot gnu dot org
GCC target triplet: x86_64-linux


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



[Bug tree-optimization/42833] SRA miscompiles qemu

2010-01-21 Thread rth at gcc dot gnu dot org


--- Comment #1 from rth at gcc dot gnu dot org  2010-01-21 16:56 ---
Created an attachment (id=19683)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19683action=view)
test case


-- 


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



[Bug tree-optimization/42833] [4.5 Regression] sra miscompiles qemu

2010-01-21 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-01-21 20:29:09
   date||


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



[Bug tree-optimization/42833] [4.5 Regression] sra miscompiles qemu

2010-01-21 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


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



[Bug middle-end/41889] [4.5 Regression] ICE from '-O2 -fno-omit-frame-pointer -ftracer -fsched2-use-superblocks'

2010-01-06 Thread rth at gcc dot gnu dot org


--- Comment #6 from rth at gcc dot gnu dot org  2010-01-06 18:22 ---


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


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug rtl-optimization/41833] vec_splat followed by vec_splat could be improved

2010-01-06 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2010-01-06 18:22 ---
*** Bug 41889 has been marked as a duplicate of this bug. ***


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||b3timmons at speedymail dot
   ||org


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



[Bug middle-end/41889] [4.5 Regression] ICE from '-O2 -fno-omit-frame-pointer -ftracer -fsched2-use-superblocks'

2010-01-06 Thread rth at gcc dot gnu dot org


--- Comment #7 from rth at gcc dot gnu dot org  2010-01-06 18:23 ---
Oops, wrong duplicate.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|DUPLICATE   |


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



[Bug middle-end/41889] [4.5 Regression] ICE from '-O2 -fno-omit-frame-pointer -ftracer -fsched2-use-superblocks'

2010-01-06 Thread rth at gcc dot gnu dot org


--- Comment #8 from rth at gcc dot gnu dot org  2010-01-06 18:23 ---


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


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||DUPLICATE


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



[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'

2010-01-06 Thread rth at gcc dot gnu dot org


--- Comment #4 from rth at gcc dot gnu dot org  2010-01-06 18:23 ---
*** Bug 41889 has been marked as a duplicate of this bug. ***


-- 


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



[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'

2010-01-06 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-11-20 12:23:29 |2010-01-06 18:24:22
   date||


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



[Bug debug/42396] [4.5 Regression] ICE: in dwarf2out_frame_debug_adjust_cfa, at dwarf2out.c:1859

2010-01-06 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2010-01-06 18:24 ---


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


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||DUPLICATE


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



[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'

2010-01-06 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2010-01-06 18:24 ---
*** Bug 42396 has been marked as a duplicate of this bug. ***


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||zsojka at seznam dot cz


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



[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'

2010-01-06 Thread rth at gcc dot gnu dot org


--- Comment #6 from rth at gcc dot gnu dot org  2010-01-06 18:34 ---
Subject: Bug 41883

Author: rth
Date: Wed Jan  6 18:34:31 2010
New Revision: 155680

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155680
Log:
PR middle-end/41883
* haifa-sched.c (add_to_note_list): Merge into ...
(concat_note_lists): ... here, and ...
(unlink_other_notes, rm_other_notes): Merge into...
(remove_notes): ... here.  Create REG_SAVE_NOTEs for
NOTE_INSN_EPILOGUE_BEG.

Added:
trunk/gcc/testsuite/gcc.dg/pr42396.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/haifa-sched.c


-- 


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



[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'

2010-01-06 Thread rth at gcc dot gnu dot org


--- Comment #7 from rth at gcc dot gnu dot org  2010-01-06 18:48 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/42450] [4.5 Regression] another GCC 4.5 ICE on C++ templated code

2010-01-05 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-12-21 22:04:10 |2010-01-05 17:14:21
   date||


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



[Bug debug/42396] [4.5 Regression] ICE: in dwarf2out_frame_debug_adjust_cfa, at dwarf2out.c:1859

2010-01-05 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-12-17 16:38:20 |2010-01-05 17:36:59
   date||


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



[Bug debug/42288] please emit empty .debug_aranges section

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


--- Comment #6 from rth at gcc dot gnu dot org  2009-12-15 17:36 ---
tromey rth: sorry... yeah, I tested the aranges patch and it worked for me. 
but it isn't clear we will need it now, we're discussing some form of caching
w/ gdb rather than using the index sections
rth ok.  i'll leave the patch alone until you tell me we need it.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |SUSPENDED


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



[Bug target/39677] AMD Opteron E needs workaround for lock erratum

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


--- Comment #4 from rth at gcc dot gnu dot org  2009-12-07 16:12 ---
Not working on it any longer.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug debug/42288] please emit empty .debug_aranges section

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


--- Comment #4 from rth at gcc dot gnu dot org  2009-12-07 16:19 ---
Created an attachment (id=19249)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19249action=view)
Proposed patch

For the record, this is all that's needed for the above output.

I see quite a few gdb regressions vs F12 system compiler.  I suppose
that could just be gcc 4.5, but since F12 also includes VTA I would
hope that would not be the case...


-- 


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



[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed

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


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-11-27 11:30:30 |2009-12-07 17:37:27
   date||


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



[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed

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


--- Comment #5 from rth at gcc dot gnu dot org  2009-12-07 20:31 ---
There appears to be a phase ordering problem.

We duplicate a block in create_block_for_threading, which leaves users
of various SSA names dangling waiting on a subsequent update_ssa.

Before we get to that update_ssa we cleanup the cfg (as we must -- ssa
update can't handle unreachable blocks).  In the process of deleting
the unreachable blocks we propagate the definition of a PHI which we 
are removing into its use in a DEBUG stmt.

The problem being that the debug stmt in question isn't supposed to be
referencing that PHI anymore.  That debug stmt is in the new duplicate
block and is supposed to be referencing the new PHI.


-- 


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



[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed

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


--- Comment #6 from rth at gcc dot gnu dot org  2009-12-07 21:00 ---
Created an attachment (id=19253)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19253action=view)
Proposed patch

I'm testing this to account for the ssa_name marked for renaming problem.


-- 


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



[Bug debug/42299] [4.5 Regression] another verify_ssa failure with -g -O2

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


--- Comment #4 from rth at gcc dot gnu dot org  2009-12-07 22:16 ---
Same problem as PR42166.  I'll add the C testcase as well.

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


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed

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


--- Comment #7 from rth at gcc dot gnu dot org  2009-12-07 22:16 ---
*** Bug 42299 has been marked as a duplicate of this bug. ***


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dcb314 at hotmail dot com


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



[Bug debug/42244] [4.5 Regression] var-tracking ICE for 300.twolf

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


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-07 22:20:23
   date||


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



[Bug other/40302] [4.5 Regression] GCC must hard-require MPC before release

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


--- Comment #13 from rth at gcc dot gnu dot org  2009-12-07 22:22 ---
Done, Kaveh?


-- 


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



[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed

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


--- Comment #8 from rth at gcc dot gnu dot org  2009-12-07 22:42 ---
Subject: Bug 42166

Author: rth
Date: Mon Dec  7 22:42:10 2009
New Revision: 155063

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155063
Log:
PR debug/42299
PR debug/42166
* tree-ssa.c (insert_debug_temp_for_var_def): Skip propagation
for ssa names already registered for update.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr42299.c
trunk/gcc/testsuite/gfortran.dg/pr42166.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa.c


-- 


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



[Bug debug/42299] [4.5 Regression] another verify_ssa failure with -g -O2

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


--- Comment #5 from rth at gcc dot gnu dot org  2009-12-07 22:42 ---
Subject: Bug 42299

Author: rth
Date: Mon Dec  7 22:42:10 2009
New Revision: 155063

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155063
Log:
PR debug/42299
PR debug/42166
* tree-ssa.c (insert_debug_temp_for_var_def): Skip propagation
for ssa names already registered for update.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr42299.c
trunk/gcc/testsuite/gfortran.dg/pr42166.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa.c


-- 


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



[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed

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


--- Comment #9 from rth at gcc dot gnu dot org  2009-12-07 23:31 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug debug/42186] [4.5 Regression] [graphite] internal compiler error: verify_ssa failed

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


--- Comment #2 from rth at gcc dot gnu dot org  2009-12-07 23:59 ---
Continues to fail with: -fgraphite-identity -O -ffast-math


-- 

rth 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 23:59:43
   date||


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



[Bug rtl-optimization/42269] [4.4/4.5 Regression] Extra sign extension instructions generated

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


--- Comment #3 from rth at gcc dot gnu dot org  2009-12-08 00:44 ---
Subject: Bug 42269

Author: rth
Date: Tue Dec  8 00:44:28 2009
New Revision: 155071

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155071
Log:
PR rtl-opt/42269
* combine.c (setup_incoming_promotions): Improve the conditions
under which we respect the promotions applied.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr42269-2.c
trunk/gcc/testsuite/gcc.target/alpha/pr42269-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c


-- 


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



[Bug rtl-optimization/42269] [4.4/4.5 Regression] Extra sign extension instructions generated

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


--- Comment #4 from rth at gcc dot gnu dot org  2009-12-08 00:48 ---
Fixed for 4.5; I don't think I want to backport to 4.4 without a lot more
testing.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/27469] zero extension not eliminated

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


--- Comment #4 from rth at gcc dot gnu dot org  2009-12-08 00:55 ---
4.5 regression fixed in pr42269.

I don't know that we'll ever be able to fix the original PR.

The problem is that we need to work backward from the x = 0xf
through the xor, and see that the srl doesn't actually use the
garbage high bits that the srl might have shifted in.  And then
again back to the first srl.

Combine can't handle this because there are 4 insns involved,
and it only ever handles merging 3 at a time.  So we'd need some
sort of new pass that would be able to see these extensions are
unneeded.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P4


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



[Bug debug/42288] please emit empty .debug_aranges section

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


--- Comment #1 from rth at gcc dot gnu dot org  2009-12-06 22:31 ---
Reasonable.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-06 22:31:12
   date||


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



[Bug debug/42234] [4.5 Regression] internal compiler error: verify_ssa failed

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


--- Comment #4 from rth at gcc dot gnu dot org  2009-12-07 00:00 ---
Subject: Bug 42234

Author: rth
Date: Sun Dec  6 23:59:52 2009
New Revision: 155025

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155025
Log:
PR debug/42234
* tree-ssa-dom.c (degenerate_phi_result): Check for NULL phi
argument earlier.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr42234.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-dom.c


-- 


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



[Bug debug/42234] [4.5 Regression] internal compiler error: verify_ssa failed

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


--- Comment #5 from rth at gcc dot gnu dot org  2009-12-07 00:53 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug debug/42288] please emit empty .debug_aranges section

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


--- Comment #2 from rth at gcc dot gnu dot org  2009-12-07 02:04 ---
To be sure, you're keying off having *some* aranges entry with a reference
to a given CU in the debug_info section?  So:

Contents of the .debug_aranges section:

  Length:   28
  Version:  2
  Offset into .debug_info:  0x0
  Pointer Size: 8
  Segment Size: 0

AddressLength
  

is exactly what you're looking for?


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING


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



[Bug middle-end/42303] Shift left as wide as mode is expanded into RTL as shift

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


--- Comment #1 from rth at gcc dot gnu dot org  2009-12-07 02:35 ---
Shift by = mode size is undefined at the C language level.
With -Wall, you'll get a warning for that.

At the gimple level, I'm pretty sure we leave it alone, since
we don't really know what else to do with it.

At the rtl level, it's controlled by SHIFT_COUNT_TRUNCATED.
On very few systems is a large shift actually evaluated to zero;
most will evaluate it as x = y  (count  (bitsizeof(y)-1)).


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug rtl-optimization/42269] New: [4.4/4.5 Regression] Extra sign extension instructions generated

2009-12-03 Thread rth at gcc dot gnu dot org
In reference to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27469#c3

This bug to track the regression since 4.2,
not the enhancement in the original PR.


-- 
   Summary: [4.4/4.5 Regression] Extra sign extension instructions
generated
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rth at gcc dot gnu dot org
GCC target triplet: alphaev68-*


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



[Bug rtl-optimization/42269] [4.4/4.5 Regression] Extra sign extension instructions generated

2009-12-03 Thread rth at gcc dot gnu dot org


--- Comment #1 from rth at gcc dot gnu dot org  2009-12-04 01:24 ---
Proposed patch:
  http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00225.html


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-12-04 01:24:24
   date||


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



[Bug tree-optimization/42215] [4.5 Regression] internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution

2009-12-02 Thread rth at gcc dot gnu dot org


--- Comment #2 from rth at gcc dot gnu dot org  2009-12-02 19:26 ---
Confirmed.


-- 

rth 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-02 19:26:47
   date||


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



[Bug tree-optimization/42215] [4.5 Regression] internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution

2009-12-02 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-12-02 19:26:47 |2009-12-02 19:58:14
   date||


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



[Bug tree-optimization/42215] [4.5 Regression] internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution

2009-12-02 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2009-12-02 22:35 ---
Subject: Bug 42215

Author: rth
Date: Wed Dec  2 22:35:21 2009
New Revision: 154925

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=154925
Log:
PR tree-opt/42215
* tree-loop-distribution.c (build_size_arg_loc): Tidy.
(generate_memset_zero): Convert to sizetype properly.  Tidy.

Added:
trunk/gcc/testsuite/gcc.dg/pr42215.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-loop-distribution.c


-- 


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



[Bug tree-optimization/42215] [4.5 Regression] internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution

2009-12-02 Thread rth at gcc dot gnu dot org


--- Comment #4 from rth at gcc dot gnu dot org  2009-12-02 22:42 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug debug/42234] [4.5 Regression] internal compiler error: verify_ssa failed

2009-12-02 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-12-01 08:19:33 |2009-12-02 22:44:49
   date||


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



[Bug rtl-optimization/27468] sign-extending Alpha instructions not exploited

2009-12-02 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2009-12-03 00:23 ---
Note that f23 and f49 are fixed in gcc 4.5, probably by the fix to PR8603.
The f5 test continues to have the unneeded extend.


-- 

rth 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-03 00:23:35
   date||


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



[Bug rtl-optimization/27469] zero extension not eliminated

2009-12-02 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2009-12-03 00:32 ---
Gcc 4.5 has regressed this even further:

extwl $16,2,$1
xor $1,$16,$16
addl $31,$16,$16signextend
zapnot $16,15,$1zeroextend of signextend
srl $1,8,$1

Neither extension is needed, of course.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2006-05-07 18:59:35 |2009-12-03 00:32:32
   date||


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



[Bug tree-optimization/42216] [4.5 Regression] 464.h265ref peak regressed 20%

2009-11-29 Thread rth at gcc dot gnu dot org


--- Comment #1 from rth at gcc dot gnu dot org  2009-11-29 17:58 ---
The vec_interleave_*_optab should still be populated.  It's just
that what was once sse2_punpcklwd is now vec_interleave_lowv8hi
directly.  If this patch *is* attributable to a regression, then
perhaps there's a typo somewhere in the substitutions...


-- 


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



[Bug middle-end/42193] [4.5 Regression] 454.calculix in SPEC CPU 2006 failed to compile at -O3

2009-11-28 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2009-11-28 16:58 ---
CC'ing you, Ira, since this is an SLP problem simply exposed by
enabling permutation support in the target.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||irar at il dot ibm dot com


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



[Bug c/41567] Too small .bss stack

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


--- Comment #14 from rth at gcc dot gnu dot org  2009-11-14 02:22 ---
This is a linker bug.  Recompiling without -g, so as to get error messages
without the unhelpful symbolic interpretation, I can reproduce

msmpeg4.c:(.text.unlikely+0xbe2): relocation truncated to fit: GPREL22 against
`.bss'
msmpeg4.c:(.text.unlikely+0xc80): relocation truncated to fit: GPREL22 against
`.bss'

Matching these offsets up with the object file, we see

0be2  00040086 R_IA64_LTOFF22X    .bss + 29658
0c80  00040086 R_IA64_LTOFF22X    .bss + 2a560

Notice these are *not* GPREL22 relocations, but LTOFF22X relocations.
These LTOFF22X relocations are supposed to be relaxed to GPREL22 
relocations by the linker, but ONLY IF the address is in range; otherwise
they are to be interpreted as LTOFF22 relocations which store the full
address in the GOT.

Unfortunately, the ia64 linker doesn't implement --no-relax, like other
targets do, so it's not easy to work around this bug.  Also, it would be
extremely helpful if there was a linker switch that disabled symbolic
interpretation of section+offset.  I spent a lot of time looking at the
wrong addresses...

I've created 

 http://sourceware.org/bugzilla/show_bug.cgi?id=10955

to track this problem.  You'll need to create new bugzilla accounts on
the sourceware system in order to get CC'd.

Closing this as not-a-gcc-bug.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug target/42040] New: [ia64] Inappropriate address spills

2009-11-13 Thread rth at gcc dot gnu dot org
Looking at msmpeg4.s from PR 41567, build with -O2 -fPIC, we see


.LC2:
data8   mv_tables#+72
...
addl r14 = @gprel(.LC2), gp

We should not have spilled that address to the constant pool.

Add -mno-sdata and it gets worse -- LC2 moves from .sdata to
the .data.rel.ro section but we *still* use @gprel to address
it, and that relocation may well be out of range.


-- 
   Summary: [ia64] Inappropriate address spills
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rth at gcc dot gnu dot org
GCC target triplet: ia64-linux


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



[Bug c++/41959] New: Vector type name mangling is size ambiguous

2009-11-05 Thread rth at gcc dot gnu dot org
---
#include x86intrin.h
void f(__m128) { }
void f(__m256) { }
---
Build with the -mavx flag to enable 32-byte vectors.

z.s: Assembler messages:
z.s:22: Error: symbol `_Z1fU8__vectorf' is already defined

This because the vector mangling does not include the size of the vector,
and thus __m128 and __m256 mangle to the same thing.


-- 
   Summary: Vector type name mangling is size ambiguous
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rth at gcc dot gnu dot org
GCC target triplet: i386-* x86_64-*


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



[Bug c++/41819] [4.5 regression] ICE with try/catch and -fno-exceptions

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


--- Comment #2 from rth at gcc dot gnu dot org  2009-10-27 18:12 ---
Mine.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-10-27 02:42:57 |2009-10-27 18:12:55
   date||


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



[Bug c++/41819] [4.5 regression] ICE with try/catch and -fno-exceptions

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


--- Comment #3 from rth at gcc dot gnu dot org  2009-10-27 20:09 ---
Subject: Bug 41819

Author: rth
Date: Tue Oct 27 20:09:07 2009
New Revision: 153615

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=153615
Log:
PR c++/41819
* tree-eh.c (eh_region_may_contain_throw_map): Rename from
eh_region_may_contain_throw; update users.
(eh_region_may_contain_throw): New function.
(lower_catch): Check flag_exceptions before creating exception region.
(lower_eh_filter, lower_eh_must_not_throw): Likewise.
(lower_cleanup): Tidy existing flag_exceptions check to match.

Added:
trunk/gcc/testsuite/g++.dg/eh/pr41819.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-eh.c


-- 


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



[Bug c++/41819] [4.5 regression] ICE with try/catch and -fno-exceptions

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


--- Comment #4 from rth at gcc dot gnu dot org  2009-10-27 20:11 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/41377] [4.5 Regression] gimple EH rewrite causes ICE with PPRE (enabled at -O3)

2009-10-13 Thread rth at gcc dot gnu dot org


--- Comment #6 from rth at gcc dot gnu dot org  2009-10-13 18:42 ---
Subject: Bug 41377

Author: rth
Date: Tue Oct 13 18:41:56 2009
New Revision: 152728

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152728
Log:
PR tree-optimization/41377
* tree-eh.c (unsplit_eh): Propagate degenerate PHIs.
(cleanup_empty_eh_merge_phis): New change_region parameter;
pass it on to redirect_eh_edge_1.  Update callers.
(cleanup_empty_eh_unsplit): Don't require an existing EH label
at the destination block.

Added:
trunk/gcc/testsuite/g++.dg/opt/eh5.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-eh.c


-- 


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



[Bug tree-optimization/41377] [4.5 Regression] gimple EH rewrite causes ICE with PPRE (enabled at -O3)

2009-10-13 Thread rth at gcc dot gnu dot org


--- Comment #7 from rth at gcc dot gnu dot org  2009-10-13 18:45 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



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

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


--- Comment #1 from rth at gcc dot gnu dot org  2009-10-12 21:51 ---
The expand pass relies on the rtx cost model to be correct.
I assume that arm_size_rtx_costs is models multiply incorrectly.


-- 


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



[Bug tree-optimization/41377] [4.5 Regression] gimple EH rewrite causes ICE with PPRE (enabled at -O3)

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


--- Comment #5 from rth at gcc dot gnu dot org  2009-10-12 22:34 ---
Mine.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-10-05 00:09:08 |2009-10-12 22:34:01
   date||


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



[Bug target/39677] AMD Opteron E needs workaround for lock erratum

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


--- Comment #3 from rth at gcc dot gnu dot org  2009-10-13 01:07 ---
Not an openmp bug; we've got to make the change for all code gcc generates.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
  Component|middle-end  |target
   Keywords|openmp  |
   Last reconfirmed|2009-04-07 13:42:25 |2009-10-13 01:07:32
   date||


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



[Bug bootstrap/41395] [4.5 regression] Revision 151800 failed bootstrap

2009-09-29 Thread rth at gcc dot gnu dot org


--- Comment #39 from rth at gcc dot gnu dot org  2009-09-29 20:54 ---
(In reply to comment #35)
 static tree
 build_function_type_list_1 (bool vaargs, tree return_type, va_list argp)

Passing va_list by value is non-portable.  One fix here is to pass argp
by reference.  Dunno if that fixes this problem though, since the main
problem for Alpha seems to be the stdarg thing.


-- 


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



[Bug target/41505] GCC choosing poor code sequence for certain stores (x86)

2009-09-29 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2009-09-29 21:18 ---
There are already peepholes for this, though the condition appears to be
slightly wrong for -Os.  See i386.md:21121 :

(define_peephole2
  [(match_scratch:SI 1 r)
   (set (match_operand:SI 0 memory_operand )
(const_int 0))]
  optimize_insn_for_speed_p ()
! TARGET_USE_MOV0
TARGET_SPLIT_LONG_MOVES
get_attr_length (insn) = ix86_cur_cost ()-large_insn
peep2_regno_dead_p (0, FLAGS_REG)


-- 


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



[Bug target/41505] GCC choosing poor code sequence for certain stores (x86)

2009-09-29 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2009-09-29 23:43 ---
Yeah, that looks right.


-- 


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



[Bug middle-end/41469] [4.5 Regression] -fexceptions ICE in expand_gimple_stmt_1, at cfgexpand.c:1947

2009-09-25 Thread rth at gcc dot gnu dot org


--- Comment #3 from rth at gcc dot gnu dot org  2009-09-25 17:47 ---
We're generating exception handling code when we previously didn't.
I suspect that the changes to the call location of using_eh_for_cleanups.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-09-25 15:03:13 |2009-09-25 17:47:41
   date||


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



[Bug middle-end/41469] [4.5 Regression] -fexceptions ICE in expand_gimple_stmt_1, at cfgexpand.c:1947

2009-09-25 Thread rth at gcc dot gnu dot org


--- Comment #4 from rth at gcc dot gnu dot org  2009-09-25 20:49 ---
Subject: Bug 41469

Author: rth
Date: Fri Sep 25 20:49:08 2009
New Revision: 152185

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152185
Log:
PR middle-end/41469
* tree-eh.c (lower_resx): Resolve RESX with no source region to
__builtin_trap.
(gate_lower_resx): New.
(gate_lower_eh_dispatch): Rename from gate_lower_ehcontrol.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr41469.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-eh.c


-- 


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



[Bug bootstrap/41405] [4.5 Regression] Bootstrap fails on *-apple-darwin* due to revision 151815

2009-09-24 Thread rth at gcc dot gnu dot org


--- Comment #64 from rth at gcc dot gnu dot org  2009-09-24 17:02 ---
Subject: Bug 41405

Author: rth
Date: Thu Sep 24 17:02:29 2009
New Revision: 152127

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152127
Log:
PR bootstrap/41405
* common.opt: Initialize dwarf_strict to -1.
* toplev.c (process_options): Catch unset dwarf_strict
and set to 0 for all targets not overriding.
* config/darwin.c (darwin_override_options): Catch unset
dwarf_strict and override to 1.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/common.opt
trunk/gcc/config/darwin.c
trunk/gcc/toplev.c


-- 


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



  1   2   3   4   5   6   7   8   9   10   >