x86-64: TImode arithmetic

Jan Beulich JBeulich@novell.com
Tue Jul 5 07:30:00 GMT 2005


>>> Richard Henderson <rth@redhat.com> 10.07.04 01:31:02 >>>
>On Tue, Jul 06, 2004 at 04:36:49PM +0200, Jan Beulich wrote:
>> 	(ix86_split_ashlti, ix86_split_ashrti, ix86_split_lshrti): New.
>
>Can you figure out how to allow these to share code wth the 32-bit
>DImode variants?
>
>> 	(ix86_init_mmx_sse_builtins): New v2df_ftype_void. Remove
>> 	ti_ftype_void and ti_ftype_ti_ti. __builtin_ia32_setzeropd uses
>> 	v2df_ftype_void.
>
>This is an unrelated change.

Should both be addressed now.

Built and tested on x86_64-unknown-linux-gnu.

Jan

2005-07-05 Jan Beulich <jbeulich@novell.com>

	* config/i386/i386.c (ix86_expand_branch, ix86_expand_setcc,
	ix86_expand_carry_flag_compare, ix86_expand_int_movcc): Handle
TImode
	in 64-bit mode the same as DImode in 32-bit mode.
	(ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
	ix86_split_lshr): Likewise. Rename to no longer refer to a
specific
	mode. Add new mode parameter. 
	* config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and
handle 'O'.
	* config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3,
ashrti3,
	x86_64_shift_adj): New expanders.
	(*addti3_1, *subti3_1, *negti2_1, ashlti3_1, *ashlti3_2,
ashrti3_1,
	*ashrti3_2, lshrti3_1, *lshrti3_2, x86_64_shld, x86_64_shrd):
New
	insns.
	Respective new splitters. Use renamed shift splitter helpers in
32-bit
	DImode shift splitters.
	* config/i386/i386-protos.h (ix86_split_ashl, ix86_split_ashr,
	ix86_split_lshr): Renamed from ix86_split_[al]sh[rl]di. Added
new
	mode parameter.


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gcc-mainline-x86_64-TImode-arithmentic.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20050705/1f03e83c/attachment.ksh>


More information about the Gcc-patches mailing list