Re: "error: unable to generate reloads for...", any hints?

2007-02-08 Thread Ian Lance Taylor
"吴曦" <[EMAIL PROTECTED]> writes:

> I observe that there is a ld instruction in 3rd alternative, so I add
> a new define_insn before it in the hope that it will be matched
> firstly.

It doesn't work that way.  Your new instruction will wind up matching
all move instructions.  Reload will crash because the constraints
don't work.

Instead just change the existing movqi_internal insn.  Don't try to
write a new one.  Change the existing insn to use C code which checks
which_alternative instead of the @ list it uses now.

Ian


Re: "error: unable to generate reloads for...", any hints?

2007-02-08 Thread 吴曦

Thanks. But what does it mean by saying:
"Sometimes an insn can match more than one instruction pattern. Then
the pattern that appears first in the machine description is the one
used."
in section 14.10 of  gcc internal p259?
08 Feb 2007 00:09:21 -0800, Ian Lance Taylor <[EMAIL PROTECTED]>:

"吴曦" <[EMAIL PROTECTED]> writes:

> I observe that there is a ld instruction in 3rd alternative, so I add
> a new define_insn before it in the hope that it will be matched
> firstly.

It doesn't work that way.  Your new instruction will wind up matching
all move instructions.  Reload will crash because the constraints
don't work.

Instead just change the existing movqi_internal insn.  Don't try to
write a new one.  Change the existing insn to use C code which checks
which_alternative instead of the @ list it uses now.

Ian



Re: "error: unable to generate reloads for...", any hints?

2007-02-08 Thread Steven Bosscher

On 2/8/07, 吴曦 <[EMAIL PROTECTED]> wrote:

Thanks. But what does it mean by saying:
"Sometimes an insn can match more than one instruction pattern. Then
the pattern that appears first in the machine description is the one
used."


Basically it means, "Don't do that" ;-)

Make your insns match only one pattern.

Gr.
Steven


Re: "error: unable to generate reloads for...", any hints?

2007-02-08 Thread Ian Lance Taylor
"吴曦" <[EMAIL PROTECTED]> writes:

> Thanks. But what does it mean by saying:
> "Sometimes an insn can match more than one instruction pattern. Then
> the pattern that appears first in the machine description is the one
> used."
> in section 14.10 of  gcc internal p259?

