[Patch, AArch64] Relax CANNOT_CHANGE_MODE_CLASS.
Tejas Belagod
tbelagod@arm.com
Thu Nov 28 14:11:00 GMT 2013
Hi,
Currently, CANNOT_CHANGE_MODE_CLASS is too restrictive wrt the mode-changes it
allows on FPREGs - it allows none at the moment. In fact, there are many mode
changes that are safe and can be allowed. For example, in a pattern like:
(subreg:SF (reg:V4SF v0) 0)
it is legal to reduce this to
(reg:SF v0)
The attached patch helps parts of rtlanal.c make such decisions(eg.
simplify_subreg_regno).
Tested on aarch64-none-elf and aarch64_be-none-elf. OK for trunk?
Thanks,
Tejas Belagod
ARM.
Changelog:
2013-11-28 Tejas Belagod <tejas.belagod@arm.com>
gcc/
* config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
Declare.
* config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): New.
* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
backend function aarch64_cannot_change_mode_class.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mode-class-reg-2.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20131128/bf349c94/attachment.txt>
More information about the Gcc-patches
mailing list