[visium] Split DImode arithmetical operations
Eric Botcazou
ebotcazou@adacore.com
Fri May 27 16:57:00 GMT 2016
This makes it so that DImode arithmetical operations are split into a pair of
SImode operations in order to enable better scheduling.
Tested on visium-elf, applied on the mainline and 6 branch.
2016-05-27 Eric Botcazou <ebotcazou@adacore.com>
* config/visium/visium-protos.h (split_double_move): Rename into...
(visium_split_double_move): ...this.
(visium_split_double_add): Declare.
* config/visium/visium.c (split_double_move): Rename into...
(visium_split_double_move): ...this.
(visium_split_double_add): New function.
(visium_expand_copysign): Renumber operands for consistency.
* config/visium/visium.md (DImode move splitter): Adjust to renaming.
(DFmode move splitter): Likewise.
(*addi3_insn): Split by means of visium_split_double_add.
(*adddi3_insn_flags): Delete.
(*plus_plus_sltu<subst_arith>): New insn.
(*subdi3_insn): Split by means of visium_split_double_add.
(subdi3_insn_flags): Delete.
(*minus_minus_sltu<subst_arith>): New insn.
(*negdi2_insn): Split by means of visium_split_double_add.
(*negdi2_insn_flags): Delete.
--
Eric Botcazou
-------------- next part --------------
A non-text attachment was scrubbed...
Name: visium_split_di.diff
Type: text/x-patch
Size: 11272 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20160527/6492b018/attachment.bin>
More information about the Gcc-patches
mailing list