Various changes to i386.md

Joern Rennecke amylaar@cygnus.co.uk
Tue Sep 22 14:12:00 GMT 1998


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



More information about the Gcc mailing list