* 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).