8000 SIMD, BUG: fix passing immediate values to npyv_setall_u64 on SSE/32-bit · numpy/numpy@8aae310 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8aae310

Browse files
committed
SIMD, BUG: fix passing immediate values to npyv_setall_u64 on SSE/32-bit
1 parent 6c94b4c commit 8aae310

File tree

1 file changed

+10
-15
lines changed
  • numpy/core/src/common/simd/sse

1 file changed

+10
-15
lines changed

numpy/core/src/common/simd/sse/misc.h

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,16 @@
1818
#define npyv_zero_f64 _mm_setzero_pd
1919

2020
// vector with a specific value set to all lanes
21-
#define npyv_setall_u8(VAL) _mm_set1_epi8((char)VAL)
22-
#define npyv_setall_s8(VAL) _mm_set1_epi8((char)VAL)
23-
#define npyv_setall_u16(VAL) _mm_set1_epi16((short)VAL)
24-
#define npyv_setall_s16(VAL) _mm_set1_epi16((short)VAL)
25-
#define npyv_setall_u32(VAL) _mm_set1_epi32((int)VAL)
26-
#define npyv_setall_s32(VAL) _mm_set1_epi32(VAL)
27-
#if !defined(__x86_64__) && !defined(_M_X64)
28-
#define npyv_setall_u64(VAL) _mm_set_epi32((int)(VAL >> 32), (int)VAL, (int)(VAL >> 32), (int)VAL)
29-
#define npyv_setall_s64 npyv_setall_u64
30-
#else
31-
#define npyv_setall_u64(VAL) _mm_set1_epi64x(VAL)
32-
#define npyv_setall_s64(VAL) _mm_set1_epi64x(VAL)
33-
#endif
34-
#define npyv_setall_f32(VAL) _mm_set1_ps(VAL)
35-
#define npyv_setall_f64(VAL) _mm_set1_pd(VAL)
21+
#define npyv_setall_u8(VAL) _mm_set1_epi8((char)(VAL))
22+
#define npyv_setall_s8(VAL) _mm_set1_epi8((char)(VAL))
23+
#define npyv_setall_u16(VAL) _mm_set1_epi16((short)(VAL))
24+
#define npyv_setall_s16(VAL) _mm_set1_epi16((short)(VAL))
25+
#define npyv_setall_u32(VAL) _mm_set1_epi32((int)(VAL))
26+
#define npyv_setall_s32(VAL) _mm_set1_epi32((int)(VAL))
27+
#define npyv_setall_u64(VAL) _mm_set1_epi64x((npy_int64)(VAL))
28+
#define npyv_setall_s64(VAL) _mm_set1_epi64x((npy_int64)(VAL))
29+
#define npyv_setall_f32 _mm_set1_ps
30+
#define npyv_setall_f64 _mm_set1_pd
3631

3732
/**
3833
* vector with specific values set to each lane and

0 commit comments

Comments
 (0)
0