Re: No ifcvt during ce1 pass (fails i386/ssefp-2.c)

2007-03-15 Thread Uros Bizjak
On 3/15/07, Alexandre Oliva <[EMAIL PROTECTED]> wrote: > Recent committed patch breaks i386ssefp-2.c testcase, where maxsd is > not generated anymore. FWIW, I saw it both before and after the patch for PR 31127. I've just tried reverting PR 30643 as well, but the problem remains. So it's unre

Re: No ifcvt during ce1 pass (fails i386/ssefp-2.c)

2007-03-15 Thread Steven Bosscher
On 3/15/07, Uros Bizjak <[EMAIL PROTECTED]> wrote: compile this with -O2 -msse2 -mfpmath=sse, and this testcase should compile to maxsd. I'll look into it this weekend. Gr. Steven

Re: No ifcvt during ce1 pass (fails i386/ssefp-2.c)

2007-03-15 Thread Uros Bizjak
On 3/15/07, Steven Bosscher <[EMAIL PROTECTED]> wrote: On 3/15/07, Uros Bizjak <[EMAIL PROTECTED]> wrote: > compile this with -O2 -msse2 -mfpmath=sse, and this testcase should > compile to maxsd. I'll look into it this weekend. Thanks! BTW: Your patch also causes FAIL: gcc.dg/torture/pr2518

Re: XFAILing gcc.c-torture/execute/mayalias-2.c -O3 -g (PR 28834)

2007-03-15 Thread Hans-Peter Nilsson
On Wed, 14 Mar 2007, Joe Buck wrote: > If we allow XFAILing tests that ICE, it should be an extremely rare thing. > I worry that once the precedent is set, the number of XFAIL ICEs will > go up with time, making it more likely that users will experience > compiler crashes. What's so bad about an I

Re: No ifcvt during ce1 pass (fails i386/ssefp-2.c)

2007-03-15 Thread Steven Bosscher
On 3/15/07, Uros Bizjak <[EMAIL PROTECTED]> wrote: BTW: Your patch also causes FAIL: gcc.dg/torture/pr25183.c -O0 (internal compiler error) FAIL: gcc.dg/torture/pr25183.c -O0 (test for excess errors) Yes. Known. I bootstrapped a fix and had a box test it yesterday. I'll look at the test re

MMX instruction and gcc

2007-03-15 Thread Galloth
Hi, I want ask, if there is posibilities that gcc will be automaticaly generates MMX instruction? I tried -mtune, -march -mmmx. But gcc stil generates code without MMX instruction. On net I found only information about inline assembler function or citation from man page. I tried to compile progra

Re: Constrain not satisfied - floating point insns.

