From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joern Rennecke To: hubicka@horac.ta.jcu.cz (Jan Hubicka) Cc: egcs@cygnus.com Subject: Re: Various changes to i386.md Date: Tue, 22 Sep 1998 14:12:00 -0000 Message-id: <199809221611.RAA22743@phal.cygnus.co.uk> References: <19980921114430.34412@horac.ta.jcu.cz> X-SW-Source: 1998-09/msg01255.html > 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)] .