[Patch:H8/300] Absolute address mode support for bit_operand predicate

Jeff Law law@redhat.com
Thu Apr 15 17:50:00 GMT 2010


On 04/12/10 05:20, Kaushik Phatak wrote:
> Hi,
>
> The bit instruction code generated for H8 targets does not use the
> absolute address mode causing non-optimized code. Since the constraint
> 'U' is valid for bset destination which includes an 8-bit memory
> region, this patch adds this condition to the 'bit_operand' predicate
> before rejecting this option.
>
> Current code generated for bset instruction,
> mov.b   @er2,r3l
> bset    #7,r3l
> mov.b   r3l,@er2
> This change would generate the code in the following manner,
> bset    #7,@-14:8
> This would address the data in the region 0xFF00 to 0xFFFF for
> the -mn -mh targets.
> Regression done for h8300-elf-* and no new regressions found.
> Please Comment.
>
> Regards,
> Kaushik Phatak
> www.kpitgnutools.com
>
> =======================Start of Patch================================
> Changelog:
>
> 2010-04-12  Kaushik Phatak<kaushik.phatak@kpitcummins.com>
>
> 	* config/h8300/predicate.md (bit_operand): Allow immediate values that
> 	satisfy 'U' constraint.
>    
OK.  Please install.

Thanks,
Jeff



More information about the Gcc-patches mailing list