Re: libgcc-arch.ver details

2010-03-17 Thread Andrew Pinski
On Wed, Mar 17, 2010 at 11:38 PM, Paulo J. Matos wrote: > Gcc 4.3.4 is generating a call to floatunsihf, which not only I can't > find in libgcc but it also doesn't show in the internal docs. > My guess is that this name is generated automatically and reveals some > mistake in my md file. Is that

Re: libgcc-arch.ver details

2010-03-17 Thread Paulo J. Matos
On Thu, Mar 18, 2010 at 12:34 AM, Ian Lance Taylor wrote: > "Paulo J. Matos" writes: > Thank you for the help regarding usage of libgcc. >> - For floating point emulation, how does gcc know that the arch needs >> floating point emulation or not? Does it depend on the insns that are >> defined i

Re: Hash Function for "switch statement"

2010-03-17 Thread Jae Hyuk Kwak
On Wed, Mar 17, 2010 at 1:04 PM, Michael Meissner wrote: > Note, that many hash tables are computed by the modulus operation, which is > often fairly expensive (and on machines without a hardware divide unit, > requiring a function call). I would expect many switch statements would slow > down if

Re: libgcc-arch.ver details

2010-03-17 Thread Ian Lance Taylor
"Paulo J. Matos" writes: > I am quite confused with libgcc-.ver details. I can't find any > documentation on this file except by looking at the files that already > exist. > > So, let me see if I got this write. The file > config//libgcc-.ver tells gcc to build libgcc so that it > export the symb

Re: inconsistencies in the documentation regarding side effects with auto inc-dec

2010-03-17 Thread Kenneth Zadeck
i will fix it. kenny On 03/17/2010 07:28 PM, Ramana Radhakrishnan wrote: > Hi Kenneth, > > The documentation of auto-inc-dec still refers to flow and when I > raised this on IRC folks suggested that you might have some > documentation fixes if any, in this area. > > http://gcc.gnu.org/onlinedocs/

inconsistencies in the documentation regarding side effects with auto inc-dec

2010-03-17 Thread Ramana Radhakrishnan
Hi Kenneth, The documentation of auto-inc-dec still refers to flow and when I raised this on IRC folks suggested that you might have some documentation fixes if any, in this area. http://gcc.gnu.org/onlinedocs/gccint/Incdec.html#Incdec The lines in the doco are as below : These embedded side ef

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Jakub Jelinek
On Wed, Mar 17, 2010 at 06:08:06PM -0400, Aldy Hernandez wrote: > So... Richi, et al. Instead, should I remove alias set numbers > on the -fcompare-debug case, or inhibit new alias sets like thus: > > unsigned int save_aliasing = flag_strict_aliasing; > flag_strict_aliasing = 0; >

DWARF Version 4 Released

2010-03-17 Thread Michael Eager
DWARF Version 4 Released March 17, 2010 The DWARF Debugging Information Format Committee is pleased to announce the availability of the public review draft of Version 4 of the DWARF Debugging Information Format standard. The DWARF debugging format is used to communicate information between a comp

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Aldy Hernandez
> > > Are you suggesting we remove the entire code path here: > > > > > > ?/* Try harder to get a rtl. ?If this symbol ends up not being emitted > > > ? ? in the current CU, resolve_addr will remove the expression referencing > > > ? ? it. ?*/ > > > > > > ?? > > > > Yes. > > That will very much p

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Jakub Jelinek
On Wed, Mar 17, 2010 at 09:26:29PM +0100, Jakub Jelinek wrote: > That will very much pessimize debug info. While we are now always in > -funit-at-a-time mode, that doesn't mean DECL_RTL is computed early enough. > From the file scope non-static vars, at the point debug info is generated only > the

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Jakub Jelinek
On Wed, Mar 17, 2010 at 06:40:30PM +0100, Richard Guenther wrote: > > >    type >        size > >        unit size > >        align 32 symtab 0 alias set -1 canonical type 0x779493f0 > >        fields > 0x77863498 integer(kind=4)> > >            decl_2 SI file a.f90 line 4 col 0 size

Re: Question on mips multiply patterns in md file

2010-03-17 Thread Jim Wilson
On Tue, 2010-03-16 at 15:12 +0800, Amker.Cheng wrote: > In my understanding, the macro GENERATE_MADD_MSUB is true when the processor > has > madd insn, rather than madd2. And the macro "ISA_HAS_MUL3" is false if it > has > no mul insn. > > for this kind processor, gcc will > step 1 : generate in

Re: constant hoisting out of loops

2010-03-17 Thread Jim Wilson
On Wed, 2010-03-17 at 11:27 +0800, fanqifei wrote: > You are correct. The reload pass emitted the clr.w insn. > However, I can see loop opt passes after reload: > problem1.c.174r.loop2_invariant1 Not unless you have a modified toolchain. We don't run loop opt after register allocation. See the l

Re: Is it possible to port GCC backend to a architecture with very limited hard registers?

