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: Various changes to i386.md


>  o How to split extendsi pattern? It is possible to tell gcc to generate
>    one instruction in case register is eax and split it in outher cases?

There are two possible approaches:

- predicate the define_split on REGNO (operands[0]) == 0 .  You have then
  to leave the extendsidi2 the full capability to handle all patterns,
  so that compilation can be sucessful when not scheduling (e.g. at -O0).

- Use C code in the define code to output the instructions in one or both
  cases, and finish with DONE.  This will supress the generation of the
  instructions in the result template.
  If you cover both cases in the C code, you can use a stunted result
  template, e.g. [(const_int 0)] .


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