Make further progress on non-x86 support

This commit is contained in:
Justine Tunney 2023-05-08 21:38:30 -07:00
parent aef9a69a60
commit 036b9a0002
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
155 changed files with 2307 additions and 653 deletions

View file

@ -1,5 +1,6 @@
#ifndef _AMMINTRIN_H_INCLUDED
#define _AMMINTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/pmmintrin.internal.h"
#ifndef __SSE4A__
@ -63,4 +64,5 @@ extern __inline __m128i
#pragma GCC pop_options
#endif /* __DISABLE_SSE4A__ */
#endif /* __x86_64__ */
#endif /* _AMMINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _CLZEROINTRIN_H_INCLUDED
#define _CLZEROINTRIN_H_INCLUDED
#ifdef __x86_64__
#ifndef __CLZERO__
#pragma GCC push_options
@ -18,4 +19,5 @@ extern __inline void
#pragma GCC pop_options
#endif /* __DISABLE_CLZERO__ */
#endif /* __x86_64__ */
#endif /* _CLZEROINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef COSMOPOLITAN_THIRD_PARTY_INTEL_CPUID_INTERNAL_H_
#define COSMOPOLITAN_THIRD_PARTY_INTEL_CPUID_INTERNAL_H_
#ifdef __x86_64__
#if !(__ASSEMBLER__ + __LINKER__ + 0)
#define bit_SSE3 (1 << 0)
@ -232,4 +233,5 @@ static __inline int __get_cpuid_count(unsigned int __leaf,
}
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* __x86_64__ */
#endif /* COSMOPOLITAN_THIRD_PARTY_INTEL_CPUID_INTERNAL_H_ */

View file

@ -1,5 +1,6 @@
#ifndef _EMMINTRIN_H_INCLUDED
#define _EMMINTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/xmmintrin.internal.h"
#ifndef __SSE2__
@ -1494,4 +1495,5 @@ extern __inline __m128d
#pragma GCC pop_options
#endif /* __DISABLE_SSE2__ */
#endif /* __x86_64__ */
#endif /* _EMMINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _IMMINTRIN_H_INCLUDED
#define _IMMINTRIN_H_INCLUDED
#ifdef __x86_64__
/* clang-format off */
#include "third_party/intel/mmintrin.internal.h"
@ -206,4 +207,5 @@ extern __inline void
#pragma GCC pop_options
#endif /* __DISABLE_PTWRITE__ */
#endif /* __x86_64__ */
#endif /* _IMMINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _MM3DNOW_H_INCLUDED
#define _MM3DNOW_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/mmintrin.internal.h"
#include "third_party/intel/prfchwintrin.internal.h"
@ -206,4 +207,5 @@ extern __inline __m64
#pragma GCC pop_options
#endif /* __DISABLE_3dNOW_A__ */
#endif /* __x86_64__ */
#endif /* _MM3DNOW_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _MM_MALLOC_H_INCLUDED
#define _MM_MALLOC_H_INCLUDED
#ifdef __x86_64__
#include "libc/mem/mem.h"
#ifndef __cplusplus
@ -24,4 +25,5 @@ static __inline void _mm_free(void *__ptr) {
free(__ptr);
}
#endif /* __x86_64__ */
#endif /* _MM_MALLOC_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _MMINTRIN_H_INCLUDED
#define _MMINTRIN_H_INCLUDED
#ifdef __x86_64__
#if defined __x86_64__ && !defined __SSE__ || !defined __MMX__
#pragma GCC push_options
@ -829,4 +830,5 @@ extern __inline __m64
#pragma GCC pop_options
#endif /* __DISABLE_MMX__ */
#endif /* __x86_64__ */
#endif /* _MMINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _MWAITXINTRIN_H_INCLUDED
#define _MWAITXINTRIN_H_INCLUDED
#ifdef __x86_64__
#ifndef __MWAITX__
#pragma GCC push_options
@ -24,4 +25,5 @@ extern __inline void
#pragma GCC pop_options
#endif /* __DISABLE_MWAITX__ */
#endif /* __x86_64__ */
#endif /* _MWAITXINTRIN_H_INCLUDED */

