[Bug 276282] vectorized code fails on powerpc64le: typedef __vector uint8_t __m128i; in the port misc/randomx
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 12 Jan 2024 23:35:04 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276282 Piotr Kubaj <pkubaj@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pkubaj@FreeBSD.org --- Comment #2 from Piotr Kubaj <pkubaj@FreeBSD.org> --- The following patch seems to work:\--- src/intrin_portable.h.orig 2024-01-12 23:32:27 UTC +++ src/intrin_portable.h @@ -186,11 +186,11 @@ FORCE_INLINE uint32_t rx_get_rounding_mode() { #undef pixel #undef bool -typedef __vector uint8_t __m128i; -typedef __vector uint32_t __m128l; -typedef __vector int __m128li; -typedef __vector uint64_t __m128ll; -typedef __vector double __m128d; +typedef vector unsigned char __m128i; +typedef vector unsigned int __m128l; +typedef vector int __m128li; +typedef vector unsigned long long __m128ll; +typedef vector double __m128d; typedef __m128i rx_vec_i128; typedef __m128d rx_vec_f128; @@ -209,7 +209,7 @@ typedef union{ #define rx_prefetch_t0(x) /* Splat 64-bit long long to 2 64-bit long longs */ -FORCE_INLINE __m128i vec_splat2sd (int64_t scalar) +FORCE_INLINE __m128i vec_splat2sd (long long scalar) { return (__m128i) vec_splats (scalar); } FORCE_INLINE rx_vec_f128 rx_load_vec_f128(const double* pd) { -- You are receiving this mail because: You are the assignee for the bug.