This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: instruction codes - novice questions



  In message <001c01bf9976$c0b6cf60$3725558d@cs.pub.ro>you write:
 > 
  > 1. Here it is part of after-flow-pass dump.=20
  > 
  > (insn 9 6 11 (set (reg:SI 22)
  > (mem/f:SI (plus:SI (reg:SI 6 %ebp)
  > (const_int -8 [0xfffffff8])) 0)) 48 {movsi+2} (nil)
  > (nil))
  > 
  > Could you tell me please, when were
  > 48 {movsi+2}=20
  > fields added and which is their meaning (what is +2 ?).
The insn matched pattern #48 in the backend.  To find pattern #48 in the 
backend, first find the "movsi" pattern, then go forward two patterns (movsi+2)

  > 2.Are the instructions scheduled by sched.c in a 1-1 relation to asm =
  > output instructions (without taking into account the afterwards effect =
  > of peephole optimizations) ?
The scheduler schedules insns; the relation of insns to assembly instructions
depends entirely on how many assembly instructions are emitted by your
patterns in the md file.

ie, if each pattern in the md file emitted a single assembly instruction,
then there would be a 1:1 relation, if each pattern emitted 5 assembly
instructions then there would be a 1:5 relation.  It all depends on how
you write your machine description.  We recommend you try to emit only
a single instruction in each pattern in your md file.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]