2010-03-17 Thread Ian Lance Taylor
redriver jiang writes: > Right now I attempts to port the GCC backend to a MCU with very > limited hard registers: only one 8 bit ACC reg, one 16 bit base reg > for addressing, one stats reg. > I searched the GCC backend porting, and seems 68HC1X has the similar > scene, but it use many "ram simu

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Richard Guenther
On Wed, Mar 17, 2010 at 6:40 PM, Richard Guenther wrote: > On Wed, Mar 17, 2010 at 6:28 PM, Aldy Hernandez wrote: >>> > ? ? rtl = DECL_RTL (decl); >>> > ? ? /* Reset DECL_RTL back, as various parts of the compiler expects >>> > ? ? ? ?DECL_RTL set meaning it is actually going to be output. ?*/ >>

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Richard Guenther
On Wed, Mar 17, 2010 at 6:28 PM, Aldy Hernandez wrote: >> > ? ? rtl = DECL_RTL (decl); >> > ? ? /* Reset DECL_RTL back, as various parts of the compiler expects >> > ? ? ? ?DECL_RTL set meaning it is actually going to be output. ?*/ >> > ? ? SET_DECL_RTL (decl, NULL); >> > >> > ... why do this in

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Aldy Hernandez
> > ? ? rtl = DECL_RTL (decl); > > ? ? /* Reset DECL_RTL back, as various parts of the compiler expects > > ? ? ? ?DECL_RTL set meaning it is actually going to be output. ?*/ > > ? ? SET_DECL_RTL (decl, NULL); > > > > ... why do this in the first place? ?Is this an issue for all decls or just > > f

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Aldy Hernandez
> I guess best would be to make sure no new alias set is created in these > places. Perhaps > int save_strict_aliasing = flag_strict_aliasing; > flag_strict_aliasing = 0; > rtl = DECL_RTL (decl); > flag_strict_aliasing = save_strict_aliasing; > in both places? Remember when I said I had come up w

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Richard Guenther
On Wed, Mar 17, 2010 at 5:51 PM, Richard Guenther wrote: > On Wed, Mar 17, 2010 at 5:32 PM, Jakub Jelinek wrote: >> On Wed, Mar 17, 2010 at 12:06:49PM -0400, Aldy Hernandez wrote: >>> What happens is that rtl_for_decl_location():dwarf2out.c will call >>> make_decl_rtl() which further down the cal

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Richard Guenther
On Wed, Mar 17, 2010 at 5:32 PM, Jakub Jelinek wrote: > On Wed, Mar 17, 2010 at 12:06:49PM -0400, Aldy Hernandez wrote: >> What happens is that rtl_for_decl_location():dwarf2out.c will call >> make_decl_rtl() which further down the call chain will call >> get_alias_set/new_alias_set.  It matters n

mingw32 gnat build on based on GCC gcc-4.4-20100223

2010-03-17 Thread PeteGarbett
My problems with GCC 4.4- were solved as suggested by adding in more multiply patterns specifically smulsi3_highpart, which enabled reciprocal multiplication to work. GCC 3.4.4 seems to be happy without this, don't know why. I have now built a mingw32 build of my private port, built on x86_64 lin

Re: RFC: VTA alias set discrepancy

2010-03-17 Thread Jakub Jelinek
On Wed, Mar 17, 2010 at 12:06:49PM -0400, Aldy Hernandez wrote: > What happens is that rtl_for_decl_location():dwarf2out.c will call > make_decl_rtl() which further down the call chain will call > get_alias_set/new_alias_set. It matters not that we reset DECL_RTL > immediately after, we have alrea

RFC: VTA alias set discrepancy

2010-03-17 Thread Aldy Hernandez
Hi folks. I am debugging a bunch of Fortran -fdebug-compare failures on the testsuite, all of which stem from symbols ending up on different alias set slots. Notice the 2 versus 3 discrepancy below: < (insn:TI# 0 0 a.f90:3 (set (mem/c/i:SI (symbol_ref:DI ("i.0.1535") [flags 0x2] ) [2 i.0+0 S4 A3

libgcc-arch.ver details

2010-03-17 Thread Paulo J. Matos
Hi, I am quite confused with libgcc-.ver details. I can't find any documentation on this file except by looking at the files that already exist. So, let me see if I got this write. The file config//libgcc-.ver tells gcc to build libgcc so that it export the symbols listed there (under a specific

Re: (un)aligned accesses on x86 platform.

2010-03-17 Thread Mikael Pettersson
On Tue, 16 Mar 2010 06:50:30 -0800, H.J. Lu wrote: > 2010/3/8 Pawe=C5=82 Sikora : > > hi, > > > > during development a cross platform appliacation on x86 workstation > > i've enabled an alignemnt checking [1] to catch possible erroneous > > code before it appears on client's sparc/arm cpu with si

Re: Is it possible to port GCC backend to a architecture with very limited hard registers?

2010-03-17 Thread Dave Hudson
We only had one real 8-bit accumulator on that port (the W register) which we did not expose the RA, instead exposing 32 "virtual" 8-bit registers from which we could construct 8, 16, 32 and 64-bit pairs. The key to really good code generation was to aggresively split the larger pseudo-operatio

Re: Is it possible to port GCC backend to a architecture with very limited hard registers?

2010-03-17 Thread Alan Lehotsky
Almost certainly you will run into severe problems in the reload phase. You might also profitably study the ip2k port. This is a ALU machine, but it does have multiple address registers. -Original Message- >From: redriver jiang >Sent: Mar 17, 2010 8:55 AM >To: gcc@gcc.gnu.org >Subject

Is it possible to port GCC backend to a architecture with very limited hard registers?

2010-03-17 Thread redriver jiang
Hi all, Right now I attempts to port the GCC backend to a MCU with very limited hard registers: only one 8 bit ACC reg, one 16 bit base reg for addressing, one stats reg. I searched the GCC backend porting, and seems 68HC1X has the similar scene, but it use many "ram simulated" register. I wonder