2007-03-15 Thread Rohit Arul Raj
Hi all, I had a single movsf insn that accepts all alternatives for the reload to work. (define_insn "movsf" [(set (match_operand:SF 0 "nonimmediate_operand" "=f,m,f,f,d,d") (match_operand:SF 1 "general_operand" "m,f,f,d,f,i")) ] But for moving an immediate value,

RE: What to do when constraint doesn't match

2007-03-15 Thread Dave Korn
On 15 March 2007 05:00, Mohamed Shafi wrote: > I have a define_expand with the pattern name mov and a > define_insn mov_store > The predicate in define_expand is general_operand, so that all > operands are matched. > While in define_insn i have a predicate which allows only two class of > register

RE: Constrain not satisfied - floating point insns.

2007-03-15 Thread Dave Korn
On 14 March 2007 21:21, Jim Wilson wrote: > Rohit Arul Raj wrote: >> (define_insn "movsf_store" >> [(set (match_operand:SF 0 "memory_operand" "=m") >> (match_operand:SF 1 "float_reg""f"))] > > You must have a single movsf define_insn that accepts all alternatives > so that reload will w

Re: can't find VCG viewer

2007-03-15 Thread Diego Novillo
Sunzir Deepur wrote on 03/14/07 05:36: > any idea where I can find a (free) graphical VCG viewer suitable > for gcc's vcg outputs ? I'd recommend the attached script. Feed the output to GraphViz. The script may need changes if you are using RTL dumps. #!/bin/sh # # (C) 2005 Free Software Founda

Re: error: unable to find a register to spill in class 'FP_REGS'

2007-03-15 Thread Markus Franke
Hello, thanks for your answer. Here is an excerpt of the .00.expand file for insn 45: ---snip--- (insn 45 47 46 1 (set (subreg:SI (reg:DI 92 [ D.1212 ]) 4) (reg:SI 93 [ D.1211 ])) -1 (nil) (expr_list:REG_NO_CONFLICT (reg:SI 93 [ D.1211 ]) (nil))) ---snap--- That means the com

Re: core changes for mep port

2007-03-15 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > > Again my first reaction is whether it is necessary to compile code > > which runs in two completely different modes in the same > > compilation. If the functions can't call each other, why do they > > need to be compiled together? > > Why do *any* two f

Re: core changes for mep port

2007-03-15 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > It sounds like we're not communicating properly. The total patch set > to support core vs vliw modes, the part that needs to manage inlined > functions by attribute, is a total of four lines of code in the core > (not including prototypes). The two hooks

Re: setting a breakpoint on a break statement

2007-03-15 Thread Tristan Gingold
On Mar 14, 2007, at 3:16 PM, Ian Lance Taylor wrote: Tristan Gingold <[EMAIL PROTECTED]> writes: in some cases, a breakpoint can't be set on a continue or break statement. Here is a simple example: The reason is quiet simple: even at -O0 -g, there is no insn (and no BB) corresponding to t

Re: setting a breakpoint on a break statement

2007-03-15 Thread Ian Lance Taylor
Tristan Gingold <[EMAIL PROTECTED]> writes: > > I don't think it is appropriate to change the meaning of > > forwarder_block_p. And I'm not sure why you need that patch anyhow, > > considering the existing code in cleanup_tree_cfg_1. > Without that change, the rtl jump pass cleans the jump and al

ANNOUNCE: Gelato ICE GCC track, San Jose, CA, April 16-18, 2007

2007-03-15 Thread Diego Novillo
The GCC track will be on Mon 16/Apr and Tue 17/Apr. The program should be complete by now - Program at-a-glance: http://ice.gelato.org/pdf/gelatoICE_ataglance.pdf - Speaker list and abstracts: http://ice.gelato.org/program/program.php -

Re: MMX instruction and gcc

2007-03-15 Thread Ian Lance Taylor
Galloth <[EMAIL PROTECTED]> writes: > I want ask, if there is posibilities that gcc will be automaticaly > generates MMX instruction? I tried -mtune, -march -mmmx. But gcc stil > generates code without MMX instruction. On net I found only > information about inline assembler function or citation

Re: ANNOUNCE: Gelato ICE GCC track, San Jose, CA, April 16-18, 2007

2007-03-15 Thread Toon Moene
Diego Novillo wrote: The following GCC track is part of the Gelato ICE (Itanium Conference & Expo) OK, OK, I'm slow, I know - but this one I finally got: Gelato - Ice [ B ] "I scream, you scream, we all scream for ice cream ... " -- Toon Moene - e-mail: [EMAIL PROTECTED] - phone: +31 34

regclass oddity?

2007-03-15 Thread Dave Korn
Hi all, When regclass determines that placing an operand into either one of several register classes would have the same cost, it picks the numerically highest one in enum reg_class ordering. In my particular circumstances this is not good, because a lot of the high-numbered reg classes

Re: MMX instruction and gcc

2007-03-15 Thread Andrew Pinski
On 15 Mar 2007 08:12:21 -0700, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: Galloth <[EMAIL PROTECTED]> writes: > I want ask, if there is posibilities that gcc will be automaticaly > generates MMX instruction? I tried -mtune, -march -mmmx. But gcc stil > generates code without MMX instruction. O

RE: regclass oddity?

2007-03-15 Thread Dave Korn
On 15 March 2007 15:53, Dave Korn wrote: > Hi all, > > When regclass determines that [ ... ] > So, is there actually anything inconsistent or incorrect about setting up > my reg classes in this fashion? > > #define REG_CLASS_CONTENTS { \ > { 0x, 0x, 0x

Re: MMX instruction and gcc

2007-03-15 Thread Zuxy Meng
"Andrew Pinski" <[EMAIL PROTECTED]> дÈëÏûÏ¢ÐÂÎÅ:[EMAIL PROTECTED] > On 15 Mar 2007 08:12:21 -0700, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: >> Galloth <[EMAIL PROTECTED]> writes: >> >> > I want ask, if there is posibilities that gcc will be automaticaly >> > generates MMX instruction? I tried -

Summer of Code 2007 mentors

2007-03-15 Thread Ian Lance Taylor
GCC has been approved as a supported project for Google's Summer of Code 2007. Summer of Code is a program in which Google pays students to work on open source projects. Now we need people to sign up as mentors. As a rule of thumb I think mentors should be restricted to people listed in the MAIN

Re: XFAILing gcc.c-torture/execute/mayalias-2.c -O3 -g (PR 28834)

2007-03-15 Thread Janis Johnson
On Thu, Mar 15, 2007 at 04:58:51AM -0400, Hans-Peter Nilsson wrote: > On Wed, 14 Mar 2007, Joe Buck wrote: > > If we allow XFAILing tests that ICE, it should be an extremely rare thing. > > I worry that once the precedent is set, the number of XFAIL ICEs will > > go up with time, making it more lik

Re: XFAILing gcc.c-torture/execute/mayalias-2.c -O3 -g (PR 28834)

2007-03-15 Thread Richard Guenther
On 3/15/07, Janis Johnson <[EMAIL PROTECTED]> wrote: On Thu, Mar 15, 2007 at 04:58:51AM -0400, Hans-Peter Nilsson wrote: > On Wed, 14 Mar 2007, Joe Buck wrote: > > If we allow XFAILing tests that ICE, it should be an extremely rare thing. > > I worry that once the precedent is set, the number of

Fwd: Query regarding struct variables in GIMPLE

2007-03-15 Thread Karthikeyan M
Thanks. Can you point me to documentation / code where I can get more information about these artificial tags ? On 3/13/07, Diego Novillo < [EMAIL PROTECTED]> wrote: Karthikeyan M wrote on 03/13/07 21:32: > appears as x.j = 10 inside the GIMPLE dump of the function body . Is > there some pla

Re: Constrain not satisfied - floating point insns.

2007-03-15 Thread Jim Wilson
Dave Korn wrote: But it is ok to use a define_expand (that accepts all alternatives) for movsf and use that to generate one of several movsf_ insns, isn't it? No. You have to have a single movsf insn that accepts all constraints. reload knows that it can fix practically anything by emit

Re: What to do when constraint doesn't match

2007-03-15 Thread Jim Wilson
Mohamed Shafi wrote: I have a define_expand with the pattern name mov and a define_insn mov_store I also have a pattern for register move from 'a' to 'b', call it mova2b. You have to have a single mov pattern that accepts all valid constraint combinations. You can't use two separate patterns

Re: Constrain not satisfied - floating point insns.

2007-03-15 Thread Jim Wilson
Dave Korn wrote: But it is ok to use a define_expand (that accepts all alternatives) for movsf and use that to generate one of several movsf_ insns, isn't it? Reload doesn't use the move define_expands. It can't. A define_expand is allowed to do stuff like generate new RTL that would c

frv minmax predicate

2007-03-15 Thread DJ Delorie
The minmax_operator predicate also checks the operands of the operator to be appropriate, but the minmax_operator predicate is used for both integer and floating point operations. The predicate, as is, only matches the integer operands. Taking out the check on XEXP(...) in minmax_operator seems

Broken debug info with G++ anon struct typedefs

2007-03-15 Thread Ulrich Weigand
Hello, in debugging a failing GDB test case I've come upon what looks like bad DWARF-2 debug info being generated by G++. The problem has to do with typedefs of anonymous structs like: typedef struct { int one; int two; } tagless_struct; tagless_struct v_tagless; This causes the following D

Re: Constrain not satisfied - floating point insns.

2007-03-15 Thread Jim Wilson
Rohit Arul Raj wrote: But for moving an immediate value, compiler should use a data register but it is using a floating point register. Sometimes it is impossible to avoid using an FP reg where we would prefer to have a data register. This is why reload exists, to fix things that don't matc

Re: We're out of tree codes; now what?

2007-03-15 Thread Mark Mitchell
Ian Lance Taylor wrote: > "Doug Gregor" <[EMAIL PROTECTED]> writes: > >> Of course, one could use TREE_CODE to see through the difference >> between these two, e.g., >> >> #define TREE_CODE(NODE) >> ((enum tree_code) (NODE)->base.code == LANG_TYPE? >> (enum tree_code)((TYPE_LANG_SPEC

Re: error: unable to find a register to spill in class 'FP_REGS'

2007-03-15 Thread Jim Wilson
Markus Franke wrote: That means the compiler has to reload the pseudo registers 92 and 93 for this instruction, right? First we do register allocation. Then, after register allocation, if the chosen hard registers don't match the constraints, then we use reload to fix it. The relevant dat

RE: regclass oddity?

2007-03-15 Thread Dave Korn
On 15 March 2007 16:12, Dave Korn wrote: >> So, is there actually anything inconsistent or incorrect about setting up >> my reg classes in this fashion? >> >> #define REG_CLASS_CONTENTS { \ >> { 0x, 0x, 0x }, /* NO_REGS */ \ >> { 0x, 0xf

Re: regclass oddity?

2007-03-15 Thread Jim Wilson
Dave Korn wrote: When regclass determines that placing an operand into either one of several register classes would have the same cost, it picks the numerically highest one in enum reg_class ordering. One possible solution is to give the special registers a higher REGISTER_MOVE_COST to disco

Re: regclass oddity?

2007-03-15 Thread Jim Wilson
Dave Korn wrote: Because my movsi3 pattern that allows both GENERAL_REGS through an 'r' constraint, and MPD_REG and MPRL_REG through custom constraint letters ('a' and 'd'), does that mean I need to define a union class or I'm actually doing something wrong? Adding the union classes would cer

Re: XFAILing gcc.c-torture/execute/mayalias-2.c -O3 -g (PR 28834)

2007-03-15 Thread Mike Stump
On Mar 14, 2007, at 11:12 PM, Mark Mitchell wrote: Zero FAILs may not be achievable on all targets, but if I had a magic XFAIL wand, that would put the right XFAIL goo into all tests before every release so that all users who built the toolchain correctly always got zero FAILs, I would do it

Re: No ifcvt during ce1 pass (fails i386/ssefp-2.c)

2007-03-15 Thread Steven Bosscher
On 3/15/07, Uros Bizjak <[EMAIL PROTECTED]> wrote: The testcase is: double x; q() { x=x<5?5:x; } compile this with -O2 -msse2 -mfpmath=sse, and this testcase should compile to maxsd. This happens because a "fallthrough edge" is meaningless in cfglayout mode, but ifcvt.c still gives special

Re: frv minmax predicate

2007-03-15 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > The minmax_operator predicate also checks the operands of the operator > to be appropriate, but the minmax_operator predicate is used for both > integer and floating point operations. The predicate, as is, only > matches the integer operands. > > Taking o

Re: GCC 4.2 branch comparision failure building Java

2007-03-15 Thread Joseph S. Myers
On Tue, 13 Mar 2007, Mark Mitchell wrote: > The GCC 4.2.0 RC1 build has failed (on x86_64-unknown-linux-gnu) with: > > Comparing stages 2 and 3 > Bootstrap comparison failure! > ./java/parse.o differs > ./java/parse-scan.o differs > > Has anyone else seen this? I'm now looking at this (or at a

Re: GCC 4.2 branch comparision failure building Java

2007-03-15 Thread Mark Mitchell
Joseph S. Myers wrote: > On Tue, 13 Mar 2007, Mark Mitchell wrote: > >> The GCC 4.2.0 RC1 build has failed (on x86_64-unknown-linux-gnu) with: >> >> Comparing stages 2 and 3 >> Bootstrap comparison failure! >> ./java/parse.o differs >> ./java/parse-scan.o differs >> >> Has anyone else seen this? >

Re: frv minmax predicate

2007-03-15 Thread DJ Delorie
> You just have to make sure that the predicate only accepts the types > of operands the insn and constraints are prepared to handle. I would > be a little bit skeptical of removing the gpr_or_int10_operand test, > for example. But it would be reasonable to check something else for a > floating

Re: core changes for mep port

2007-03-15 Thread DJ Delorie
> > if (targetm.disallow_inlining_p (node->decl, decl)) > >return false; > > > > if (targetm.disallow_call_p (current_function_decl, function)) > >return error_mark_node; > > I don't see a real problem with this, but I would prefer to see > "allow_XX" rather than "disallow_XX". It's

Re: frv minmax predicate

2007-03-15 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > > You just have to make sure that the predicate only accepts the types > > of operands the insn and constraints are prepared to handle. I would > > be a little bit skeptical of removing the gpr_or_int10_operand test, > > for example. But it would be reaso

Re: core changes for mep port

2007-03-15 Thread NickK
In addition, my current email conversation with Dorit about GPU integration would be better suited to high level optimisation and code separation with multiple backends. Eric Christopher wrote: This and the register changes come close to multi-arch gcc. Is that a direction we want to go? Hist

Re: frv minmax predicate

2007-03-15 Thread DJ Delorie
> Oh, I get it now. No, there is no reason for the duplication between > minmax_operator and the insn itself. You should be able to remove the > tests from minmax_operator. I wonder why they are there at all? This, then? 2007-03-15 DJ Delorie <[EMAIL PROTECTED]> * config/frv/predic

Re: frv minmax predicate

2007-03-15 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > 2007-03-15 DJ Delorie <[EMAIL PROTECTED]> > > * config/frv/predicates.md (minmax_operator): Don't check operands > here. Looks good to me. (Not that I know anything about the FRV). Ian

Re: Query regarding struct variables in GIMPLE

2007-03-15 Thread Diego Novillo
Karthikeyan M wrote on 03/15/07 15:06: > Thanks. > Can you point me to documentation / code where I can get more > information about these artificial tags ? gcc/tree-ssa-alias.c:create_structure_vars() The section on Structural alias analysis in the internals documentation should also help.

Re: GCC 4.2 branch comparision failure building Java

2007-03-15 Thread Ian Lance Taylor
"Joseph S. Myers" <[EMAIL PROTECTED]> writes: > On Tue, 13 Mar 2007, Mark Mitchell wrote: > > > The GCC 4.2.0 RC1 build has failed (on x86_64-unknown-linux-gnu) with: > > > > Comparing stages 2 and 3 > > Bootstrap comparison failure! > > ./java/parse.o differs > > ./java/parse-scan.o differs > >

Re: GCC 4.2 branch comparision failure building Java

2007-03-15 Thread Joe Buck
On Thu, Mar 15, 2007 at 04:11:29PM -0700, Ian Lance Taylor wrote: > "Joseph S. Myers" <[EMAIL PROTECTED]> writes: > > > On Tue, 13 Mar 2007, Mark Mitchell wrote: > > > > > The GCC 4.2.0 RC1 build has failed (on x86_64-unknown-linux-gnu) with: > > > > > > Comparing stages 2 and 3 > > > Bootstrap

Re: GCC 4.2 branch comparision failure building Java

2007-03-15 Thread Mark Mitchell
Joe Buck wrote: >> For what it's worth, I bootstrapped on a few different GNU/Linux >> systems with different kernels and base compilers. I only saw >> bootstrap comparison failures on one; that one was running Red Hat 9 >> and had gcc 3.2.2 installed in /usr/bin. On that one, a bootstrap4 >> wo

Re: core changes for mep port

2007-03-15 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > > > if (targetm.disallow_inlining_p (node->decl, decl)) > > >return false; > > > > > > if (targetm.disallow_call_p (current_function_decl, function)) > > >return error_mark_node; > > > > I don't see a real problem with this, but I would prefer

Re: GCC 4.2 branch comparision failure building Java

2007-03-15 Thread Joe Buck
On Thu, Mar 15, 2007 at 05:30:48PM -0700, Mark Mitchell wrote: > Joe Buck wrote: > > >> For what it's worth, I bootstrapped on a few different GNU/Linux > >> systems with different kernels and base compilers. I only saw > >> bootstrap comparison failures on one; that one was running Red Hat 9 > >

Re: frv minmax predicate

2007-03-15 Thread Aldy Hernandez
> "DJ" == DJ Delorie <[EMAIL PROTECTED]> writes: >> Oh, I get it now. No, there is no reason for the duplication between >> minmax_operator and the insn itself. You should be able to remove the >> tests from minmax_operator. I wonder why they are there at all? > This, then? Ok.

Re: GCC 4.2 branch comparision failure building Java

2007-03-15 Thread Joe Buck
On Thu, Mar 15, 2007 at 05:48:12PM -0700, Joe Buck wrote: > At one point I considered trying a search to see which files get > miscompiled, by combining stage1 object files from a run with 3.2.3 and > 3.4.2 and trying to do the rest of the bootstrap with that, then varying > which .o files come fro

Re: frv minmax predicate

2007-03-15 Thread DJ Delorie
> Ok. Thanks! Applied.

Re: core changes for mep port

2007-03-15 Thread DJ Delorie
> Do you mean where is the best place to call these functions? Yup. > Look at the calls to cgraph_mark_edge in ipa-inline.c There is no such function. I couldn't find anything in ipa-inline that (1) had access to both ends of the call edge, (2) was actually called, and (3) was called before th

Problem with building libgfortran on PPC

2007-03-15 Thread Revital1 Eres
Hello, I get the following error on PPC while bootstrapping mainline. Re-runing make I get: collect2: ld terminated with signal 11 [Segmentation fault] make[8]: *** [libstdc++.la] Error 1 Thanks, Revital ranlib .libs/libgfortran.a creating libgfortran.la (cd .libs && rm -f libgfortran.la &&

Re: core changes for mep port

2007-03-15 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > > Do you mean where is the best place to call these functions? > > Yup. > > > Look at the calls to cgraph_mark_edge in ipa-inline.c > > There is no such function. I couldn't find anything in ipa-inline > that (1) had access to both ends of the call edge