View file

@ -1,4 +1,6 @@
#ifndef _NMMINTRIN_H_INCLUDED
#define _NMMINTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/smmintrin.internal.h"
#endif /* __x86_64__ */
#endif /* _NMMINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _PMMINTRIN_H_INCLUDED
#define _PMMINTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/emmintrin.internal.h"
#ifndef __SSE3__
@ -99,4 +100,5 @@ extern __inline void
#pragma GCC pop_options
#endif /* __DISABLE_SSE3__ */
#endif /* __x86_64__ */
#endif /* _PMMINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _POPCNTINTRIN_H_INCLUDED
#define _POPCNTINTRIN_H_INCLUDED
#ifdef __x86_64__
#ifndef __POPCNT__
#pragma GCC push_options
@ -26,4 +27,5 @@ extern __inline long long
#pragma GCC pop_options
#endif /* __DISABLE_POPCNT__ */
#endif /* __x86_64__ */
#endif /* _POPCNTINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _SGXINTRIN_H_INCLUDED
#define _SGXINTRIN_H_INCLUDED
#ifdef __x86_64__
#ifndef __SGX__
#pragma GCC push_options
@ -216,4 +217,5 @@ extern __inline unsigned int
#pragma GCC pop_options
#endif /* __DISABLE_SGX__ */
#endif /* __x86_64__ */
#endif /* _SGXINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _SMMINTRIN_H_INCLUDED
#define _SMMINTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/tmmintrin.internal.h"
#ifndef __SSE4_1__
@ -702,4 +703,5 @@ extern __inline unsigned long long
#pragma GCC pop_options
#endif /* __DISABLE_SSE4_1__ */
#endif /* __x86_64__ */
#endif /* _SMMINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _TMMINTRIN_H_INCLUDED
#define _TMMINTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/pmmintrin.internal.h"
#ifndef __SSSE3__
@ -214,4 +215,5 @@ extern __inline __m64
#pragma GCC pop_options
#endif /* __DISABLE_SSSE3__ */
#endif /* __x86_64__ */
#endif /* _TMMINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef __VAESINTRIN_H_INCLUDED
#define __VAESINTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/x86intrin.internal.h"
#if !defined(__VAES__) || !defined(__AVX__)
@ -72,4 +73,5 @@ extern __inline __m512i
#pragma GCC pop_options
#endif /* __DISABLE_VAES__ */
#endif /* __x86_64__ */
#endif /* __VAESINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _WMMINTRIN_H_INCLUDED
#define _WMMINTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/emmintrin.internal.h"
#if !defined(__AES__) || !defined(__SSE2__)
@ -77,4 +78,5 @@ extern __inline __m128i
#pragma GCC pop_options
#endif /* __DISABLE_PCLMUL__ */
#endif /* __x86_64__ */
#endif /* _WMMINTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _X86INTRIN_H_INCLUDED
#define _X86INTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/ia32intrin.internal.h"
#ifndef __iamcu__
@ -16,4 +17,5 @@
/* clang-format on */
#endif /* __iamcu__ */
#endif /* __x86_64__ */
#endif /* _X86INTRIN_H_INCLUDED */

View file

@ -1,5 +1,6 @@
#ifndef _XMMINTRIN_H_INCLUDED
#define _XMMINTRIN_H_INCLUDED
#ifdef __x86_64__
#include "third_party/intel/mm_malloc.internal.h"
#include "third_party/intel/mmintrin.internal.h"
@ -1087,4 +1088,5 @@ extern __inline void
__builtin_ia32_pause();
}
#endif /* __x86_64__ */
#endif /* _XMMINTRIN_H_INCLUDED */