Re: gcc-4.5/4.4: Bug in .subreg1 pass?
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?
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?
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?
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?
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
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
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
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.