diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-12-14 17:45:11 +0100 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2009-12-14 16:45:11 +0000 |
commit | 519517fd497032bb67c1231a31c6422c3b17b928 (patch) | |
tree | 61d0e6114c05f06f2f2405ea6968aec76e33d5ae /gcc/intl.c | |
parent | e49fd61b531da9ab5e8b9ad35e134769473c533f (diff) | |
download | gcc-519517fd497032bb67c1231a31c6422c3b17b928.zip gcc-519517fd497032bb67c1231a31c6422c3b17b928.tar.gz gcc-519517fd497032bb67c1231a31c6422c3b17b928.tar.bz2 |
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: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r155217
Diffstat (limited to 'gcc/intl.c')
0 files changed, 0 insertions, 0 deletions