(Please don't top post.  Thanks.)

It means what it says.

The effect is that only the first insn in the MD file is used, and the
subsequent ones are ignored.  This is rarely useful.

Ian

> 08 Feb 2007 00:09:21 -0800, Ian Lance Taylor <[EMAIL PROTECTED]>:
> > "吴曦" <[EMAIL PROTECTED]> writes:
> >
> > > I observe that there is a ld instruction in 3rd alternative, so I add
> > > a new define_insn before it in the hope that it will be matched
> > > firstly.
> >
> > It doesn't work that way.  Your new instruction will wind up matching
> > all move instructions.  Reload will crash because the constraints
> > don't work.
> >
> > Instead just change the existing movqi_internal insn.  Don't try to
> > write a new one.  Change the existing insn to use C code which checks
> > which_alternative instead of the @ list it uses now.
> >
> > Ian
> >


Re: which opt. flags go where? - references

2007-02-08 Thread Ronny Peine
Hi,

maybe http://docs.lib.purdue.edu/ecetr/123/ would also be interesting for you.
There, a quadratic algorithm for finding a nearly optimal set of compiler 
flags is described. The results are quite promising and i have also tested it 
on my own benchmarkingsuite with good results.

cu,
Ronny Peine


pgpFVOsQLoKuf.pgp
Description: PGP signature


Re: which opt. flags go where? - references

2007-02-08 Thread Kenneth Hoste


On 08 Feb 2007, at 10:47, Ronny Peine wrote:


Hi,

maybe http://docs.lib.purdue.edu/ecetr/123/ would also be  
interesting for you.
There, a quadratic algorithm for finding a nearly optimal set of  
compiler
flags is described. The results are quite promising and i have also  
tested it

on my own benchmarkingsuite with good results.



Thank you very much. After reading the abstract, I'm highly  
interested in this work, because they also use GCC and SPEC CPU2000,  
as I'm planning to do...


Which benchmarks did you test on?

greetings,

Kenneth

--

Statistics are like a bikini. What they reveal is suggestive, but  
what they conceal is vital (Aaron Levenstein)


Kenneth Hoste
ELIS - Ghent University
[EMAIL PROTECTED]
http://www.elis.ugent.be/~kehoste




Re: 27% regression of gcc 4.3 performance on cpu2k6/calculix

2007-02-08 Thread H. J. Lu
On Wed, Feb 07, 2007 at 05:32:28PM +0300, Vladimir Sysoev wrote:
> Hi!
> I create test to reproduce issue with cpu2006/454.calculix
> See attached. File e_c3d.f contains cutted subroutine from calculix.
> tr535.f main entry point of the test. you can use go-script as a
> reference how i get these results. find_stall.pl script which find
> problem instruction combinations.
> 
> Problem that new compiler generates read instruction right after
> write. See some dumps below.
> 

A bug report is opened:

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


H.J.


Re: "error: unable to generate reloads for...", any hints?

2007-02-08 Thread Rask Ingemann Lambertsen
On Thu, Feb 08, 2007 at 04:22:12PM +0800,  wrote:
> Thanks. But what does it mean by saying:
> "Sometimes an insn can match more than one instruction pattern. Then
> the pattern that appears first in the machine description is the one
> used."

   It means what it says. The detail you're missing is that the operand
constraints don't determine if your insn patterns matches or not. So, your
*ld_movqi_internal pattern will match instructions like

(set (mem:QI ...) (reg:QI ...))
(set (reg:QI ...) (reg:QI ...))
(set (reg:QI ...) (const_int ...))

which is probably not what you want (although reload will handle the third
example. Notice how I omit the word "fine" here). You need to read about
operand predicates and insn conditions.

-- 
Rask Ingemann Lambertsen


Inserting profiling function calls

2007-02-08 Thread GERIN Patrice

Dear All,

   In order to implement a specific basic block profiling, i have to 
insert function calls at the end of each basic blocks or/and at the end 
of each functions.

To do this I'd like to add a profiling pass similar to the arc profiling.
I'm a beginner in the GCC internal implementation and i hope this 
subject will be interesting enough for you to give me attention.
I begin to localize were to insert/add this functionality but more 
detailed on "a magic how to" insert function calls in the generated code 
would be very helpful for me.

Is there somewhere a guide line to add profiling pass ?

Thank you for your help,
Patrice






___ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.

http://fr.mail.yahoo.com


Re: Inserting profiling function calls

2007-02-08 Thread Jan Hubicka
> Dear All,
> 
>In order to implement a specific basic block profiling, i have to 
> insert function calls at the end of each basic blocks or/and at the end 
> of each functions.
> To do this I'd like to add a profiling pass similar to the arc profiling.
> I'm a beginner in the GCC internal implementation and i hope this 
> subject will be interesting enough for you to give me attention.
> I begin to localize were to insert/add this functionality but more 
> detailed on "a magic how to" insert function calls in the generated code 
> would be very helpful for me.
> Is there somewhere a guide line to add profiling pass ?

There is no such guide, but adding a profiling pass is not that
different from adding any toher pass.  Would you for a start please
explain what do you need to do that can't be done using existing arc and
value profiling?

Honza
> 
> Thank you for your help,
> Patrice
> 
> 
>   
> 
>   
>   
> ___ 
> Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son 
> interface révolutionnaire.
> http://fr.mail.yahoo.com


Re: Inserting profiling function calls

2007-02-08 Thread GERIN Patrice



Would you for a start please
explain what do you need to do that can't be done using existing arc and
value profiling?
  

Sorry, my first mail was not clear about the goal.
Objectives are to follow the execution of function and basic block at 
execution time.

To do this, we plan to insert function call, like mcount is inserted
at the function level for gprof but at the basic block level.
A user library linked with the application can then implement this 
functions.


Thank you,
Patrice





___ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.

http://fr.mail.yahoo.com


successful bootstrap - 4.1.2 prerelease on mingw32

2007-02-08 Thread Christian Schüler

Successful bootstrap & install

$ gcc -v
Using built-in specs.
Target: i686-pc-mingw32
Configured with: ../gcc-4.1.2-20070128/configure --with-gcc 
--prefix=/mingw --disable-nls

Thread model: win32
gcc version 4.1.2 20070129 (prerelease)

$ uname -a
MINGW32_NT-5.1 CHRISTIANPC2 1.0.11(0.46/3/2) 2004-04-30 18:55 i686 unknown




Creating a USB binary Data Monitor

2007-02-08 Thread wsdice707

hey,
im planing on building an binary data monitor, to monitor the binary data
that caomes from a USB mouse. can any one can help me on guiding me for a
good data source in web. 

thnkx.
-- 
View this message in context: 
http://www.nabble.com/Creating-a-USB-binary-Data-Monitor-tf3198787.html#a8881090
Sent from the gcc - Dev mailing list archive at Nabble.com.



Re: Creating a USB binary Data Monitor

2007-02-08 Thread Randy Dunlap
On Thu, 8 Feb 2007 22:33:59 -0800 (PST) wsdice707 wrote:

> 
> hey,
> im planing on building an binary data monitor, to monitor the binary data
> that caomes from a USB mouse. can any one can help me on guiding me for a
> good data source in web. 

This has nothing whatever to do with gcc development
so please use some other mailing list for any follow-ups.

Search for USB snoopy to capture USB traffic on Windows.
(try freshmeat.net or sf.net)
Or use usbmon in recent Linux kernels.


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***