[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