]> git.pld-linux.org Git - packages/uavs3d.git/blob - uavs3d-x86.patch
- new
[packages/uavs3d.git] / uavs3d-x86.patch
1 --- uavs3d-1.1/source/decore/sse/sse.h.orig     2020-07-04 06:13:58.000000000 +0200
2 +++ uavs3d-1.1/source/decore/sse/sse.h  2021-04-29 06:35:05.881365090 +0200
3 @@ -45,11 +45,17 @@
4  
5  #include "modules.h"
6  
7 -#ifdef _WIN32
8 +#if (defined(_WIN32) && !defined(_WIN64)) || defined(__i386__)
9  
10 -#ifndef _WIN64
11 -#define _mm_extract_epi64(a, i) (a.m128i_i64[i])
12 -#endif
13 +#include <stdint.h>
14 +static inline int64_t _mm_extract_epi64(__m128i a, const int imm8) {
15 +    return imm8 ? ((int64_t)_mm_extract_epi16(a, 7) << 48) |
16 +                      ((int64_t)_mm_extract_epi16(a, 6) << 32) |
17 +                      (_mm_extract_epi16(a, 5) << 16) | _mm_extract_epi16(a, 4)
18 +                : ((int64_t)_mm_extract_epi16(a, 3) << 48) |
19 +                      ((int64_t)_mm_extract_epi16(a, 2) << 32) |
20 +                      (_mm_extract_epi16(a, 1) << 16) | _mm_extract_epi16(a, 0);
21 +}
22  
23  #endif
24  
This page took 0.052754 seconds and 3 git commands to generate.