Re: gcc-4.5/4.4: Bug in .subreg1 pass?

2011-02-26 Thread Denis Chertykov
2011/2/26 Georg Johann Lay 
>
> Eric Botcazou schrieb:
>>>
>>> What does "word" mean here? Is it a 32-bit entity or is it according to
>>> word_mode which is QImode for avr?
>>
>> The latter, it is machine-dependent.
>>
>>
>>> So the same should be true for QI-subregs of scalar modes if
>>> UNITS_PER_WORT = 1. Right?
>>
>> Right.
>
> Thanks for that definite clarification.

As I understand PR46779 and PR45291 no longer an AVR port bugs.
And the following comment is not a true anymore:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45291#c2
Am I right ?

Denis.


Re: gcc-4.5/4.4: Bug in .subreg1 pass?

2011-02-26 Thread Georg-Johann Lay

Denis Chertykov schrieb:

2011/2/26 Georg Johann Lay 


Eric Botcazou schrieb:


What does "word" mean here? Is it a 32-bit entity or is it according to
word_mode which is QImode for avr?


The latter, it is machine-dependent.




So the same should be true for QI-subregs of scalar modes if
UNITS_PER_WORT = 1. Right?


Right.


Thanks for that definite clarification.



As I understand PR46779 and PR45291 no longer an AVR port bugs.
And the following comment is not a true anymore:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45291#c2
Am I right ?


At least the analysis I gave there is incorrect.

I remember a problem in avr backend concerning the frame pointer because 
QImode was allowed in FP's hard regs... that sort of problem. Was that 
fixed here or just in some distribution like WinAVR? So perhaps it's 
still this FP problem?


Johann


Re: gcc-4.5/4.4: Bug in .subreg1 pass?

2011-02-26 Thread Georg-Johann Lay

Georg-Johann Lay schrieb:

Denis Chertykov schrieb:


2011/2/26 Georg Johann Lay 


Eric Botcazou schrieb:

What does "word" mean here? Is it a 32-bit entity or is it 
according to

word_mode which is QImode for avr?



The latter, it is machine-dependent.




So the same should be true for QI-subregs of scalar modes if
UNITS_PER_WORT = 1. Right?



Right.



Thanks for that definite clarification.




As I understand PR46779 and PR45291 no longer an AVR port bugs.
And the following comment is not a true anymore:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45291#c2
Am I right ?



At least the analysis I gave there is incorrect.

I remember a problem in avr backend concerning the frame pointer because 
QImode was allowed in FP's hard regs... that sort of problem. Was that 
fixed here or just in some distribution like WinAVR? So perhaps it's 
still this FP problem?


Ok, here it is:

http://gcc.gnu.org/viewcvs?view=revision&revision=123263

But now there is the problem that we have

(insn 33 35 34 2 foo.c:5 (set (subreg:QI (reg:HI 50 [ D.1955 ]) 1)
(reg:QI 41 [ D.1955 ])) ...

and reg 50 is allowed to get in R29:R28 (frame pointer regs) but the 
subreg is not, i.e. because QI is not allowed in FP regs, it is not 
possible to set low/high part seperately.


Johann


Re: gcc-4.5/4.4: Bug in .subreg1 pass?

2011-02-26 Thread Paolo Bonzini

On 02/24/2011 06:04 PM, Michael Matz wrote:

Funny.  As far back as I remember we consistently said that bits of the
same word, but outside the subreg are left with undefined values after
storing into the subreg, except if wrapped with a strict_low_part.  In
fact that's the whole point of strict_low_part.  I'm pretty sure we assume
this documented semantics in various parts of the compiler.


You both are correct.  AVR has

/* Width of a word, in units (bytes).  */
#define UNITS_PER_WORD 1

Paolo


Re: gcc-4.5/4.4: Bug in .subreg1 pass?

2011-02-26 Thread Georg-Johann Lay

Georg-Johann Lay schrieb:

Denis Chertykov schrieb:


2011/2/26 Georg Johann Lay 


Eric Botcazou schrieb:

What does "word" mean here? Is it a 32-bit entity or is it 
according to

word_mode which is QImode for avr?



The latter, it is machine-dependent.




So the same should be true for QI-subregs of scalar modes if
UNITS_PER_WORT = 1. Right?



Right.



Thanks for that definite clarification.




As I understand PR46779 and PR45291 no longer an AVR port bugs.
And the following comment is not a true anymore:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45291#c2
Am I right ?



At least the analysis I gave there is incorrect.

I remember a problem in avr backend concerning the frame pointer because 
QImode was allowed in FP's hard regs... that sort of problem. Was that 
fixed here or just in some distribution like WinAVR? So perhaps it's 
still this FP problem?


Ok, this is the patch I meant:

http://gcc.gnu.org/viewcvs?view=revision&revision=86842

it allows just Pmode in r29:r28 because of some spill failures in 
PR15417 and PR12017.


Johann



Re: -flto / -flto-partition=none question on ia64-hp-hpux11.23

2011-02-26 Thread Richard Guenther
On Sat, Feb 26, 2011 at 12:22 AM, Steve Ellcey  wrote:
>
> I am looking at an lto bug on ia64-hp-hpux11.23.  If I compile
> g++.dg/torture/pr33572.C with -flto on this platform I get:
>
> ld: Unsatisfied symbol "__gcc_personality_v0" in file 
> /var/tmp//ccYlpGzO.ltrans0.ltrans.o
> 1 errors.
> collect2: ld returned 1 exit status
>
> (This is using the HP linker which I do for all my GCC builds.)

so you do not have the linker-plugin?

> If I add -flto-partition=none to the link, then everything works fine.
> I notice that the =none option fo -flto-partition does not seem to be
> documented in invoke.texi, which only covers 1to1 and balanced so I am
> not sure what it means (put everything in one object?).

none is the old non-WHOPR LTO mode without a WPA stage and
everything combined into a single unit.

> In both cases if I look at the output of the linker I see an undef of
> __gcc_personality_v0 in the object file created by compiling pr33572.C
> and a definition that should resolve that use in libstdc++.so.
> libstdc++.so is searched in both cases and __gcc_personality_v0 is found
> in both cases so I don't understand why I am getting the error in the
> standard -flto case.
>
> Does anyone have any ideas on what I should look at to understand this
> problem?

I think this hints at an issue with the collect2 LTO path.  It would
be interesting
to see where references to the missing symbols appear / vanish - just look
at all intermediate files generated.

Richard.

> I get this on a few other -flto programs, but not on all of them.
>
> Steve Ellcey
> s...@cup.hp.com
>


gcc-4.6-20110226 is now available

2011-02-26 Thread gccadmin
Snapshot gcc-4.6-20110226 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.6-20110226/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.6 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 170522

You'll find:

 gcc-4.6-20110226.tar.bz2 Complete GCC (includes all of below)

  MD5=a6afe0f3737529aae9f81bb652a65719
  SHA1=edcefc4f7853b521615d0192c824c6dd6fccc11c

 gcc-core-4.6-20110226.tar.bz2C front end and core compiler

  MD5=ca346d13f9b5e48104c390780133da76
  SHA1=dbae21a337323a7baf735868ec1b14a072d83fce

 gcc-ada-4.6-20110226.tar.bz2 Ada front end and runtime

  MD5=62f51f1f79b2db01ecc8932faed6e283
  SHA1=e661fbe2084e9eb3cbc09b1140dd48a2920b93ac

 gcc-fortran-4.6-20110226.tar.bz2 Fortran front end and runtime

  MD5=d2f3520f56559f718dd9ff6caeeed94e
  SHA1=73289df7ca40975db77af3c07294053b529937e9

 gcc-g++-4.6-20110226.tar.bz2 C++ front end and runtime

  MD5=3c6891ba3980fce0f7ac25d1cab267cf
  SHA1=1154b5e73dc5ab82e44df2c0f0aedc2287fc0741

 gcc-go-4.6-20110226.tar.bz2  Go front end and runtime

  MD5=f7f78bc17bba19ba9f50fdb3d166b0f4
  SHA1=03b8200234418968d3dd34ae4b9466da794b9eb4

 gcc-java-4.6-20110226.tar.bz2Java front end and runtime

  MD5=e2bce4a21417ef8cd730f27935420c7e
  SHA1=0cc4b4cbcc52d5167c98c71d24a900c25f07ae4a

 gcc-objc-4.6-20110226.tar.bz2Objective-C front end and runtime

  MD5=6d0278060087f840a250fa039b37225d
  SHA1=6a0828303c62cdd39fb2d145c28b37f507ec73cd

 gcc-testsuite-4.6-20110226.tar.bz2   The GCC testsuite

  MD5=6bb94c2192cd4ab6d13df4a1380e617a
  SHA1=e6cf3a6242a77afdae53d79ffacf2c9e9b21d9ab

Diffs from 4.6-20110219 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.6
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


Re: temporarily giving up using Git for GCC MELT

2011-02-26 Thread Miles Bader
Basile Starynkevitch  writes:
> PS. By the way, git clone-ing the GCC git repository takes a lot of time
> from Europe. Perhaps having a daily tar ball of the result of that command
> available by ftp would be very nice

Do you use the http: or git: protocol for cloning?  The official gcc git
repo only supports the "old" git http: protocol, which is almost useless
on slow/high-latency networks...

[There's also a github mirror, and github supports the "smart" http:
protocol:  https://github.com/mirrors/gcc.git ]

-Miles

-- 
Consult, v.i. To seek another's disapproval of a course already decided on.