From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Carr To: Nick Ing-Simmons Cc: egcs@cygnus.com Subject: Re: base + index register addressing Date: Tue, 21 Oct 1997 09:25:00 -0000 Message-id: <199710211624.MAA08015@contents-vnder-pressvre.MIT.EDU> References: <199710201403.PAA26045@tiuk.ti.com> X-SW-Source: 1997-10/msg00908.html > Current GCC register allocation just cannot handle this, so I have > "given up" (and just lurk here). I ran into a similar (but less important) problem working on the IBM RT port a long time ago. The output register of RT shift instructions can be (source register number) or (source register number XOR 1). Getting the allocator to know about the second version was impractical. Kenner's comment was "this is fairly easy to do with register coloring and hard otherwise." Reload is easier to change than register allocation but it is less helpful. allocate_reload_reg should be simple to fix to know about register allocation interdependencies (given a choice of registers call a macro to pick the best for the context), and new_spill_reg and its callers not too difficult.