init
This commit is contained in:
commit
0f60cb847b
BIN
bin/bomtool
Executable file
BIN
bin/bomtool
Executable file
Binary file not shown.
1
bin/pkg-config
Symbolic link
1
bin/pkg-config
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pkgconf
|
BIN
bin/pkgconf
Executable file
BIN
bin/pkgconf
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-addr2line
Executable file
BIN
bin/x86_64-linux-musl-addr2line
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-ar
Executable file
BIN
bin/x86_64-linux-musl-ar
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-as
Executable file
BIN
bin/x86_64-linux-musl-as
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-c++
Executable file
BIN
bin/x86_64-linux-musl-c++
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-c++filt
Executable file
BIN
bin/x86_64-linux-musl-c++filt
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-cpp
Executable file
BIN
bin/x86_64-linux-musl-cpp
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-elfedit
Executable file
BIN
bin/x86_64-linux-musl-elfedit
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-g++
Executable file
BIN
bin/x86_64-linux-musl-g++
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-gcc
Executable file
BIN
bin/x86_64-linux-musl-gcc
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-gcc-12.2.0
Executable file
BIN
bin/x86_64-linux-musl-gcc-12.2.0
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-gcc-ar
Executable file
BIN
bin/x86_64-linux-musl-gcc-ar
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-gcc-nm
Executable file
BIN
bin/x86_64-linux-musl-gcc-nm
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-gcc-ranlib
Executable file
BIN
bin/x86_64-linux-musl-gcc-ranlib
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-gcov
Executable file
BIN
bin/x86_64-linux-musl-gcov
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-gcov-dump
Executable file
BIN
bin/x86_64-linux-musl-gcov-dump
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-gcov-tool
Executable file
BIN
bin/x86_64-linux-musl-gcov-tool
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-ld
Executable file
BIN
bin/x86_64-linux-musl-ld
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-ld.bfd
Executable file
BIN
bin/x86_64-linux-musl-ld.bfd
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-lto-dump
Executable file
BIN
bin/x86_64-linux-musl-lto-dump
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-nm
Executable file
BIN
bin/x86_64-linux-musl-nm
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-objcopy
Executable file
BIN
bin/x86_64-linux-musl-objcopy
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-objdump
Executable file
BIN
bin/x86_64-linux-musl-objdump
Executable file
Binary file not shown.
1
bin/x86_64-linux-musl-pkg-config
Symbolic link
1
bin/x86_64-linux-musl-pkg-config
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pkgconf
|
1
bin/x86_64-linux-musl-pkgconf
Symbolic link
1
bin/x86_64-linux-musl-pkgconf
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pkgconf
|
BIN
bin/x86_64-linux-musl-ranlib
Executable file
BIN
bin/x86_64-linux-musl-ranlib
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-readelf
Executable file
BIN
bin/x86_64-linux-musl-readelf
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-size
Executable file
BIN
bin/x86_64-linux-musl-size
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-strings
Executable file
BIN
bin/x86_64-linux-musl-strings
Executable file
Binary file not shown.
BIN
bin/x86_64-linux-musl-strip
Executable file
BIN
bin/x86_64-linux-musl-strip
Executable file
Binary file not shown.
34
include/pkgconf/libpkgconf/bsdstubs.h
Normal file
34
include/pkgconf/libpkgconf/bsdstubs.h
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* bsdstubs.h
|
||||||
|
* Header for stub BSD function prototypes if unavailable on a specific platform.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2012 William Pitcock <nenolod@dereferenced.org>.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* This software is provided 'as is' and without any warranty, express or
|
||||||
|
* implied. In no event shall the authors be liable for any damages arising
|
||||||
|
* from the use of this software.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIBPKGCONF_BSDSTUBS_H
|
||||||
|
#define LIBPKGCONF_BSDSTUBS_H
|
||||||
|
|
||||||
|
#include <libpkgconf/libpkgconf-api.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
PKGCONF_API extern size_t pkgconf_strlcpy(char *dst, const char *src, size_t siz);
|
||||||
|
PKGCONF_API extern size_t pkgconf_strlcat(char *dst, const char *src, size_t siz);
|
||||||
|
PKGCONF_API extern char *pkgconf_strndup(const char *src, size_t len);
|
||||||
|
PKGCONF_API extern void *pkgconf_reallocarray(void *ptr, size_t m, size_t n);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
113
include/pkgconf/libpkgconf/iter.h
Normal file
113
include/pkgconf/libpkgconf/iter.h
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
/*
|
||||||
|
* iter.h
|
||||||
|
* Linked lists and iterators.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013 pkgconf authors (see AUTHORS).
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* This software is provided 'as is' and without any warranty, express or
|
||||||
|
* implied. In no event shall the authors be liable for any damages arising
|
||||||
|
* from the use of this software.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIBPKGCONF_ITER_H
|
||||||
|
#define LIBPKGCONF_ITER_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct pkgconf_node_ pkgconf_node_t;
|
||||||
|
|
||||||
|
struct pkgconf_node_ {
|
||||||
|
pkgconf_node_t *prev, *next;
|
||||||
|
void *data;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
pkgconf_node_t *head, *tail;
|
||||||
|
size_t length;
|
||||||
|
} pkgconf_list_t;
|
||||||
|
|
||||||
|
#define PKGCONF_LIST_INITIALIZER { NULL, NULL, 0 }
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
pkgconf_list_zero(pkgconf_list_t *list)
|
||||||
|
{
|
||||||
|
list->head = NULL;
|
||||||
|
list->tail = NULL;
|
||||||
|
list->length = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
pkgconf_node_insert(pkgconf_node_t *node, void *data, pkgconf_list_t *list)
|
||||||
|
{
|
||||||
|
pkgconf_node_t *tnode;
|
||||||
|
|
||||||
|
node->data = data;
|
||||||
|
|
||||||
|
if (list->head == NULL)
|
||||||
|
{
|
||||||
|
list->head = node;
|
||||||
|
list->tail = node;
|
||||||
|
list->length = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
tnode = list->head;
|
||||||
|
|
||||||
|
node->next = tnode;
|
||||||
|
tnode->prev = node;
|
||||||
|
|
||||||
|
list->head = node;
|
||||||
|
list->length++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
pkgconf_node_insert_tail(pkgconf_node_t *node, void *data, pkgconf_list_t *list)
|
||||||
|
{
|
||||||
|
pkgconf_node_t *tnode;
|
||||||
|
|
||||||
|
node->data = data;
|
||||||
|
|
||||||
|
if (list->tail == NULL)
|
||||||
|
{
|
||||||
|
list->head = node;
|
||||||
|
list->tail = node;
|
||||||
|
list->length = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
tnode = list->tail;
|
||||||
|
|
||||||
|
node->prev = tnode;
|
||||||
|
tnode->next = node;
|
||||||
|
|
||||||
|
list->tail = node;
|
||||||
|
list->length++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
pkgconf_node_delete(pkgconf_node_t *node, pkgconf_list_t *list)
|
||||||
|
{
|
||||||
|
list->length--;
|
||||||
|
|
||||||
|
if (node->prev == NULL)
|
||||||
|
list->head = node->next;
|
||||||
|
else
|
||||||
|
node->prev->next = node->next;
|
||||||
|
|
||||||
|
if (node->next == NULL)
|
||||||
|
list->tail = node->prev;
|
||||||
|
else
|
||||||
|
node->next->prev = node->prev;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
19
include/pkgconf/libpkgconf/libpkgconf-api.h
Normal file
19
include/pkgconf/libpkgconf/libpkgconf-api.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#ifndef LIBPKGCONF_LIBPKGCONF_API_H
|
||||||
|
#define LIBPKGCONF_LIBPKGCONF_API_H
|
||||||
|
|
||||||
|
/* Makefile.am specifies visibility using the libtool option -export-symbols-regex '^pkgconf_'
|
||||||
|
* Unfortunately, that is not available when building with meson, so use attributes instead.
|
||||||
|
*/
|
||||||
|
#if defined(PKGCONFIG_IS_STATIC)
|
||||||
|
# define PKGCONF_API
|
||||||
|
#elif defined(_WIN32) || defined(_WIN64)
|
||||||
|
# if defined(LIBPKGCONF_EXPORT) || defined(DLL_EXPORT)
|
||||||
|
# define PKGCONF_API __declspec(dllexport)
|
||||||
|
# else
|
||||||
|
# define PKGCONF_API __declspec(dllimport)
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# define PKGCONF_API __attribute__((visibility("default")))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
417
include/pkgconf/libpkgconf/libpkgconf.h
Normal file
417
include/pkgconf/libpkgconf/libpkgconf.h
Normal file
@ -0,0 +1,417 @@
|
|||||||
|
/*
|
||||||
|
* libpkgconf.h
|
||||||
|
* Global include file for everything in libpkgconf.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2011, 2015 pkgconf authors (see AUTHORS).
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* This software is provided 'as is' and without any warranty, express or
|
||||||
|
* implied. In no event shall the authors be liable for any damages arising
|
||||||
|
* from the use of this software.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIBPKGCONF__LIBPKGCONF_H
|
||||||
|
#define LIBPKGCONF__LIBPKGCONF_H
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <libpkgconf/libpkgconf-api.h>
|
||||||
|
#include <libpkgconf/iter.h>
|
||||||
|
#include <libpkgconf/bsdstubs.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* pkg-config uses ';' on win32 as ':' is part of path */
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define PKG_CONFIG_PATH_SEP_S ";"
|
||||||
|
#else
|
||||||
|
#define PKG_CONFIG_PATH_SEP_S ":"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define PKG_DIR_SEP_S '\\'
|
||||||
|
#else
|
||||||
|
#define PKG_DIR_SEP_S '/'
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define realpath(N,R) _fullpath((R),(N),_MAX_PATH)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define PKGCONF_BUFSIZE (65535)
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
PKGCONF_CMP_NOT_EQUAL,
|
||||||
|
PKGCONF_CMP_ANY,
|
||||||
|
PKGCONF_CMP_LESS_THAN,
|
||||||
|
PKGCONF_CMP_LESS_THAN_EQUAL,
|
||||||
|
PKGCONF_CMP_EQUAL,
|
||||||
|
PKGCONF_CMP_GREATER_THAN,
|
||||||
|
PKGCONF_CMP_GREATER_THAN_EQUAL
|
||||||
|
} pkgconf_pkg_comparator_t;
|
||||||
|
|
||||||
|
#define PKGCONF_CMP_COUNT 7
|
||||||
|
|
||||||
|
typedef struct pkgconf_pkg_ pkgconf_pkg_t;
|
||||||
|
typedef struct pkgconf_dependency_ pkgconf_dependency_t;
|
||||||
|
typedef struct pkgconf_tuple_ pkgconf_tuple_t;
|
||||||
|
typedef struct pkgconf_fragment_ pkgconf_fragment_t;
|
||||||
|
typedef struct pkgconf_path_ pkgconf_path_t;
|
||||||
|
typedef struct pkgconf_client_ pkgconf_client_t;
|
||||||
|
typedef struct pkgconf_cross_personality_ pkgconf_cross_personality_t;
|
||||||
|
|
||||||
|
#define PKGCONF_ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))
|
||||||
|
|
||||||
|
#define PKGCONF_FOREACH_LIST_ENTRY(head, value) \
|
||||||
|
for ((value) = (head); (value) != NULL; (value) = (value)->next)
|
||||||
|
|
||||||
|
#define PKGCONF_FOREACH_LIST_ENTRY_SAFE(head, nextiter, value) \
|
||||||
|
for ((value) = (head), (nextiter) = (head) != NULL ? (head)->next : NULL; (value) != NULL; (value) = (nextiter), (nextiter) = (nextiter) != NULL ? (nextiter)->next : NULL)
|
||||||
|
|
||||||
|
#define PKGCONF_FOREACH_LIST_ENTRY_REVERSE(tail, value) \
|
||||||
|
for ((value) = (tail); (value) != NULL; (value) = (value)->prev)
|
||||||
|
|
||||||
|
#define LIBPKGCONF_VERSION 10903
|
||||||
|
#define LIBPKGCONF_VERSION_STR "1.9.3"
|
||||||
|
|
||||||
|
struct pkgconf_fragment_ {
|
||||||
|
pkgconf_node_t iter;
|
||||||
|
|
||||||
|
char type;
|
||||||
|
char *data;
|
||||||
|
|
||||||
|
bool merged;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct pkgconf_dependency_ {
|
||||||
|
pkgconf_node_t iter;
|
||||||
|
|
||||||
|
char *package;
|
||||||
|
pkgconf_pkg_comparator_t compare;
|
||||||
|
char *version;
|
||||||
|
pkgconf_pkg_t *parent;
|
||||||
|
pkgconf_pkg_t *match;
|
||||||
|
|
||||||
|
unsigned int flags;
|
||||||
|
|
||||||
|
int refcount;
|
||||||
|
pkgconf_client_t *owner;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct pkgconf_tuple_ {
|
||||||
|
pkgconf_node_t iter;
|
||||||
|
|
||||||
|
char *key;
|
||||||
|
char *value;
|
||||||
|
|
||||||
|
unsigned int flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define PKGCONF_PKG_TUPLEF_OVERRIDE 0x1
|
||||||
|
|
||||||
|
struct pkgconf_path_ {
|
||||||
|
pkgconf_node_t lnode;
|
||||||
|
|
||||||
|
char *path;
|
||||||
|
void *handle_path;
|
||||||
|
void *handle_device;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define PKGCONF_PKG_PROPF_NONE 0x00
|
||||||
|
#define PKGCONF_PKG_PROPF_STATIC 0x01
|
||||||
|
#define PKGCONF_PKG_PROPF_CACHED 0x02
|
||||||
|
#define PKGCONF_PKG_PROPF_UNINSTALLED 0x08
|
||||||
|
#define PKGCONF_PKG_PROPF_VIRTUAL 0x10
|
||||||
|
|
||||||
|
struct pkgconf_pkg_ {
|
||||||
|
int refcount;
|
||||||
|
char *id;
|
||||||
|
char *filename;
|
||||||
|
char *realname;
|
||||||
|
char *version;
|
||||||
|
char *description;
|
||||||
|
char *url;
|
||||||
|
char *pc_filedir;
|
||||||
|
char *license;
|
||||||
|
char *maintainer;
|
||||||
|
char *copyright;
|
||||||
|
|
||||||
|
pkgconf_list_t libs;
|
||||||
|
pkgconf_list_t libs_private;
|
||||||
|
pkgconf_list_t cflags;
|
||||||
|
pkgconf_list_t cflags_private;
|
||||||
|
|
||||||
|
pkgconf_list_t required; /* this used to be requires but that is now a reserved keyword */
|
||||||
|
pkgconf_list_t requires_private;
|
||||||
|
pkgconf_list_t conflicts;
|
||||||
|
pkgconf_list_t provides;
|
||||||
|
|
||||||
|
pkgconf_list_t vars;
|
||||||
|
|
||||||
|
unsigned int flags;
|
||||||
|
|
||||||
|
pkgconf_client_t *owner;
|
||||||
|
|
||||||
|
/* these resources are owned by the package and do not need special management,
|
||||||
|
* under no circumstance attempt to allocate or free objects belonging to these pointers
|
||||||
|
*/
|
||||||
|
pkgconf_tuple_t *orig_prefix;
|
||||||
|
pkgconf_tuple_t *prefix;
|
||||||
|
|
||||||
|
uint64_t serial;
|
||||||
|
|
||||||
|
size_t hits;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef bool (*pkgconf_pkg_iteration_func_t)(const pkgconf_pkg_t *pkg, void *data);
|
||||||
|
typedef void (*pkgconf_pkg_traverse_func_t)(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data);
|
||||||
|
typedef bool (*pkgconf_queue_apply_func_t)(pkgconf_client_t *client, pkgconf_pkg_t *world, void *data, int maxdepth);
|
||||||
|
typedef bool (*pkgconf_error_handler_func_t)(const char *msg, const pkgconf_client_t *client, void *data);
|
||||||
|
|
||||||
|
struct pkgconf_client_ {
|
||||||
|
pkgconf_list_t dir_list;
|
||||||
|
|
||||||
|
pkgconf_list_t filter_libdirs;
|
||||||
|
pkgconf_list_t filter_includedirs;
|
||||||
|
|
||||||
|
pkgconf_list_t global_vars;
|
||||||
|
|
||||||
|
void *error_handler_data;
|
||||||
|
void *warn_handler_data;
|
||||||
|
void *trace_handler_data;
|
||||||
|
|
||||||
|
pkgconf_error_handler_func_t error_handler;
|
||||||
|
pkgconf_error_handler_func_t warn_handler;
|
||||||
|
pkgconf_error_handler_func_t trace_handler;
|
||||||
|
|
||||||
|
FILE *auditf;
|
||||||
|
|
||||||
|
char *sysroot_dir;
|
||||||
|
char *buildroot_dir;
|
||||||
|
|
||||||
|
unsigned int flags;
|
||||||
|
|
||||||
|
char *prefix_varname;
|
||||||
|
|
||||||
|
bool already_sent_notice;
|
||||||
|
|
||||||
|
uint64_t serial;
|
||||||
|
|
||||||
|
pkgconf_pkg_t **cache_table;
|
||||||
|
size_t cache_count;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct pkgconf_cross_personality_ {
|
||||||
|
const char *name;
|
||||||
|
|
||||||
|
pkgconf_list_t dir_list;
|
||||||
|
|
||||||
|
pkgconf_list_t filter_libdirs;
|
||||||
|
pkgconf_list_t filter_includedirs;
|
||||||
|
|
||||||
|
char *sysroot_dir;
|
||||||
|
|
||||||
|
bool want_default_static;
|
||||||
|
bool want_default_pure;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* client.c */
|
||||||
|
PKGCONF_API void pkgconf_client_init(pkgconf_client_t *client, pkgconf_error_handler_func_t error_handler, void *error_handler_data, const pkgconf_cross_personality_t *personality);
|
||||||
|
PKGCONF_API pkgconf_client_t * pkgconf_client_new(pkgconf_error_handler_func_t error_handler, void *error_handler_data, const pkgconf_cross_personality_t *personality);
|
||||||
|
PKGCONF_API void pkgconf_client_deinit(pkgconf_client_t *client);
|
||||||
|
PKGCONF_API void pkgconf_client_free(pkgconf_client_t *client);
|
||||||
|
PKGCONF_API const char *pkgconf_client_get_sysroot_dir(const pkgconf_client_t *client);
|
||||||
|
PKGCONF_API void pkgconf_client_set_sysroot_dir(pkgconf_client_t *client, const char *sysroot_dir);
|
||||||
|
PKGCONF_API const char *pkgconf_client_get_buildroot_dir(const pkgconf_client_t *client);
|
||||||
|
PKGCONF_API void pkgconf_client_set_buildroot_dir(pkgconf_client_t *client, const char *buildroot_dir);
|
||||||
|
PKGCONF_API unsigned int pkgconf_client_get_flags(const pkgconf_client_t *client);
|
||||||
|
PKGCONF_API void pkgconf_client_set_flags(pkgconf_client_t *client, unsigned int flags);
|
||||||
|
PKGCONF_API const char *pkgconf_client_get_prefix_varname(const pkgconf_client_t *client);
|
||||||
|
PKGCONF_API void pkgconf_client_set_prefix_varname(pkgconf_client_t *client, const char *prefix_varname);
|
||||||
|
PKGCONF_API pkgconf_error_handler_func_t pkgconf_client_get_warn_handler(const pkgconf_client_t *client);
|
||||||
|
PKGCONF_API void pkgconf_client_set_warn_handler(pkgconf_client_t *client, pkgconf_error_handler_func_t warn_handler, void *warn_handler_data);
|
||||||
|
PKGCONF_API pkgconf_error_handler_func_t pkgconf_client_get_error_handler(const pkgconf_client_t *client);
|
||||||
|
PKGCONF_API void pkgconf_client_set_error_handler(pkgconf_client_t *client, pkgconf_error_handler_func_t error_handler, void *error_handler_data);
|
||||||
|
PKGCONF_API pkgconf_error_handler_func_t pkgconf_client_get_trace_handler(const pkgconf_client_t *client);
|
||||||
|
PKGCONF_API void pkgconf_client_set_trace_handler(pkgconf_client_t *client, pkgconf_error_handler_func_t trace_handler, void *trace_handler_data);
|
||||||
|
PKGCONF_API void pkgconf_client_dir_list_build(pkgconf_client_t *client, const pkgconf_cross_personality_t *personality);
|
||||||
|
|
||||||
|
/* personality.c */
|
||||||
|
PKGCONF_API pkgconf_cross_personality_t *pkgconf_cross_personality_default(void);
|
||||||
|
PKGCONF_API pkgconf_cross_personality_t *pkgconf_cross_personality_find(const char *triplet);
|
||||||
|
PKGCONF_API void pkgconf_cross_personality_deinit(pkgconf_cross_personality_t *personality);
|
||||||
|
|
||||||
|
#define PKGCONF_IS_MODULE_SEPARATOR(c) ((c) == ',' || isspace ((unsigned int)(c)))
|
||||||
|
#define PKGCONF_IS_OPERATOR_CHAR(c) ((c) == '<' || (c) == '>' || (c) == '!' || (c) == '=')
|
||||||
|
|
||||||
|
#define PKGCONF_PKG_PKGF_NONE 0x0000
|
||||||
|
#define PKGCONF_PKG_PKGF_SEARCH_PRIVATE 0x0001
|
||||||
|
#define PKGCONF_PKG_PKGF_ENV_ONLY 0x0002
|
||||||
|
#define PKGCONF_PKG_PKGF_NO_UNINSTALLED 0x0004
|
||||||
|
#define PKGCONF_PKG_PKGF_SKIP_ROOT_VIRTUAL 0x0008
|
||||||
|
#define PKGCONF_PKG_PKGF_MERGE_PRIVATE_FRAGMENTS 0x0010
|
||||||
|
#define PKGCONF_PKG_PKGF_SKIP_CONFLICTS 0x0020
|
||||||
|
#define PKGCONF_PKG_PKGF_NO_CACHE 0x0040
|
||||||
|
#define PKGCONF_PKG_PKGF_SKIP_ERRORS 0x0080
|
||||||
|
#define PKGCONF_PKG_PKGF_ITER_PKG_IS_PRIVATE 0x0100
|
||||||
|
#define PKGCONF_PKG_PKGF_SKIP_PROVIDES 0x0200
|
||||||
|
#define PKGCONF_PKG_PKGF_REDEFINE_PREFIX 0x0400
|
||||||
|
#define PKGCONF_PKG_PKGF_DONT_RELOCATE_PATHS 0x0800
|
||||||
|
#define PKGCONF_PKG_PKGF_SIMPLIFY_ERRORS 0x1000
|
||||||
|
#define PKGCONF_PKG_PKGF_DONT_FILTER_INTERNAL_CFLAGS 0x2000
|
||||||
|
#define PKGCONF_PKG_PKGF_DONT_MERGE_SPECIAL_FRAGMENTS 0x4000
|
||||||
|
#define PKGCONF_PKG_PKGF_FDO_SYSROOT_RULES 0x8000
|
||||||
|
#define PKGCONF_PKG_PKGF_PKGCONF1_SYSROOT_RULES 0x10000
|
||||||
|
|
||||||
|
#define PKGCONF_PKG_DEPF_INTERNAL 0x1
|
||||||
|
#define PKGCONF_PKG_DEPF_PRIVATE 0x2
|
||||||
|
|
||||||
|
#define PKGCONF_PKG_ERRF_OK 0x0
|
||||||
|
#define PKGCONF_PKG_ERRF_PACKAGE_NOT_FOUND 0x1
|
||||||
|
#define PKGCONF_PKG_ERRF_PACKAGE_VER_MISMATCH 0x2
|
||||||
|
#define PKGCONF_PKG_ERRF_PACKAGE_CONFLICT 0x4
|
||||||
|
#define PKGCONF_PKG_ERRF_DEPGRAPH_BREAK 0x8
|
||||||
|
|
||||||
|
#if defined(__GNUC__) || defined(__INTEL_COMPILER)
|
||||||
|
#define PRINTFLIKE(fmtarg, firstvararg) \
|
||||||
|
__attribute__((__format__ (__printf__, fmtarg, firstvararg)))
|
||||||
|
#define DEPRECATED \
|
||||||
|
__attribute__((deprecated))
|
||||||
|
#else
|
||||||
|
#define PRINTFLIKE(fmtarg, firstvararg)
|
||||||
|
#define DEPRECATED
|
||||||
|
#endif /* defined(__INTEL_COMPILER) || defined(__GNUC__) */
|
||||||
|
|
||||||
|
/* parser.c */
|
||||||
|
typedef void (*pkgconf_parser_operand_func_t)(void *data, const size_t lineno, const char *key, const char *value);
|
||||||
|
typedef void (*pkgconf_parser_warn_func_t)(void *data, const char *fmt, ...);
|
||||||
|
|
||||||
|
PKGCONF_API void pkgconf_parser_parse(FILE *f, void *data, const pkgconf_parser_operand_func_t *ops, const pkgconf_parser_warn_func_t warnfunc, const char *filename);
|
||||||
|
|
||||||
|
/* pkg.c */
|
||||||
|
PKGCONF_API bool pkgconf_error(const pkgconf_client_t *client, const char *format, ...) PRINTFLIKE(2, 3);
|
||||||
|
PKGCONF_API bool pkgconf_warn(const pkgconf_client_t *client, const char *format, ...) PRINTFLIKE(2, 3);
|
||||||
|
PKGCONF_API bool pkgconf_trace(const pkgconf_client_t *client, const char *filename, size_t lineno, const char *funcname, const char *format, ...) PRINTFLIKE(5, 6);
|
||||||
|
PKGCONF_API bool pkgconf_default_error_handler(const char *msg, const pkgconf_client_t *client, void *data);
|
||||||
|
|
||||||
|
#ifndef PKGCONF_LITE
|
||||||
|
#if defined(__GNUC__) || defined(__INTEL_COMPILER)
|
||||||
|
#define PKGCONF_TRACE(client, ...) do { \
|
||||||
|
pkgconf_trace(client, __FILE__, __LINE__, __PRETTY_FUNCTION__, __VA_ARGS__); \
|
||||||
|
} while (0)
|
||||||
|
#else
|
||||||
|
#define PKGCONF_TRACE(client, ...) do { \
|
||||||
|
pkgconf_trace(client, __FILE__, __LINE__, __func__, __VA_ARGS__); \
|
||||||
|
} while (0)
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define PKGCONF_TRACE(client, ...)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
PKGCONF_API pkgconf_pkg_t *pkgconf_pkg_ref(pkgconf_client_t *client, pkgconf_pkg_t *pkg);
|
||||||
|
PKGCONF_API void pkgconf_pkg_unref(pkgconf_client_t *client, pkgconf_pkg_t *pkg);
|
||||||
|
PKGCONF_API void pkgconf_pkg_free(pkgconf_client_t *client, pkgconf_pkg_t *pkg);
|
||||||
|
PKGCONF_API pkgconf_pkg_t *pkgconf_pkg_find(pkgconf_client_t *client, const char *name);
|
||||||
|
PKGCONF_API unsigned int pkgconf_pkg_traverse(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_pkg_traverse_func_t func, void *data, int maxdepth, unsigned int skip_flags);
|
||||||
|
PKGCONF_API unsigned int pkgconf_pkg_verify_graph(pkgconf_client_t *client, pkgconf_pkg_t *root, int depth);
|
||||||
|
PKGCONF_API pkgconf_pkg_t *pkgconf_pkg_verify_dependency(pkgconf_client_t *client, pkgconf_dependency_t *pkgdep, unsigned int *eflags);
|
||||||
|
PKGCONF_API const char *pkgconf_pkg_get_comparator(const pkgconf_dependency_t *pkgdep);
|
||||||
|
PKGCONF_API unsigned int pkgconf_pkg_cflags(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth);
|
||||||
|
PKGCONF_API unsigned int pkgconf_pkg_libs(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth);
|
||||||
|
PKGCONF_API pkgconf_pkg_comparator_t pkgconf_pkg_comparator_lookup_by_name(const char *name);
|
||||||
|
PKGCONF_API pkgconf_pkg_t *pkgconf_builtin_pkg_get(const char *name);
|
||||||
|
|
||||||
|
PKGCONF_API int pkgconf_compare_version(const char *a, const char *b);
|
||||||
|
PKGCONF_API pkgconf_pkg_t *pkgconf_scan_all(pkgconf_client_t *client, void *ptr, pkgconf_pkg_iteration_func_t func);
|
||||||
|
|
||||||
|
/* parse.c */
|
||||||
|
PKGCONF_API pkgconf_pkg_t *pkgconf_pkg_new_from_file(pkgconf_client_t *client, const char *path, FILE *f, unsigned int flags);
|
||||||
|
PKGCONF_API void pkgconf_dependency_parse_str(pkgconf_client_t *client, pkgconf_list_t *deplist_head, const char *depends, unsigned int flags);
|
||||||
|
PKGCONF_API void pkgconf_dependency_parse(pkgconf_client_t *client, pkgconf_pkg_t *pkg, pkgconf_list_t *deplist_head, const char *depends, unsigned int flags);
|
||||||
|
PKGCONF_API void pkgconf_dependency_append(pkgconf_list_t *list, pkgconf_dependency_t *tail);
|
||||||
|
PKGCONF_API void pkgconf_dependency_free(pkgconf_list_t *list);
|
||||||
|
PKGCONF_API void pkgconf_dependency_free_one(pkgconf_dependency_t *dep);
|
||||||
|
PKGCONF_API pkgconf_dependency_t *pkgconf_dependency_add(pkgconf_client_t *client, pkgconf_list_t *list, const char *package, const char *version, pkgconf_pkg_comparator_t compare, unsigned int flags);
|
||||||
|
PKGCONF_API pkgconf_dependency_t *pkgconf_dependency_ref(pkgconf_client_t *client, pkgconf_dependency_t *dep);
|
||||||
|
PKGCONF_API void pkgconf_dependency_unref(pkgconf_client_t *client, pkgconf_dependency_t *dep);
|
||||||
|
PKGCONF_API pkgconf_dependency_t *pkgconf_dependency_copy(pkgconf_client_t *client, const pkgconf_dependency_t *dep);
|
||||||
|
|
||||||
|
/* argvsplit.c */
|
||||||
|
PKGCONF_API int pkgconf_argv_split(const char *src, int *argc, char ***argv);
|
||||||
|
PKGCONF_API void pkgconf_argv_free(char **argv);
|
||||||
|
|
||||||
|
/* fragment.c */
|
||||||
|
typedef struct pkgconf_fragment_render_ops_ {
|
||||||
|
size_t (*render_len)(const pkgconf_list_t *list, bool escape);
|
||||||
|
void (*render_buf)(const pkgconf_list_t *list, char *buf, size_t len, bool escape);
|
||||||
|
} pkgconf_fragment_render_ops_t;
|
||||||
|
|
||||||
|
typedef bool (*pkgconf_fragment_filter_func_t)(const pkgconf_client_t *client, const pkgconf_fragment_t *frag, void *data);
|
||||||
|
PKGCONF_API bool pkgconf_fragment_parse(const pkgconf_client_t *client, pkgconf_list_t *list, pkgconf_list_t *vars, const char *value, unsigned int flags);
|
||||||
|
PKGCONF_API void pkgconf_fragment_add(const pkgconf_client_t *client, pkgconf_list_t *list, const char *string, unsigned int flags);
|
||||||
|
PKGCONF_API void pkgconf_fragment_copy(const pkgconf_client_t *client, pkgconf_list_t *list, const pkgconf_fragment_t *base, bool is_private);
|
||||||
|
PKGCONF_API void pkgconf_fragment_copy_list(const pkgconf_client_t *client, pkgconf_list_t *list, const pkgconf_list_t *base);
|
||||||
|
PKGCONF_API void pkgconf_fragment_delete(pkgconf_list_t *list, pkgconf_fragment_t *node);
|
||||||
|
PKGCONF_API void pkgconf_fragment_free(pkgconf_list_t *list);
|
||||||
|
PKGCONF_API void pkgconf_fragment_filter(const pkgconf_client_t *client, pkgconf_list_t *dest, pkgconf_list_t *src, pkgconf_fragment_filter_func_t filter_func, void *data);
|
||||||
|
PKGCONF_API size_t pkgconf_fragment_render_len(const pkgconf_list_t *list, bool escape, const pkgconf_fragment_render_ops_t *ops);
|
||||||
|
PKGCONF_API void pkgconf_fragment_render_buf(const pkgconf_list_t *list, char *buf, size_t len, bool escape, const pkgconf_fragment_render_ops_t *ops);
|
||||||
|
PKGCONF_API char *pkgconf_fragment_render(const pkgconf_list_t *list, bool escape, const pkgconf_fragment_render_ops_t *ops);
|
||||||
|
PKGCONF_API bool pkgconf_fragment_has_system_dir(const pkgconf_client_t *client, const pkgconf_fragment_t *frag);
|
||||||
|
|
||||||
|
/* fileio.c */
|
||||||
|
PKGCONF_API char *pkgconf_fgetline(char *line, size_t size, FILE *stream);
|
||||||
|
|
||||||
|
/* tuple.c */
|
||||||
|
PKGCONF_API pkgconf_tuple_t *pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *parent, const char *key, const char *value, bool parse, unsigned int flags);
|
||||||
|
PKGCONF_API char *pkgconf_tuple_find(const pkgconf_client_t *client, pkgconf_list_t *list, const char *key);
|
||||||
|
PKGCONF_API char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *list, const char *value, unsigned int flags);
|
||||||
|
PKGCONF_API void pkgconf_tuple_free(pkgconf_list_t *list);
|
||||||
|
PKGCONF_API void pkgconf_tuple_free_entry(pkgconf_tuple_t *tuple, pkgconf_list_t *list);
|
||||||
|
PKGCONF_API void pkgconf_tuple_add_global(pkgconf_client_t *client, const char *key, const char *value);
|
||||||
|
PKGCONF_API char *pkgconf_tuple_find_global(const pkgconf_client_t *client, const char *key);
|
||||||
|
PKGCONF_API void pkgconf_tuple_free_global(pkgconf_client_t *client);
|
||||||
|
PKGCONF_API void pkgconf_tuple_define_global(pkgconf_client_t *client, const char *kv);
|
||||||
|
|
||||||
|
/* queue.c */
|
||||||
|
PKGCONF_API void pkgconf_queue_push(pkgconf_list_t *list, const char *package);
|
||||||
|
PKGCONF_API bool pkgconf_queue_compile(pkgconf_client_t *client, pkgconf_pkg_t *world, pkgconf_list_t *list);
|
||||||
|
PKGCONF_API bool pkgconf_queue_solve(pkgconf_client_t *client, pkgconf_list_t *list, pkgconf_pkg_t *world, int maxdepth);
|
||||||
|
PKGCONF_API void pkgconf_queue_free(pkgconf_list_t *list);
|
||||||
|
PKGCONF_API bool pkgconf_queue_apply(pkgconf_client_t *client, pkgconf_list_t *list, pkgconf_queue_apply_func_t func, int maxdepth, void *data);
|
||||||
|
PKGCONF_API bool pkgconf_queue_validate(pkgconf_client_t *client, pkgconf_list_t *list, int maxdepth);
|
||||||
|
PKGCONF_API void pkgconf_solution_free(pkgconf_client_t *client, pkgconf_pkg_t *world);
|
||||||
|
|
||||||
|
/* cache.c */
|
||||||
|
PKGCONF_API pkgconf_pkg_t *pkgconf_cache_lookup(pkgconf_client_t *client, const char *id);
|
||||||
|
PKGCONF_API void pkgconf_cache_add(pkgconf_client_t *client, pkgconf_pkg_t *pkg);
|
||||||
|
PKGCONF_API void pkgconf_cache_remove(pkgconf_client_t *client, pkgconf_pkg_t *pkg);
|
||||||
|
PKGCONF_API void pkgconf_cache_free(pkgconf_client_t *client);
|
||||||
|
|
||||||
|
/* audit.c */
|
||||||
|
PKGCONF_API void pkgconf_audit_set_log(pkgconf_client_t *client, FILE *auditf);
|
||||||
|
PKGCONF_API void pkgconf_audit_log(pkgconf_client_t *client, const char *format, ...) PRINTFLIKE(2, 3);
|
||||||
|
PKGCONF_API void pkgconf_audit_log_dependency(pkgconf_client_t *client, const pkgconf_pkg_t *dep, const pkgconf_dependency_t *depnode);
|
||||||
|
|
||||||
|
/* path.c */
|
||||||
|
PKGCONF_API void pkgconf_path_add(const char *text, pkgconf_list_t *dirlist, bool filter);
|
||||||
|
PKGCONF_API size_t pkgconf_path_split(const char *text, pkgconf_list_t *dirlist, bool filter);
|
||||||
|
PKGCONF_API size_t pkgconf_path_build_from_environ(const char *envvarname, const char *fallback, pkgconf_list_t *dirlist, bool filter);
|
||||||
|
PKGCONF_API bool pkgconf_path_match_list(const char *path, const pkgconf_list_t *dirlist);
|
||||||
|
PKGCONF_API void pkgconf_path_free(pkgconf_list_t *dirlist);
|
||||||
|
PKGCONF_API bool pkgconf_path_relocate(char *buf, size_t buflen);
|
||||||
|
PKGCONF_API void pkgconf_path_copy_list(pkgconf_list_t *dst, const pkgconf_list_t *src);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
70
include/pkgconf/libpkgconf/stdinc.h
Normal file
70
include/pkgconf/libpkgconf/stdinc.h
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
* stdinc.h
|
||||||
|
* pull in standard headers (including portability hacks)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2012 pkgconf authors (see AUTHORS).
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* This software is provided 'as is' and without any warranty, express or
|
||||||
|
* implied. In no event shall the authors be liable for any damages arising
|
||||||
|
* from the use of this software.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIBPKGCONF_STDINC_H
|
||||||
|
#define LIBPKGCONF_STDINC_H
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# define WIN32_LEAN_AND_MEAN
|
||||||
|
# include <windows.h>
|
||||||
|
# include <malloc.h>
|
||||||
|
# define PATH_DEV_NULL "nul"
|
||||||
|
# ifdef _WIN64
|
||||||
|
# define SIZE_FMT_SPECIFIER "%I64u"
|
||||||
|
# else
|
||||||
|
# define SIZE_FMT_SPECIFIER "%u"
|
||||||
|
# endif
|
||||||
|
# ifndef ssize_t
|
||||||
|
# ifndef __MINGW32__
|
||||||
|
# include <BaseTsd.h>
|
||||||
|
# else
|
||||||
|
# include <basetsd.h>
|
||||||
|
# endif
|
||||||
|
# define ssize_t SSIZE_T
|
||||||
|
# endif
|
||||||
|
# ifndef __MINGW32__
|
||||||
|
# include "win-dirent.h"
|
||||||
|
# else
|
||||||
|
# include <dirent.h>
|
||||||
|
# endif
|
||||||
|
# define PKGCONF_ITEM_SIZE (_MAX_PATH + 1024)
|
||||||
|
#else
|
||||||
|
# define PATH_DEV_NULL "/dev/null"
|
||||||
|
# define SIZE_FMT_SPECIFIER "%zu"
|
||||||
|
# ifdef __HAIKU__
|
||||||
|
# include <FindDirectory.h>
|
||||||
|
# endif
|
||||||
|
# include <dirent.h>
|
||||||
|
# include <unistd.h>
|
||||||
|
# include <limits.h>
|
||||||
|
# include <strings.h>
|
||||||
|
# ifdef PATH_MAX
|
||||||
|
# define PKGCONF_ITEM_SIZE (PATH_MAX + 1024)
|
||||||
|
# else
|
||||||
|
# define PKGCONF_ITEM_SIZE (4096 + 1024)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
BIN
lib/bfd-plugins/libdep.so
Executable file
BIN
lib/bfd-plugins/libdep.so
Executable file
Binary file not shown.
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtbegin.o
Normal file
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtbegin.o
Normal file
Binary file not shown.
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtbeginS.o
Normal file
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtbeginS.o
Normal file
Binary file not shown.
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtbeginT.o
Normal file
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtbeginT.o
Normal file
Binary file not shown.
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtend.o
Normal file
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtend.o
Normal file
Binary file not shown.
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtendS.o
Normal file
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtendS.o
Normal file
Binary file not shown.
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtfastmath.o
Normal file
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtfastmath.o
Normal file
Binary file not shown.
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtprec32.o
Normal file
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtprec32.o
Normal file
Binary file not shown.
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtprec64.o
Normal file
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtprec64.o
Normal file
Binary file not shown.
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtprec80.o
Normal file
BIN
lib/gcc/x86_64-linux-musl/12.2.0/crtprec80.o
Normal file
Binary file not shown.
14
lib/gcc/x86_64-linux-musl/12.2.0/include-fixed/README
Normal file
14
lib/gcc/x86_64-linux-musl/12.2.0/include-fixed/README
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
This README file is copied into the directory for GCC-only header files
|
||||||
|
when fixincludes is run by the makefile for GCC.
|
||||||
|
|
||||||
|
Many of the files in this directory were automatically edited from the
|
||||||
|
standard system header files by the fixincludes process. They are
|
||||||
|
system-specific, and will not work on any other kind of system. They
|
||||||
|
are also not part of GCC. The reason we have to do this is because
|
||||||
|
GCC requires ANSI C headers and many vendors supply ANSI-incompatible
|
||||||
|
headers.
|
||||||
|
|
||||||
|
Because this is an automated process, sometimes headers get "fixed"
|
||||||
|
that do not, strictly speaking, need a fix. As long as nothing is broken
|
||||||
|
by the process, it is just an unfortunate collateral inconvenience.
|
||||||
|
We would like to rectify it, if it is not "too inconvenient".
|
206
lib/gcc/x86_64-linux-musl/12.2.0/include-fixed/limits.h
Normal file
206
lib/gcc/x86_64-linux-musl/12.2.0/include-fixed/limits.h
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
/* Copyright (C) 1992-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU General Public License as published by the Free
|
||||||
|
Software Foundation; either version 3, or (at your option) any later
|
||||||
|
version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/* This administrivia gets added to the beginning of limits.h
|
||||||
|
if the system has its own version of limits.h. */
|
||||||
|
|
||||||
|
/* We use _GCC_LIMITS_H_ because we want this not to match
|
||||||
|
any macros that the system's limits.h uses for its own purposes. */
|
||||||
|
#ifndef _GCC_LIMITS_H_ /* Terminated in limity.h. */
|
||||||
|
#define _GCC_LIMITS_H_
|
||||||
|
|
||||||
|
#ifndef _LIBC_LIMITS_H_
|
||||||
|
/* Use "..." so that we find syslimits.h only in this same directory. */
|
||||||
|
#include "syslimits.h"
|
||||||
|
#endif
|
||||||
|
/* Copyright (C) 1991-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU General Public License as published by the Free
|
||||||
|
Software Foundation; either version 3, or (at your option) any later
|
||||||
|
version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _LIMITS_H___
|
||||||
|
#define _LIMITS_H___
|
||||||
|
|
||||||
|
/* Number of bits in a `char'. */
|
||||||
|
#undef CHAR_BIT
|
||||||
|
#define CHAR_BIT __CHAR_BIT__
|
||||||
|
|
||||||
|
/* Maximum length of a multibyte character. */
|
||||||
|
#ifndef MB_LEN_MAX
|
||||||
|
#define MB_LEN_MAX 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Minimum and maximum values a `signed char' can hold. */
|
||||||
|
#undef SCHAR_MIN
|
||||||
|
#define SCHAR_MIN (-SCHAR_MAX - 1)
|
||||||
|
#undef SCHAR_MAX
|
||||||
|
#define SCHAR_MAX __SCHAR_MAX__
|
||||||
|
|
||||||
|
/* Maximum value an `unsigned char' can hold. (Minimum is 0). */
|
||||||
|
#undef UCHAR_MAX
|
||||||
|
#if __SCHAR_MAX__ == __INT_MAX__
|
||||||
|
# define UCHAR_MAX (SCHAR_MAX * 2U + 1U)
|
||||||
|
#else
|
||||||
|
# define UCHAR_MAX (SCHAR_MAX * 2 + 1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Minimum and maximum values a `char' can hold. */
|
||||||
|
#ifdef __CHAR_UNSIGNED__
|
||||||
|
# undef CHAR_MIN
|
||||||
|
# if __SCHAR_MAX__ == __INT_MAX__
|
||||||
|
# define CHAR_MIN 0U
|
||||||
|
# else
|
||||||
|
# define CHAR_MIN 0
|
||||||
|
# endif
|
||||||
|
# undef CHAR_MAX
|
||||||
|
# define CHAR_MAX UCHAR_MAX
|
||||||
|
#else
|
||||||
|
# undef CHAR_MIN
|
||||||
|
# define CHAR_MIN SCHAR_MIN
|
||||||
|
# undef CHAR_MAX
|
||||||
|
# define CHAR_MAX SCHAR_MAX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Minimum and maximum values a `signed short int' can hold. */
|
||||||
|
#undef SHRT_MIN
|
||||||
|
#define SHRT_MIN (-SHRT_MAX - 1)
|
||||||
|
#undef SHRT_MAX
|
||||||
|
#define SHRT_MAX __SHRT_MAX__
|
||||||
|
|
||||||
|
/* Maximum value an `unsigned short int' can hold. (Minimum is 0). */
|
||||||
|
#undef USHRT_MAX
|
||||||
|
#if __SHRT_MAX__ == __INT_MAX__
|
||||||
|
# define USHRT_MAX (SHRT_MAX * 2U + 1U)
|
||||||
|
#else
|
||||||
|
# define USHRT_MAX (SHRT_MAX * 2 + 1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Minimum and maximum values a `signed int' can hold. */
|
||||||
|
#undef INT_MIN
|
||||||
|
#define INT_MIN (-INT_MAX - 1)
|
||||||
|
#undef INT_MAX
|
||||||
|
#define INT_MAX __INT_MAX__
|
||||||
|
|
||||||
|
/* Maximum value an `unsigned int' can hold. (Minimum is 0). */
|
||||||
|
#undef UINT_MAX
|
||||||
|
#define UINT_MAX (INT_MAX * 2U + 1U)
|
||||||
|
|
||||||
|
/* Minimum and maximum values a `signed long int' can hold.
|
||||||
|
(Same as `int'). */
|
||||||
|
#undef LONG_MIN
|
||||||
|
#define LONG_MIN (-LONG_MAX - 1L)
|
||||||
|
#undef LONG_MAX
|
||||||
|
#define LONG_MAX __LONG_MAX__
|
||||||
|
|
||||||
|
/* Maximum value an `unsigned long int' can hold. (Minimum is 0). */
|
||||||
|
#undef ULONG_MAX
|
||||||
|
#define ULONG_MAX (LONG_MAX * 2UL + 1UL)
|
||||||
|
|
||||||
|
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||||
|
/* Minimum and maximum values a `signed long long int' can hold. */
|
||||||
|
# undef LLONG_MIN
|
||||||
|
# define LLONG_MIN (-LLONG_MAX - 1LL)
|
||||||
|
# undef LLONG_MAX
|
||||||
|
# define LLONG_MAX __LONG_LONG_MAX__
|
||||||
|
|
||||||
|
/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */
|
||||||
|
# undef ULLONG_MAX
|
||||||
|
# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
|
||||||
|
/* Minimum and maximum values a `signed long long int' can hold. */
|
||||||
|
# undef LONG_LONG_MIN
|
||||||
|
# define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
|
||||||
|
# undef LONG_LONG_MAX
|
||||||
|
# define LONG_LONG_MAX __LONG_LONG_MAX__
|
||||||
|
|
||||||
|
/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */
|
||||||
|
# undef ULONG_LONG_MAX
|
||||||
|
# define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (defined __STDC_WANT_IEC_60559_BFP_EXT__ \
|
||||||
|
|| (defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L))
|
||||||
|
/* TS 18661-1 / C2X widths of integer types. */
|
||||||
|
# undef CHAR_WIDTH
|
||||||
|
# define CHAR_WIDTH __SCHAR_WIDTH__
|
||||||
|
# undef SCHAR_WIDTH
|
||||||
|
# define SCHAR_WIDTH __SCHAR_WIDTH__
|
||||||
|
# undef UCHAR_WIDTH
|
||||||
|
# define UCHAR_WIDTH __SCHAR_WIDTH__
|
||||||
|
# undef SHRT_WIDTH
|
||||||
|
# define SHRT_WIDTH __SHRT_WIDTH__
|
||||||
|
# undef USHRT_WIDTH
|
||||||
|
# define USHRT_WIDTH __SHRT_WIDTH__
|
||||||
|
# undef INT_WIDTH
|
||||||
|
# define INT_WIDTH __INT_WIDTH__
|
||||||
|
# undef UINT_WIDTH
|
||||||
|
# define UINT_WIDTH __INT_WIDTH__
|
||||||
|
# undef LONG_WIDTH
|
||||||
|
# define LONG_WIDTH __LONG_WIDTH__
|
||||||
|
# undef ULONG_WIDTH
|
||||||
|
# define ULONG_WIDTH __LONG_WIDTH__
|
||||||
|
# undef LLONG_WIDTH
|
||||||
|
# define LLONG_WIDTH __LONG_LONG_WIDTH__
|
||||||
|
# undef ULLONG_WIDTH
|
||||||
|
# define ULLONG_WIDTH __LONG_LONG_WIDTH__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L
|
||||||
|
/* C2X width and limit of _Bool. */
|
||||||
|
# undef BOOL_MAX
|
||||||
|
# define BOOL_MAX 1
|
||||||
|
# undef BOOL_WIDTH
|
||||||
|
# define BOOL_WIDTH 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _LIMITS_H___ */
|
||||||
|
/* This administrivia gets added to the end of limits.h
|
||||||
|
if the system has its own version of limits.h. */
|
||||||
|
|
||||||
|
#else /* not _GCC_LIMITS_H_ */
|
||||||
|
|
||||||
|
#ifdef _GCC_NEXT_LIMITS_H
|
||||||
|
#include_next <limits.h> /* recurse down to the real one */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* not _GCC_LIMITS_H_ */
|
@ -0,0 +1,8 @@
|
|||||||
|
/* syslimits.h stands for the system's own limits.h file.
|
||||||
|
If we can use it ok unmodified, then we install this text.
|
||||||
|
If fixincludes fixes it, then the fixed version is installed
|
||||||
|
instead of this text. */
|
||||||
|
|
||||||
|
#define _GCC_NEXT_LIMITS_H /* tell gcc's limits.h to recurse */
|
||||||
|
#include_next <limits.h>
|
||||||
|
#undef _GCC_NEXT_LIMITS_H
|
81
lib/gcc/x86_64-linux-musl/12.2.0/include/adxintrin.h
Normal file
81
lib/gcc/x86_64-linux-musl/12.2.0/include/adxintrin.h
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/* Copyright (C) 2012-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _X86GPRINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <adxintrin.h> directly; include <x86gprintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _ADXINTRIN_H_INCLUDED
|
||||||
|
#define _ADXINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
extern __inline unsigned char
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_subborrow_u32 (unsigned char __CF, unsigned int __X,
|
||||||
|
unsigned int __Y, unsigned int *__P)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_sbb_u32 (__CF, __X, __Y, __P);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned char
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_addcarry_u32 (unsigned char __CF, unsigned int __X,
|
||||||
|
unsigned int __Y, unsigned int *__P)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned char
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_addcarryx_u32 (unsigned char __CF, unsigned int __X,
|
||||||
|
unsigned int __Y, unsigned int *__P)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
extern __inline unsigned char
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_subborrow_u64 (unsigned char __CF, unsigned long long __X,
|
||||||
|
unsigned long long __Y, unsigned long long *__P)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_sbb_u64 (__CF, __X, __Y, __P);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned char
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_addcarry_u64 (unsigned char __CF, unsigned long long __X,
|
||||||
|
unsigned long long __Y, unsigned long long *__P)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned char
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_addcarryx_u64 (unsigned char __CF, unsigned long long __X,
|
||||||
|
unsigned long long __Y, unsigned long long *__P)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _ADXINTRIN_H_INCLUDED */
|
93
lib/gcc/x86_64-linux-musl/12.2.0/include/ammintrin.h
Normal file
93
lib/gcc/x86_64-linux-musl/12.2.0/include/ammintrin.h
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
/* Copyright (C) 2007-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/* Implemented from the specification included in the AMD Programmers
|
||||||
|
Manual Update, version 2.x */
|
||||||
|
|
||||||
|
#ifndef _AMMINTRIN_H_INCLUDED
|
||||||
|
#define _AMMINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
/* We need definitions from the SSE3, SSE2 and SSE header files*/
|
||||||
|
#include <pmmintrin.h>
|
||||||
|
|
||||||
|
#ifndef __SSE4A__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("sse4a")
|
||||||
|
#define __DISABLE_SSE4A__
|
||||||
|
#endif /* __SSE4A__ */
|
||||||
|
|
||||||
|
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_stream_sd (double * __P, __m128d __Y)
|
||||||
|
{
|
||||||
|
__builtin_ia32_movntsd (__P, (__v2df) __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_stream_ss (float * __P, __m128 __Y)
|
||||||
|
{
|
||||||
|
__builtin_ia32_movntss (__P, (__v4sf) __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_extract_si64 (__m128i __X, __m128i __Y)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_extrq ((__v2di) __X, (__v16qi) __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __OPTIMIZE__
|
||||||
|
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_extracti_si64 (__m128i __X, unsigned const int __I, unsigned const int __L)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_extrqi ((__v2di) __X, __I, __L);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define _mm_extracti_si64(X, I, L) \
|
||||||
|
((__m128i) __builtin_ia32_extrqi ((__v2di)(__m128i)(X), \
|
||||||
|
(unsigned int)(I), (unsigned int)(L)))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_insert_si64 (__m128i __X,__m128i __Y)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_insertq ((__v2di)__X, (__v2di)__Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __OPTIMIZE__
|
||||||
|
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_inserti_si64(__m128i __X, __m128i __Y, unsigned const int __I, unsigned const int __L)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_insertqi ((__v2di)__X, (__v2di)__Y, __I, __L);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define _mm_inserti_si64(X, Y, I, L) \
|
||||||
|
((__m128i) __builtin_ia32_insertqi ((__v2di)(__m128i)(X), \
|
||||||
|
(__v2di)(__m128i)(Y), \
|
||||||
|
(unsigned int)(I), (unsigned int)(L)))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __DISABLE_SSE4A__
|
||||||
|
#undef __DISABLE_SSE4A__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_SSE4A__ */
|
||||||
|
|
||||||
|
#endif /* _AMMINTRIN_H_INCLUDED */
|
52
lib/gcc/x86_64-linux-musl/12.2.0/include/amxbf16intrin.h
Normal file
52
lib/gcc/x86_64-linux-musl/12.2.0/include/amxbf16intrin.h
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/* Copyright (C) 2020-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <amxbf16intrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AMXBF16INTRIN_H_INCLUDED
|
||||||
|
#define _AMXBF16INTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AMX_BF16__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("amx-bf16")
|
||||||
|
#define __DISABLE_AMX_BF16__
|
||||||
|
#endif /* __AMX_BF16__ */
|
||||||
|
|
||||||
|
#if defined(__x86_64__)
|
||||||
|
#define _tile_dpbf16ps_internal(dst,src1,src2) \
|
||||||
|
__asm__ volatile\
|
||||||
|
("{tdpbf16ps\t%%tmm"#src2", %%tmm"#src1", %%tmm"#dst"|tdpbf16ps\t%%tmm"#dst", %%tmm"#src1", %%tmm"#src2"}" ::)
|
||||||
|
|
||||||
|
#define _tile_dpbf16ps(dst,src1,src2) \
|
||||||
|
_tile_dpbf16ps_internal (dst, src1, src2)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AMX_BF16__
|
||||||
|
#undef __DISABLE_AMX_BF16__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AMX_BF16__ */
|
||||||
|
|
||||||
|
#endif /* _AMXBF16INTRIN_H_INCLUDED */
|
61
lib/gcc/x86_64-linux-musl/12.2.0/include/amxint8intrin.h
Normal file
61
lib/gcc/x86_64-linux-musl/12.2.0/include/amxint8intrin.h
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
/* Copyright (C) 2020-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <amxint8intrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AMXINT8INTRIN_H_INCLUDED
|
||||||
|
#define _AMXINT8INTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AMX_INT8__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("amx-int8")
|
||||||
|
#define __DISABLE_AMX_INT8__
|
||||||
|
#endif /* __AMX_INT8__ */
|
||||||
|
|
||||||
|
#if defined(__x86_64__)
|
||||||
|
#define _tile_int8_dp_internal(name,dst,src1,src2) \
|
||||||
|
__asm__ volatile \
|
||||||
|
("{"#name"\t%%tmm"#src2", %%tmm"#src1", %%tmm"#dst"|"#name"\t%%tmm"#dst", %%tmm"#src1", %%tmm"#src2"}" ::)
|
||||||
|
|
||||||
|
#define _tile_dpbssd(dst,src1,src2) \
|
||||||
|
_tile_int8_dp_internal (tdpbssd, dst, src1, src2)
|
||||||
|
|
||||||
|
#define _tile_dpbsud(dst,src1,src2) \
|
||||||
|
_tile_int8_dp_internal (tdpbsud, dst, src1, src2)
|
||||||
|
|
||||||
|
#define _tile_dpbusd(dst,src1,src2) \
|
||||||
|
_tile_int8_dp_internal (tdpbusd, dst, src1, src2)
|
||||||
|
|
||||||
|
#define _tile_dpbuud(dst,src1,src2) \
|
||||||
|
_tile_int8_dp_internal (tdpbuud, dst, src1, src2)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AMX_INT8__
|
||||||
|
#undef __DISABLE_AMX_INT8__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AMX_INT8__ */
|
||||||
|
|
||||||
|
#endif /* _AMXINT8INTRIN_H_INCLUDED */
|
98
lib/gcc/x86_64-linux-musl/12.2.0/include/amxtileintrin.h
Normal file
98
lib/gcc/x86_64-linux-musl/12.2.0/include/amxtileintrin.h
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
/* Copyright (C) 2020-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <amxtileintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AMXTILEINTRIN_H_INCLUDED
|
||||||
|
#define _AMXTILEINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AMX_TILE__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("amx-tile")
|
||||||
|
#define __DISABLE_AMX_TILE__
|
||||||
|
#endif /* __AMX_TILE__ */
|
||||||
|
|
||||||
|
#if defined(__x86_64__)
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_tile_loadconfig (const void *__config)
|
||||||
|
{
|
||||||
|
__asm__ volatile ("ldtilecfg\t%X0" :: "m" (*((const void **)__config)));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_tile_storeconfig (void *__config)
|
||||||
|
{
|
||||||
|
__asm__ volatile ("sttilecfg\t%X0" : "=m" (*((void **)__config)));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_tile_release (void)
|
||||||
|
{
|
||||||
|
__asm__ volatile ("tilerelease" ::);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define _tile_loadd(dst,base,stride) \
|
||||||
|
_tile_loadd_internal (dst, base, stride)
|
||||||
|
|
||||||
|
#define _tile_loadd_internal(dst,base,stride) \
|
||||||
|
__asm__ volatile \
|
||||||
|
("{tileloadd\t(%0,%1,1), %%tmm"#dst"|tileloadd\t%%tmm"#dst", [%0+%1*1]}" \
|
||||||
|
:: "r" ((const void*) (base)), "r" ((long) (stride)))
|
||||||
|
|
||||||
|
#define _tile_stream_loadd(dst,base,stride) \
|
||||||
|
_tile_stream_loadd_internal (dst, base, stride)
|
||||||
|
|
||||||
|
#define _tile_stream_loadd_internal(dst,base,stride) \
|
||||||
|
__asm__ volatile \
|
||||||
|
("{tileloaddt1\t(%0,%1,1), %%tmm"#dst"|tileloaddt1\t%%tmm"#dst", [%0+%1*1]}" \
|
||||||
|
:: "r" ((const void*) (base)), "r" ((long) (stride)))
|
||||||
|
|
||||||
|
#define _tile_stored(dst,base,stride) \
|
||||||
|
_tile_stored_internal (dst, base, stride)
|
||||||
|
|
||||||
|
#define _tile_stored_internal(src,base,stride) \
|
||||||
|
__asm__ volatile \
|
||||||
|
("{tilestored\t%%tmm"#src", (%0,%1,1)|tilestored\t[%0+%1*1], %%tmm"#src"}" \
|
||||||
|
:: "r" ((void*) (base)), "r" ((long) (stride)) \
|
||||||
|
: "memory")
|
||||||
|
|
||||||
|
#define _tile_zero(dst) \
|
||||||
|
_tile_zero_internal (dst)
|
||||||
|
|
||||||
|
#define _tile_zero_internal(dst) \
|
||||||
|
__asm__ volatile \
|
||||||
|
("tilezero\t%%tmm"#dst ::)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AMX_TILE__
|
||||||
|
#undef __DISABLE_AMX_TILE__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AMX_TILE__ */
|
||||||
|
|
||||||
|
#endif /* _AMXTILEINTRIN_H_INCLUDED */
|
1923
lib/gcc/x86_64-linux-musl/12.2.0/include/avx2intrin.h
Normal file
1923
lib/gcc/x86_64-linux-musl/12.2.0/include/avx2intrin.h
Normal file
File diff suppressed because it is too large
Load Diff
216
lib/gcc/x86_64-linux-musl/12.2.0/include/avx5124fmapsintrin.h
Normal file
216
lib/gcc/x86_64-linux-musl/12.2.0/include/avx5124fmapsintrin.h
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
/* Copyright (C) 2015-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <avx5124fmapsintrin.h> directly; include <x86intrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX5124FMAPSINTRIN_H_INCLUDED
|
||||||
|
#define _AVX5124FMAPSINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX5124FMAPS__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx5124fmaps")
|
||||||
|
#define __DISABLE_AVX5124FMAPS__
|
||||||
|
#endif /* __AVX5124FMAPS__ */
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_4fmadd_ps (__m512 __A, __m512 __B, __m512 __C,
|
||||||
|
__m512 __D, __m512 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_4fmaddps ((__v16sf) __B,
|
||||||
|
(__v16sf) __C,
|
||||||
|
(__v16sf) __D,
|
||||||
|
(__v16sf) __E,
|
||||||
|
(__v16sf) __A,
|
||||||
|
(const __v4sf *) __F);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_4fmadd_ps (__m512 __A, __mmask16 __U, __m512 __B,
|
||||||
|
__m512 __C, __m512 __D, __m512 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_4fmaddps_mask ((__v16sf) __B,
|
||||||
|
(__v16sf) __C,
|
||||||
|
(__v16sf) __D,
|
||||||
|
(__v16sf) __E,
|
||||||
|
(__v16sf) __A,
|
||||||
|
(const __v4sf *) __F,
|
||||||
|
(__v16sf) __A,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_4fmadd_ps (__mmask16 __U,
|
||||||
|
__m512 __A, __m512 __B, __m512 __C,
|
||||||
|
__m512 __D, __m512 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_4fmaddps_mask ((__v16sf) __B,
|
||||||
|
(__v16sf) __C,
|
||||||
|
(__v16sf) __D,
|
||||||
|
(__v16sf) __E,
|
||||||
|
(__v16sf) __A,
|
||||||
|
(const __v4sf *) __F,
|
||||||
|
(__v16sf) _mm512_setzero_ps (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_4fmadd_ss (__m128 __A, __m128 __B, __m128 __C,
|
||||||
|
__m128 __D, __m128 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_4fmaddss ((__v4sf) __B,
|
||||||
|
(__v4sf) __C,
|
||||||
|
(__v4sf) __D,
|
||||||
|
(__v4sf) __E,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(const __v4sf *) __F);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_4fmadd_ss (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C,
|
||||||
|
__m128 __D, __m128 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_4fmaddss_mask ((__v4sf) __B,
|
||||||
|
(__v4sf) __C,
|
||||||
|
(__v4sf) __D,
|
||||||
|
(__v4sf) __E,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(const __v4sf *) __F,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_4fmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C,
|
||||||
|
__m128 __D, __m128 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_4fmaddss_mask ((__v4sf) __B,
|
||||||
|
(__v4sf) __C,
|
||||||
|
(__v4sf) __D,
|
||||||
|
(__v4sf) __E,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(const __v4sf *) __F,
|
||||||
|
(__v4sf) _mm_setzero_ps (),
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_4fnmadd_ps (__m512 __A, __m512 __B, __m512 __C,
|
||||||
|
__m512 __D, __m512 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_4fnmaddps ((__v16sf) __B,
|
||||||
|
(__v16sf) __C,
|
||||||
|
(__v16sf) __D,
|
||||||
|
(__v16sf) __E,
|
||||||
|
(__v16sf) __A,
|
||||||
|
(const __v4sf *) __F);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_4fnmadd_ps (__m512 __A, __mmask16 __U, __m512 __B,
|
||||||
|
__m512 __C, __m512 __D, __m512 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_4fnmaddps_mask ((__v16sf) __B,
|
||||||
|
(__v16sf) __C,
|
||||||
|
(__v16sf) __D,
|
||||||
|
(__v16sf) __E,
|
||||||
|
(__v16sf) __A,
|
||||||
|
(const __v4sf *) __F,
|
||||||
|
(__v16sf) __A,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_4fnmadd_ps (__mmask16 __U,
|
||||||
|
__m512 __A, __m512 __B, __m512 __C,
|
||||||
|
__m512 __D, __m512 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_4fnmaddps_mask ((__v16sf) __B,
|
||||||
|
(__v16sf) __C,
|
||||||
|
(__v16sf) __D,
|
||||||
|
(__v16sf) __E,
|
||||||
|
(__v16sf) __A,
|
||||||
|
(const __v4sf *) __F,
|
||||||
|
(__v16sf) _mm512_setzero_ps (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_4fnmadd_ss (__m128 __A, __m128 __B, __m128 __C,
|
||||||
|
__m128 __D, __m128 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_4fnmaddss ((__v4sf) __B,
|
||||||
|
(__v4sf) __C,
|
||||||
|
(__v4sf) __D,
|
||||||
|
(__v4sf) __E,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(const __v4sf *) __F);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_4fnmadd_ss (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C,
|
||||||
|
__m128 __D, __m128 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_4fnmaddss_mask ((__v4sf) __B,
|
||||||
|
(__v4sf) __C,
|
||||||
|
(__v4sf) __D,
|
||||||
|
(__v4sf) __E,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(const __v4sf *) __F,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_4fnmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C,
|
||||||
|
__m128 __D, __m128 __E, __m128 *__F)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_4fnmaddss_mask ((__v4sf) __B,
|
||||||
|
(__v4sf) __C,
|
||||||
|
(__v4sf) __D,
|
||||||
|
(__v4sf) __E,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(const __v4sf *) __F,
|
||||||
|
(__v4sf) _mm_setzero_ps (),
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX5124FMAPS__
|
||||||
|
#undef __DISABLE_AVX5124FMAPS__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX5124FMAPS__ */
|
||||||
|
|
||||||
|
#endif /* _AVX5124FMAPSINTRIN_H_INCLUDED */
|
132
lib/gcc/x86_64-linux-musl/12.2.0/include/avx5124vnniwintrin.h
Normal file
132
lib/gcc/x86_64-linux-musl/12.2.0/include/avx5124vnniwintrin.h
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
/* Copyright (C) 2015-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <avx5124vnniwintrin.h> directly; include <x86intrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX5124VNNIWINTRIN_H_INCLUDED
|
||||||
|
#define _AVX5124VNNIWINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX5124VNNIW__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx5124vnniw")
|
||||||
|
#define __DISABLE_AVX5124VNNIW__
|
||||||
|
#endif /* __AVX5124VNNIW__ */
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_4dpwssd_epi32 (__m512i __A, __m512i __B, __m512i __C,
|
||||||
|
__m512i __D, __m512i __E, __m128i *__F)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vp4dpwssd ((__v16si) __B,
|
||||||
|
(__v16si) __C,
|
||||||
|
(__v16si) __D,
|
||||||
|
(__v16si) __E,
|
||||||
|
(__v16si) __A,
|
||||||
|
(const __v4si *) __F);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_4dpwssd_epi32 (__m512i __A, __mmask16 __U, __m512i __B,
|
||||||
|
__m512i __C, __m512i __D, __m512i __E,
|
||||||
|
__m128i *__F)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vp4dpwssd_mask ((__v16si) __B,
|
||||||
|
(__v16si) __C,
|
||||||
|
(__v16si) __D,
|
||||||
|
(__v16si) __E,
|
||||||
|
(__v16si) __A,
|
||||||
|
(const __v4si *) __F,
|
||||||
|
(__v16si) __A,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_4dpwssd_epi32 (__mmask16 __U, __m512i __A, __m512i __B,
|
||||||
|
__m512i __C, __m512i __D, __m512i __E,
|
||||||
|
__m128i *__F)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vp4dpwssd_mask ((__v16si) __B,
|
||||||
|
(__v16si) __C,
|
||||||
|
(__v16si) __D,
|
||||||
|
(__v16si) __E,
|
||||||
|
(__v16si) __A,
|
||||||
|
(const __v4si *) __F,
|
||||||
|
(__v16si) _mm512_setzero_ps (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_4dpwssds_epi32 (__m512i __A, __m512i __B, __m512i __C,
|
||||||
|
__m512i __D, __m512i __E, __m128i *__F)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vp4dpwssds ((__v16si) __B,
|
||||||
|
(__v16si) __C,
|
||||||
|
(__v16si) __D,
|
||||||
|
(__v16si) __E,
|
||||||
|
(__v16si) __A,
|
||||||
|
(const __v4si *) __F);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_4dpwssds_epi32 (__m512i __A, __mmask16 __U, __m512i __B,
|
||||||
|
__m512i __C, __m512i __D, __m512i __E,
|
||||||
|
__m128i *__F)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vp4dpwssds_mask ((__v16si) __B,
|
||||||
|
(__v16si) __C,
|
||||||
|
(__v16si) __D,
|
||||||
|
(__v16si) __E,
|
||||||
|
(__v16si) __A,
|
||||||
|
(const __v4si *) __F,
|
||||||
|
(__v16si) __A,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_4dpwssds_epi32 (__mmask16 __U, __m512i __A, __m512i __B,
|
||||||
|
__m512i __C, __m512i __D, __m512i __E,
|
||||||
|
__m128i *__F)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vp4dpwssds_mask ((__v16si) __B,
|
||||||
|
(__v16si) __C,
|
||||||
|
(__v16si) __D,
|
||||||
|
(__v16si) __E,
|
||||||
|
(__v16si) __A,
|
||||||
|
(const __v4si *) __F,
|
||||||
|
(__v16si) _mm512_setzero_ps (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX5124VNNIW__
|
||||||
|
#undef __DISABLE_AVX5124VNNIW__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX5124VNNIW__ */
|
||||||
|
|
||||||
|
#endif /* _AVX5124VNNIWINTRIN_H_INCLUDED */
|
154
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512bf16intrin.h
Normal file
154
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512bf16intrin.h
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
/* Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512bf16intrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512BF16INTRIN_H_INCLUDED
|
||||||
|
#define _AVX512BF16INTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX512BF16__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512bf16")
|
||||||
|
#define __DISABLE_AVX512BF16__
|
||||||
|
#endif /* __AVX512BF16__ */
|
||||||
|
|
||||||
|
/* Internal data types for implementing the intrinsics. */
|
||||||
|
typedef short __v32bh __attribute__ ((__vector_size__ (64)));
|
||||||
|
|
||||||
|
/* The Intel API is flexible enough that we must allow aliasing with other
|
||||||
|
vector types, and their scalar components. */
|
||||||
|
typedef short __m512bh __attribute__ ((__vector_size__ (64), __may_alias__));
|
||||||
|
|
||||||
|
/* Convert One BF16 Data to One Single Float Data. */
|
||||||
|
extern __inline float
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_cvtsbh_ss (__bfloat16 __A)
|
||||||
|
{
|
||||||
|
union{ float a; unsigned int b;} __tmp;
|
||||||
|
__tmp.b = ((unsigned int)(__A)) << 16;
|
||||||
|
return __tmp.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* vcvtne2ps2bf16 */
|
||||||
|
|
||||||
|
extern __inline __m512bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_cvtne2ps_pbh (__m512 __A, __m512 __B)
|
||||||
|
{
|
||||||
|
return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32hi(__A, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_cvtne2ps_pbh (__m512bh __A, __mmask32 __B, __m512 __C, __m512 __D)
|
||||||
|
{
|
||||||
|
return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32hi_mask(__C, __D, __A, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_cvtne2ps_pbh (__mmask32 __A, __m512 __B, __m512 __C)
|
||||||
|
{
|
||||||
|
return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32hi_maskz(__B, __C, __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* vcvtneps2bf16 */
|
||||||
|
|
||||||
|
extern __inline __m256bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_cvtneps_pbh (__m512 __A)
|
||||||
|
{
|
||||||
|
return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf(__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_cvtneps_pbh (__m256bh __A, __mmask16 __B, __m512 __C)
|
||||||
|
{
|
||||||
|
return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf_mask(__C, __A, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_cvtneps_pbh (__mmask16 __A, __m512 __B)
|
||||||
|
{
|
||||||
|
return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf_maskz(__B, __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* vdpbf16ps */
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_dpbf16_ps (__m512 __A, __m512bh __B, __m512bh __C)
|
||||||
|
{
|
||||||
|
return (__m512)__builtin_ia32_dpbf16ps_v16sf(__A, __B, __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_dpbf16_ps (__m512 __A, __mmask16 __B, __m512bh __C, __m512bh __D)
|
||||||
|
{
|
||||||
|
return (__m512)__builtin_ia32_dpbf16ps_v16sf_mask(__A, __C, __D, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_dpbf16_ps (__mmask16 __A, __m512 __B, __m512bh __C, __m512bh __D)
|
||||||
|
{
|
||||||
|
return (__m512)__builtin_ia32_dpbf16ps_v16sf_maskz(__B, __C, __D, __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_cvtpbh_ps (__m256bh __A)
|
||||||
|
{
|
||||||
|
return (__m512)_mm512_castsi512_ps ((__m512i)_mm512_slli_epi32 (
|
||||||
|
(__m512i)_mm512_cvtepi16_epi32 ((__m256i)__A), 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_cvtpbh_ps (__mmask16 __U, __m256bh __A)
|
||||||
|
{
|
||||||
|
return (__m512)_mm512_castsi512_ps ((__m512i) _mm512_slli_epi32 (
|
||||||
|
(__m512i)_mm512_maskz_cvtepi16_epi32 (
|
||||||
|
(__mmask16)__U, (__m256i)__A), 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_cvtpbh_ps (__m512 __S, __mmask16 __U, __m256bh __A)
|
||||||
|
{
|
||||||
|
return (__m512)_mm512_castsi512_ps ((__m512i)(_mm512_mask_slli_epi32 (
|
||||||
|
(__m512i)__S, (__mmask16)__U,
|
||||||
|
(__m512i)_mm512_cvtepi16_epi32 ((__m256i)__A), 16)));
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512BF16__
|
||||||
|
#undef __DISABLE_AVX512BF16__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512BF16__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512BF16INTRIN_H_INCLUDED */
|
246
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512bf16vlintrin.h
Normal file
246
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512bf16vlintrin.h
Normal file
@ -0,0 +1,246 @@
|
|||||||
|
/* Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512bf16vlintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512BF16VLINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512BF16VLINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVX512VL__) || !defined(__AVX512BF16__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512bf16,avx512vl")
|
||||||
|
#define __DISABLE_AVX512BF16VL__
|
||||||
|
#endif /* __AVX512BF16__ */
|
||||||
|
|
||||||
|
/* Internal data types for implementing the intrinsics. */
|
||||||
|
typedef short __v16bh __attribute__ ((__vector_size__ (32)));
|
||||||
|
typedef short __v8bh __attribute__ ((__vector_size__ (16)));
|
||||||
|
|
||||||
|
/* The Intel API is flexible enough that we must allow aliasing with other
|
||||||
|
vector types, and their scalar components. */
|
||||||
|
typedef short __m256bh __attribute__ ((__vector_size__ (32), __may_alias__));
|
||||||
|
typedef short __m128bh __attribute__ ((__vector_size__ (16), __may_alias__));
|
||||||
|
|
||||||
|
typedef unsigned short __bfloat16;
|
||||||
|
/* vcvtne2ps2bf16 */
|
||||||
|
|
||||||
|
extern __inline __m256bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_cvtne2ps_pbh (__m256 __A, __m256 __B)
|
||||||
|
{
|
||||||
|
return (__m256bh)__builtin_ia32_cvtne2ps2bf16_v16hi(__A, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_cvtne2ps_pbh (__m256bh __A, __mmask16 __B, __m256 __C, __m256 __D)
|
||||||
|
{
|
||||||
|
return (__m256bh)__builtin_ia32_cvtne2ps2bf16_v16hi_mask(__C, __D, __A, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_cvtne2ps_pbh (__mmask16 __A, __m256 __B, __m256 __C)
|
||||||
|
{
|
||||||
|
return (__m256bh)__builtin_ia32_cvtne2ps2bf16_v16hi_maskz(__B, __C, __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_cvtne2ps_pbh (__m128 __A, __m128 __B)
|
||||||
|
{
|
||||||
|
return (__m128bh)__builtin_ia32_cvtne2ps2bf16_v8hi(__A, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_cvtne2ps_pbh (__m128bh __A, __mmask8 __B, __m128 __C, __m128 __D)
|
||||||
|
{
|
||||||
|
return (__m128bh)__builtin_ia32_cvtne2ps2bf16_v8hi_mask(__C, __D, __A, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_cvtne2ps_pbh (__mmask8 __A, __m128 __B, __m128 __C)
|
||||||
|
{
|
||||||
|
return (__m128bh)__builtin_ia32_cvtne2ps2bf16_v8hi_maskz(__B, __C, __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* vcvtneps2bf16 */
|
||||||
|
|
||||||
|
extern __inline __m128bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_cvtneps_pbh (__m256 __A)
|
||||||
|
{
|
||||||
|
return (__m128bh)__builtin_ia32_cvtneps2bf16_v8sf(__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_cvtneps_pbh (__m128bh __A, __mmask8 __B, __m256 __C)
|
||||||
|
{
|
||||||
|
return (__m128bh)__builtin_ia32_cvtneps2bf16_v8sf_mask(__C, __A, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_cvtneps_pbh (__mmask8 __A, __m256 __B)
|
||||||
|
{
|
||||||
|
return (__m128bh)__builtin_ia32_cvtneps2bf16_v8sf_maskz(__B, __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_cvtneps_pbh (__m128 __A)
|
||||||
|
{
|
||||||
|
return (__m128bh)__builtin_ia32_cvtneps2bf16_v4sf(__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_cvtneps_pbh (__m128bh __A, __mmask8 __B, __m128 __C)
|
||||||
|
{
|
||||||
|
return (__m128bh)__builtin_ia32_cvtneps2bf16_v4sf_mask(__C, __A, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128bh
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_cvtneps_pbh (__mmask8 __A, __m128 __B)
|
||||||
|
{
|
||||||
|
return (__m128bh)__builtin_ia32_cvtneps2bf16_v4sf_maskz(__B, __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* vdpbf16ps */
|
||||||
|
|
||||||
|
extern __inline __m256
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_dpbf16_ps (__m256 __A, __m256bh __B, __m256bh __C)
|
||||||
|
{
|
||||||
|
return (__m256)__builtin_ia32_dpbf16ps_v8sf(__A, __B, __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_dpbf16_ps (__m256 __A, __mmask8 __B, __m256bh __C, __m256bh __D)
|
||||||
|
{
|
||||||
|
return (__m256)__builtin_ia32_dpbf16ps_v8sf_mask(__A, __C, __D, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_dpbf16_ps (__mmask8 __A, __m256 __B, __m256bh __C, __m256bh __D)
|
||||||
|
{
|
||||||
|
return (__m256)__builtin_ia32_dpbf16ps_v8sf_maskz(__B, __C, __D, __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_dpbf16_ps (__m128 __A, __m128bh __B, __m128bh __C)
|
||||||
|
{
|
||||||
|
return (__m128)__builtin_ia32_dpbf16ps_v4sf(__A, __B, __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_dpbf16_ps (__m128 __A, __mmask8 __B, __m128bh __C, __m128bh __D)
|
||||||
|
{
|
||||||
|
return (__m128)__builtin_ia32_dpbf16ps_v4sf_mask(__A, __C, __D, __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_dpbf16_ps (__mmask8 __A, __m128 __B, __m128bh __C, __m128bh __D)
|
||||||
|
{
|
||||||
|
return (__m128)__builtin_ia32_dpbf16ps_v4sf_maskz(__B, __C, __D, __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __bfloat16
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_cvtness_sbh (float __A)
|
||||||
|
{
|
||||||
|
__v4sf __V = {__A, 0, 0, 0};
|
||||||
|
__v8hi __R = __builtin_ia32_cvtneps2bf16_v4sf_mask ((__v4sf)__V,
|
||||||
|
(__v8hi)_mm_undefined_si128 (), (__mmask8)-1);
|
||||||
|
return __R[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_cvtpbh_ps (__m128bh __A)
|
||||||
|
{
|
||||||
|
return (__m128)_mm_castsi128_ps ((__m128i)_mm_slli_epi32 (
|
||||||
|
(__m128i)_mm_cvtepi16_epi32 ((__m128i)__A), 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_cvtpbh_ps (__m128bh __A)
|
||||||
|
{
|
||||||
|
return (__m256)_mm256_castsi256_ps ((__m256i)_mm256_slli_epi32 (
|
||||||
|
(__m256i)_mm256_cvtepi16_epi32 ((__m128i)__A), 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_cvtpbh_ps (__mmask8 __U, __m128bh __A)
|
||||||
|
{
|
||||||
|
return (__m128)_mm_castsi128_ps ((__m128i)_mm_slli_epi32 (
|
||||||
|
(__m128i)_mm_maskz_cvtepi16_epi32 (
|
||||||
|
(__mmask8)__U, (__m128i)__A), 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_cvtpbh_ps (__mmask8 __U, __m128bh __A)
|
||||||
|
{
|
||||||
|
return (__m256)_mm256_castsi256_ps ((__m256i)_mm256_slli_epi32 (
|
||||||
|
(__m256i)_mm256_maskz_cvtepi16_epi32 (
|
||||||
|
(__mmask8)__U, (__m128i)__A), 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_cvtpbh_ps (__m128 __S, __mmask8 __U, __m128bh __A)
|
||||||
|
{
|
||||||
|
return (__m128)_mm_castsi128_ps ((__m128i)_mm_mask_slli_epi32 (
|
||||||
|
(__m128i)__S, (__mmask8)__U, (__m128i)_mm_cvtepi16_epi32 (
|
||||||
|
(__m128i)__A), 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_cvtpbh_ps (__m256 __S, __mmask8 __U, __m128bh __A)
|
||||||
|
{
|
||||||
|
return (__m256)_mm256_castsi256_ps ((__m256i)_mm256_mask_slli_epi32 (
|
||||||
|
(__m256i)__S, (__mmask8)__U, (__m256i)_mm256_cvtepi16_epi32 (
|
||||||
|
(__m128i)__A), 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512BF16VL__
|
||||||
|
#undef __DISABLE_AVX512BF16VL__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512BF16VL__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512BF16VLINTRIN_H_INCLUDED */
|
283
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512bitalgintrin.h
Normal file
283
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512bitalgintrin.h
Normal file
@ -0,0 +1,283 @@
|
|||||||
|
/* Copyright (C) 2017-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <avx512bitalgintrin.h> directly; include <x86intrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512BITALGINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512BITALGINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX512BITALG__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512bitalg")
|
||||||
|
#define __DISABLE_AVX512BITALG__
|
||||||
|
#endif /* __AVX512BITALG__ */
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_popcnt_epi8 (__m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountb_v64qi ((__v64qi) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_popcnt_epi16 (__m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountw_v32hi ((__v32hi) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512BITALG__
|
||||||
|
#undef __DISABLE_AVX512BITALG__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512BITALG__ */
|
||||||
|
|
||||||
|
#if !defined(__AVX512BITALG__) || !defined(__AVX512BW__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512bitalg,avx512bw")
|
||||||
|
#define __DISABLE_AVX512BITALGBW__
|
||||||
|
#endif /* __AVX512VLBW__ */
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_popcnt_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountb_v64qi_mask ((__v64qi) __A,
|
||||||
|
(__v64qi) __W,
|
||||||
|
(__mmask64) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_popcnt_epi8 (__mmask64 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountb_v64qi_mask ((__v64qi) __A,
|
||||||
|
(__v64qi)
|
||||||
|
_mm512_setzero_si512 (),
|
||||||
|
(__mmask64) __U);
|
||||||
|
}
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_popcnt_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountw_v32hi_mask ((__v32hi) __A,
|
||||||
|
(__v32hi) __W,
|
||||||
|
(__mmask32) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_popcnt_epi16 (__mmask32 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountw_v32hi_mask ((__v32hi) __A,
|
||||||
|
(__v32hi)
|
||||||
|
_mm512_setzero_si512 (),
|
||||||
|
(__mmask32) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __mmask64
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_bitshuffle_epi64_mask (__m512i __A, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__mmask64) __builtin_ia32_vpshufbitqmb512_mask ((__v64qi) __A,
|
||||||
|
(__v64qi) __B,
|
||||||
|
(__mmask64) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __mmask64
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_bitshuffle_epi64_mask (__mmask64 __M, __m512i __A, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__mmask64) __builtin_ia32_vpshufbitqmb512_mask ((__v64qi) __A,
|
||||||
|
(__v64qi) __B,
|
||||||
|
(__mmask64) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512BITALGBW__
|
||||||
|
#undef __DISABLE_AVX512BITALGBW__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512BITALGBW__ */
|
||||||
|
|
||||||
|
#if !defined(__AVX512BITALG__) || !defined(__AVX512VL__) || !defined(__AVX512BW__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512bitalg,avx512vl,avx512bw")
|
||||||
|
#define __DISABLE_AVX512BITALGVLBW__
|
||||||
|
#endif /* __AVX512VLBW__ */
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_popcnt_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountb_v32qi_mask ((__v32qi) __A,
|
||||||
|
(__v32qi) __W,
|
||||||
|
(__mmask32) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_popcnt_epi8 (__mmask32 __U, __m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountb_v32qi_mask ((__v32qi) __A,
|
||||||
|
(__v32qi)
|
||||||
|
_mm256_setzero_si256 (),
|
||||||
|
(__mmask32) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __mmask32
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_bitshuffle_epi64_mask (__m256i __A, __m256i __B)
|
||||||
|
{
|
||||||
|
return (__mmask32) __builtin_ia32_vpshufbitqmb256_mask ((__v32qi) __A,
|
||||||
|
(__v32qi) __B,
|
||||||
|
(__mmask32) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __mmask32
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_bitshuffle_epi64_mask (__mmask32 __M, __m256i __A, __m256i __B)
|
||||||
|
{
|
||||||
|
return (__mmask32) __builtin_ia32_vpshufbitqmb256_mask ((__v32qi) __A,
|
||||||
|
(__v32qi) __B,
|
||||||
|
(__mmask32) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512BITALGVLBW__
|
||||||
|
#undef __DISABLE_AVX512BITALGVLBW__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512BITALGVLBW__ */
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(__AVX512BITALG__) || !defined(__AVX512VL__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512bitalg,avx512vl")
|
||||||
|
#define __DISABLE_AVX512BITALGVL__
|
||||||
|
#endif /* __AVX512VLBW__ */
|
||||||
|
|
||||||
|
extern __inline __mmask16
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_bitshuffle_epi64_mask (__m128i __A, __m128i __B)
|
||||||
|
{
|
||||||
|
return (__mmask16) __builtin_ia32_vpshufbitqmb128_mask ((__v16qi) __A,
|
||||||
|
(__v16qi) __B,
|
||||||
|
(__mmask16) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __mmask16
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_bitshuffle_epi64_mask (__mmask16 __M, __m128i __A, __m128i __B)
|
||||||
|
{
|
||||||
|
return (__mmask16) __builtin_ia32_vpshufbitqmb128_mask ((__v16qi) __A,
|
||||||
|
(__v16qi) __B,
|
||||||
|
(__mmask16) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_popcnt_epi8 (__m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountb_v32qi ((__v32qi) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_popcnt_epi16 (__m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountw_v16hi ((__v16hi) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_popcnt_epi8 (__m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountb_v16qi ((__v16qi) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_popcnt_epi16 (__m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountw_v8hi ((__v8hi) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_popcnt_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountw_v16hi_mask ((__v16hi) __A,
|
||||||
|
(__v16hi) __W,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_popcnt_epi16 (__mmask16 __U, __m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountw_v16hi_mask ((__v16hi) __A,
|
||||||
|
(__v16hi)
|
||||||
|
_mm256_setzero_si256 (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_popcnt_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountb_v16qi_mask ((__v16qi) __A,
|
||||||
|
(__v16qi) __W,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_popcnt_epi8 (__mmask16 __U, __m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountb_v16qi_mask ((__v16qi) __A,
|
||||||
|
(__v16qi)
|
||||||
|
_mm_setzero_si128 (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_popcnt_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountw_v8hi_mask ((__v8hi) __A,
|
||||||
|
(__v8hi) __W,
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_popcnt_epi16 (__mmask8 __U, __m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountw_v8hi_mask ((__v8hi) __A,
|
||||||
|
(__v8hi)
|
||||||
|
_mm_setzero_si128 (),
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
#ifdef __DISABLE_AVX512BITALGVL__
|
||||||
|
#undef __DISABLE_AVX512BITALGVL__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512BITALGBW__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512BITALGINTRIN_H_INCLUDED */
|
3333
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512bwintrin.h
Normal file
3333
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512bwintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
184
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512cdintrin.h
Normal file
184
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512cdintrin.h
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512cdintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512CDINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512CDINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX512CD__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512cd")
|
||||||
|
#define __DISABLE_AVX512CD__
|
||||||
|
#endif /* __AVX512CD__ */
|
||||||
|
|
||||||
|
/* Internal data types for implementing the intrinsics. */
|
||||||
|
typedef long long __v8di __attribute__ ((__vector_size__ (64)));
|
||||||
|
typedef int __v16si __attribute__ ((__vector_size__ (64)));
|
||||||
|
|
||||||
|
/* The Intel API is flexible enough that we must allow aliasing with other
|
||||||
|
vector types, and their scalar components. */
|
||||||
|
typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
|
||||||
|
typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
|
||||||
|
|
||||||
|
typedef unsigned char __mmask8;
|
||||||
|
typedef unsigned short __mmask16;
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_conflict_epi32 (__m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i)
|
||||||
|
__builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
|
||||||
|
(__v16si) _mm512_setzero_si512 (),
|
||||||
|
(__mmask16) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_conflict_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
|
||||||
|
(__v16si) __W,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_conflict_epi32 (__mmask16 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i)
|
||||||
|
__builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
|
||||||
|
(__v16si) _mm512_setzero_si512 (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_conflict_epi64 (__m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i)
|
||||||
|
__builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
|
||||||
|
(__v8di) _mm512_setzero_si512 (),
|
||||||
|
(__mmask8) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_conflict_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
|
||||||
|
(__v8di) __W,
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_conflict_epi64 (__mmask8 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i)
|
||||||
|
__builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
|
||||||
|
(__v8di) _mm512_setzero_si512 (),
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_lzcnt_epi64 (__m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i)
|
||||||
|
__builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
|
||||||
|
(__v8di) _mm512_setzero_si512 (),
|
||||||
|
(__mmask8) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_lzcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
|
||||||
|
(__v8di) __W,
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_lzcnt_epi64 (__mmask8 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i)
|
||||||
|
__builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
|
||||||
|
(__v8di) _mm512_setzero_si512 (),
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_lzcnt_epi32 (__m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i)
|
||||||
|
__builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
|
||||||
|
(__v16si) _mm512_setzero_si512 (),
|
||||||
|
(__mmask16) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_lzcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
|
||||||
|
(__v16si) __W,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_lzcnt_epi32 (__mmask16 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i)
|
||||||
|
__builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
|
||||||
|
(__v16si) _mm512_setzero_si512 (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_broadcastmb_epi64 (__mmask8 __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_broadcastmb512 (__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_broadcastmw_epi32 (__mmask16 __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_broadcastmw512 (__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512CD__
|
||||||
|
#undef __DISABLE_AVX512CD__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512CD__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512CDINTRIN_H_INCLUDED */
|
2891
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512dqintrin.h
Normal file
2891
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512dqintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
542
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512erintrin.h
Normal file
542
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512erintrin.h
Normal file
@ -0,0 +1,542 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512erintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512ERINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512ERINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX512ER__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512er")
|
||||||
|
#define __DISABLE_AVX512ER__
|
||||||
|
#endif /* __AVX512ER__ */
|
||||||
|
|
||||||
|
/* Internal data types for implementing the intrinsics. */
|
||||||
|
typedef double __v8df __attribute__ ((__vector_size__ (64)));
|
||||||
|
typedef float __v16sf __attribute__ ((__vector_size__ (64)));
|
||||||
|
|
||||||
|
/* The Intel API is flexible enough that we must allow aliasing with other
|
||||||
|
vector types, and their scalar components. */
|
||||||
|
typedef float __m512 __attribute__ ((__vector_size__ (64), __may_alias__));
|
||||||
|
typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
|
||||||
|
|
||||||
|
typedef unsigned char __mmask8;
|
||||||
|
typedef unsigned short __mmask16;
|
||||||
|
|
||||||
|
#ifdef __OPTIMIZE__
|
||||||
|
extern __inline __m512d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_exp2a23_round_pd (__m512d __A, int __R)
|
||||||
|
{
|
||||||
|
__m512d __W;
|
||||||
|
return (__m512d) __builtin_ia32_exp2pd_mask ((__v8df) __A,
|
||||||
|
(__v8df) __W,
|
||||||
|
(__mmask8) -1, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_exp2a23_round_pd (__m512d __W, __mmask8 __U, __m512d __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512d) __builtin_ia32_exp2pd_mask ((__v8df) __A,
|
||||||
|
(__v8df) __W,
|
||||||
|
(__mmask8) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_exp2a23_round_pd (__mmask8 __U, __m512d __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512d) __builtin_ia32_exp2pd_mask ((__v8df) __A,
|
||||||
|
(__v8df) _mm512_setzero_pd (),
|
||||||
|
(__mmask8) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_exp2a23_round_ps (__m512 __A, int __R)
|
||||||
|
{
|
||||||
|
__m512 __W;
|
||||||
|
return (__m512) __builtin_ia32_exp2ps_mask ((__v16sf) __A,
|
||||||
|
(__v16sf) __W,
|
||||||
|
(__mmask16) -1, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_exp2a23_round_ps (__m512 __W, __mmask16 __U, __m512 __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_exp2ps_mask ((__v16sf) __A,
|
||||||
|
(__v16sf) __W,
|
||||||
|
(__mmask16) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_exp2a23_round_ps (__mmask16 __U, __m512 __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_exp2ps_mask ((__v16sf) __A,
|
||||||
|
(__v16sf) _mm512_setzero_ps (),
|
||||||
|
(__mmask16) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_rcp28_round_pd (__m512d __A, int __R)
|
||||||
|
{
|
||||||
|
__m512d __W;
|
||||||
|
return (__m512d) __builtin_ia32_rcp28pd_mask ((__v8df) __A,
|
||||||
|
(__v8df) __W,
|
||||||
|
(__mmask8) -1, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_rcp28_round_pd (__m512d __W, __mmask8 __U, __m512d __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512d) __builtin_ia32_rcp28pd_mask ((__v8df) __A,
|
||||||
|
(__v8df) __W,
|
||||||
|
(__mmask8) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_rcp28_round_pd (__mmask8 __U, __m512d __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512d) __builtin_ia32_rcp28pd_mask ((__v8df) __A,
|
||||||
|
(__v8df) _mm512_setzero_pd (),
|
||||||
|
(__mmask8) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_rcp28_round_ps (__m512 __A, int __R)
|
||||||
|
{
|
||||||
|
__m512 __W;
|
||||||
|
return (__m512) __builtin_ia32_rcp28ps_mask ((__v16sf) __A,
|
||||||
|
(__v16sf) __W,
|
||||||
|
(__mmask16) -1, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_rcp28_round_ps (__m512 __W, __mmask16 __U, __m512 __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_rcp28ps_mask ((__v16sf) __A,
|
||||||
|
(__v16sf) __W,
|
||||||
|
(__mmask16) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_rcp28_round_ps (__mmask16 __U, __m512 __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_rcp28ps_mask ((__v16sf) __A,
|
||||||
|
(__v16sf) _mm512_setzero_ps (),
|
||||||
|
(__mmask16) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_rcp28_round_sd (__m128d __A, __m128d __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128d) __builtin_ia32_rcp28sd_round ((__v2df) __B,
|
||||||
|
(__v2df) __A,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_rcp28_round_sd (__m128d __W, __mmask8 __U, __m128d __A,
|
||||||
|
__m128d __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128d) __builtin_ia32_rcp28sd_mask_round ((__v2df) __B,
|
||||||
|
(__v2df) __A,
|
||||||
|
(__v2df) __W,
|
||||||
|
__U,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_rcp28_round_sd (__mmask8 __U, __m128d __A, __m128d __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128d) __builtin_ia32_rcp28sd_mask_round ((__v2df) __B,
|
||||||
|
(__v2df) __A,
|
||||||
|
(__v2df)
|
||||||
|
_mm_setzero_pd (),
|
||||||
|
__U,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_rcp28_round_ss (__m128 __A, __m128 __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_rcp28ss_round ((__v4sf) __B,
|
||||||
|
(__v4sf) __A,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_rcp28_round_ss (__m128 __W, __mmask8 __U, __m128 __A,
|
||||||
|
__m128 __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_rcp28ss_mask_round ((__v4sf) __B,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(__v4sf) __W,
|
||||||
|
__U,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_rcp28_round_ss (__mmask8 __U, __m128 __A, __m128 __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_rcp28ss_mask_round ((__v4sf) __B,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(__v4sf)
|
||||||
|
_mm_setzero_ps (),
|
||||||
|
__U,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_rsqrt28_round_pd (__m512d __A, int __R)
|
||||||
|
{
|
||||||
|
__m512d __W;
|
||||||
|
return (__m512d) __builtin_ia32_rsqrt28pd_mask ((__v8df) __A,
|
||||||
|
(__v8df) __W,
|
||||||
|
(__mmask8) -1, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_rsqrt28_round_pd (__m512d __W, __mmask8 __U, __m512d __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512d) __builtin_ia32_rsqrt28pd_mask ((__v8df) __A,
|
||||||
|
(__v8df) __W,
|
||||||
|
(__mmask8) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_rsqrt28_round_pd (__mmask8 __U, __m512d __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512d) __builtin_ia32_rsqrt28pd_mask ((__v8df) __A,
|
||||||
|
(__v8df) _mm512_setzero_pd (),
|
||||||
|
(__mmask8) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_rsqrt28_round_ps (__m512 __A, int __R)
|
||||||
|
{
|
||||||
|
__m512 __W;
|
||||||
|
return (__m512) __builtin_ia32_rsqrt28ps_mask ((__v16sf) __A,
|
||||||
|
(__v16sf) __W,
|
||||||
|
(__mmask16) -1, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_rsqrt28_round_ps (__m512 __W, __mmask16 __U, __m512 __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_rsqrt28ps_mask ((__v16sf) __A,
|
||||||
|
(__v16sf) __W,
|
||||||
|
(__mmask16) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_rsqrt28_round_ps (__mmask16 __U, __m512 __A, int __R)
|
||||||
|
{
|
||||||
|
return (__m512) __builtin_ia32_rsqrt28ps_mask ((__v16sf) __A,
|
||||||
|
(__v16sf) _mm512_setzero_ps (),
|
||||||
|
(__mmask16) __U, __R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_rsqrt28_round_sd (__m128d __A, __m128d __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128d) __builtin_ia32_rsqrt28sd_round ((__v2df) __B,
|
||||||
|
(__v2df) __A,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_rsqrt28_round_sd (__m128d __W, __mmask8 __U, __m128d __A,
|
||||||
|
__m128d __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128d) __builtin_ia32_rsqrt28sd_mask_round ((__v2df) __B,
|
||||||
|
(__v2df) __A,
|
||||||
|
(__v2df) __W,
|
||||||
|
__U,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128d
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_rsqrt28_round_sd (__mmask8 __U, __m128d __A, __m128d __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128d) __builtin_ia32_rsqrt28sd_mask_round ((__v2df) __B,
|
||||||
|
(__v2df) __A,
|
||||||
|
(__v2df)
|
||||||
|
_mm_setzero_pd (),
|
||||||
|
__U,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_rsqrt28_round_ss (__m128 __A, __m128 __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_rsqrt28ss_round ((__v4sf) __B,
|
||||||
|
(__v4sf) __A,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_rsqrt28_round_ss (__m128 __W, __mmask8 __U, __m128 __A,
|
||||||
|
__m128 __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_rsqrt28ss_mask_round ((__v4sf) __B,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(__v4sf) __W,
|
||||||
|
__U,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_rsqrt28_round_ss (__mmask8 __U, __m128 __A, __m128 __B, int __R)
|
||||||
|
{
|
||||||
|
return (__m128) __builtin_ia32_rsqrt28ss_mask_round ((__v4sf) __B,
|
||||||
|
(__v4sf) __A,
|
||||||
|
(__v4sf)
|
||||||
|
_mm_setzero_ps (),
|
||||||
|
__U,
|
||||||
|
__R);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
#define _mm512_exp2a23_round_pd(A, C) \
|
||||||
|
__builtin_ia32_exp2pd_mask(A, (__v8df)_mm512_setzero_pd(), -1, C)
|
||||||
|
|
||||||
|
#define _mm512_mask_exp2a23_round_pd(W, U, A, C) \
|
||||||
|
__builtin_ia32_exp2pd_mask(A, W, U, C)
|
||||||
|
|
||||||
|
#define _mm512_maskz_exp2a23_round_pd(U, A, C) \
|
||||||
|
__builtin_ia32_exp2pd_mask(A, (__v8df)_mm512_setzero_pd(), U, C)
|
||||||
|
|
||||||
|
#define _mm512_exp2a23_round_ps(A, C) \
|
||||||
|
__builtin_ia32_exp2ps_mask(A, (__v16sf)_mm512_setzero_ps(), -1, C)
|
||||||
|
|
||||||
|
#define _mm512_mask_exp2a23_round_ps(W, U, A, C) \
|
||||||
|
__builtin_ia32_exp2ps_mask(A, W, U, C)
|
||||||
|
|
||||||
|
#define _mm512_maskz_exp2a23_round_ps(U, A, C) \
|
||||||
|
__builtin_ia32_exp2ps_mask(A, (__v16sf)_mm512_setzero_ps(), U, C)
|
||||||
|
|
||||||
|
#define _mm512_rcp28_round_pd(A, C) \
|
||||||
|
__builtin_ia32_rcp28pd_mask(A, (__v8df)_mm512_setzero_pd(), -1, C)
|
||||||
|
|
||||||
|
#define _mm512_mask_rcp28_round_pd(W, U, A, C) \
|
||||||
|
__builtin_ia32_rcp28pd_mask(A, W, U, C)
|
||||||
|
|
||||||
|
#define _mm512_maskz_rcp28_round_pd(U, A, C) \
|
||||||
|
__builtin_ia32_rcp28pd_mask(A, (__v8df)_mm512_setzero_pd(), U, C)
|
||||||
|
|
||||||
|
#define _mm512_rcp28_round_ps(A, C) \
|
||||||
|
__builtin_ia32_rcp28ps_mask(A, (__v16sf)_mm512_setzero_ps(), -1, C)
|
||||||
|
|
||||||
|
#define _mm512_mask_rcp28_round_ps(W, U, A, C) \
|
||||||
|
__builtin_ia32_rcp28ps_mask(A, W, U, C)
|
||||||
|
|
||||||
|
#define _mm512_maskz_rcp28_round_ps(U, A, C) \
|
||||||
|
__builtin_ia32_rcp28ps_mask(A, (__v16sf)_mm512_setzero_ps(), U, C)
|
||||||
|
|
||||||
|
#define _mm512_rsqrt28_round_pd(A, C) \
|
||||||
|
__builtin_ia32_rsqrt28pd_mask(A, (__v8df)_mm512_setzero_pd(), -1, C)
|
||||||
|
|
||||||
|
#define _mm512_mask_rsqrt28_round_pd(W, U, A, C) \
|
||||||
|
__builtin_ia32_rsqrt28pd_mask(A, W, U, C)
|
||||||
|
|
||||||
|
#define _mm512_maskz_rsqrt28_round_pd(U, A, C) \
|
||||||
|
__builtin_ia32_rsqrt28pd_mask(A, (__v8df)_mm512_setzero_pd(), U, C)
|
||||||
|
|
||||||
|
#define _mm512_rsqrt28_round_ps(A, C) \
|
||||||
|
__builtin_ia32_rsqrt28ps_mask(A, (__v16sf)_mm512_setzero_ps(), -1, C)
|
||||||
|
|
||||||
|
#define _mm512_mask_rsqrt28_round_ps(W, U, A, C) \
|
||||||
|
__builtin_ia32_rsqrt28ps_mask(A, W, U, C)
|
||||||
|
|
||||||
|
#define _mm512_maskz_rsqrt28_round_ps(U, A, C) \
|
||||||
|
__builtin_ia32_rsqrt28ps_mask(A, (__v16sf)_mm512_setzero_ps(), U, C)
|
||||||
|
|
||||||
|
#define _mm_rcp28_round_sd(A, B, R) \
|
||||||
|
__builtin_ia32_rcp28sd_round(A, B, R)
|
||||||
|
|
||||||
|
#define _mm_mask_rcp28_round_sd(W, U, A, B, R) \
|
||||||
|
__builtin_ia32_rcp28sd_mask_round ((A), (B), (W), (U), (R))
|
||||||
|
|
||||||
|
#define _mm_maskz_rcp28_round_sd(U, A, B, R) \
|
||||||
|
__builtin_ia32_rcp28sd_mask_round ((A), (B), (__v2df) _mm_setzero_pd (), \
|
||||||
|
(U), (R))
|
||||||
|
|
||||||
|
#define _mm_rcp28_round_ss(A, B, R) \
|
||||||
|
__builtin_ia32_rcp28ss_round(A, B, R)
|
||||||
|
|
||||||
|
#define _mm_mask_rcp28_round_ss(W, U, A, B, R) \
|
||||||
|
__builtin_ia32_rcp28ss_mask_round ((A), (B), (W), (U), (R))
|
||||||
|
|
||||||
|
#define _mm_maskz_rcp28_round_ss(U, A, B, R) \
|
||||||
|
__builtin_ia32_rcp28ss_mask_round ((A), (B), (__v4sf) _mm_setzero_ps (), \
|
||||||
|
(U), (R))
|
||||||
|
|
||||||
|
#define _mm_rsqrt28_round_sd(A, B, R) \
|
||||||
|
__builtin_ia32_rsqrt28sd_round(A, B, R)
|
||||||
|
|
||||||
|
#define _mm_mask_rsqrt28_round_sd(W, U, A, B, R) \
|
||||||
|
__builtin_ia32_rsqrt28sd_mask_round ((A), (B), (W), (U), (R))
|
||||||
|
|
||||||
|
#define _mm_maskz_rsqrt28_round_sd(U, A, B, R) \
|
||||||
|
__builtin_ia32_rsqrt28sd_mask_round ((A), (B), (__v2df) _mm_setzero_pd (),\
|
||||||
|
(U), (R))
|
||||||
|
|
||||||
|
#define _mm_rsqrt28_round_ss(A, B, R) \
|
||||||
|
__builtin_ia32_rsqrt28ss_round(A, B, R)
|
||||||
|
|
||||||
|
#define _mm_mask_rsqrt28_round_ss(W, U, A, B, R) \
|
||||||
|
__builtin_ia32_rsqrt28ss_mask_round ((A), (B), (W), (U), (R))
|
||||||
|
|
||||||
|
#define _mm_maskz_rsqrt28_round_ss(U, A, B, R) \
|
||||||
|
__builtin_ia32_rsqrt28ss_mask_round ((A), (B), (__v4sf) _mm_setzero_ps (),\
|
||||||
|
(U), (R))
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define _mm_mask_rcp28_sd(W, U, A, B)\
|
||||||
|
_mm_mask_rcp28_round_sd ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_maskz_rcp28_sd(U, A, B)\
|
||||||
|
_mm_maskz_rcp28_round_sd ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_mask_rcp28_ss(W, U, A, B)\
|
||||||
|
_mm_mask_rcp28_round_ss ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_maskz_rcp28_ss(U, A, B)\
|
||||||
|
_mm_maskz_rcp28_round_ss ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_mask_rsqrt28_sd(W, U, A, B)\
|
||||||
|
_mm_mask_rsqrt28_round_sd ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_maskz_rsqrt28_sd(U, A, B)\
|
||||||
|
_mm_maskz_rsqrt28_round_sd ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_mask_rsqrt28_ss(W, U, A, B)\
|
||||||
|
_mm_mask_rsqrt28_round_ss ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_maskz_rsqrt28_ss(U, A, B)\
|
||||||
|
_mm_maskz_rsqrt28_round_ss ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_exp2a23_pd(A) \
|
||||||
|
_mm512_exp2a23_round_pd(A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_mask_exp2a23_pd(W, U, A) \
|
||||||
|
_mm512_mask_exp2a23_round_pd(W, U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_maskz_exp2a23_pd(U, A) \
|
||||||
|
_mm512_maskz_exp2a23_round_pd(U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_exp2a23_ps(A) \
|
||||||
|
_mm512_exp2a23_round_ps(A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_mask_exp2a23_ps(W, U, A) \
|
||||||
|
_mm512_mask_exp2a23_round_ps(W, U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_maskz_exp2a23_ps(U, A) \
|
||||||
|
_mm512_maskz_exp2a23_round_ps(U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_rcp28_pd(A) \
|
||||||
|
_mm512_rcp28_round_pd(A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_mask_rcp28_pd(W, U, A) \
|
||||||
|
_mm512_mask_rcp28_round_pd(W, U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_maskz_rcp28_pd(U, A) \
|
||||||
|
_mm512_maskz_rcp28_round_pd(U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_rcp28_ps(A) \
|
||||||
|
_mm512_rcp28_round_ps(A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_mask_rcp28_ps(W, U, A) \
|
||||||
|
_mm512_mask_rcp28_round_ps(W, U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_maskz_rcp28_ps(U, A) \
|
||||||
|
_mm512_maskz_rcp28_round_ps(U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_rsqrt28_pd(A) \
|
||||||
|
_mm512_rsqrt28_round_pd(A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_mask_rsqrt28_pd(W, U, A) \
|
||||||
|
_mm512_mask_rsqrt28_round_pd(W, U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_maskz_rsqrt28_pd(U, A) \
|
||||||
|
_mm512_maskz_rsqrt28_round_pd(U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_rsqrt28_ps(A) \
|
||||||
|
_mm512_rsqrt28_round_ps(A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_mask_rsqrt28_ps(W, U, A) \
|
||||||
|
_mm512_mask_rsqrt28_round_ps(W, U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm512_maskz_rsqrt28_ps(U, A) \
|
||||||
|
_mm512_maskz_rsqrt28_round_ps(U, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_rcp28_sd(A, B) \
|
||||||
|
__builtin_ia32_rcp28sd_round(B, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_rcp28_ss(A, B) \
|
||||||
|
__builtin_ia32_rcp28ss_round(B, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_rsqrt28_sd(A, B) \
|
||||||
|
__builtin_ia32_rsqrt28sd_round(B, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#define _mm_rsqrt28_ss(A, B) \
|
||||||
|
__builtin_ia32_rsqrt28ss_round(B, A, _MM_FROUND_CUR_DIRECTION)
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512ER__
|
||||||
|
#undef __DISABLE_AVX512ER__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512ER__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512ERINTRIN_H_INCLUDED */
|
16474
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512fintrin.h
Normal file
16474
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512fintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
7209
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512fp16intrin.h
Normal file
7209
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512fp16intrin.h
Normal file
File diff suppressed because it is too large
Load Diff
3362
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512fp16vlintrin.h
Normal file
3362
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512fp16vlintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
104
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512ifmaintrin.h
Normal file
104
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512ifmaintrin.h
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512ifmaintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512IFMAINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512IFMAINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX512IFMA__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512ifma")
|
||||||
|
#define __DISABLE_AVX512IFMA__
|
||||||
|
#endif /* __AVX512IFMA__ */
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_madd52lo_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpmadd52luq512_mask ((__v8di) __X,
|
||||||
|
(__v8di) __Y,
|
||||||
|
(__v8di) __Z,
|
||||||
|
(__mmask8) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_madd52hi_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpmadd52huq512_mask ((__v8di) __X,
|
||||||
|
(__v8di) __Y,
|
||||||
|
(__v8di) __Z,
|
||||||
|
(__mmask8) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_madd52lo_epu64 (__m512i __W, __mmask8 __M, __m512i __X,
|
||||||
|
__m512i __Y)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpmadd52luq512_mask ((__v8di) __W,
|
||||||
|
(__v8di) __X,
|
||||||
|
(__v8di) __Y,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_madd52hi_epu64 (__m512i __W, __mmask8 __M, __m512i __X,
|
||||||
|
__m512i __Y)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpmadd52huq512_mask ((__v8di) __W,
|
||||||
|
(__v8di) __X,
|
||||||
|
(__v8di) __Y,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_madd52lo_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpmadd52luq512_maskz ((__v8di) __X,
|
||||||
|
(__v8di) __Y,
|
||||||
|
(__v8di) __Z,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_madd52hi_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpmadd52huq512_maskz ((__v8di) __X,
|
||||||
|
(__v8di) __Y,
|
||||||
|
(__v8di) __Z,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512IFMA__
|
||||||
|
#undef __DISABLE_AVX512IFMA__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512IFMA__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512IFMAINTRIN_H_INCLUDED */
|
164
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512ifmavlintrin.h
Normal file
164
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512ifmavlintrin.h
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512ifmavlintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512IFMAVLINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512IFMAVLINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVX512VL__) || !defined(__AVX512IFMA__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512ifma,avx512vl")
|
||||||
|
#define __DISABLE_AVX512IFMAVL__
|
||||||
|
#endif /* __AVX512IFMAVL__ */
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_madd52lo_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpmadd52luq128_mask ((__v2di) __X,
|
||||||
|
(__v2di) __Y,
|
||||||
|
(__v2di) __Z,
|
||||||
|
(__mmask8) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_madd52hi_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpmadd52huq128_mask ((__v2di) __X,
|
||||||
|
(__v2di) __Y,
|
||||||
|
(__v2di) __Z,
|
||||||
|
(__mmask8) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_madd52lo_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpmadd52luq256_mask ((__v4di) __X,
|
||||||
|
(__v4di) __Y,
|
||||||
|
(__v4di) __Z,
|
||||||
|
(__mmask8) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_madd52hi_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpmadd52huq256_mask ((__v4di) __X,
|
||||||
|
(__v4di) __Y,
|
||||||
|
(__v4di) __Z,
|
||||||
|
(__mmask8) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_madd52lo_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpmadd52luq128_mask ((__v2di) __W,
|
||||||
|
(__v2di) __X,
|
||||||
|
(__v2di) __Y,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_madd52hi_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpmadd52huq128_mask ((__v2di) __W,
|
||||||
|
(__v2di) __X,
|
||||||
|
(__v2di) __Y,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_madd52lo_epu64 (__m256i __W, __mmask8 __M, __m256i __X,
|
||||||
|
__m256i __Y)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpmadd52luq256_mask ((__v4di) __W,
|
||||||
|
(__v4di) __X,
|
||||||
|
(__v4di) __Y,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_madd52hi_epu64 (__m256i __W, __mmask8 __M, __m256i __X,
|
||||||
|
__m256i __Y)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpmadd52huq256_mask ((__v4di) __W,
|
||||||
|
(__v4di) __X,
|
||||||
|
(__v4di) __Y,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_madd52lo_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpmadd52luq128_maskz ((__v2di) __X,
|
||||||
|
(__v2di) __Y,
|
||||||
|
(__v2di) __Z,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_madd52hi_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpmadd52huq128_maskz ((__v2di) __X,
|
||||||
|
(__v2di) __Y,
|
||||||
|
(__v2di) __Z,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_madd52lo_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpmadd52luq256_maskz ((__v4di) __X,
|
||||||
|
(__v4di) __Y,
|
||||||
|
(__v4di) __Z,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_madd52hi_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpmadd52huq256_maskz ((__v4di) __X,
|
||||||
|
(__v4di) __Y,
|
||||||
|
(__v4di) __Z,
|
||||||
|
(__mmask8) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512IFMAVL__
|
||||||
|
#undef __DISABLE_AVX512IFMAVL__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512IFMAVL__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512IFMAVLINTRIN_H_INCLUDED */
|
269
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512pfintrin.h
Normal file
269
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512pfintrin.h
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512pfintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512PFINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512PFINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX512PF__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512pf")
|
||||||
|
#define __DISABLE_AVX512PF__
|
||||||
|
#endif /* __AVX512PF__ */
|
||||||
|
|
||||||
|
/* Internal data types for implementing the intrinsics. */
|
||||||
|
typedef long long __v8di __attribute__ ((__vector_size__ (64)));
|
||||||
|
typedef int __v16si __attribute__ ((__vector_size__ (64)));
|
||||||
|
|
||||||
|
/* The Intel API is flexible enough that we must allow aliasing with other
|
||||||
|
vector types, and their scalar components. */
|
||||||
|
typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
|
||||||
|
|
||||||
|
typedef unsigned char __mmask8;
|
||||||
|
typedef unsigned short __mmask16;
|
||||||
|
|
||||||
|
#ifdef __OPTIMIZE__
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_prefetch_i32gather_pd (__m256i __index, void const *__addr,
|
||||||
|
int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_gatherpfdpd ((__mmask8) 0xFF, (__v8si) __index, __addr,
|
||||||
|
__scale, __hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_prefetch_i32gather_ps (__m512i __index, void const *__addr,
|
||||||
|
int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_gatherpfdps ((__mmask16) 0xFFFF, (__v16si) __index, __addr,
|
||||||
|
__scale, __hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_prefetch_i32gather_pd (__m256i __index, __mmask8 __mask,
|
||||||
|
void const *__addr, int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_gatherpfdpd (__mask, (__v8si) __index, __addr, __scale,
|
||||||
|
__hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_prefetch_i32gather_ps (__m512i __index, __mmask16 __mask,
|
||||||
|
void const *__addr, int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_gatherpfdps (__mask, (__v16si) __index, __addr, __scale,
|
||||||
|
__hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_prefetch_i64gather_pd (__m512i __index, void const *__addr,
|
||||||
|
int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_gatherpfqpd ((__mmask8) 0xFF, (__v8di) __index, __addr,
|
||||||
|
__scale, __hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_prefetch_i64gather_ps (__m512i __index, void const *__addr,
|
||||||
|
int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_gatherpfqps ((__mmask8) 0xFF, (__v8di) __index, __addr,
|
||||||
|
__scale, __hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_prefetch_i64gather_pd (__m512i __index, __mmask8 __mask,
|
||||||
|
void const *__addr, int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_gatherpfqpd (__mask, (__v8di) __index, __addr, __scale,
|
||||||
|
__hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_prefetch_i64gather_ps (__m512i __index, __mmask8 __mask,
|
||||||
|
void const *__addr, int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_gatherpfqps (__mask, (__v8di) __index, __addr, __scale,
|
||||||
|
__hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_prefetch_i32scatter_pd (void *__addr, __m256i __index, int __scale,
|
||||||
|
int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_scatterpfdpd ((__mmask8) 0xFF, (__v8si) __index, __addr,
|
||||||
|
__scale, __hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_prefetch_i32scatter_ps (void *__addr, __m512i __index, int __scale,
|
||||||
|
int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_scatterpfdps ((__mmask16) 0xFFFF, (__v16si) __index, __addr,
|
||||||
|
__scale, __hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_prefetch_i32scatter_pd (void *__addr, __mmask8 __mask,
|
||||||
|
__m256i __index, int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_scatterpfdpd (__mask, (__v8si) __index, __addr, __scale,
|
||||||
|
__hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_prefetch_i32scatter_ps (void *__addr, __mmask16 __mask,
|
||||||
|
__m512i __index, int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_scatterpfdps (__mask, (__v16si) __index, __addr, __scale,
|
||||||
|
__hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_prefetch_i64scatter_pd (void *__addr, __m512i __index, int __scale,
|
||||||
|
int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_scatterpfqpd ((__mmask8) 0xFF, (__v8di) __index,__addr,
|
||||||
|
__scale, __hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_prefetch_i64scatter_ps (void *__addr, __m512i __index, int __scale,
|
||||||
|
int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_scatterpfqps ((__mmask8) 0xFF, (__v8di) __index, __addr,
|
||||||
|
__scale, __hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_prefetch_i64scatter_pd (void *__addr, __mmask8 __mask,
|
||||||
|
__m512i __index, int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_scatterpfqpd (__mask, (__v8di) __index, __addr, __scale,
|
||||||
|
__hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_prefetch_i64scatter_ps (void *__addr, __mmask8 __mask,
|
||||||
|
__m512i __index, int __scale, int __hint)
|
||||||
|
{
|
||||||
|
__builtin_ia32_scatterpfqps (__mask, (__v8di) __index, __addr, __scale,
|
||||||
|
__hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
#define _mm512_prefetch_i32gather_pd(INDEX, ADDR, SCALE, HINT) \
|
||||||
|
__builtin_ia32_gatherpfdpd ((__mmask8)0xFF, (__v8si)(__m256i) (INDEX), \
|
||||||
|
(void const *) (ADDR), (int) (SCALE), \
|
||||||
|
(int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_prefetch_i32gather_ps(INDEX, ADDR, SCALE, HINT) \
|
||||||
|
__builtin_ia32_gatherpfdps ((__mmask16)0xFFFF, (__v16si)(__m512i) (INDEX), \
|
||||||
|
(void const *) (ADDR), (int) (SCALE), \
|
||||||
|
(int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_mask_prefetch_i32gather_pd(INDEX, MASK, ADDR, SCALE, HINT) \
|
||||||
|
__builtin_ia32_gatherpfdpd ((__mmask8) (MASK), (__v8si)(__m256i) (INDEX), \
|
||||||
|
(void const *) (ADDR), (int) (SCALE), \
|
||||||
|
(int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_mask_prefetch_i32gather_ps(INDEX, MASK, ADDR, SCALE, HINT) \
|
||||||
|
__builtin_ia32_gatherpfdps ((__mmask16) (MASK), (__v16si)(__m512i) (INDEX),\
|
||||||
|
(void const *) (ADDR), (int) (SCALE), \
|
||||||
|
(int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_prefetch_i64gather_pd(INDEX, ADDR, SCALE, HINT) \
|
||||||
|
__builtin_ia32_gatherpfqpd ((__mmask8)0xFF, (__v8di)(__m512i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_prefetch_i64gather_ps(INDEX, ADDR, SCALE, HINT) \
|
||||||
|
__builtin_ia32_gatherpfqps ((__mmask8)0xFF, (__v8di)(__m512i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_mask_prefetch_i64gather_pd(INDEX, MASK, ADDR, SCALE, HINT) \
|
||||||
|
__builtin_ia32_gatherpfqpd ((__mmask8) (MASK), (__v8di)(__m512i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_mask_prefetch_i64gather_ps(INDEX, MASK, ADDR, SCALE, HINT) \
|
||||||
|
__builtin_ia32_gatherpfqps ((__mmask8) (MASK), (__v8di)(__m512i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_prefetch_i32scatter_pd(ADDR, INDEX, SCALE, HINT) \
|
||||||
|
__builtin_ia32_scatterpfdpd ((__mmask8)0xFF, (__v8si)(__m256i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_prefetch_i32scatter_ps(ADDR, INDEX, SCALE, HINT) \
|
||||||
|
__builtin_ia32_scatterpfdps ((__mmask16)0xFFFF, (__v16si)(__m512i) (INDEX),\
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_mask_prefetch_i32scatter_pd(ADDR, MASK, INDEX, SCALE, HINT) \
|
||||||
|
__builtin_ia32_scatterpfdpd ((__mmask8) (MASK), (__v8si)(__m256i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_mask_prefetch_i32scatter_ps(ADDR, MASK, INDEX, SCALE, HINT) \
|
||||||
|
__builtin_ia32_scatterpfdps ((__mmask16) (MASK), \
|
||||||
|
(__v16si)(__m512i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_prefetch_i64scatter_pd(ADDR, INDEX, SCALE, HINT) \
|
||||||
|
__builtin_ia32_scatterpfqpd ((__mmask8)0xFF, (__v8di)(__m512i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_prefetch_i64scatter_ps(ADDR, INDEX, SCALE, HINT) \
|
||||||
|
__builtin_ia32_scatterpfqps ((__mmask8)0xFF, (__v8di)(__m512i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_mask_prefetch_i64scatter_pd(ADDR, MASK, INDEX, SCALE, HINT) \
|
||||||
|
__builtin_ia32_scatterpfqpd ((__mmask8) (MASK), (__v8di)(__m512i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
|
||||||
|
#define _mm512_mask_prefetch_i64scatter_ps(ADDR, MASK, INDEX, SCALE, HINT) \
|
||||||
|
__builtin_ia32_scatterpfqps ((__mmask8) (MASK), (__v8di)(__m512i) (INDEX), \
|
||||||
|
(void *) (ADDR), (int) (SCALE), (int) (HINT))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512PF__
|
||||||
|
#undef __DISABLE_AVX512PF__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512PF__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512PFINTRIN_H_INCLUDED */
|
557
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vbmi2intrin.h
Normal file
557
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vbmi2intrin.h
Normal file
@ -0,0 +1,557 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512vbmi2intrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __AVX512VBMI2INTRIN_H_INCLUDED
|
||||||
|
#define __AVX512VBMI2INTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVX512VBMI2__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vbmi2")
|
||||||
|
#define __DISABLE_AVX512VBMI2__
|
||||||
|
#endif /* __AVX512VBMI2__ */
|
||||||
|
|
||||||
|
#ifdef __OPTIMIZE__
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shrdi_epi16 (__m512i __A, __m512i __B, int __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshrd_v32hi ((__v32hi)__A, (__v32hi) __B,
|
||||||
|
__C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shrdi_epi32 (__m512i __A, __m512i __B, int __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshrd_v16si ((__v16si)__A, (__v16si) __B,
|
||||||
|
__C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shrdi_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D,
|
||||||
|
int __E)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrd_v16si_mask ((__v16si)__C,
|
||||||
|
(__v16si) __D, __E, (__v16si) __A, (__mmask16)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shrdi_epi32 (__mmask16 __A, __m512i __B, __m512i __C, int __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrd_v16si_mask ((__v16si)__B,
|
||||||
|
(__v16si) __C, __D, (__v16si) _mm512_setzero_si512 (), (__mmask16)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shrdi_epi64 (__m512i __A, __m512i __B, int __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshrd_v8di ((__v8di)__A, (__v8di) __B, __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shrdi_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D,
|
||||||
|
int __E)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrd_v8di_mask ((__v8di)__C, (__v8di) __D,
|
||||||
|
__E, (__v8di) __A, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shrdi_epi64 (__mmask8 __A, __m512i __B, __m512i __C, int __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrd_v8di_mask ((__v8di)__B, (__v8di) __C,
|
||||||
|
__D, (__v8di) _mm512_setzero_si512 (), (__mmask8)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shldi_epi16 (__m512i __A, __m512i __B, int __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshld_v32hi ((__v32hi)__A, (__v32hi) __B,
|
||||||
|
__C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shldi_epi32 (__m512i __A, __m512i __B, int __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshld_v16si ((__v16si)__A, (__v16si) __B,
|
||||||
|
__C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shldi_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D,
|
||||||
|
int __E)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshld_v16si_mask ((__v16si)__C,
|
||||||
|
(__v16si) __D, __E, (__v16si) __A, (__mmask16)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shldi_epi32 (__mmask16 __A, __m512i __B, __m512i __C, int __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshld_v16si_mask ((__v16si)__B,
|
||||||
|
(__v16si) __C, __D, (__v16si) _mm512_setzero_si512 (), (__mmask16)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shldi_epi64 (__m512i __A, __m512i __B, int __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshld_v8di ((__v8di)__A, (__v8di) __B, __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shldi_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D,
|
||||||
|
int __E)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshld_v8di_mask ((__v8di)__C, (__v8di) __D,
|
||||||
|
__E, (__v8di) __A, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shldi_epi64 (__mmask8 __A, __m512i __B, __m512i __C, int __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshld_v8di_mask ((__v8di)__B, (__v8di) __C,
|
||||||
|
__D, (__v8di) _mm512_setzero_si512 (), (__mmask8)__A);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define _mm512_shrdi_epi16(A, B, C) \
|
||||||
|
((__m512i) __builtin_ia32_vpshrd_v32hi ((__v32hi)(__m512i)(A), \
|
||||||
|
(__v32hi)(__m512i)(B),(int)(C)))
|
||||||
|
#define _mm512_shrdi_epi32(A, B, C) \
|
||||||
|
((__m512i) __builtin_ia32_vpshrd_v16si ((__v16si)(__m512i)(A), \
|
||||||
|
(__v16si)(__m512i)(B),(int)(C)))
|
||||||
|
#define _mm512_mask_shrdi_epi32(A, B, C, D, E) \
|
||||||
|
((__m512i) __builtin_ia32_vpshrd_v16si_mask ((__v16si)(__m512i)(C), \
|
||||||
|
(__v16si)(__m512i)(D), \
|
||||||
|
(int)(E), \
|
||||||
|
(__v16si)(__m512i)(A), \
|
||||||
|
(__mmask16)(B)))
|
||||||
|
#define _mm512_maskz_shrdi_epi32(A, B, C, D) \
|
||||||
|
((__m512i) \
|
||||||
|
__builtin_ia32_vpshrd_v16si_mask ((__v16si)(__m512i)(B), \
|
||||||
|
(__v16si)(__m512i)(C),(int)(D), \
|
||||||
|
(__v16si)(__m512i)_mm512_setzero_si512 (), \
|
||||||
|
(__mmask16)(A)))
|
||||||
|
#define _mm512_shrdi_epi64(A, B, C) \
|
||||||
|
((__m512i) __builtin_ia32_vpshrd_v8di ((__v8di)(__m512i)(A), \
|
||||||
|
(__v8di)(__m512i)(B),(int)(C)))
|
||||||
|
#define _mm512_mask_shrdi_epi64(A, B, C, D, E) \
|
||||||
|
((__m512i) __builtin_ia32_vpshrd_v8di_mask ((__v8di)(__m512i)(C), \
|
||||||
|
(__v8di)(__m512i)(D), (int)(E), \
|
||||||
|
(__v8di)(__m512i)(A), \
|
||||||
|
(__mmask8)(B)))
|
||||||
|
#define _mm512_maskz_shrdi_epi64(A, B, C, D) \
|
||||||
|
((__m512i) \
|
||||||
|
__builtin_ia32_vpshrd_v8di_mask ((__v8di)(__m512i)(B), \
|
||||||
|
(__v8di)(__m512i)(C),(int)(D), \
|
||||||
|
(__v8di)(__m512i)_mm512_setzero_si512 (), \
|
||||||
|
(__mmask8)(A)))
|
||||||
|
#define _mm512_shldi_epi16(A, B, C) \
|
||||||
|
((__m512i) __builtin_ia32_vpshld_v32hi ((__v32hi)(__m512i)(A), \
|
||||||
|
(__v32hi)(__m512i)(B),(int)(C)))
|
||||||
|
#define _mm512_shldi_epi32(A, B, C) \
|
||||||
|
((__m512i) __builtin_ia32_vpshld_v16si ((__v16si)(__m512i)(A), \
|
||||||
|
(__v16si)(__m512i)(B),(int)(C)))
|
||||||
|
#define _mm512_mask_shldi_epi32(A, B, C, D, E) \
|
||||||
|
((__m512i) __builtin_ia32_vpshld_v16si_mask ((__v16si)(__m512i)(C), \
|
||||||
|
(__v16si)(__m512i)(D), \
|
||||||
|
(int)(E), \
|
||||||
|
(__v16si)(__m512i)(A), \
|
||||||
|
(__mmask16)(B)))
|
||||||
|
#define _mm512_maskz_shldi_epi32(A, B, C, D) \
|
||||||
|
((__m512i) \
|
||||||
|
__builtin_ia32_vpshld_v16si_mask ((__v16si)(__m512i)(B), \
|
||||||
|
(__v16si)(__m512i)(C),(int)(D), \
|
||||||
|
(__v16si)(__m512i)_mm512_setzero_si512 (), \
|
||||||
|
(__mmask16)(A)))
|
||||||
|
#define _mm512_shldi_epi64(A, B, C) \
|
||||||
|
((__m512i) __builtin_ia32_vpshld_v8di ((__v8di)(__m512i)(A), \
|
||||||
|
(__v8di)(__m512i)(B), (int)(C)))
|
||||||
|
#define _mm512_mask_shldi_epi64(A, B, C, D, E) \
|
||||||
|
((__m512i) __builtin_ia32_vpshld_v8di_mask ((__v8di)(__m512i)(C), \
|
||||||
|
(__v8di)(__m512i)(D), (int)(E), \
|
||||||
|
(__v8di)(__m512i)(A), \
|
||||||
|
(__mmask8)(B)))
|
||||||
|
#define _mm512_maskz_shldi_epi64(A, B, C, D) \
|
||||||
|
((__m512i) \
|
||||||
|
__builtin_ia32_vpshld_v8di_mask ((__v8di)(__m512i)(B), \
|
||||||
|
(__v8di)(__m512i)(C),(int)(D), \
|
||||||
|
(__v8di)(__m512i)_mm512_setzero_si512 (), \
|
||||||
|
(__mmask8)(A)))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shrdv_epi16 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshrdv_v32hi ((__v32hi)__A, (__v32hi) __B,
|
||||||
|
(__v32hi) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shrdv_epi32 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshrdv_v16si ((__v16si)__A, (__v16si) __B,
|
||||||
|
(__v16si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shrdv_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrdv_v16si_mask ((__v16si)__A,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shrdv_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrdv_v16si_maskz ((__v16si)__B,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shrdv_epi64 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshrdv_v8di ((__v8di)__A, (__v8di) __B,
|
||||||
|
(__v8di) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shrdv_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrdv_v8di_mask ((__v8di)__A, (__v8di) __C,
|
||||||
|
(__v8di) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shrdv_epi64 (__mmask8 __A, __m512i __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrdv_v8di_maskz ((__v8di)__B, (__v8di) __C,
|
||||||
|
(__v8di) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shldv_epi16 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshldv_v32hi ((__v32hi)__A, (__v32hi) __B,
|
||||||
|
(__v32hi) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shldv_epi32 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshldv_v16si ((__v16si)__A, (__v16si) __B,
|
||||||
|
(__v16si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shldv_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshldv_v16si_mask ((__v16si)__A,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shldv_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshldv_v16si_maskz ((__v16si)__B,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_shldv_epi64 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpshldv_v8di ((__v8di)__A, (__v8di) __B,
|
||||||
|
(__v8di) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shldv_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshldv_v8di_mask ((__v8di)__A, (__v8di) __C,
|
||||||
|
(__v8di) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shldv_epi64 (__mmask8 __A, __m512i __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshldv_v8di_maskz ((__v8di)__B, (__v8di) __C,
|
||||||
|
(__v8di) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512VBMI2__
|
||||||
|
#undef __DISABLE_AVX512VBMI2__
|
||||||
|
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VBMI2__ */
|
||||||
|
|
||||||
|
#if !defined(__AVX512VBMI2__) || !defined(__AVX512BW__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vbmi2,avx512bw")
|
||||||
|
#define __DISABLE_AVX512VBMI2BW__
|
||||||
|
#endif /* __AVX512VBMI2BW__ */
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_compress_epi8 (__m512i __A, __mmask64 __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_compressqi512_mask ((__v64qi)__C,
|
||||||
|
(__v64qi)__A, (__mmask64)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_compress_epi8 (__mmask64 __A, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_compressqi512_mask ((__v64qi)__B,
|
||||||
|
(__v64qi)_mm512_setzero_si512 (), (__mmask64)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_compressstoreu_epi8 (void * __A, __mmask64 __B, __m512i __C)
|
||||||
|
{
|
||||||
|
__builtin_ia32_compressstoreuqi512_mask ((__v64qi *) __A, (__v64qi) __C,
|
||||||
|
(__mmask64) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_compress_epi16 (__m512i __A, __mmask32 __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_compresshi512_mask ((__v32hi)__C,
|
||||||
|
(__v32hi)__A, (__mmask32)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_compress_epi16 (__mmask32 __A, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_compresshi512_mask ((__v32hi)__B,
|
||||||
|
(__v32hi)_mm512_setzero_si512 (), (__mmask32)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_compressstoreu_epi16 (void * __A, __mmask32 __B, __m512i __C)
|
||||||
|
{
|
||||||
|
__builtin_ia32_compressstoreuhi512_mask ((__v32hi *) __A, (__v32hi) __C,
|
||||||
|
(__mmask32) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_expand_epi8 (__m512i __A, __mmask64 __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_expandqi512_mask ((__v64qi) __C,
|
||||||
|
(__v64qi) __A,
|
||||||
|
(__mmask64) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_expand_epi8 (__mmask64 __A, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_expandqi512_maskz ((__v64qi) __B,
|
||||||
|
(__v64qi) _mm512_setzero_si512 (), (__mmask64) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_expandloadu_epi8 (__m512i __A, __mmask64 __B, const void * __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_expandloadqi512_mask ((const __v64qi *) __C,
|
||||||
|
(__v64qi) __A, (__mmask64) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_expandloadu_epi8 (__mmask64 __A, const void * __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_expandloadqi512_maskz ((const __v64qi *) __B,
|
||||||
|
(__v64qi) _mm512_setzero_si512 (), (__mmask64) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_expand_epi16 (__m512i __A, __mmask32 __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_expandhi512_mask ((__v32hi) __C,
|
||||||
|
(__v32hi) __A,
|
||||||
|
(__mmask32) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_expand_epi16 (__mmask32 __A, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_expandhi512_maskz ((__v32hi) __B,
|
||||||
|
(__v32hi) _mm512_setzero_si512 (), (__mmask32) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_expandloadu_epi16 (__m512i __A, __mmask32 __B, const void * __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_expandloadhi512_mask ((const __v32hi *) __C,
|
||||||
|
(__v32hi) __A, (__mmask32) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_expandloadu_epi16 (__mmask32 __A, const void * __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_expandloadhi512_maskz ((const __v32hi *) __B,
|
||||||
|
(__v32hi) _mm512_setzero_si512 (), (__mmask32) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __OPTIMIZE__
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shrdi_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D,
|
||||||
|
int __E)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrd_v32hi_mask ((__v32hi)__C,
|
||||||
|
(__v32hi) __D, __E, (__v32hi) __A, (__mmask32)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shrdi_epi16 (__mmask32 __A, __m512i __B, __m512i __C, int __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrd_v32hi_mask ((__v32hi)__B,
|
||||||
|
(__v32hi) __C, __D, (__v32hi) _mm512_setzero_si512 (), (__mmask32)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shldi_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D,
|
||||||
|
int __E)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshld_v32hi_mask ((__v32hi)__C,
|
||||||
|
(__v32hi) __D, __E, (__v32hi) __A, (__mmask32)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shldi_epi16 (__mmask32 __A, __m512i __B, __m512i __C, int __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshld_v32hi_mask ((__v32hi)__B,
|
||||||
|
(__v32hi) __C, __D, (__v32hi) _mm512_setzero_si512 (), (__mmask32)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
#define _mm512_mask_shrdi_epi16(A, B, C, D, E) \
|
||||||
|
((__m512i) __builtin_ia32_vpshrd_v32hi_mask ((__v32hi)(__m512i)(C), \
|
||||||
|
(__v32hi)(__m512i)(D), \
|
||||||
|
(int)(E), \
|
||||||
|
(__v32hi)(__m512i)(A), \
|
||||||
|
(__mmask32)(B)))
|
||||||
|
#define _mm512_maskz_shrdi_epi16(A, B, C, D) \
|
||||||
|
((__m512i) \
|
||||||
|
__builtin_ia32_vpshrd_v32hi_mask ((__v32hi)(__m512i)(B), \
|
||||||
|
(__v32hi)(__m512i)(C),(int)(D), \
|
||||||
|
(__v32hi)(__m512i)_mm512_setzero_si512 (), \
|
||||||
|
(__mmask32)(A)))
|
||||||
|
#define _mm512_mask_shldi_epi16(A, B, C, D, E) \
|
||||||
|
((__m512i) __builtin_ia32_vpshld_v32hi_mask ((__v32hi)(__m512i)(C), \
|
||||||
|
(__v32hi)(__m512i)(D), \
|
||||||
|
(int)(E), \
|
||||||
|
(__v32hi)(__m512i)(A), \
|
||||||
|
(__mmask32)(B)))
|
||||||
|
#define _mm512_maskz_shldi_epi16(A, B, C, D) \
|
||||||
|
((__m512i) \
|
||||||
|
__builtin_ia32_vpshld_v32hi_mask ((__v32hi)(__m512i)(B), \
|
||||||
|
(__v32hi)(__m512i)(C),(int)(D), \
|
||||||
|
(__v32hi)(__m512i)_mm512_setzero_si512 (), \
|
||||||
|
(__mmask32)(A)))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shrdv_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrdv_v32hi_mask ((__v32hi)__A,
|
||||||
|
(__v32hi) __C, (__v32hi) __D, (__mmask32)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shrdv_epi16 (__mmask32 __A, __m512i __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshrdv_v32hi_maskz ((__v32hi)__B,
|
||||||
|
(__v32hi) __C, (__v32hi) __D, (__mmask32)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_shldv_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshldv_v32hi_mask ((__v32hi)__A,
|
||||||
|
(__v32hi) __C, (__v32hi) __D, (__mmask32)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_shldv_epi16 (__mmask32 __A, __m512i __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpshldv_v32hi_maskz ((__v32hi)__B,
|
||||||
|
(__v32hi) __C, (__v32hi) __D, (__mmask32)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512VBMI2BW__
|
||||||
|
#undef __DISABLE_AVX512VBMI2BW__
|
||||||
|
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VBMI2BW__ */
|
||||||
|
|
||||||
|
#endif /* __AVX512VBMI2INTRIN_H_INCLUDED */
|
1037
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vbmi2vlintrin.h
Normal file
1037
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vbmi2vlintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
158
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vbmiintrin.h
Normal file
158
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vbmiintrin.h
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512vbmiintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512VBMIINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512VBMIINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX512VBMI__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vbmi")
|
||||||
|
#define __DISABLE_AVX512VBMI__
|
||||||
|
#endif /* __AVX512VBMI__ */
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_multishift_epi64_epi8 (__m512i __W, __mmask64 __M, __m512i __X, __m512i __Y)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
|
||||||
|
(__v64qi) __Y,
|
||||||
|
(__v64qi) __W,
|
||||||
|
(__mmask64) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_multishift_epi64_epi8 (__mmask64 __M, __m512i __X, __m512i __Y)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
|
||||||
|
(__v64qi) __Y,
|
||||||
|
(__v64qi)
|
||||||
|
_mm512_setzero_si512 (),
|
||||||
|
(__mmask64) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_multishift_epi64_epi8 (__m512i __X, __m512i __Y)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
|
||||||
|
(__v64qi) __Y,
|
||||||
|
(__v64qi)
|
||||||
|
_mm512_undefined_epi32 (),
|
||||||
|
(__mmask64) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_permutexvar_epi8 (__m512i __A, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
|
||||||
|
(__v64qi) __A,
|
||||||
|
(__v64qi)
|
||||||
|
_mm512_undefined_epi32 (),
|
||||||
|
(__mmask64) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_permutexvar_epi8 (__mmask64 __M, __m512i __A,
|
||||||
|
__m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
|
||||||
|
(__v64qi) __A,
|
||||||
|
(__v64qi)
|
||||||
|
_mm512_setzero_si512(),
|
||||||
|
(__mmask64) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_permutexvar_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
|
||||||
|
__m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
|
||||||
|
(__v64qi) __A,
|
||||||
|
(__v64qi) __W,
|
||||||
|
(__mmask64) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_permutex2var_epi8 (__m512i __A, __m512i __I, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpermt2varqi512_mask ((__v64qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v64qi) __A,
|
||||||
|
(__v64qi) __B,
|
||||||
|
(__mmask64) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_permutex2var_epi8 (__m512i __A, __mmask64 __U,
|
||||||
|
__m512i __I, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpermt2varqi512_mask ((__v64qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v64qi) __A,
|
||||||
|
(__v64qi) __B,
|
||||||
|
(__mmask64)
|
||||||
|
__U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask2_permutex2var_epi8 (__m512i __A, __m512i __I,
|
||||||
|
__mmask64 __U, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpermi2varqi512_mask ((__v64qi) __A,
|
||||||
|
(__v64qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v64qi) __B,
|
||||||
|
(__mmask64)
|
||||||
|
__U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_permutex2var_epi8 (__mmask64 __U, __m512i __A,
|
||||||
|
__m512i __I, __m512i __B)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpermt2varqi512_maskz ((__v64qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v64qi) __A,
|
||||||
|
(__v64qi) __B,
|
||||||
|
(__mmask64)
|
||||||
|
__U);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512VBMI__
|
||||||
|
#undef __DISABLE_AVX512VBMI__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VBMI__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512VBMIINTRIN_H_INCLUDED */
|
273
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vbmivlintrin.h
Normal file
273
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vbmivlintrin.h
Normal file
@ -0,0 +1,273 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512vbmivlintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512VBMIVLINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512VBMIVLINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVX512VL__) || !defined(__AVX512VBMI__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vbmi,avx512vl")
|
||||||
|
#define __DISABLE_AVX512VBMIVL__
|
||||||
|
#endif /* __AVX512VBMIVL__ */
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_multishift_epi64_epi8 (__m256i __W, __mmask32 __M, __m256i __X, __m256i __Y)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X,
|
||||||
|
(__v32qi) __Y,
|
||||||
|
(__v32qi) __W,
|
||||||
|
(__mmask32) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_multishift_epi64_epi8 (__mmask32 __M, __m256i __X, __m256i __Y)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X,
|
||||||
|
(__v32qi) __Y,
|
||||||
|
(__v32qi)
|
||||||
|
_mm256_setzero_si256 (),
|
||||||
|
(__mmask32) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_multishift_epi64_epi8 (__m256i __X, __m256i __Y)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X,
|
||||||
|
(__v32qi) __Y,
|
||||||
|
(__v32qi)
|
||||||
|
_mm256_undefined_si256 (),
|
||||||
|
(__mmask32) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_multishift_epi64_epi8 (__m128i __W, __mmask16 __M, __m128i __X, __m128i __Y)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X,
|
||||||
|
(__v16qi) __Y,
|
||||||
|
(__v16qi) __W,
|
||||||
|
(__mmask16) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_multishift_epi64_epi8 (__mmask16 __M, __m128i __X, __m128i __Y)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X,
|
||||||
|
(__v16qi) __Y,
|
||||||
|
(__v16qi)
|
||||||
|
_mm_setzero_si128 (),
|
||||||
|
(__mmask16) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_multishift_epi64_epi8 (__m128i __X, __m128i __Y)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X,
|
||||||
|
(__v16qi) __Y,
|
||||||
|
(__v16qi)
|
||||||
|
_mm_undefined_si128 (),
|
||||||
|
(__mmask16) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_permutexvar_epi8 (__m256i __A, __m256i __B)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B,
|
||||||
|
(__v32qi) __A,
|
||||||
|
(__v32qi)
|
||||||
|
_mm256_undefined_si256 (),
|
||||||
|
(__mmask32) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_permutexvar_epi8 (__mmask32 __M, __m256i __A,
|
||||||
|
__m256i __B)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B,
|
||||||
|
(__v32qi) __A,
|
||||||
|
(__v32qi)
|
||||||
|
_mm256_setzero_si256 (),
|
||||||
|
(__mmask32) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_permutexvar_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
|
||||||
|
__m256i __B)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B,
|
||||||
|
(__v32qi) __A,
|
||||||
|
(__v32qi) __W,
|
||||||
|
(__mmask32) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_permutexvar_epi8 (__m128i __A, __m128i __B)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B,
|
||||||
|
(__v16qi) __A,
|
||||||
|
(__v16qi)
|
||||||
|
_mm_undefined_si128 (),
|
||||||
|
(__mmask16) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_permutexvar_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B,
|
||||||
|
(__v16qi) __A,
|
||||||
|
(__v16qi)
|
||||||
|
_mm_setzero_si128 (),
|
||||||
|
(__mmask16) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_permutexvar_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
|
||||||
|
__m128i __B)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B,
|
||||||
|
(__v16qi) __A,
|
||||||
|
(__v16qi) __W,
|
||||||
|
(__mmask16) __M);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_permutex2var_epi8 (__m256i __A, __m256i __I, __m256i __B)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpermt2varqi256_mask ((__v32qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v32qi) __A,
|
||||||
|
(__v32qi) __B,
|
||||||
|
(__mmask32) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_permutex2var_epi8 (__m256i __A, __mmask32 __U,
|
||||||
|
__m256i __I, __m256i __B)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpermt2varqi256_mask ((__v32qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v32qi) __A,
|
||||||
|
(__v32qi) __B,
|
||||||
|
(__mmask32)
|
||||||
|
__U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask2_permutex2var_epi8 (__m256i __A, __m256i __I,
|
||||||
|
__mmask32 __U, __m256i __B)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpermi2varqi256_mask ((__v32qi) __A,
|
||||||
|
(__v32qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v32qi) __B,
|
||||||
|
(__mmask32)
|
||||||
|
__U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_permutex2var_epi8 (__mmask32 __U, __m256i __A,
|
||||||
|
__m256i __I, __m256i __B)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpermt2varqi256_maskz ((__v32qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v32qi) __A,
|
||||||
|
(__v32qi) __B,
|
||||||
|
(__mmask32)
|
||||||
|
__U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_permutex2var_epi8 (__m128i __A, __m128i __I, __m128i __B)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpermt2varqi128_mask ((__v16qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v16qi) __A,
|
||||||
|
(__v16qi) __B,
|
||||||
|
(__mmask16) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_permutex2var_epi8 (__m128i __A, __mmask16 __U, __m128i __I,
|
||||||
|
__m128i __B)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpermt2varqi128_mask ((__v16qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v16qi) __A,
|
||||||
|
(__v16qi) __B,
|
||||||
|
(__mmask16)
|
||||||
|
__U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask2_permutex2var_epi8 (__m128i __A, __m128i __I, __mmask16 __U,
|
||||||
|
__m128i __B)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpermi2varqi128_mask ((__v16qi) __A,
|
||||||
|
(__v16qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v16qi) __B,
|
||||||
|
(__mmask16)
|
||||||
|
__U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_permutex2var_epi8 (__mmask16 __U, __m128i __A, __m128i __I,
|
||||||
|
__m128i __B)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpermt2varqi128_maskz ((__v16qi) __I
|
||||||
|
/* idx */ ,
|
||||||
|
(__v16qi) __A,
|
||||||
|
(__v16qi) __B,
|
||||||
|
(__mmask16)
|
||||||
|
__U);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512VBMIVL__
|
||||||
|
#undef __DISABLE_AVX512VBMIVL__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VBMIVL__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512VBMIVLINTRIN_H_INCLUDED */
|
4758
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vlbwintrin.h
Normal file
4758
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vlbwintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
2016
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vldqintrin.h
Normal file
2016
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vldqintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
13896
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vlintrin.h
Normal file
13896
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vlintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
144
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vnniintrin.h
Normal file
144
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vnniintrin.h
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512vnniintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __AVX512VNNIINTRIN_H_INCLUDED
|
||||||
|
#define __AVX512VNNIINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVX512VNNI__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vnni")
|
||||||
|
#define __DISABLE_AVX512VNNI__
|
||||||
|
#endif /* __AVX512VNNI__ */
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_dpbusd_epi32 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpdpbusd_v16si ((__v16si)__A, (__v16si) __B,
|
||||||
|
(__v16si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_dpbusd_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpdpbusd_v16si_mask ((__v16si)__A,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_dpbusd_epi32 (__mmask16 __A, __m512i __B, __m512i __C,
|
||||||
|
__m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpdpbusd_v16si_maskz ((__v16si)__B,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_dpbusds_epi32 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpdpbusds_v16si ((__v16si)__A, (__v16si) __B,
|
||||||
|
(__v16si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_dpbusds_epi32 (__m512i __A, __mmask16 __B, __m512i __C,
|
||||||
|
__m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpdpbusds_v16si_mask ((__v16si)__A,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_dpbusds_epi32 (__mmask16 __A, __m512i __B, __m512i __C,
|
||||||
|
__m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpdpbusds_v16si_maskz ((__v16si)__B,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_dpwssd_epi32 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpdpwssd_v16si ((__v16si)__A, (__v16si) __B,
|
||||||
|
(__v16si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_dpwssd_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpdpwssd_v16si_mask ((__v16si)__A,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_dpwssd_epi32 (__mmask16 __A, __m512i __B, __m512i __C,
|
||||||
|
__m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpdpwssd_v16si_maskz ((__v16si)__B,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_dpwssds_epi32 (__m512i __A, __m512i __B, __m512i __C)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpdpwssds_v16si ((__v16si)__A, (__v16si) __B,
|
||||||
|
(__v16si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_dpwssds_epi32 (__m512i __A, __mmask16 __B, __m512i __C,
|
||||||
|
__m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpdpwssds_v16si_mask ((__v16si)__A,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_dpwssds_epi32 (__mmask16 __A, __m512i __B, __m512i __C,
|
||||||
|
__m512i __D)
|
||||||
|
{
|
||||||
|
return (__m512i)__builtin_ia32_vpdpwssds_v16si_maskz ((__v16si)__B,
|
||||||
|
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512VNNI__
|
||||||
|
#undef __DISABLE_AVX512VNNI__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VNNI__ */
|
||||||
|
|
||||||
|
#endif /* __AVX512VNNIINTRIN_H_INCLUDED */
|
210
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vnnivlintrin.h
Normal file
210
lib/gcc/x86_64-linux-musl/12.2.0/include/avx512vnnivlintrin.h
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512vnnivlintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512VNNIVLINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512VNNIVLINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVX512VL__) || !defined(__AVX512VNNI__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vnni,avx512vl")
|
||||||
|
#define __DISABLE_AVX512VNNIVL__
|
||||||
|
#endif /* __AVX512VNNIVL__ */
|
||||||
|
|
||||||
|
#define _mm256_dpbusd_epi32(A, B, C) \
|
||||||
|
((__m256i) __builtin_ia32_vpdpbusd_v8si ((__v8si) (A), \
|
||||||
|
(__v8si) (B), \
|
||||||
|
(__v8si) (C)))
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_dpbusd_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
|
||||||
|
{
|
||||||
|
return (__m256i)__builtin_ia32_vpdpbusd_v8si_mask ((__v8si)__A, (__v8si) __C,
|
||||||
|
(__v8si) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_dpbusd_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D)
|
||||||
|
{
|
||||||
|
return (__m256i)__builtin_ia32_vpdpbusd_v8si_maskz ((__v8si)__B,
|
||||||
|
(__v8si) __C, (__v8si) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define _mm_dpbusd_epi32(A, B, C) \
|
||||||
|
((__m128i) __builtin_ia32_vpdpbusd_v4si ((__v4si) (A), \
|
||||||
|
(__v4si) (B), \
|
||||||
|
(__v4si) (C)))
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_dpbusd_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
|
||||||
|
{
|
||||||
|
return (__m128i)__builtin_ia32_vpdpbusd_v4si_mask ((__v4si)__A, (__v4si) __C,
|
||||||
|
(__v4si) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_dpbusd_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
|
||||||
|
{
|
||||||
|
return (__m128i)__builtin_ia32_vpdpbusd_v4si_maskz ((__v4si)__B,
|
||||||
|
(__v4si) __C, (__v4si) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define _mm256_dpbusds_epi32(A, B, C) \
|
||||||
|
((__m256i) __builtin_ia32_vpdpbusds_v8si ((__v8si) (A), \
|
||||||
|
(__v8si) (B), \
|
||||||
|
(__v8si) (C)))
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_dpbusds_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
|
||||||
|
{
|
||||||
|
return (__m256i)__builtin_ia32_vpdpbusds_v8si_mask ((__v8si)__A,
|
||||||
|
(__v8si) __C, (__v8si) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_dpbusds_epi32 (__mmask8 __A, __m256i __B, __m256i __C,
|
||||||
|
__m256i __D)
|
||||||
|
{
|
||||||
|
return (__m256i)__builtin_ia32_vpdpbusds_v8si_maskz ((__v8si)__B,
|
||||||
|
(__v8si) __C, (__v8si) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define _mm_dpbusds_epi32(A, B, C) \
|
||||||
|
((__m128i) __builtin_ia32_vpdpbusds_v4si ((__v4si) (A), \
|
||||||
|
(__v4si) (B), \
|
||||||
|
(__v4si) (C)))
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_dpbusds_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
|
||||||
|
{
|
||||||
|
return (__m128i)__builtin_ia32_vpdpbusds_v4si_mask ((__v4si)__A,
|
||||||
|
(__v4si) __C, (__v4si) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_dpbusds_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
|
||||||
|
{
|
||||||
|
return (__m128i)__builtin_ia32_vpdpbusds_v4si_maskz ((__v4si)__B,
|
||||||
|
(__v4si) __C, (__v4si) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define _mm256_dpwssd_epi32(A, B, C) \
|
||||||
|
((__m256i) __builtin_ia32_vpdpwssd_v8si ((__v8si) (A), \
|
||||||
|
(__v8si) (B), \
|
||||||
|
(__v8si) (C)))
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_dpwssd_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
|
||||||
|
{
|
||||||
|
return (__m256i)__builtin_ia32_vpdpwssd_v8si_mask ((__v8si)__A, (__v8si) __C,
|
||||||
|
(__v8si) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_dpwssd_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D)
|
||||||
|
{
|
||||||
|
return (__m256i)__builtin_ia32_vpdpwssd_v8si_maskz ((__v8si)__B,
|
||||||
|
(__v8si) __C, (__v8si) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define _mm_dpwssd_epi32(A, B, C) \
|
||||||
|
((__m128i) __builtin_ia32_vpdpwssd_v4si ((__v4si) (A), \
|
||||||
|
(__v4si) (B), \
|
||||||
|
(__v4si) (C)))
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_dpwssd_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
|
||||||
|
{
|
||||||
|
return (__m128i)__builtin_ia32_vpdpwssd_v4si_mask ((__v4si)__A, (__v4si) __C,
|
||||||
|
(__v4si) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_dpwssd_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
|
||||||
|
{
|
||||||
|
return (__m128i)__builtin_ia32_vpdpwssd_v4si_maskz ((__v4si)__B,
|
||||||
|
(__v4si) __C, (__v4si) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define _mm256_dpwssds_epi32(A, B, C) \
|
||||||
|
((__m256i) __builtin_ia32_vpdpwssds_v8si ((__v8si) (A), \
|
||||||
|
(__v8si) (B), \
|
||||||
|
(__v8si) (C)))
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_dpwssds_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
|
||||||
|
{
|
||||||
|
return (__m256i)__builtin_ia32_vpdpwssds_v8si_mask ((__v8si)__A,
|
||||||
|
(__v8si) __C, (__v8si) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_dpwssds_epi32 (__mmask8 __A, __m256i __B, __m256i __C,
|
||||||
|
__m256i __D)
|
||||||
|
{
|
||||||
|
return (__m256i)__builtin_ia32_vpdpwssds_v8si_maskz ((__v8si)__B,
|
||||||
|
(__v8si) __C, (__v8si) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define _mm_dpwssds_epi32(A, B, C) \
|
||||||
|
((__m128i) __builtin_ia32_vpdpwssds_v4si ((__v4si) (A), \
|
||||||
|
(__v4si) (B), \
|
||||||
|
(__v4si) (C)))
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_dpwssds_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
|
||||||
|
{
|
||||||
|
return (__m128i)__builtin_ia32_vpdpwssds_v4si_mask ((__v4si)__A,
|
||||||
|
(__v4si) __C, (__v4si) __D, (__mmask8)__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_dpwssds_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
|
||||||
|
{
|
||||||
|
return (__m128i)__builtin_ia32_vpdpwssds_v4si_maskz ((__v4si)__B,
|
||||||
|
(__v4si) __C, (__v4si) __D, (__mmask8)__A);
|
||||||
|
}
|
||||||
|
#ifdef __DISABLE_AVX512VNNIVL__
|
||||||
|
#undef __DISABLE_AVX512VNNIVL__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VNNIVL__ */
|
||||||
|
#endif /* __DISABLE_AVX512VNNIVL__ */
|
@ -0,0 +1,58 @@
|
|||||||
|
/* Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512vp2intersectintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512VP2INTERSECTINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512VP2INTERSECTINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVX512VP2INTERSECT__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vp2intersect")
|
||||||
|
#define __DISABLE_AVX512VP2INTERSECT__
|
||||||
|
#endif /* __AVX512VP2INTERSECT__ */
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_2intersect_epi32 (__m512i __A, __m512i __B, __mmask16 *__U,
|
||||||
|
__mmask16 *__M)
|
||||||
|
{
|
||||||
|
__builtin_ia32_2intersectd512 (__U, __M, (__v16si) __A, (__v16si) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_2intersect_epi64 (__m512i __A, __m512i __B, __mmask8 *__U,
|
||||||
|
__mmask8 *__M)
|
||||||
|
{
|
||||||
|
__builtin_ia32_2intersectq512 (__U, __M, (__v8di) __A, (__v8di) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512VP2INTERSECT__
|
||||||
|
#undef __DISABLE_AVX512VP2INTERSECT__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VP2INTERSECT__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512VP2INTERSECTINTRIN_H_INCLUDED */
|
@ -0,0 +1,72 @@
|
|||||||
|
/* Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avx512vp2intersectintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512VP2INTERSECTVLINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512VP2INTERSECTVLINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVX512VP2INTERSECT__) || !defined(__AVX512VL__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vp2intersect,avx512vl")
|
||||||
|
#define __DISABLE_AVX512VP2INTERSECTVL__
|
||||||
|
#endif /* __AVX512VP2INTERSECTVL__ */
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_2intersect_epi32 (__m128i __A, __m128i __B, __mmask8 *__U, __mmask8 *__M)
|
||||||
|
{
|
||||||
|
__builtin_ia32_2intersectd128 (__U, __M, (__v4si) __A, (__v4si) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_2intersect_epi32 (__m256i __A, __m256i __B, __mmask8 *__U,
|
||||||
|
__mmask8 *__M)
|
||||||
|
{
|
||||||
|
__builtin_ia32_2intersectd256 (__U, __M, (__v8si) __A, (__v8si) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_2intersect_epi64 (__m128i __A, __m128i __B, __mmask8 *__U, __mmask8 *__M)
|
||||||
|
{
|
||||||
|
__builtin_ia32_2intersectq128 (__U, __M, (__v2di) __A, (__v2di) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_2intersect_epi64 (__m256i __A, __m256i __B, __mmask8 *__U,
|
||||||
|
__mmask8 *__M)
|
||||||
|
{
|
||||||
|
__builtin_ia32_2intersectq256 (__U, __M, (__v4di) __A, (__v4di) __B);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512VP2INTERSECTVL__
|
||||||
|
#undef __DISABLE_AVX512VP2INTERSECTVL__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VP2INTERSECTVL__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512VP2INTERSECTVLINTRIN_H_INCLUDED */
|
@ -0,0 +1,94 @@
|
|||||||
|
/* Copyright (C) 2017-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <avx512vpopcntdqintrin.h> directly; include <x86intrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512VPOPCNTDQINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512VPOPCNTDQINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __AVX512VPOPCNTDQ__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vpopcntdq")
|
||||||
|
#define __DISABLE_AVX512VPOPCNTDQ__
|
||||||
|
#endif /* __AVX512VPOPCNTDQ__ */
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_popcnt_epi32 (__m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountd_v16si ((__v16si) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_popcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountd_v16si_mask ((__v16si) __A,
|
||||||
|
(__v16si) __W,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_popcnt_epi32 (__mmask16 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountd_v16si_mask ((__v16si) __A,
|
||||||
|
(__v16si)
|
||||||
|
_mm512_setzero_si512 (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_popcnt_epi64 (__m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountq_v8di ((__v8di) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_mask_popcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountq_v8di_mask ((__v8di) __A,
|
||||||
|
(__v8di) __W,
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m512i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm512_maskz_popcnt_epi64 (__mmask8 __U, __m512i __A)
|
||||||
|
{
|
||||||
|
return (__m512i) __builtin_ia32_vpopcountq_v8di_mask ((__v8di) __A,
|
||||||
|
(__v8di)
|
||||||
|
_mm512_setzero_si512 (),
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512VPOPCNTDQ__
|
||||||
|
#undef __DISABLE_AVX512VPOPCNTDQ__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VPOPCNTDQ__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512VPOPCNTDQINTRIN_H_INCLUDED */
|
@ -0,0 +1,146 @@
|
|||||||
|
/* Copyright (C) 2017-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _IMMINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <avx512vpopcntdqvlintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVX512VPOPCNTDQVLINTRIN_H_INCLUDED
|
||||||
|
#define _AVX512VPOPCNTDQVLINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVX512VPOPCNTDQ__) || !defined(__AVX512VL__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avx512vpopcntdq,avx512vl")
|
||||||
|
#define __DISABLE_AVX512VPOPCNTDQVL__
|
||||||
|
#endif /* __AVX512VPOPCNTDQVL__ */
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_popcnt_epi32 (__m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountd_v4si ((__v4si) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_popcnt_epi32 (__m128i __W, __mmask16 __U, __m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountd_v4si_mask ((__v4si) __A,
|
||||||
|
(__v4si) __W,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_popcnt_epi32 (__mmask16 __U, __m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountd_v4si_mask ((__v4si) __A,
|
||||||
|
(__v4si)
|
||||||
|
_mm_setzero_si128 (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_popcnt_epi32 (__m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountd_v8si ((__v8si) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_popcnt_epi32 (__m256i __W, __mmask16 __U, __m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountd_v8si_mask ((__v8si) __A,
|
||||||
|
(__v8si) __W,
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_popcnt_epi32 (__mmask16 __U, __m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountd_v8si_mask ((__v8si) __A,
|
||||||
|
(__v8si)
|
||||||
|
_mm256_setzero_si256 (),
|
||||||
|
(__mmask16) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_popcnt_epi64 (__m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountq_v2di ((__v2di) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_mask_popcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountq_v2di_mask ((__v2di) __A,
|
||||||
|
(__v2di) __W,
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_maskz_popcnt_epi64 (__mmask8 __U, __m128i __A)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpopcountq_v2di_mask ((__v2di) __A,
|
||||||
|
(__v2di)
|
||||||
|
_mm_setzero_si128 (),
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_popcnt_epi64 (__m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountq_v4di ((__v4di) __A);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_mask_popcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountq_v4di_mask ((__v4di) __A,
|
||||||
|
(__v4di) __W,
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_maskz_popcnt_epi64 (__mmask8 __U, __m256i __A)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpopcountq_v4di_mask ((__v4di) __A,
|
||||||
|
(__v4di)
|
||||||
|
_mm256_setzero_si256 (),
|
||||||
|
(__mmask8) __U);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVX512VPOPCNTDQVL__
|
||||||
|
#undef __DISABLE_AVX512VPOPCNTDQVL__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVX512VPOPCNTDQVL__ */
|
||||||
|
|
||||||
|
#endif /* _AVX512VPOPCNTDQVLINTRIN_H_INCLUDED */
|
1598
lib/gcc/x86_64-linux-musl/12.2.0/include/avxintrin.h
Normal file
1598
lib/gcc/x86_64-linux-musl/12.2.0/include/avxintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
113
lib/gcc/x86_64-linux-musl/12.2.0/include/avxvnniintrin.h
Normal file
113
lib/gcc/x86_64-linux-musl/12.2.0/include/avxvnniintrin.h
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
/* Copyright (C) 2020-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _IMMINTRIN_H_INCLUDED
|
||||||
|
#error "Never use <avxvnniintrin.h> directly; include <immintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _AVXVNNIINTRIN_H_INCLUDED
|
||||||
|
#define _AVXVNNIINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#if !defined(__AVXVNNI__)
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("avxvnni")
|
||||||
|
#define __DISABLE_AVXVNNIVL__
|
||||||
|
#endif /* __AVXVNNIVL__ */
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_dpbusd_avx_epi32(__m256i __A, __m256i __B, __m256i __C)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpdpbusd_v8si ((__v8si) __A,
|
||||||
|
(__v8si) __B,
|
||||||
|
(__v8si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_dpbusd_avx_epi32(__m128i __A, __m128i __B, __m128i __C)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpdpbusd_v4si ((__v4si) __A,
|
||||||
|
(__v4si) __B,
|
||||||
|
(__v4si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_dpbusds_avx_epi32(__m256i __A, __m256i __B, __m256i __C)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpdpbusds_v8si ((__v8si) __A,
|
||||||
|
(__v8si) __B,
|
||||||
|
(__v8si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_dpbusds_avx_epi32(__m128i __A,__m128i __B,__m128i __C)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpdpbusds_v4si ((__v4si) __A,
|
||||||
|
(__v4si) __B,
|
||||||
|
(__v4si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_dpwssd_avx_epi32(__m256i __A,__m256i __B,__m256i __C)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpdpwssd_v8si ((__v8si) __A,
|
||||||
|
(__v8si) __B,
|
||||||
|
(__v8si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_dpwssd_avx_epi32(__m128i __A,__m128i __B,__m128i __C)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpdpwssd_v4si ((__v4si) __A,
|
||||||
|
(__v4si) __B,
|
||||||
|
(__v4si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m256i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm256_dpwssds_avx_epi32(__m256i __A,__m256i __B,__m256i __C)
|
||||||
|
{
|
||||||
|
return (__m256i) __builtin_ia32_vpdpwssds_v8si ((__v8si) __A,
|
||||||
|
(__v8si) __B,
|
||||||
|
(__v8si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline __m128i
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_dpwssds_avx_epi32(__m128i __A,__m128i __B,__m128i __C)
|
||||||
|
{
|
||||||
|
return (__m128i) __builtin_ia32_vpdpwssds_v4si ((__v4si) __A,
|
||||||
|
(__v4si) __B,
|
||||||
|
(__v4si) __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_AVXVNNIVL__
|
||||||
|
#undef __DISABLE_AVXVNNIVL__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_AVXVNNIVL__ */
|
||||||
|
#endif /* _AVXVNNIINTRIN_H_INCLUDED */
|
109
lib/gcc/x86_64-linux-musl/12.2.0/include/bmi2intrin.h
Normal file
109
lib/gcc/x86_64-linux-musl/12.2.0/include/bmi2intrin.h
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
/* Copyright (C) 2011-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _X86GPRINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <bmi2intrin.h> directly; include <x86gprintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _BMI2INTRIN_H_INCLUDED
|
||||||
|
#define _BMI2INTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __BMI2__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("bmi2")
|
||||||
|
#define __DISABLE_BMI2__
|
||||||
|
#endif /* __BMI2__ */
|
||||||
|
|
||||||
|
extern __inline unsigned int
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_bzhi_u32 (unsigned int __X, unsigned int __Y)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_bzhi_si (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_pdep_u32 (unsigned int __X, unsigned int __Y)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_pdep_si (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_pext_u32 (unsigned int __X, unsigned int __Y)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_pext_si (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
|
||||||
|
extern __inline unsigned long long
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_bzhi_u64 (unsigned long long __X, unsigned long long __Y)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_bzhi_di (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_pdep_u64 (unsigned long long __X, unsigned long long __Y)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_pdep_di (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_pext_u64 (unsigned long long __X, unsigned long long __Y)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_pext_di (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mulx_u64 (unsigned long long __X, unsigned long long __Y,
|
||||||
|
unsigned long long *__P)
|
||||||
|
{
|
||||||
|
unsigned __int128 __res = (unsigned __int128) __X * __Y;
|
||||||
|
*__P = (unsigned long long) (__res >> 64);
|
||||||
|
return (unsigned long long) __res;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* !__x86_64__ */
|
||||||
|
|
||||||
|
extern __inline unsigned int
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mulx_u32 (unsigned int __X, unsigned int __Y, unsigned int *__P)
|
||||||
|
{
|
||||||
|
unsigned long long __res = (unsigned long long) __X * __Y;
|
||||||
|
*__P = (unsigned int) (__res >> 32);
|
||||||
|
return (unsigned int) __res;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* !__x86_64__ */
|
||||||
|
|
||||||
|
#ifdef __DISABLE_BMI2__
|
||||||
|
#undef __DISABLE_BMI2__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_BMI2__ */
|
||||||
|
|
||||||
|
#endif /* _BMI2INTRIN_H_INCLUDED */
|
202
lib/gcc/x86_64-linux-musl/12.2.0/include/bmiintrin.h
Normal file
202
lib/gcc/x86_64-linux-musl/12.2.0/include/bmiintrin.h
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
/* Copyright (C) 2010-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _X86GPRINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <bmiintrin.h> directly; include <x86gprintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _BMIINTRIN_H_INCLUDED
|
||||||
|
#define _BMIINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __BMI__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("bmi")
|
||||||
|
#define __DISABLE_BMI__
|
||||||
|
#endif /* __BMI__ */
|
||||||
|
|
||||||
|
extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__tzcnt_u16 (unsigned short __X)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_tzcnt_u16 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_tzcnt_u16 (unsigned short __X)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_tzcnt_u16 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__andn_u32 (unsigned int __X, unsigned int __Y)
|
||||||
|
{
|
||||||
|
return ~__X & __Y;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_andn_u32 (unsigned int __X, unsigned int __Y)
|
||||||
|
{
|
||||||
|
return __andn_u32 (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__bextr_u32 (unsigned int __X, unsigned int __Y)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_bextr_u32 (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_bextr_u32 (unsigned int __X, unsigned int __Y, unsigned __Z)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_bextr_u32 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8)));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__blsi_u32 (unsigned int __X)
|
||||||
|
{
|
||||||
|
return __X & -__X;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_blsi_u32 (unsigned int __X)
|
||||||
|
{
|
||||||
|
return __blsi_u32 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__blsmsk_u32 (unsigned int __X)
|
||||||
|
{
|
||||||
|
return __X ^ (__X - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_blsmsk_u32 (unsigned int __X)
|
||||||
|
{
|
||||||
|
return __blsmsk_u32 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__blsr_u32 (unsigned int __X)
|
||||||
|
{
|
||||||
|
return __X & (__X - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_blsr_u32 (unsigned int __X)
|
||||||
|
{
|
||||||
|
return __blsr_u32 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__tzcnt_u32 (unsigned int __X)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_tzcnt_u32 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_tzcnt_u32 (unsigned int __X)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_tzcnt_u32 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__andn_u64 (unsigned long long __X, unsigned long long __Y)
|
||||||
|
{
|
||||||
|
return ~__X & __Y;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_andn_u64 (unsigned long long __X, unsigned long long __Y)
|
||||||
|
{
|
||||||
|
return __andn_u64 (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__bextr_u64 (unsigned long long __X, unsigned long long __Y)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_bextr_u64 (__X, __Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_bextr_u64 (unsigned long long __X, unsigned int __Y, unsigned int __Z)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_bextr_u64 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8)));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__blsi_u64 (unsigned long long __X)
|
||||||
|
{
|
||||||
|
return __X & -__X;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_blsi_u64 (unsigned long long __X)
|
||||||
|
{
|
||||||
|
return __blsi_u64 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__blsmsk_u64 (unsigned long long __X)
|
||||||
|
{
|
||||||
|
return __X ^ (__X - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_blsmsk_u64 (unsigned long long __X)
|
||||||
|
{
|
||||||
|
return __blsmsk_u64 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__blsr_u64 (unsigned long long __X)
|
||||||
|
{
|
||||||
|
return __X & (__X - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_blsr_u64 (unsigned long long __X)
|
||||||
|
{
|
||||||
|
return __blsr_u64 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
__tzcnt_u64 (unsigned long long __X)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_tzcnt_u64 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_tzcnt_u64 (unsigned long long __X)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_tzcnt_u64 (__X);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __x86_64__ */
|
||||||
|
|
||||||
|
#ifdef __DISABLE_BMI__
|
||||||
|
#undef __DISABLE_BMI__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_BMI__ */
|
||||||
|
|
||||||
|
#endif /* _BMIINTRIN_H_INCLUDED */
|
29
lib/gcc/x86_64-linux-musl/12.2.0/include/bmmintrin.h
Normal file
29
lib/gcc/x86_64-linux-musl/12.2.0/include/bmmintrin.h
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/* Copyright (C) 2007-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BMMINTRIN_H_INCLUDED
|
||||||
|
#define _BMMINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
# error "SSE5 instruction set removed from compiler"
|
||||||
|
|
||||||
|
#endif /* _BMMINTRIN_H_INCLUDED */
|
93
lib/gcc/x86_64-linux-musl/12.2.0/include/cet.h
Normal file
93
lib/gcc/x86_64-linux-musl/12.2.0/include/cet.h
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
/* ELF program property for Intel CET.
|
||||||
|
Copyright (C) 2017-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by the
|
||||||
|
Free Software Foundation; either version 3, or (at your option) any
|
||||||
|
later version.
|
||||||
|
|
||||||
|
This file is distributed in the hope that it will be useful, but
|
||||||
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Add x86 feature with IBT and/or SHSTK bits to ELF program property
|
||||||
|
if they are enabled. Otherwise, contents in this header file are
|
||||||
|
unused. Define _CET_ENDBR for assembly codes. _CET_ENDBR should be
|
||||||
|
placed unconditionally at the entrance of a function whose address
|
||||||
|
may be taken. */
|
||||||
|
|
||||||
|
#ifndef _CET_H_INCLUDED
|
||||||
|
#define _CET_H_INCLUDED
|
||||||
|
|
||||||
|
#ifdef __ASSEMBLER__
|
||||||
|
|
||||||
|
# if defined __CET__ && (__CET__ & 1) != 0
|
||||||
|
# ifdef __x86_64__
|
||||||
|
# define _CET_ENDBR endbr64
|
||||||
|
# else
|
||||||
|
# define _CET_ENDBR endbr32
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define _CET_ENDBR
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifdef __ELF__
|
||||||
|
# ifdef __CET__
|
||||||
|
# if (__CET__ & 1) != 0
|
||||||
|
/* GNU_PROPERTY_X86_FEATURE_1_IBT. */
|
||||||
|
# define __PROPERTY_IBT 0x1
|
||||||
|
# else
|
||||||
|
# define __PROPERTY_IBT 0x0
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if (__CET__ & 2) != 0
|
||||||
|
/* GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
|
||||||
|
# define __PROPERTY_SHSTK 0x2
|
||||||
|
# else
|
||||||
|
# define __PROPERTY_SHSTK 0x0
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# define __PROPERTY_BITS (__PROPERTY_IBT | __PROPERTY_SHSTK)
|
||||||
|
|
||||||
|
# ifdef __LP64__
|
||||||
|
# define __PROPERTY_ALIGN 3
|
||||||
|
# else
|
||||||
|
# define __PROPERTY_ALIGN 2
|
||||||
|
# endif
|
||||||
|
|
||||||
|
.pushsection ".note.gnu.property", "a"
|
||||||
|
.p2align __PROPERTY_ALIGN
|
||||||
|
.long 1f - 0f /* name length. */
|
||||||
|
.long 4f - 1f /* data length. */
|
||||||
|
/* NT_GNU_PROPERTY_TYPE_0. */
|
||||||
|
.long 5 /* note type. */
|
||||||
|
0:
|
||||||
|
.asciz "GNU" /* vendor name. */
|
||||||
|
1:
|
||||||
|
.p2align __PROPERTY_ALIGN
|
||||||
|
/* GNU_PROPERTY_X86_FEATURE_1_AND. */
|
||||||
|
.long 0xc0000002 /* pr_type. */
|
||||||
|
.long 3f - 2f /* pr_datasz. */
|
||||||
|
2:
|
||||||
|
/* GNU_PROPERTY_X86_FEATURE_1_XXX. */
|
||||||
|
.long __PROPERTY_BITS
|
||||||
|
3:
|
||||||
|
.p2align __PROPERTY_ALIGN
|
||||||
|
4:
|
||||||
|
.popsection
|
||||||
|
# endif /* __CET__ */
|
||||||
|
# endif /* __ELF__ */
|
||||||
|
#endif /* __ASSEMBLER__ */
|
||||||
|
|
||||||
|
#endif /* _CET_H_INCLUDED */
|
129
lib/gcc/x86_64-linux-musl/12.2.0/include/cetintrin.h
Normal file
129
lib/gcc/x86_64-linux-musl/12.2.0/include/cetintrin.h
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
/* Copyright (C) 2015-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _X86GPRINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <cetintrin.h> directly; include <x86gprintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _CETINTRIN_H_INCLUDED
|
||||||
|
#define _CETINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __SHSTK__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target ("shstk")
|
||||||
|
#define __DISABLE_SHSTK__
|
||||||
|
#endif /* __SHSTK__ */
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
extern __inline unsigned long long
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_get_ssp (void)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_rdsspq ();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
extern __inline unsigned int
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_get_ssp (void)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_rdsspd ();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_inc_ssp (unsigned int __B)
|
||||||
|
{
|
||||||
|
#ifdef __x86_64__
|
||||||
|
__builtin_ia32_incsspq ((unsigned long long) __B);
|
||||||
|
#else
|
||||||
|
__builtin_ia32_incsspd (__B);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_saveprevssp (void)
|
||||||
|
{
|
||||||
|
__builtin_ia32_saveprevssp ();
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_rstorssp (void *__B)
|
||||||
|
{
|
||||||
|
__builtin_ia32_rstorssp (__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_wrssd (unsigned int __B, void *__C)
|
||||||
|
{
|
||||||
|
__builtin_ia32_wrssd (__B, __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_wrssq (unsigned long long __B, void *__C)
|
||||||
|
{
|
||||||
|
__builtin_ia32_wrssq (__B, __C);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_wrussd (unsigned int __B, void *__C)
|
||||||
|
{
|
||||||
|
__builtin_ia32_wrussd (__B, __C);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_wrussq (unsigned long long __B, void *__C)
|
||||||
|
{
|
||||||
|
__builtin_ia32_wrussq (__B, __C);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_setssbsy (void)
|
||||||
|
{
|
||||||
|
__builtin_ia32_setssbsy ();
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_clrssbsy (void *__B)
|
||||||
|
{
|
||||||
|
__builtin_ia32_clrssbsy (__B);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_SHSTK__
|
||||||
|
#undef __DISABLE_SHSTK__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_SHSTK__ */
|
||||||
|
|
||||||
|
#endif /* _CETINTRIN_H_INCLUDED. */
|
47
lib/gcc/x86_64-linux-musl/12.2.0/include/cldemoteintrin.h
Normal file
47
lib/gcc/x86_64-linux-musl/12.2.0/include/cldemoteintrin.h
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
/* Copyright (C) 2018-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _X86GPRINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <cldemoteintrin.h> directly; include <x86gprintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _CLDEMOTE_H_INCLUDED
|
||||||
|
#define _CLDEMOTE_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __CLDEMOTE__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("cldemote")
|
||||||
|
#define __DISABLE_CLDEMOTE__
|
||||||
|
#endif /* __CLDEMOTE__ */
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_cldemote (void *__A)
|
||||||
|
{
|
||||||
|
__builtin_ia32_cldemote (__A);
|
||||||
|
}
|
||||||
|
#ifdef __DISABLE_CLDEMOTE__
|
||||||
|
#undef __DISABLE_CLDEMOTE__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_CLDEMOTE__ */
|
||||||
|
|
||||||
|
#endif /* _CLDEMOTE_H_INCLUDED */
|
49
lib/gcc/x86_64-linux-musl/12.2.0/include/clflushoptintrin.h
Normal file
49
lib/gcc/x86_64-linux-musl/12.2.0/include/clflushoptintrin.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _X86GPRINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <clflushoptintrin.h> directly; include <x86gprintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _CLFLUSHOPTINTRIN_H_INCLUDED
|
||||||
|
#define _CLFLUSHOPTINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __CLFLUSHOPT__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("clflushopt")
|
||||||
|
#define __DISABLE_CLFLUSHOPT__
|
||||||
|
#endif /* __CLFLUSHOPT__ */
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_clflushopt (void *__A)
|
||||||
|
{
|
||||||
|
__builtin_ia32_clflushopt (__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_CLFLUSHOPT__
|
||||||
|
#undef __DISABLE_CLFLUSHOPT__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_CLFLUSHOPT__ */
|
||||||
|
|
||||||
|
#endif /* _CLFLUSHOPTINTRIN_H_INCLUDED */
|
49
lib/gcc/x86_64-linux-musl/12.2.0/include/clwbintrin.h
Normal file
49
lib/gcc/x86_64-linux-musl/12.2.0/include/clwbintrin.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/* Copyright (C) 2013-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _X86GPRINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <clwbintrin.h> directly; include <x86gprintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _CLWBINTRIN_H_INCLUDED
|
||||||
|
#define _CLWBINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __CLWB__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("clwb")
|
||||||
|
#define __DISABLE_CLWB__
|
||||||
|
#endif /* __CLWB__ */
|
||||||
|
|
||||||
|
extern __inline void
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_clwb (void *__A)
|
||||||
|
{
|
||||||
|
__builtin_ia32_clwb (__A);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_CLWB__
|
||||||
|
#undef __DISABLE_CLWB__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_CLWB__ */
|
||||||
|
|
||||||
|
#endif /* _CLWBINTRIN_H_INCLUDED */
|
44
lib/gcc/x86_64-linux-musl/12.2.0/include/clzerointrin.h
Normal file
44
lib/gcc/x86_64-linux-musl/12.2.0/include/clzerointrin.h
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/* Copyright (C) 2012-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _CLZEROINTRIN_H_INCLUDED
|
||||||
|
#define _CLZEROINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __CLZERO__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target("clzero")
|
||||||
|
#define __DISABLE_CLZERO__
|
||||||
|
#endif /* __CLZERO__ */
|
||||||
|
|
||||||
|
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_mm_clzero (void * __I)
|
||||||
|
{
|
||||||
|
__builtin_ia32_clzero (__I);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_CLZERO__
|
||||||
|
#undef __DISABLE_CLZERO__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_CLZERO__ */
|
||||||
|
|
||||||
|
#endif /* _CLZEROINTRIN_H_INCLUDED */
|
336
lib/gcc/x86_64-linux-musl/12.2.0/include/cpuid.h
Normal file
336
lib/gcc/x86_64-linux-musl/12.2.0/include/cpuid.h
Normal file
@ -0,0 +1,336 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2007-2022 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation; either version 3, or (at your option) any
|
||||||
|
* later version.
|
||||||
|
*
|
||||||
|
* This file is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
* permissions described in the GCC Runtime Library Exception, version
|
||||||
|
* 3.1, as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License and
|
||||||
|
* a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
* see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _CPUID_H_INCLUDED
|
||||||
|
#define _CPUID_H_INCLUDED
|
||||||
|
|
||||||
|
/* %eax */
|
||||||
|
#define bit_AVXVNNI (1 << 4)
|
||||||
|
#define bit_AVX512BF16 (1 << 5)
|
||||||
|
#define bit_HRESET (1 << 22)
|
||||||
|
|
||||||
|
/* %ecx */
|
||||||
|
#define bit_SSE3 (1 << 0)
|
||||||
|
#define bit_PCLMUL (1 << 1)
|
||||||
|
#define bit_LZCNT (1 << 5)
|
||||||
|
#define bit_SSSE3 (1 << 9)
|
||||||
|
#define bit_FMA (1 << 12)
|
||||||
|
#define bit_CMPXCHG16B (1 << 13)
|
||||||
|
#define bit_SSE4_1 (1 << 19)
|
||||||
|
#define bit_SSE4_2 (1 << 20)
|
||||||
|
#define bit_MOVBE (1 << 22)
|
||||||
|
#define bit_POPCNT (1 << 23)
|
||||||
|
#define bit_AES (1 << 25)
|
||||||
|
#define bit_XSAVE (1 << 26)
|
||||||
|
#define bit_OSXSAVE (1 << 27)
|
||||||
|
#define bit_AVX (1 << 28)
|
||||||
|
#define bit_F16C (1 << 29)
|
||||||
|
#define bit_RDRND (1 << 30)
|
||||||
|
|
||||||
|
/* %edx */
|
||||||
|
#define bit_CMPXCHG8B (1 << 8)
|
||||||
|
#define bit_CMOV (1 << 15)
|
||||||
|
#define bit_MMX (1 << 23)
|
||||||
|
#define bit_FXSAVE (1 << 24)
|
||||||
|
#define bit_SSE (1 << 25)
|
||||||
|
#define bit_SSE2 (1 << 26)
|
||||||
|
|
||||||
|
/* Extended Features (%eax == 0x80000001) */
|
||||||
|
/* %ecx */
|
||||||
|
#define bit_LAHF_LM (1 << 0)
|
||||||
|
#define bit_ABM (1 << 5)
|
||||||
|
#define bit_SSE4a (1 << 6)
|
||||||
|
#define bit_PRFCHW (1 << 8)
|
||||||
|
#define bit_XOP (1 << 11)
|
||||||
|
#define bit_LWP (1 << 15)
|
||||||
|
#define bit_FMA4 (1 << 16)
|
||||||
|
#define bit_TBM (1 << 21)
|
||||||
|
#define bit_MWAITX (1 << 29)
|
||||||
|
|
||||||
|
/* %edx */
|
||||||
|
#define bit_MMXEXT (1 << 22)
|
||||||
|
#define bit_LM (1 << 29)
|
||||||
|
#define bit_3DNOWP (1 << 30)
|
||||||
|
#define bit_3DNOW (1u << 31)
|
||||||
|
|
||||||
|
/* %ebx */
|
||||||
|
#define bit_CLZERO (1 << 0)
|
||||||
|
#define bit_WBNOINVD (1 << 9)
|
||||||
|
|
||||||
|
/* Extended Features (%eax == 7) */
|
||||||
|
/* %ebx */
|
||||||
|
#define bit_FSGSBASE (1 << 0)
|
||||||
|
#define bit_SGX (1 << 2)
|
||||||
|
#define bit_BMI (1 << 3)
|
||||||
|
#define bit_HLE (1 << 4)
|
||||||
|
#define bit_AVX2 (1 << 5)
|
||||||
|
#define bit_BMI2 (1 << 8)
|
||||||
|
#define bit_RTM (1 << 11)
|
||||||
|
#define bit_AVX512F (1 << 16)
|
||||||
|
#define bit_AVX512DQ (1 << 17)
|
||||||
|
#define bit_RDSEED (1 << 18)
|
||||||
|
#define bit_ADX (1 << 19)
|
||||||
|
#define bit_AVX512IFMA (1 << 21)
|
||||||
|
#define bit_CLFLUSHOPT (1 << 23)
|
||||||
|
#define bit_CLWB (1 << 24)
|
||||||
|
#define bit_AVX512PF (1 << 26)
|
||||||
|
#define bit_AVX512ER (1 << 27)
|
||||||
|
#define bit_AVX512CD (1 << 28)
|
||||||
|
#define bit_SHA (1 << 29)
|
||||||
|
#define bit_AVX512BW (1 << 30)
|
||||||
|
#define bit_AVX512VL (1u << 31)
|
||||||
|
|
||||||
|
/* %ecx */
|
||||||
|
#define bit_PREFETCHWT1 (1 << 0)
|
||||||
|
#define bit_AVX512VBMI (1 << 1)
|
||||||
|
#define bit_PKU (1 << 3)
|
||||||
|
#define bit_OSPKE (1 << 4)
|
||||||
|
#define bit_WAITPKG (1 << 5)
|
||||||
|
#define bit_AVX512VBMI2 (1 << 6)
|
||||||
|
#define bit_SHSTK (1 << 7)
|
||||||
|
#define bit_GFNI (1 << 8)
|
||||||
|
#define bit_VAES (1 << 9)
|
||||||
|
#define bit_AVX512VNNI (1 << 11)
|
||||||
|
#define bit_VPCLMULQDQ (1 << 10)
|
||||||
|
#define bit_AVX512BITALG (1 << 12)
|
||||||
|
#define bit_AVX512VPOPCNTDQ (1 << 14)
|
||||||
|
#define bit_RDPID (1 << 22)
|
||||||
|
#define bit_MOVDIRI (1 << 27)
|
||||||
|
#define bit_MOVDIR64B (1 << 28)
|
||||||
|
#define bit_ENQCMD (1 << 29)
|
||||||
|
#define bit_CLDEMOTE (1 << 25)
|
||||||
|
#define bit_KL (1 << 23)
|
||||||
|
|
||||||
|
/* %edx */
|
||||||
|
#define bit_AVX5124VNNIW (1 << 2)
|
||||||
|
#define bit_AVX5124FMAPS (1 << 3)
|
||||||
|
#define bit_AVX512VP2INTERSECT (1 << 8)
|
||||||
|
#define bit_AVX512FP16 (1 << 23)
|
||||||
|
#define bit_IBT (1 << 20)
|
||||||
|
#define bit_UINTR (1 << 5)
|
||||||
|
#define bit_PCONFIG (1 << 18)
|
||||||
|
#define bit_SERIALIZE (1 << 14)
|
||||||
|
#define bit_TSXLDTRK (1 << 16)
|
||||||
|
#define bit_AMX_BF16 (1 << 22)
|
||||||
|
#define bit_AMX_TILE (1 << 24)
|
||||||
|
#define bit_AMX_INT8 (1 << 25)
|
||||||
|
|
||||||
|
/* Extended State Enumeration Sub-leaf (%eax == 0xd, %ecx == 1) */
|
||||||
|
#define bit_XSAVEOPT (1 << 0)
|
||||||
|
#define bit_XSAVEC (1 << 1)
|
||||||
|
#define bit_XSAVES (1 << 3)
|
||||||
|
|
||||||
|
/* PT sub leaf (%eax == 0x14, %ecx == 0) */
|
||||||
|
/* %ebx */
|
||||||
|
#define bit_PTWRITE (1 << 4)
|
||||||
|
|
||||||
|
/* Keylocker leaf (%eax == 0x19) */
|
||||||
|
/* %ebx */
|
||||||
|
#define bit_AESKLE ( 1<<0 )
|
||||||
|
#define bit_WIDEKL ( 1<<2 )
|
||||||
|
|
||||||
|
|
||||||
|
/* Signatures for different CPU implementations as returned in uses
|
||||||
|
of cpuid with level 0. */
|
||||||
|
#define signature_AMD_ebx 0x68747541
|
||||||
|
#define signature_AMD_ecx 0x444d4163
|
||||||
|
#define signature_AMD_edx 0x69746e65
|
||||||
|
|
||||||
|
#define signature_CENTAUR_ebx 0x746e6543
|
||||||
|
#define signature_CENTAUR_ecx 0x736c7561
|
||||||
|
#define signature_CENTAUR_edx 0x48727561
|
||||||
|
|
||||||
|
#define signature_CYRIX_ebx 0x69727943
|
||||||
|
#define signature_CYRIX_ecx 0x64616574
|
||||||
|
#define signature_CYRIX_edx 0x736e4978
|
||||||
|
|
||||||
|
#define signature_INTEL_ebx 0x756e6547
|
||||||
|
#define signature_INTEL_ecx 0x6c65746e
|
||||||
|
#define signature_INTEL_edx 0x49656e69
|
||||||
|
|
||||||
|
#define signature_TM1_ebx 0x6e617254
|
||||||
|
#define signature_TM1_ecx 0x55504361
|
||||||
|
#define signature_TM1_edx 0x74656d73
|
||||||
|
|
||||||
|
#define signature_TM2_ebx 0x756e6547
|
||||||
|
#define signature_TM2_ecx 0x3638784d
|
||||||
|
#define signature_TM2_edx 0x54656e69
|
||||||
|
|
||||||
|
#define signature_NSC_ebx 0x646f6547
|
||||||
|
#define signature_NSC_ecx 0x43534e20
|
||||||
|
#define signature_NSC_edx 0x79622065
|
||||||
|
|
||||||
|
#define signature_NEXGEN_ebx 0x4778654e
|
||||||
|
#define signature_NEXGEN_ecx 0x6e657669
|
||||||
|
#define signature_NEXGEN_edx 0x72446e65
|
||||||
|
|
||||||
|
#define signature_RISE_ebx 0x65736952
|
||||||
|
#define signature_RISE_ecx 0x65736952
|
||||||
|
#define signature_RISE_edx 0x65736952
|
||||||
|
|
||||||
|
#define signature_SIS_ebx 0x20536953
|
||||||
|
#define signature_SIS_ecx 0x20536953
|
||||||
|
#define signature_SIS_edx 0x20536953
|
||||||
|
|
||||||
|
#define signature_UMC_ebx 0x20434d55
|
||||||
|
#define signature_UMC_ecx 0x20434d55
|
||||||
|
#define signature_UMC_edx 0x20434d55
|
||||||
|
|
||||||
|
#define signature_VIA_ebx 0x20414956
|
||||||
|
#define signature_VIA_ecx 0x20414956
|
||||||
|
#define signature_VIA_edx 0x20414956
|
||||||
|
|
||||||
|
#define signature_VORTEX_ebx 0x74726f56
|
||||||
|
#define signature_VORTEX_ecx 0x436f5320
|
||||||
|
#define signature_VORTEX_edx 0x36387865
|
||||||
|
|
||||||
|
#ifndef __x86_64__
|
||||||
|
/* At least one cpu (Winchip 2) does not set %ebx and %ecx
|
||||||
|
for cpuid leaf 1. Forcibly zero the two registers before
|
||||||
|
calling cpuid as a precaution. */
|
||||||
|
#define __cpuid(level, a, b, c, d) \
|
||||||
|
do { \
|
||||||
|
if (__builtin_constant_p (level) && (level) != 1) \
|
||||||
|
__asm__ __volatile__ ("cpuid\n\t" \
|
||||||
|
: "=a" (a), "=b" (b), "=c" (c), "=d" (d) \
|
||||||
|
: "0" (level)); \
|
||||||
|
else \
|
||||||
|
__asm__ __volatile__ ("cpuid\n\t" \
|
||||||
|
: "=a" (a), "=b" (b), "=c" (c), "=d" (d) \
|
||||||
|
: "0" (level), "1" (0), "2" (0)); \
|
||||||
|
} while (0)
|
||||||
|
#else
|
||||||
|
#define __cpuid(level, a, b, c, d) \
|
||||||
|
__asm__ __volatile__ ("cpuid\n\t" \
|
||||||
|
: "=a" (a), "=b" (b), "=c" (c), "=d" (d) \
|
||||||
|
: "0" (level))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __cpuid_count(level, count, a, b, c, d) \
|
||||||
|
__asm__ __volatile__ ("cpuid\n\t" \
|
||||||
|
: "=a" (a), "=b" (b), "=c" (c), "=d" (d) \
|
||||||
|
: "0" (level), "2" (count))
|
||||||
|
|
||||||
|
|
||||||
|
/* Return highest supported input value for cpuid instruction. ext can
|
||||||
|
be either 0x0 or 0x80000000 to return highest supported value for
|
||||||
|
basic or extended cpuid information. Function returns 0 if cpuid
|
||||||
|
is not supported or whatever cpuid returns in eax register. If sig
|
||||||
|
pointer is non-null, then first four bytes of the signature
|
||||||
|
(as found in ebx register) are returned in location pointed by sig. */
|
||||||
|
|
||||||
|
static __inline unsigned int
|
||||||
|
__get_cpuid_max (unsigned int __ext, unsigned int *__sig)
|
||||||
|
{
|
||||||
|
unsigned int __eax, __ebx, __ecx, __edx;
|
||||||
|
|
||||||
|
#ifndef __x86_64__
|
||||||
|
/* See if we can use cpuid. On AMD64 we always can. */
|
||||||
|
#if __GNUC__ >= 3
|
||||||
|
__asm__ ("pushf{l|d}\n\t"
|
||||||
|
"pushf{l|d}\n\t"
|
||||||
|
"pop{l}\t%0\n\t"
|
||||||
|
"mov{l}\t{%0, %1|%1, %0}\n\t"
|
||||||
|
"xor{l}\t{%2, %0|%0, %2}\n\t"
|
||||||
|
"push{l}\t%0\n\t"
|
||||||
|
"popf{l|d}\n\t"
|
||||||
|
"pushf{l|d}\n\t"
|
||||||
|
"pop{l}\t%0\n\t"
|
||||||
|
"popf{l|d}\n\t"
|
||||||
|
: "=&r" (__eax), "=&r" (__ebx)
|
||||||
|
: "i" (0x00200000));
|
||||||
|
#else
|
||||||
|
/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
|
||||||
|
nor alternatives in i386 code. */
|
||||||
|
__asm__ ("pushfl\n\t"
|
||||||
|
"pushfl\n\t"
|
||||||
|
"popl\t%0\n\t"
|
||||||
|
"movl\t%0, %1\n\t"
|
||||||
|
"xorl\t%2, %0\n\t"
|
||||||
|
"pushl\t%0\n\t"
|
||||||
|
"popfl\n\t"
|
||||||
|
"pushfl\n\t"
|
||||||
|
"popl\t%0\n\t"
|
||||||
|
"popfl\n\t"
|
||||||
|
: "=&r" (__eax), "=&r" (__ebx)
|
||||||
|
: "i" (0x00200000));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!((__eax ^ __ebx) & 0x00200000))
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Host supports cpuid. Return highest supported cpuid input value. */
|
||||||
|
__cpuid (__ext, __eax, __ebx, __ecx, __edx);
|
||||||
|
|
||||||
|
if (__sig)
|
||||||
|
*__sig = __ebx;
|
||||||
|
|
||||||
|
return __eax;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return cpuid data for requested cpuid leaf, as found in returned
|
||||||
|
eax, ebx, ecx and edx registers. The function checks if cpuid is
|
||||||
|
supported and returns 1 for valid cpuid information or 0 for
|
||||||
|
unsupported cpuid leaf. All pointers are required to be non-null. */
|
||||||
|
|
||||||
|
static __inline int
|
||||||
|
__get_cpuid (unsigned int __leaf,
|
||||||
|
unsigned int *__eax, unsigned int *__ebx,
|
||||||
|
unsigned int *__ecx, unsigned int *__edx)
|
||||||
|
{
|
||||||
|
unsigned int __ext = __leaf & 0x80000000;
|
||||||
|
unsigned int __maxlevel = __get_cpuid_max (__ext, 0);
|
||||||
|
|
||||||
|
if (__maxlevel == 0 || __maxlevel < __leaf)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
__cpuid (__leaf, *__eax, *__ebx, *__ecx, *__edx);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Same as above, but sub-leaf can be specified. */
|
||||||
|
|
||||||
|
static __inline int
|
||||||
|
__get_cpuid_count (unsigned int __leaf, unsigned int __subleaf,
|
||||||
|
unsigned int *__eax, unsigned int *__ebx,
|
||||||
|
unsigned int *__ecx, unsigned int *__edx)
|
||||||
|
{
|
||||||
|
unsigned int __ext = __leaf & 0x80000000;
|
||||||
|
unsigned int __maxlevel = __get_cpuid_max (__ext, 0);
|
||||||
|
|
||||||
|
if (__maxlevel == 0 || __maxlevel < __leaf)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
__cpuid_count (__leaf, __subleaf, *__eax, *__ebx, *__ecx, *__edx);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline void
|
||||||
|
__cpuidex (int __cpuid_info[4], int __leaf, int __subleaf)
|
||||||
|
{
|
||||||
|
__cpuid_count (__leaf, __subleaf, __cpuid_info[0], __cpuid_info[1],
|
||||||
|
__cpuid_info[2], __cpuid_info[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _CPUID_H_INCLUDED */
|
72
lib/gcc/x86_64-linux-musl/12.2.0/include/cross-stdarg.h
Normal file
72
lib/gcc/x86_64-linux-musl/12.2.0/include/cross-stdarg.h
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
/* Copyright (C) 2002-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef __CROSS_STDARG_H_INCLUDED
|
||||||
|
#define __CROSS_STDARG_H_INCLUDED
|
||||||
|
|
||||||
|
/* Make sure that for non x64 targets cross builtins are defined. */
|
||||||
|
#ifndef __x86_64__
|
||||||
|
/* Call abi ms_abi. */
|
||||||
|
#define __builtin_ms_va_list __builtin_va_list
|
||||||
|
#define __builtin_ms_va_copy __builtin_va_copy
|
||||||
|
#define __builtin_ms_va_start __builtin_va_start
|
||||||
|
#define __builtin_ms_va_end __builtin_va_end
|
||||||
|
|
||||||
|
/* Call abi sysv_abi. */
|
||||||
|
#define __builtin_sysv_va_list __builtin_va_list
|
||||||
|
#define __builtin_sysv_va_copy __builtin_va_copy
|
||||||
|
#define __builtin_sysv_va_start __builtin_va_start
|
||||||
|
#define __builtin_sysv_va_end __builtin_va_end
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __ms_va_copy(__d,__s) __builtin_ms_va_copy(__d,__s)
|
||||||
|
#define __ms_va_start(__v,__l) __builtin_ms_va_start(__v,__l)
|
||||||
|
#define __ms_va_arg(__v,__l) __builtin_va_arg(__v,__l)
|
||||||
|
#define __ms_va_end(__v) __builtin_ms_va_end(__v)
|
||||||
|
|
||||||
|
#define __sysv_va_copy(__d,__s) __builtin_sysv_va_copy(__d,__s)
|
||||||
|
#define __sysv_va_start(__v,__l) __builtin_sysv_va_start(__v,__l)
|
||||||
|
#define __sysv_va_arg(__v,__l) __builtin_va_arg(__v,__l)
|
||||||
|
#define __sysv_va_end(__v) __builtin_sysv_va_end(__v)
|
||||||
|
|
||||||
|
#ifndef __GNUC_SYSV_VA_LIST
|
||||||
|
#define __GNUC_SYSV_VA_LIST
|
||||||
|
typedef __builtin_sysv_va_list __gnuc_sysv_va_list;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _SYSV_VA_LIST_DEFINED
|
||||||
|
#define _SYSV_VA_LIST_DEFINED
|
||||||
|
typedef __gnuc_sysv_va_list sysv_va_list;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GNUC_MS_VA_LIST
|
||||||
|
#define __GNUC_MS_VA_LIST
|
||||||
|
typedef __builtin_ms_va_list __gnuc_ms_va_list;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _MS_VA_LIST_DEFINED
|
||||||
|
#define _MS_VA_LIST_DEFINED
|
||||||
|
typedef __gnuc_ms_va_list ms_va_list;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __CROSS_STDARG_H_INCLUDED */
|
1602
lib/gcc/x86_64-linux-musl/12.2.0/include/emmintrin.h
Normal file
1602
lib/gcc/x86_64-linux-musl/12.2.0/include/emmintrin.h
Normal file
File diff suppressed because it is too large
Load Diff
55
lib/gcc/x86_64-linux-musl/12.2.0/include/enqcmdintrin.h
Normal file
55
lib/gcc/x86_64-linux-musl/12.2.0/include/enqcmdintrin.h
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
/* Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License and
|
||||||
|
a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _X86GPRINTRIN_H_INCLUDED
|
||||||
|
# error "Never use <enqcmdintrin.h> directly; include <x86gprintrin.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _ENQCMDINTRIN_H_INCLUDED
|
||||||
|
#define _ENQCMDINTRIN_H_INCLUDED
|
||||||
|
|
||||||
|
#ifndef __ENQCMD__
|
||||||
|
#pragma GCC push_options
|
||||||
|
#pragma GCC target ("enqcmd")
|
||||||
|
#define __DISABLE_ENQCMD__
|
||||||
|
#endif /* __ENQCMD__ */
|
||||||
|
|
||||||
|
extern __inline int
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_enqcmd (void * __P, const void * __Q)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_enqcmd (__P, __Q);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern __inline int
|
||||||
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||||
|
_enqcmds (void * __P, const void * __Q)
|
||||||
|
{
|
||||||
|
return __builtin_ia32_enqcmds (__P, __Q);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __DISABLE_ENQCMD__
|
||||||
|
#undef __DISABLE_ENQCMD__
|
||||||
|
#pragma GCC pop_options
|
||||||
|
#endif /* __DISABLE_ENQCMD__ */
|
||||||
|
#endif /* _ENQCMDINTRIN_H_INCLUDED. */
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user