re PR target/31245 (SSE2 generation bug with 4.1.2 and -O3)
PR target/31245 * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias. * config/i386/mmintrin.h (__m64): Likewise. * config/i386/xmmintrin.h (__m128): Likewise. From-SVN: r123112
This commit is contained in:
parent
cb717c4098
commit
b5cf27d7ec
@ -1,3 +1,10 @@
|
|||||||
|
2007-03-21 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
|
PR target/31245
|
||||||
|
* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
|
||||||
|
* config/i386/mmintrin.h (__m64): Likewise.
|
||||||
|
* config/i386/xmmintrin.h (__m128): Likewise.
|
||||||
|
|
||||||
2007-03-21 Richard Sandiford <richard@codesourcery.com>
|
2007-03-21 Richard Sandiford <richard@codesourcery.com>
|
||||||
|
|
||||||
* config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options.
|
* config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options.
|
||||||
|
@ -44,8 +44,10 @@ typedef int __v4si __attribute__ ((__vector_size__ (16)));
|
|||||||
typedef short __v8hi __attribute__ ((__vector_size__ (16)));
|
typedef short __v8hi __attribute__ ((__vector_size__ (16)));
|
||||||
typedef char __v16qi __attribute__ ((__vector_size__ (16)));
|
typedef char __v16qi __attribute__ ((__vector_size__ (16)));
|
||||||
|
|
||||||
typedef __v2di __m128i;
|
/* The Intel API is flexible enough that we must allow aliasing with other
|
||||||
typedef __v2df __m128d;
|
vector types, and their scalar components. */
|
||||||
|
typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
|
||||||
|
typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
|
||||||
|
|
||||||
/* Create a selector for use with the SHUFPD instruction. */
|
/* Create a selector for use with the SHUFPD instruction. */
|
||||||
#define _MM_SHUFFLE2(fp1,fp0) \
|
#define _MM_SHUFFLE2(fp1,fp0) \
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2002, 2003, 2004, 2005, 2006
|
/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
@ -34,8 +34,9 @@
|
|||||||
#ifndef __MMX__
|
#ifndef __MMX__
|
||||||
# error "MMX instruction set not enabled"
|
# error "MMX instruction set not enabled"
|
||||||
#else
|
#else
|
||||||
/* The data type intended for user use. */
|
/* The Intel API is flexible enough that we must allow aliasing with other
|
||||||
typedef int __m64 __attribute__ ((__vector_size__ (8)));
|
vector types, and their scalar components. */
|
||||||
|
typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
|
||||||
|
|
||||||
/* Internal data types for implementing the intrinsics. */
|
/* Internal data types for implementing the intrinsics. */
|
||||||
typedef int __v2si __attribute__ ((__vector_size__ (8)));
|
typedef int __v2si __attribute__ ((__vector_size__ (8)));
|
||||||
|
@ -41,8 +41,9 @@
|
|||||||
/* Get _mm_malloc () and _mm_free (). */
|
/* Get _mm_malloc () and _mm_free (). */
|
||||||
#include <mm_malloc.h>
|
#include <mm_malloc.h>
|
||||||
|
|
||||||
/* The data type intended for user use. */
|
/* The Intel API is flexible enough that we must allow aliasing with other
|
||||||
typedef float __m128 __attribute__ ((__vector_size__ (16)));
|
vector types, and their scalar components. */
|
||||||
|
typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
|
||||||
|
|
||||||
/* Internal data types for implementing the intrinsics. */
|
/* Internal data types for implementing the intrinsics. */
|
||||||
typedef float __v4sf __attribute__ ((__vector_size__ (16)));
|
typedef float __v4sf __attribute__ ((__vector_size__ (16)));
|
||||||
|
Loading…
Reference in New Issue
Block a user