mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-05-08 17:00:47 +00:00
Merge pull request #18 from digitall/avx-fix
[simd] fix build when avx2 is not available, but avx is.
This commit is contained in:
commit
789ef6be63
3 changed files with 7 additions and 7 deletions
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
Loading…
Reference in a new issue