[SPARC] Implement TImode support

Eric Botcazou ebotcazou@adacore.com
Thu Sep 13 23:01:00 GMT 2012


Now that TImode support is enabled on SPARC 64-bit, let's implement it. :-)
This is modeled on the TFmode support and, consequently, inherits its relative 
verbosity.  A future cleanup could simplify it a little and unify it with the 
TFmode support, as e.g. for Alpha.

Bootstrapped/regtested on SPARC/Solaris and SPARC64/Solaris, applied on the 
mainline.


2012-09-13  Eric Botcazou  <ebotcazou@adacore.com>

	* config/sparc/predicates.md (input_operand): Do not consider TImode
	constants as 1-instruction integer constants.
	Use register_or_zero_operand instead of register_operand and tidy up.
	* config/sparc/sparc.md (movti): New expander.
	(movti_insn_sp64): New instruction.
	(movti_insn_sp64_hq): Likewise.
	(TImode splitters): New splitters.
	* config/sparc/sparc.c (sparc_expand_move) <TImode>: New case.
	(sparc_legitimate_address_p): Return 0 for REG+REG in TImode.

	* config/sparc/sparc-protos.h (arith_double_4096_operand): Delete.
	(arith_4096_operand): Likewise.
	(zero_operand): Likewise.
	(fp_zero_operand): Likewise.
	(reg_or_0_operand): Likewise.


-- 
Eric Botcazou
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sparc_timode.diff
Type: text/x-patch
Size: 8487 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20120913/b5b12fba/attachment.bin>


More information about the Gcc-patches mailing list