[addrmodes] More APIs in addresses.h
Paolo Bonzini
bonzini@gnu.org
Mon Aug 21 13:18:00 GMT 2006
This patch grows a "_strict" suffix to the strict functions, and adds a
generic function that works in both strict and non-strict modes. The
idea is to use this in target C files where REG_STRICT_P is passed from
the target header. It will replace stuff like:
if (REG_P (x)
&& (strict
? STRICT_REG_OK_FOR_BASE_P (x)
: NONSTRICT_REG_OK_FOR_BASE_P (x)))
return true;
with
if (ok_for_base_p (x, strict))
return true;
Each target will have to be looked at individually because of quirks in
the current definitions of REG_OK_FOR_BASE_P. In some cases, hard
registers that are valid "non-strict" base registers may become invalid
when the strict definitions are used.
Again, barring quirks in the target macros, there should be no impact on
generated assembly.
Paolo
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 05-add-strict-nonstrict-functions.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060821/841f7ae6/attachment.ksh>
More information about the Gcc-patches
mailing list