[PATCH] Add some DFP define_{expand,insn} for rs6000

David Edelsohn dje@watson.ibm.com
Tue Apr 17 15:30:00 GMT 2007


	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Force TDmode
	regnos into even/odd register pairs.
	* config/rs6000/rs6000.h [SLOW_UNALIGNED_ACCESS]: Treat DDmode and
	TDmode similar to the other floating point modes.
	[SECONDARY_MEMORY_NEEDED]: Treat DDmode similar to DFmode.
	* config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): New
	define_expand's.
	(negdd2_fpr, absdd2_fpr, nabsdd2_fpr, negtd2_fpr, abstd2_fpr,
	nabstd2_fpr, movdd_hardfloat64_mfpgpr): New define_insn's.
	(movdd_hardfloat64): Use TARGET_MFPGPR.

This is okay, but please change

+       && ((mode != TDmode) || !(regno % 2))

to "(regno % 2) == 0" not using modulus as a truth value operator.

Thanks, David



More information about the Gcc-patches mailing list