[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