The commonly supported way to specify multiple target options is to
surround the entire list with quotes and to use a comma (with no
extra spaces) as the delimiter.
Oversight in commit
f78667bd91.
Discussion: https://postgr.es/m/Zy0jya8nF8CPpv3B%40nathan
AC_CACHE_CHECK([for _mm512_popcnt_epi64], [Ac_cachevar],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <immintrin.h>
#if defined(__has_attribute) && __has_attribute (target)
- __attribute__((target("avx512vpopcntdq","avx512bw")))
+ __attribute__((target("avx512vpopcntdq,avx512bw")))
#endif
static int popcount_test(void)
{
/* end confdefs.h. */
#include <immintrin.h>
#if defined(__has_attribute) && __has_attribute (target)
- __attribute__((target("avx512vpopcntdq","avx512bw")))
+ __attribute__((target("avx512vpopcntdq,avx512bw")))
#endif
static int popcount_test(void)
{
#include <immintrin.h>
#if defined(__has_attribute) && __has_attribute (target)
-__attribute__((target("avx512vpopcntdq","avx512bw")))
+__attribute__((target("avx512vpopcntdq,avx512bw")))
#endif
int main(void)
{
* pg_popcount_avx512
* Returns the number of 1-bits in buf
*/
-pg_attribute_target("avx512vpopcntdq", "avx512bw")
+pg_attribute_target("avx512vpopcntdq,avx512bw")
uint64
pg_popcount_avx512(const char *buf, int bytes)
{
* pg_popcount_masked_avx512
* Returns the number of 1-bits in buf after applying the mask to each byte
*/
-pg_attribute_target("avx512vpopcntdq", "avx512bw")
+pg_attribute_target("avx512vpopcntdq,avx512bw")
uint64
pg_popcount_masked_avx512(const char *buf, int bytes, bits8 mask)
{