[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