Splitters on MovMM are problematic.

One problem is that it creates issues with base pointers. AVR base pointer are limited to 64 byte offsets - after that they are inline additions (and perhaps subtractions). So splitting such a move in a large mode is a world of hurt. A future endeavour perhaps may solve this - but for now, it's on the "too difficult pile"

I dont think it is relevant here. The missing optimisation of the testcase is more closely related to the arithmetic than to the moves. The output move is already "split" by subreg lowering. After that there are not any pure large mode moves of significance left. Other (non move) splitters can create moves - but these are small and will not be split further.

Andy



-----Original Message-----
From: Dave Korn <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
Cc: gcc@gcc.gnu.org
Sent: Wed, 20 Feb 2008 2:15 pm
Subject: RE: Redundant logical operations left after early splitting



On 20 February 2008 18:05, [EMAIL PROTECTED] wrote:


But it does seem that the missing piece is effective constant
propagation + simplification after splits and subregs - which is
currently ineffective in local-alloc (or any later pass)

Hmm, more questions: do you use splitters or insns for your movMM patterns? Do you implement all the movMM patterns? Just checking if we've covered every
angle ...


   cheers,
     DaveK
--
Can't think of a witty .sigline today....



________________________________________________________________________
More new features than ever. Check out the new AIM(R) Mail ! - http://webmail.aim.com

Reply via email to