Hi!
Function arguments in installed headers need to be obfuscated (unlike
object-like macro arguments), as e.g.
#define B +++
#include <x86intrin.h>
is a valid program. Most of the arguments are obfuscated, but some
leaked in in the avx10_2bf16intrin.h header.
gcc -S -O2 -O2 -Werror-implicit-function-declaration -march=novalake -msse4a
-m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi
-mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw
-madx -mfxsr -mxsaveopt -msha -mxsavec -mxsaves -mclflushopt
-mavx512vp2intersect -mclwb -mmwaitx -mclzero -mpku -msgx -mrdpid -mgfni
-mpconfig -mwbnoinvd -menqcmd -mserialize -mtsxldtrk -mamx-tile -mamx-int8
-mamx-bf16 -mkl -mwidekl -mavxvnni -mavxifma -mavxvnniint8 -mavxneconvert
-mcmpccxadd -mamx-fp16 -mprefetchi -mraoint -mamx-complex -mavxvnniint16 -msm3
-msha512 -msm4 -mavx10.2 -mamx-avx512 -mamx-tf32 -mamx-fp8 -mmovrs -mamx-movrs
-g -dA gcc/testsuite/gcc.target/i386/sse-13.c
-fno-eliminate-unused-debug-{symbols,types} -o sse-13.s
grep -A1 DW_TAG_formal_parameter sse-13.s | grep DW_AT_name | grep -v 'scii
"__' | grep -v 'DW_AT_name: "__'
shows arguments not prefixed with __ and the following patch fixes them.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk
and later on backport to 15 branch)?
2025-12-17 Jakub Jelinek <[email protected]>
PR target/123155
* config/i386/avx10_2bf16intrin.h (_mm512_roundscale_pbh,
_mm512_mask_roundscale_pbh, _mm512_maskz_roundscale_pbh,
_mm256_roundscale_pbh, _mm256_mask_roundscale_pbh,
_mm256_maskz_roundscale_pbh, _mm_roundscale_pbh,
_mm_mask_roundscale_pbh, _mm_maskz_roundscale_pbh,
_mm512_reduce_pbh, _mm512_mask_reduce_pbh, _mm512_maskz_reduce_pbh,
_mm256_reduce_pbh, _mm256_mask_reduce_pbh, _mm256_maskz_reduce_pbh,
_mm_reduce_pbh, _mm_mask_reduce_pbh, _mm_maskz_reduce_pbh): Rename
B argument to __B.
--- gcc/config/i386/avx10_2bf16intrin.h.jj 2025-06-04 21:49:12.023619543
+0200
+++ gcc/config/i386/avx10_2bf16intrin.h 2025-12-16 14:14:33.871603625 +0100
@@ -1339,38 +1339,38 @@ _mm_maskz_getexp_pbh (__mmask8 __U, __m1
#ifdef __OPTIMIZE__
extern __inline__ __m512bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_roundscale_pbh (__m512bh __A, int B)
+_mm512_roundscale_pbh (__m512bh __A, int __B)
{
return (__m512bh)
- __builtin_ia32_rndscalebf16512_mask (__A, B,
+ __builtin_ia32_rndscalebf16512_mask (__A, __B,
(__v32bf) _mm512_setzero_si512 (),
(__mmask32) -1);
}
extern __inline__ __m512bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_roundscale_pbh (__m512bh __W, __mmask32 __U, __m512bh __A, int B)
+_mm512_mask_roundscale_pbh (__m512bh __W, __mmask32 __U, __m512bh __A, int __B)
{
return (__m512bh)
- __builtin_ia32_rndscalebf16512_mask (__A, B, __W, __U);
+ __builtin_ia32_rndscalebf16512_mask (__A, __B, __W, __U);
}
extern __inline__ __m512bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_roundscale_pbh (__mmask32 __U, __m512bh __A, int B)
+_mm512_maskz_roundscale_pbh (__mmask32 __U, __m512bh __A, int __B)
{
return (__m512bh)
- __builtin_ia32_rndscalebf16512_mask (__A, B,
+ __builtin_ia32_rndscalebf16512_mask (__A, __B,
(__v32bf) _mm512_setzero_si512 (),
__U);
}
extern __inline__ __m256bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_roundscale_pbh (__m256bh __A, int B)
+_mm256_roundscale_pbh (__m256bh __A, int __B)
{
return (__m256bh)
- __builtin_ia32_rndscalebf16256_mask (__A, B,
+ __builtin_ia32_rndscalebf16256_mask (__A, __B,
(__v16bf) _mm256_setzero_si256 (),
(__mmask16) -1);
}
@@ -1378,28 +1378,28 @@ _mm256_roundscale_pbh (__m256bh __A, int
extern __inline__ __m256bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_roundscale_pbh (__m256bh __W, __mmask16 __U,
- __m256bh __A, int B)
+ __m256bh __A, int __B)
{
return (__m256bh)
- __builtin_ia32_rndscalebf16256_mask (__A, B, __W, __U);
+ __builtin_ia32_rndscalebf16256_mask (__A, __B, __W, __U);
}
extern __inline__ __m256bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_roundscale_pbh (__mmask16 __U, __m256bh __A, int B)
+_mm256_maskz_roundscale_pbh (__mmask16 __U, __m256bh __A, int __B)
{
return (__m256bh)
- __builtin_ia32_rndscalebf16256_mask (__A, B,
+ __builtin_ia32_rndscalebf16256_mask (__A, __B,
(__v16bf) _mm256_setzero_si256 (),
__U);
}
extern __inline__ __m128bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roundscale_pbh (__m128bh __A, int B)
+_mm_roundscale_pbh (__m128bh __A, int __B)
{
return (__m128bh)
- __builtin_ia32_rndscalebf16128_mask (__A, B,
+ __builtin_ia32_rndscalebf16128_mask (__A, __B,
(__v8bf) _mm_setzero_si128 (),
(__mmask8) -1);
}
@@ -1407,18 +1407,18 @@ _mm_roundscale_pbh (__m128bh __A, int B)
extern __inline__ __m128bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_roundscale_pbh (__m128bh __W, __mmask8 __U,
- __m128bh __A, int B)
+ __m128bh __A, int __B)
{
return (__m128bh)
- __builtin_ia32_rndscalebf16128_mask (__A, B, __W, __U);
+ __builtin_ia32_rndscalebf16128_mask (__A, __B, __W, __U);
}
extern __inline__ __m128bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_roundscale_pbh (__mmask8 __U, __m128bh __A, int B)
+_mm_maskz_roundscale_pbh (__mmask8 __U, __m128bh __A, int __B)
{
return (__m128bh)
- __builtin_ia32_rndscalebf16128_mask (__A, B,
+ __builtin_ia32_rndscalebf16128_mask (__A, __B,
(__v8bf) _mm_setzero_si128 (),
__U);
}
@@ -1469,10 +1469,10 @@ _mm_maskz_roundscale_pbh (__mmask8 __U,
#ifdef __OPTIMIZE__
extern __inline__ __m512bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_reduce_pbh (__m512bh __A, int B)
+_mm512_reduce_pbh (__m512bh __A, int __B)
{
return (__m512bh)
- __builtin_ia32_reducebf16512_mask (__A, B,
+ __builtin_ia32_reducebf16512_mask (__A, __B,
(__v32bf) _mm512_setzero_si512 (),
(__mmask32) -1);
}
@@ -1480,28 +1480,28 @@ _mm512_reduce_pbh (__m512bh __A, int B)
extern __inline__ __m512bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_pbh (__m512bh __W, __mmask32 __U,
- __m512bh __A, int B)
+ __m512bh __A, int __B)
{
return (__m512bh)
- __builtin_ia32_reducebf16512_mask (__A, B, __W, __U);
+ __builtin_ia32_reducebf16512_mask (__A, __B, __W, __U);
}
extern __inline__ __m512bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_reduce_pbh (__mmask32 __U, __m512bh __A, int B)
+_mm512_maskz_reduce_pbh (__mmask32 __U, __m512bh __A, int __B)
{
return (__m512bh)
- __builtin_ia32_reducebf16512_mask (__A, B,
+ __builtin_ia32_reducebf16512_mask (__A, __B,
(__v32bf) _mm512_setzero_si512 (),
__U);
}
extern __inline__ __m256bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_reduce_pbh (__m256bh __A, int B)
+_mm256_reduce_pbh (__m256bh __A, int __B)
{
return (__m256bh)
- __builtin_ia32_reducebf16256_mask (__A, B,
+ __builtin_ia32_reducebf16256_mask (__A, __B,
(__v16bf) _mm256_setzero_si256 (),
(__mmask16) -1);
}
@@ -1509,28 +1509,28 @@ _mm256_reduce_pbh (__m256bh __A, int B)
extern __inline__ __m256bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_reduce_pbh (__m256bh __W, __mmask16 __U,
- __m256bh __A, int B)
+ __m256bh __A, int __B)
{
return (__m256bh)
- __builtin_ia32_reducebf16256_mask (__A, B, __W, __U);
+ __builtin_ia32_reducebf16256_mask (__A, __B, __W, __U);
}
extern __inline__ __m256bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_reduce_pbh (__mmask16 __U, __m256bh __A, int B)
+_mm256_maskz_reduce_pbh (__mmask16 __U, __m256bh __A, int __B)
{
return (__m256bh)
- __builtin_ia32_reducebf16256_mask (__A, B,
+ __builtin_ia32_reducebf16256_mask (__A, __B,
(__v16bf) _mm256_setzero_si256 (),
__U);
}
extern __inline__ __m128bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_reduce_pbh (__m128bh __A, int B)
+_mm_reduce_pbh (__m128bh __A, int __B)
{
return (__m128bh)
- __builtin_ia32_reducebf16128_mask (__A, B,
+ __builtin_ia32_reducebf16128_mask (__A, __B,
(__v8bf) _mm_setzero_si128 (),
(__mmask8) -1);
}
@@ -1538,18 +1538,18 @@ _mm_reduce_pbh (__m128bh __A, int B)
extern __inline__ __m128bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_reduce_pbh (__m128bh __W, __mmask8 __U,
- __m128bh __A, int B)
+ __m128bh __A, int __B)
{
return (__m128bh)
- __builtin_ia32_reducebf16128_mask (__A, B, __W, __U);
+ __builtin_ia32_reducebf16128_mask (__A, __B, __W, __U);
}
extern __inline__ __m128bh
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_reduce_pbh (__mmask8 __U, __m128bh __A, int B)
+_mm_maskz_reduce_pbh (__mmask8 __U, __m128bh __A, int __B)
{
return (__m128bh)
- __builtin_ia32_reducebf16128_mask (__A, B,
+ __builtin_ia32_reducebf16128_mask (__A, __B,
(__v8bf) _mm_setzero_si128 (),
__U);
}
Jakub