Date: Fri, 12 Jan 2024 21:08:01 +0000 From: bugzilla-noreply@freebsd.org To: toolchain@FreeBSD.org Subject: [Bug 276282] vectorized code fails on powerpc64le: typedef __vector uint8_t __m128i; in the port misc/randomx Message-ID: <bug-276282-29464-ym4flNknwN@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-276282-29464@https.bugs.freebsd.org/bugzilla/> References: <bug-276282-29464@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D276282 Mark Millard <marklmi26-fbsd@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marklmi26-fbsd@yahoo.com --- Comment #1 from Mark Millard <marklmi26-fbsd@yahoo.com> --- Hmm. https://en.wikipedia.org/wiki/AltiVec reports: QUOTE In C++, the standard way of accessing AltiVec support is mutually exclusive with the use of the Standard Template Library vector<> class template due to the treatment of "vector" as a reserved word when the compiler does not implement the context-sensitive keyword version of vector. However, it may = be possible to combine them using compiler-specific workarounds; for instance,= in GCC one may do #undef vector to remove the vector keyword, and then use the GCC-specific __vector keyword in its place. END QUOTE The next message after what you report gives a clue: /wrkdirs/usr/ports/misc/randomx/work/RandomX-1.2.1/src/intrin_portable.h:18= 9:25: error: expected ';' after top level declarator typedef __vector uint8_t __m128i; ^ ; In other words: __vector is not getting special handling but is being treated as a fuyll type name of itself, leading to the compiler expecting (not the codes intent): typedef __vector uint8_t; I do not know if clang has a mode supporting the __vector like GCC for powerpc64* variations or not. Seems like GCC would tolerate the non-C/C++-standard code. It might be interesting to check if GCC will build the code. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-276282-29464-ym4flNknwN>