Skip to content
Snippets Groups Projects
Commit 519517fd authored by Jakub Jelinek's avatar Jakub Jelinek Committed by Sebastian Pop
Browse files

Fix LWP.


2009-12-14  Jakub Jelinek  <jakub@redhat.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	* config/i386/i386-builtin-types.def (PVOID): Declared.
	(VOID_FTYPE_PVOID): Declared.
	(PVOID_FTYPE_VOID): Declared.
	(UCHAR_FTYPE_USHORT_UINT_USHORT): Removed.
	(VOID_FTYPE_USHORT_UINT_USHORT): Removed.
	* config/i386/i386.c (IX86_BUILTIN_LLWPCB16, IX86_BUILTIN_LLWPCB32,
	IX86_BUILTIN_LLWPCB64, IX86_BUILTIN_SLWPCB16, IX86_BUILTIN_SLWPCB32,
	IX86_BUILTIN_SLWPCB64, IX86_BUILTIN_LWPVAL16, IX86_BUILTIN_LWPINS16):
	Removed.
	(IX86_BUILTIN_LLWPCB, IX86_BUILTIN_SLWPCB): New.
	(bdesc_special_args): Adjust declaration of __builtin_ia32_llwpcb,
	__builtin_ia32_slwpcb, __builtin_ia32_lwpval32,
	__builtin_ia32_lwpval64, __builtin_ia32_lwpins32, and
	__builtin_ia32_lwpins64.
	(ix86_expand_special_args_builtin): Handle VOID_FTYPE_PVOID.
	Do not handle VOID_FTYPE_USHORT_UINT_USHORT and
	UCHAR_FTYPE_USHORT_UINT_USHORT.  Warn when the third operand is
	not an immediate.  Also handle builtin functions with 3 arguments.
	(ix86_expand_builtin): Handle IX86_BUILTIN_LLWPCB and
	IX86_BUILTIN_SLWPCB.
	* config/i386/i386.md (UNSPEC_LLWP_INTRINSIC, UNSPEC_SLWP_INTRINSIC):
	Renamed UNSPECV_LLWP_INTRINSIC and UNSPECV_SLWP_INTRINSIC.
	(memory attribute): Handle lwp.
	(lwp*): Rewrite all the insn patterns for LWP.
	* config/i386/lwpintrin.h (__llwpcb16, __llwpcb32, __llwpcb64,
	__slwpcb16, __slwpcb32, __slwpcb64, __lwpval16, __lwpins16): Removed.
	(__llwpcb, __slwpcb): New.

	testsuite/
	* gcc.target/i386/sse-12.c: Add -mpopcnt and -mlwp.
	* gcc.target/i386/sse-13.c: Same.
	(__builtin_ia32_lwpval32, __builtin_ia32_lwpval64,
	__builtin_ia32_lwpins32, __builtin_ia32_lwpins64): Added testcases.
	* gcc.target/i386/sse-14.c: Add -mpopcnt -mabm -mlwp.
	Added tests for __lwpval32, __lwpins32, __lwpval64, and __lwpins64.
	* gcc.target/i386/sse-22.c: Added tests for popcnt, abm, and lwp.
	* gcc.target/i386/sse-23.c: Same.

Co-Authored-By: default avatarSebastian Pop <sebastian.pop@amd.com>

From-SVN: r155217
parent e49fd61b
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment