public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* GCC internals - Instruction Patterns
@ 2015-10-06  1:56 htio2
  2015-10-06  2:01 ` Jeff Law
  0 siblings, 1 reply; 5+ messages in thread
From: htio2 @ 2015-10-06  1:56 UTC (permalink / raw)
  To: gcc-help

I am new to gcc compiler backend. I am currently studying how to the .md file
to have a understanding.

The thing that I don't understand is:

I understand the standard pattern like movsi and etc, but I can see some
pattern like movsi_internal, movsi_internal_v850e and etc, my question is
where in the spec can I find them ? and where are they define ?




--
View this message in context: http://gcc.1065356.n5.nabble.com/GCC-internals-Instruction-Patterns-tp1191730.html
Sent from the gcc - Help mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: GCC internals - Instruction Patterns
  2015-10-06  1:56 GCC internals - Instruction Patterns htio2
@ 2015-10-06  2:01 ` Jeff Law
  2015-10-06  4:15   ` htio2
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff Law @ 2015-10-06  2:01 UTC (permalink / raw)
  To: htio2, gcc-help

On 10/05/2015 07:56 PM, htio2 wrote:
> I am new to gcc compiler backend. I am currently studying how to the .md file
> to have a understanding.
>
> The thing that I don't understand is:
>
> I understand the standard pattern like movsi and etc, but I can see some
> pattern like movsi_internal, movsi_internal_v850e and etc, my question is
> where in the spec can I find them ? and where are they define ?
Pattern names not mentioned in the internals manual are there primarily 
to make dumps easier to read.  In fact, if the name starts with a "*", 
then its sole purpose is to make debugging dumps easier to read. 
Neither the generic parts of the compiler, nor the target specific parts 
of the compiler can directly refer to those patterns by name.

Jeff

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: GCC internals - Instruction Patterns
  2015-10-06  2:01 ` Jeff Law
@ 2015-10-06  4:15   ` htio2
  2015-10-06  4:32     ` Jeff Law
  0 siblings, 1 reply; 5+ messages in thread
From: htio2 @ 2015-10-06  4:15 UTC (permalink / raw)
  To: gcc-help

Ok, so you mean this non standard patterns is not use by compiler ?



--
View this message in context: http://gcc.1065356.n5.nabble.com/GCC-internals-Instruction-Patterns-tp1191730p1191748.html
Sent from the gcc - Help mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: GCC internals - Instruction Patterns
  2015-10-06  4:15   ` htio2
@ 2015-10-06  4:32     ` Jeff Law
  2015-10-06  5:16       ` htio2
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff Law @ 2015-10-06  4:32 UTC (permalink / raw)
  To: htio2, gcc-help

On 10/05/2015 10:15 PM, htio2 wrote:
> Ok, so you mean this non standard patterns is not use by compiler ?
If they start with a "*" the patterns can not be referenced by the 
compiler directly, but if code which matches the structure of those 
patterns is created, then those patterns will be used.  Examples would 
be all the *movXX_internal patterns in the v850 machine description.

A non-standard name which does not start with a "*" can be referenced by 
the target to generate code.  Since you seem to be looking at the v850 
backend, an example would be the "save_interrupt" pattern which the v850 
backend can reference via gen_save_interrupt.

All this is explained in detail in the GCC internals manual.  I 
recommend you read it carefully.

jeff

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: GCC internals - Instruction Patterns
  2015-10-06  4:32     ` Jeff Law
@ 2015-10-06  5:16       ` htio2
  0 siblings, 0 replies; 5+ messages in thread
From: htio2 @ 2015-10-06  5:16 UTC (permalink / raw)
  To: gcc-help

ok, many thanks



--
View this message in context: http://gcc.1065356.n5.nabble.com/GCC-internals-Instruction-Patterns-tp1191730p1191758.html
Sent from the gcc - Help mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-10-06  5:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-06  1:56 GCC internals - Instruction Patterns htio2
2015-10-06  2:01 ` Jeff Law
2015-10-06  4:15   ` htio2
2015-10-06  4:32     ` Jeff Law
2015-10-06  5:16       ` htio2

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).