Fix AVX 256-bit intrinsics headers by using the right cast type while dealing with logical ops

llvm-svn: 110389
This commit is contained in:
Bruno Cardoso Lopes 2010-08-05 23:04:58 +00:00
parent 0f306a45ad
commit 3d19889ca8
1 changed files with 8 additions and 8 deletions

View File

@ -169,49 +169,49 @@ _mm256_round_ps(__m256 v, const int m)
static __inline __m256d __attribute__((__always_inline__, __nodebug__))
_mm256_and_pd(__m256d a, __m256d b)
{
return (__m256d)((__v4df)a & (__v4df)b);
return (__m256d)((__v4di)a & (__v4di)b);
}
static __inline __m256 __attribute__((__always_inline__, __nodebug__))
_mm256_and_ps(__m256 a, __m256 b)
{
return (__m256)((__v8sf)a & (__v8sf)b);
return (__m256)((__v8si)a & (__v8si)b);
}
static __inline __m256d __attribute__((__always_inline__, __nodebug__))
_mm256_andnot_pd(__m256d a, __m256d b)
{
return (__m256d)(~(__v4df)a & (__v4df)b);
return (__m256d)(~(__v4di)a & (__v4di)b);
}
static __inline __m256 __attribute__((__always_inline__, __nodebug__))
_mm256_andnot_ps(__m256 a, __m256 b)
{
return (__m256)(~(__v8sf)a & (__v8sf)b);
return (__m256)(~(__v8si)a & (__v8si)b);
}
static __inline __m256d __attribute__((__always_inline__, __nodebug__))
_mm256_or_pd(__m256d a, __m256d b)
{
return (__m256d)((__v4df)a | (__v4df)b);
return (__m256d)((__v4di)a | (__v4di)b);
}
static __inline __m256 __attribute__((__always_inline__, __nodebug__))
_mm256_or_ps(__m256 a, __m256 b)
{
return (__m256)((__v8sf)a | (__v8sf)b);
return (__m256)((__v8si)a | (__v8si)b);
}
static __inline __m256d __attribute__((__always_inline__, __nodebug__))
_mm256_xor_pd(__m256d a, __m256d b)
{
return (__m256d)((__v4df)a ^ (__v4df)b);
return (__m256d)((__v4di)a ^ (__v4di)b);
}
static __inline __m256 __attribute__((__always_inline__, __nodebug__))
_mm256_xor_ps(__m256 a, __m256 b)
{
return (__m256)((__v8sf)a ^ (__v8sf)b);
return (__m256)((__v8si)a ^ (__v8si)b);
}
/* Horizontal arithmetic */