Skip to content

Commit 249bee1

Browse files
committed
Fix typing of __builtin_ia32_{pand,pandn,por,pxor}
Although https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html claims the types are di (long long), the actual uses im mmintrin.h are 1-element vectors in GCC, and Clang's BuiltinsX86.def confirms this. Fixes: #6470
1 parent 219bce5 commit 249bee1

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/ansi-c/gcc_builtin_headers_ia32.h

+4-8
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,10 @@ __gcc_v4hi __builtin_ia32_psubusw(__gcc_v4hi, __gcc_v4hi);
2424
__gcc_v4hi __builtin_ia32_pmullw(__gcc_v4hi, __gcc_v4hi);
2525
__gcc_v4hi __builtin_ia32_pmulhw(__gcc_v4hi, __gcc_v4hi);
2626

27-
__gcc_v2si __builtin_ia32_pand(__gcc_v2si, __gcc_v2si); // maybe di
28-
__gcc_v2si __builtin_ia32_pandn(__gcc_v2si, __gcc_v2si); // maybe di
29-
__gcc_v2si __builtin_ia32_por(__gcc_v2si, __gcc_v2si); // maybe di
30-
__gcc_v2si __builtin_ia32_pxor(__gcc_v2si, __gcc_v2si); // maybe di
31-
//__gcc_di __builtin_ia32_pand(__gcc_di, __gcc_di);
32-
//__gcc_di __builtin_ia32_pandn(__gcc_di, __gcc_di);
33-
//__gcc_di __builtin_ia32_por(__gcc_di, __gcc_di);
34-
//__gcc_di __builtin_ia32_pxor(__gcc_di, __gcc_di);
27+
__gcc_v1di __builtin_ia32_pand(__gcc_v1di, __gcc_v1di);
28+
__gcc_v1di __builtin_ia32_pandn(__gcc_v1di, __gcc_v1di);
29+
__gcc_v1di __builtin_ia32_por(__gcc_v1di, __gcc_v1di);
30+
__gcc_v1di __builtin_ia32_pxor(__gcc_v1di, __gcc_v1di);
3531

3632
__gcc_v8qi __builtin_ia32_pcmpeqb(__gcc_v8qi, __gcc_v8qi);
3733
__gcc_v4hi __builtin_ia32_pcmpeqw(__gcc_v4hi, __gcc_v4hi);

0 commit comments

Comments
 (0)