Merge pull request #18 from digitall/avx-fix

[simd] fix build when avx2 is not available, but avx is.
This commit is contained in:
Bill Currie 2021-06-28 10:12:32 +09:00 committed by GitHub
commit 789ef6be63
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 7 deletions

View file

@ -39,7 +39,7 @@
*/ */
typedef double vec3d_t[3]; typedef double vec3d_t[3];
#ifdef __AVX__ #ifdef __AVX2__
/** Four element vector type for horizontal (AOS) vector data. /** Four element vector type for horizontal (AOS) vector data.
* *
* This is used for both vectors (3D and 4D) and quaternions. 3D vectors * This is used for both vectors (3D and 4D) and quaternions. 3D vectors

View file

@ -28,7 +28,7 @@
#ifndef __QF_simd_vec4d_h #ifndef __QF_simd_vec4d_h
#define __QF_simd_vec4d_h #define __QF_simd_vec4d_h
#ifdef __AVX__ #ifdef __AVX2__
#include <immintrin.h> #include <immintrin.h>
#include "QF/simd/types.h" #include "QF/simd/types.h"

View file

@ -48,7 +48,7 @@
#define s05 0.70710678118654757 #define s05 0.70710678118654757
#ifdef __AVX__ #ifdef __AVX2__
typedef struct { typedef struct {
int line; int line;
vec4d_t (*op) (vec4d_t a, vec4d_t b); vec4d_t (*op) (vec4d_t a, vec4d_t b);
@ -94,7 +94,7 @@ typedef struct {
mat4f_t ulp_errors; mat4f_t ulp_errors;
} mq4f_test_t; } mq4f_test_t;
#ifdef __AVX__ #ifdef __AVX2__
static vec4d_t tvtruncd (vec4d_t v, vec4d_t ignore) static vec4d_t tvtruncd (vec4d_t v, vec4d_t ignore)
{ {
return vtruncd (v); return vtruncd (v);
@ -158,7 +158,7 @@ static vec4f_t tmagnitude3f (vec4f_t v, vec4f_t ignore)
#define T(t...) { __LINE__, t } #define T(t...) { __LINE__, t }
#ifdef __AVX__ #ifdef __AVX2__
static vec4d_test_t vec4d_tests[] = { static vec4d_test_t vec4d_tests[] = {
// 3D dot products // 3D dot products
T(dotd, right, right, one ), T(dotd, right, right, one ),
@ -487,7 +487,7 @@ static mq4f_test_t mq4f_tests[] = {
}; };
#define num_mq4f_tests (sizeof (mq4f_tests) / (sizeof (mq4f_tests[0]))) #define num_mq4f_tests (sizeof (mq4f_tests) / (sizeof (mq4f_tests[0])))
#ifdef __AVX__ #ifdef __AVX2__
static int static int
run_vec4d_tests (void) run_vec4d_tests (void)
{ {
@ -684,7 +684,7 @@ int
main (void) main (void)
{ {
int ret = 0; int ret = 0;
#ifdef __AVX__ #ifdef __AVX2__
ret |= run_vec4d_tests (); ret |= run_vec4d_tests ();
#endif #endif
ret |= run_vec4f_tests (); ret |= run_vec4f_tests ();