Update googletest to 1.18.0 and SIMDe to 0.8.2.

Googletest 1.18 asks for CMake 3.13 or newer, so configuring the tests no longer warns that CMake compatibility below 3.10 is deprecated.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ryan Henry 2026-09-24 14:30:19 -06:00
parent e4e666f459
commit 3f10e05176
912 changed files with 224964 additions and 11502 deletions

View file

@ -45,7 +45,10 @@
"ideas",
"infra",
"platform",
"test"
"test",
"maintenance",
"projectManagement",
"review"
]
},
{
@ -77,7 +80,8 @@
"code",
"test",
"bug",
"ideas"
"ideas",
"doc"
]
},
{
@ -204,6 +208,532 @@
"contributions": [
"code"
]
},
{
"login": "Artoria2e5",
"name": "Mingye Wang",
"avatar_url": "https://avatars.githubusercontent.com/u/6459309?v=4",
"profile": "https://zh.wikipedia.org/wiki/User:Artoria2e5",
"contributions": [
"doc"
]
},
{
"login": "ngzhian",
"name": "Ng Zhi An",
"avatar_url": "https://avatars.githubusercontent.com/u/1749303?v=4",
"profile": "http://www.ngzhian.com",
"contributions": [
"code",
"doc"
]
},
{
"login": "Glitch18",
"name": "Atharva Nimbalkar",
"avatar_url": "https://avatars.githubusercontent.com/u/30515829?v=4",
"profile": "https://github.com/Glitch18",
"contributions": [
"code",
"test"
]
},
{
"login": "simba611",
"name": "simba611",
"avatar_url": "https://avatars.githubusercontent.com/u/59763921?v=4",
"profile": "https://github.com/simba611",
"contributions": [
"code",
"test"
]
},
{
"login": "ashnewmanjones",
"name": "Ashleigh Newman-Jones",
"avatar_url": "https://avatars.githubusercontent.com/u/29983014?v=4",
"profile": "https://ashnewmanjones.com",
"contributions": [
"code",
"test"
]
},
{
"login": "wrv",
"name": "Willy R. Vasquez",
"avatar_url": "https://avatars.githubusercontent.com/u/5039686?v=4",
"profile": "https://alum.mit.edu/www/wrv/",
"contributions": [
"code",
"maintenance",
"test"
]
},
{
"login": "keithw",
"name": "Keith Winstein",
"avatar_url": "https://avatars.githubusercontent.com/u/208955?v=4",
"profile": "https://cs.stanford.edu/~keithw",
"contributions": [
"code",
"maintenance",
"test"
]
},
{
"login": "SoapGentoo",
"name": "David Seifert",
"avatar_url": "https://avatars.githubusercontent.com/u/16636962?v=4",
"profile": "https://github.com/SoapGentoo",
"contributions": [
"maintenance"
]
},
{
"login": "milot-mirdita",
"name": "Milot Mirdita",
"avatar_url": "https://avatars.githubusercontent.com/u/63657?v=4",
"profile": "https://mirdita.de",
"contributions": [
"code",
"maintenance",
"test"
]
},
{
"login": "aqrit",
"name": "aqrit",
"avatar_url": "https://avatars.githubusercontent.com/u/4021602?v=4",
"profile": "http://bitpatch.com",
"contributions": [
"code",
"maintenance"
]
},
{
"login": "dgazzoni",
"name": "Décio Luiz Gazzoni Filho",
"avatar_url": "https://avatars.githubusercontent.com/u/17934171?v=4",
"profile": "https://github.com/dgazzoni",
"contributions": [
"code",
"maintenance",
"test"
]
},
{
"login": "makise-homura",
"name": "Igor Molchanov",
"avatar_url": "https://avatars.githubusercontent.com/u/16463967?v=4",
"profile": "http://vk.com/muzzdiez",
"contributions": [
"code",
"maintenance",
"platform"
]
},
{
"login": "anrodrig",
"name": "Andrew Rodriguez",
"avatar_url": "https://avatars.githubusercontent.com/u/35815808?v=4",
"profile": "https://github.com/anrodrig",
"contributions": [
"code",
"maintenance",
"test"
]
},
{
"login": "Changqing-JING",
"name": "Changqing Jing",
"avatar_url": "https://avatars.githubusercontent.com/u/59640930?v=4",
"profile": "https://github.com/Changqing-JING",
"contributions": [
"maintenance"
]
},
{
"login": "jpcima",
"name": "JP Cimalando",
"avatar_url": "https://avatars.githubusercontent.com/u/17614485?v=4",
"profile": "http://jpcima.sdf1.org/",
"contributions": [
"code",
"infra"
]
},
{
"login": "FlyGoat",
"name": "Jiaxun Yang",
"avatar_url": "https://avatars.githubusercontent.com/u/5955297?v=4",
"profile": "https://flygoat.com/",
"contributions": [
"code",
"platform"
]
},
{
"login": "ktgw0316",
"name": "Masahiro Kitagawa",
"avatar_url": "https://avatars.githubusercontent.com/u/3116763?v=4",
"profile": "https://github.com/ktgw0316",
"contributions": [
"code",
"test"
]
},
{
"login": "operasfantom",
"name": "Pavel Iatchenii",
"avatar_url": "https://avatars.githubusercontent.com/u/31903947?v=4",
"profile": "https://github.com/operasfantom",
"contributions": [
"code",
"test"
]
},
{
"login": "tommyvct",
"name": "Tommy Vercetti",
"avatar_url": "https://avatars.githubusercontent.com/u/7903172?v=4",
"profile": "https://tommyvct.tk",
"contributions": [
"maintenance"
]
},
{
"login": "rscohn2",
"name": "Robert Cohn",
"avatar_url": "https://avatars.githubusercontent.com/u/1936730?v=4",
"profile": "https://github.com/rscohn2",
"contributions": [
"maintenance"
]
},
{
"login": "adamnovak",
"name": "Adam Novak",
"avatar_url": "https://avatars.githubusercontent.com/u/5062495?v=4",
"profile": "https://github.com/adamnovak",
"contributions": [
"doc"
]
},
{
"login": "boris-kuz",
"name": "boris-kuz",
"avatar_url": "https://avatars.githubusercontent.com/u/18011434?v=4",
"profile": "https://github.com/boris-kuz",
"contributions": [
"maintenance"
]
},
{
"login": "Epixu",
"name": "Dimo Markov",
"avatar_url": "https://avatars.githubusercontent.com/u/1529601?v=4",
"profile": "https://github.com/Epixu",
"contributions": [
"maintenance"
]
},
{
"login": "dhbloo",
"name": "dblue",
"avatar_url": "https://avatars.githubusercontent.com/u/32353216?v=4",
"profile": "https://dhbloo.github.io/",
"contributions": [
"maintenance"
]
},
{
"login": "zekehul",
"name": "zekehul",
"avatar_url": "https://avatars.githubusercontent.com/u/8780526?v=4",
"profile": "https://github.com/zekehul",
"contributions": [
"code",
"maintenance"
]
},
{
"login": "LaurentThomas",
"name": "Laurent Thomas",
"avatar_url": "https://avatars.githubusercontent.com/u/40661368?v=4",
"profile": "https://open-cells.com",
"contributions": [
"code"
]
},
{
"login": "maxbachmann",
"name": "Max Bachmann",
"avatar_url": "https://avatars.githubusercontent.com/u/44199644?v=4",
"profile": "https://github.com/maxbachmann",
"contributions": [
"doc"
]
},
{
"login": "psaab",
"name": "psaab",
"avatar_url": "https://avatars.githubusercontent.com/u/196946?v=4",
"profile": "https://github.com/psaab",
"contributions": [
"maintenance"
]
},
{
"login": "sbc100",
"name": "Sam Clegg",
"avatar_url": "https://avatars.githubusercontent.com/u/515813?v=4",
"profile": "http://superduper.net/",
"contributions": [
"maintenance"
]
},
{
"login": "tlively",
"name": "Thomas Lively",
"avatar_url": "https://avatars.githubusercontent.com/u/7121787?v=4",
"profile": "https://twitter.com/tlively52",
"contributions": [
"bug",
"ideas",
"maintenance"
]
},
{
"login": "coderzh",
"name": "coderzh",
"avatar_url": "https://avatars.githubusercontent.com/u/329164?v=4",
"profile": "http://blog.coderzh.com/",
"contributions": [
"code",
"test"
]
},
{
"login": "k-dominik",
"name": "Dominik Kutra",
"avatar_url": "https://avatars.githubusercontent.com/u/24434157?v=4",
"profile": "https://github.com/k-dominik",
"contributions": [
"code",
"test"
]
},
{
"login": "Lithrein",
"name": "Lithrein",
"avatar_url": "https://avatars.githubusercontent.com/u/207981?v=4",
"profile": "https://github.com/Lithrein",
"contributions": [
"maintenance"
]
},
{
"login": "quyykk",
"name": "Nick",
"avatar_url": "https://avatars.githubusercontent.com/u/85879619?v=4",
"profile": "https://github.com/quyykk",
"contributions": [
"maintenance"
]
},
{
"login": "thomasdwu",
"name": "thomasdwu",
"avatar_url": "https://avatars.githubusercontent.com/u/6819659?v=4",
"profile": "https://github.com/thomasdwu",
"contributions": [
"maintenance"
]
},
{
"login": "Remnant44",
"name": "Stephen",
"avatar_url": "https://avatars.githubusercontent.com/u/54461740?v=4",
"profile": "https://github.com/Remnant44",
"contributions": [
"bug"
]
},
{
"login": "johnplatts",
"name": "John Platts",
"avatar_url": "https://avatars.githubusercontent.com/u/28941113?v=4",
"profile": "https://github.com/johnplatts",
"contributions": [
"bug"
]
},
{
"login": "tycho",
"name": "Steven Noonan",
"avatar_url": "https://avatars.githubusercontent.com/u/29616?v=4",
"profile": "https://github.com/tycho",
"contributions": [
"bug"
]
},
{
"login": "p0nce",
"name": "p0nce ",
"avatar_url": "https://avatars.githubusercontent.com/u/1067485?v=4",
"profile": "https://github.com/p0nce",
"contributions": [
"bug"
]
},
{
"login": "pabs3",
"name": "Paul Wise",
"avatar_url": "https://avatars.githubusercontent.com/u/328602?v=4",
"profile": "https://bonedaddy.net/pabs3/",
"contributions": [
"bug"
]
},
{
"login": "easyaspi314",
"name": "easyaspi314 (Devin)",
"avatar_url": "https://avatars.githubusercontent.com/u/6258309?v=4",
"profile": "https://github.com/easyaspi314",
"contributions": [
"bug",
"code"
]
},
{
"login": "JonLiu1993",
"name": "JonLiu1993",
"avatar_url": "https://avatars.githubusercontent.com/u/63675417?v=4",
"profile": "https://github.com/JonLiu1993",
"contributions": [
"platform"
]
},
{
"login": "Cheney-W",
"name": "Cheney Wang",
"avatar_url": "https://avatars.githubusercontent.com/u/38240633?v=4",
"profile": "https://github.com/Cheney-W",
"contributions": [
"platform"
]
},
{
"login": "myd7349",
"name": "myd7349 ",
"avatar_url": "https://avatars.githubusercontent.com/u/5435649?v=4",
"profile": "http://myd7349.github.io/",
"contributions": [
"platform"
]
},
{
"login": "chausner",
"name": "chausner",
"avatar_url": "https://avatars.githubusercontent.com/u/15180557?v=4",
"profile": "https://github.com/chausner",
"contributions": [
"platform"
]
},
{
"login": "yyctw",
"name": "Yi-Yen Chung",
"avatar_url": "https://avatars.githubusercontent.com/u/45251297?v=4",
"profile": "https://github.com/yyctw",
"contributions": [
"code",
"test"
]
},
{
"login": "wewe5215",
"name": "Chi-Wei Chu",
"avatar_url": "https://avatars.githubusercontent.com/u/76145143?v=4",
"profile": "https://github.com/wewe5215",
"contributions": [
"code",
"test"
]
},
{
"login": "M-HT",
"name": "M-HT",
"avatar_url": "https://avatars.githubusercontent.com/u/12173952?v=4",
"profile": "https://github.com/M-HT",
"contributions": [
"code"
]
},
{
"login": "SGSSGene",
"name": "Simon Gene Gottlieb",
"avatar_url": "https://avatars.githubusercontent.com/u/456045?v=4",
"profile": "https://gottliebtfreitag.de",
"contributions": [
"code"
]
},
{
"login": "cbielow",
"name": "Chris Bielow",
"avatar_url": "https://avatars.githubusercontent.com/u/6008722?v=4",
"profile": "http://bsc.fu-berlin.de",
"contributions": [
"code"
]
},
{
"login": "XiWeiGu",
"name": "gu xiwei",
"avatar_url": "https://avatars.githubusercontent.com/u/41367273?v=4",
"profile": "https://github.com/XiWeiGu",
"contributions": [
"platform",
"test"
]
},
{
"login": "Vineg",
"name": "George Vinokhodov",
"avatar_url": "https://avatars.githubusercontent.com/u/1757455?v=4",
"profile": "https://github.com/Vineg",
"contributions": [
"code"
]
},
{
"login": "Coeur",
"name": "Cœur",
"avatar_url": "https://avatars.githubusercontent.com/u/839992?v=4",
"profile": "https://github.com/Coeur",
"contributions": [
"code"
]
},
{
"login": "Proudsalsa",
"name": "Florian @Proudsalsa",
"avatar_url": "https://avatars.githubusercontent.com/u/103449548?v=4",
"profile": "https://github.com/Proudsalsa",
"contributions": [
"code"
]
},
{
"login": "thomas-schlichter",
"name": "Thomas Schlichter",
"avatar_url": "https://avatars.githubusercontent.com/u/106664923?v=4",
"profile": "https://github.com/thomas-schlichter",
"contributions": [
"bug",
"code"
]
}
],
"contributorsPerLine": 7

View file

@ -1,36 +1,114 @@
environment:
MESON_EXE_WRAPPER: "['C:\\Program Files\\OpenCppCoverage\\OpenCppCoverage.exe', '--export_type=cobertura', '--']"
CCACHE_MAXSIZE: '500Mi'
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
VCVARSALL: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
PYTHON_DIR: C:\Python311-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
VCVARSALL: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
FLAGS: /arch:AVX
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
FLAGS: /arch:AVX
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
VCVARSALL: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
FLAGS: /arch:AVX2
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
FLAGS: /arch:AVX2
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX2
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX2
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
VCVARSALL: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
FLAGS: /arch:AVX512
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
FLAGS: /arch:AVX512
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX512
branches:
except:
- /^ci/(?!appveyor)(/.+)?/
- /^dependabot/(/.+)?/
platform:
- x64
cache:
- '%SystemDrive%\ccache'
init:
- pwsh: |
$Env:APPVEYOR_SAVE_CACHE_ON_ERROR = 'true'
on_failure:
- appveyor PushArtifact build\meson-logs\meson-log.txt
- appveyor PushArtifact build\meson-logs\testlog.txt
install:
- cmd: set PATH=%PYTHON_DIR%;%PYTHON_DIR%\scripts;%PATH%
- cmd: pip install --upgrade ninja meson
- cmd: choco install opencppcoverage codecov
- cmd: choco install opencppcoverage codecov ccache
- cmd: call "%VCVARSALL%" amd64
before_build:
- ps: |
git submodule -q update --init --recursive
if ($ENV:FLAGS -notlike "*ARCH*") {
echo "tests will be run"
} else {
echo "FLAGS is $ENV:FLAGS"
}
build_script:
- cmd: meson --backend=ninja build
- cmd: ninja -C build -v test
- cmd: |
set CCACHE_DIR=%SystemDrive%\ccache
set CC=ccache.exe cl.exe
set CXX=ccache.exe cl.exe
ccache.exe --zero-stats
set CFLAGS=/WX /Z7 %FLAGS%
set CXXFLAGS=/WX /Z7 %FLAGS%
meson --backend=ninja build
meson compile -C build --verbose
ccache.exe --show-stats
test_script:
# "meson test -C build" fails due to excessively long command line
- ps: |
if ($ENV:FLAGS -notlike "*ARCH*") {
ninja -C build test
} else {
echo "skipping test"
}
## This seems to work; data shows up on CodeCov, but it emits an error
## which makes AppVeyor thing the whole build failed. Example:

View file

@ -1,5 +1,5 @@
pool:
vmImage: 'ubuntu-20.04'
vmImage: 'ubuntu-22.04'
trigger:
branches:
@ -11,21 +11,22 @@ trigger:
jobs:
- job: clang_analysis
timeoutInMinutes: 120
variables:
CC: clang-10
CXX: clang++-10
CC: clang-14
CXX: clang++-14
CFLAGS: -Wextra -Werror
CXXFLAGS: -Wextra -Werror
steps:
- script: uname -a && cat /proc/cpuinfo /proc/meminfo
displayName: System Information
- script: sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' && sudo apt-get update && sudo apt-get install -y ninja-build ninja-build python3-pip python3-setuptools python3-wheel clang-10 clang-tools-10
- script: sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' && sudo apt-get update && sudo apt-get install -y ninja-build ninja-build python3-pip python3-setuptools python3-wheel clang-14 clang-tools-14
displayName: Install APT Dependencies
- script: pip3 install -v meson==0.55.0
displayName: Install pip Dependencies
- script: scan-build-10 /home/vsts/.local/bin/meson setup build -Db_sanitize=address,undefined
- script: scan-build-14 /home/vsts/.local/bin/meson setup build -Db_sanitize=address,undefined
displayName: Configure
- script: scan-build-10 ninja -C build -v
- script: scan-build-14 ninja -C build -v
displayName: Build
- script: ninja -C build -v test
displayName: Test
@ -35,6 +36,7 @@ jobs:
testResultsFiles: 'build/meson-logs/testlog.junit.xml'
- job: gcc_analysis
timeoutInMinutes: 120
variables:
CC: gcc-10
CXX: g++-10

View file

@ -13,11 +13,11 @@ jobs:
CC: gcc
CXX: g++
steps:
- run: apt-get update && apt-get install -y git ssh ninja-build python3-pip python3-setuptools python3-wheel gcovr gcc g++
- run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr gcc g++
- checkout
- run: cat /proc/cpuinfo /proc/meminfo
- run: pip3 install meson==0.55.0
- run: /usr/local/bin/meson setup build -Db_coverage=true
- run: pipx install meson==0.55.0
- run: /root/.local/bin/meson setup build -Db_coverage=true
- run: ninja -C build -v -j 5
- run: ninja -C build -v test
@ -32,11 +32,11 @@ jobs:
CFLAGS: -Weverything -Werror -march=native
CXXFLAGS: -Weverything -Werror -march=native
steps:
- run: apt-get update && apt-get install -y git ssh ninja-build python3-pip python3-setuptools python3-wheel gcovr clang
- run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr clang
- checkout
- run: cat /proc/cpuinfo /proc/meminfo
- run: pip3 install meson==0.55.0
- run: CC=clang CXX=clang++ /usr/local/bin/meson setup build -Db_coverage=true
- run: pipx install meson==0.55.0
- run: CFLAGS="-Wno-unsafe-buffer-usage" CXXFLAGS="-Wno-unsafe-buffer-usage" CC=clang CXX=clang++ /root/.local/bin/meson setup build -Db_coverage=true
- run: ninja -C build -v -j 5
- run: ninja -C build -v test
@ -51,7 +51,7 @@ jobs:
CFLAGS: -Wextra -Werror
CXXFLAGS: -Wextra -Werror
steps:
- run: apt-get update && apt-get install -y git ssh ninja-build python3-pip python3-setuptools python3-wheel gcovr gcc-mips64el-linux-gnuabi64 g++-mips64el-linux-gnuabi64 qemu-user-static libc6-mips64el-cross ccache
- run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr gcc-mips64el-linux-gnuabi64 g++-mips64el-linux-gnuabi64 qemu-user-static libc6-mips64el-cross ccache build-essential
- checkout
- run: cat /proc/cpuinfo /proc/meminfo
- run:
@ -60,8 +60,8 @@ jobs:
ccache --set-config=compression=true
ccache -p
ccache -z
- run: pip3 install meson==0.55.0
- run: /usr/local/bin/meson setup build -Db_coverage=true --cross-file=docker/cross-files/loongson-gcc-ccache.cross
- run: pipx install meson==0.55.0
- run: /root/.local/bin/meson setup build -Db_coverage=true --cross-file=docker/cross-files/loongson-gcc-ccache.cross
- restore_cache:
keys:
- v1-loongson-ccache-{{ .Branch }}-
@ -81,14 +81,14 @@ jobs:
username: $DOCKERHUB_USERNAME
password: $DOCKERHUB_PASSWORD
steps:
- run: apt-get update && apt-get install -y git ssh ninja-build python3-pip python3-setuptools python3-wheel gcovr {gcc,g++}-i686-linux-gnu libc6-i386-cross qemu-user-static ccache
- run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr {gcc,g++}-i686-linux-gnu libc6-i386-cross qemu-user-static ccache
- checkout
- run:
name: System Information
command: cat /proc/cpuinfo /proc/meminfo
- run: dpkg --add-architecture i386
- run: pip3 install meson==0.55.0
- run: /usr/local/bin/meson setup build -Db_coverage=true --cross-file docker/cross-files/i686-gcc-qemu.cross
- run: pipx install meson==0.55.0
- run: /root/.local/bin/meson setup build -Db_coverage=true --cross-file docker/cross-files/i686-gcc-qemu.cross
- restore_cache:
keys:
- v1-i686-ccache-{{ .Branch }}-
@ -99,12 +99,12 @@ jobs:
ccache --set-config=compression=true
ccache -p
ccache -z
- run: /usr/local/bin/meson compile -C build --verbose -j 5
- run: /root/.local/bin/meson compile -C build --verbose -j 5
- run: /usr/bin/ccache -s
- save_cache:
key: v1-i686-ccache-{{ .Branch }}-{{ .Revision }}
paths: [ "/root/.cache/ccache" ]
- run: /usr/local/bin/meson test -C build --num-processes 5 --print-errorlogs
- run: /root/.local/bin/meson test -C build --num-processes 5 --print-errorlogs
i686-gcc11-O2:
resource_class: large
@ -114,14 +114,14 @@ jobs:
username: $DOCKERHUB_USERNAME
password: $DOCKERHUB_PASSWORD
steps:
- run: apt-get update && apt-get install -y git ssh ninja-build python3-pip python3-setuptools python3-wheel gcovr {gcc,g++}-11-i686-linux-gnu libc6-i386-cross qemu-user-static ccache
- run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr {gcc,g++}-11-i686-linux-gnu libc6-i386-cross qemu-user-static ccache build-essential
- checkout
- run:
name: System Information
command: cat /proc/cpuinfo /proc/meminfo
- run: dpkg --add-architecture i386
- run: pip3 install meson==0.55.0
- run: /usr/local/bin/meson setup build -Db_coverage=true --cross-file docker/cross-files/i686-gcc-11-qemu.cross
- run: pipx install meson==0.55.0
- run: /root/.local/bin/meson setup build -Db_coverage=true --cross-file docker/cross-files/i686-gcc-11-qemu.cross
- restore_cache:
keys:
- v1-i686-gcc11-O2-ccache-{{ .Branch }}-
@ -132,12 +132,12 @@ jobs:
ccache --set-config=compression=true
ccache -p
ccache -z
- run: /usr/local/bin/meson compile -C build --verbose -j 5
- run: /root/.local/bin/meson compile -C build --verbose -j 5
- run: /usr/bin/ccache -s
- save_cache:
key: v1-i686-gcc11-O2-ccache-{{ .Branch }}-{{ .Revision }}
paths: [ "/root/.cache/ccache" ]
- run: /usr/local/bin/meson test -C build --num-processes 5 --print-errorlogs
- run: /root/.local/bin/meson test -C build --num-processes 5 --print-errorlogs
workflows:

View file

@ -5,8 +5,8 @@ task:
name: Sanitizers
skip: $BRANCH == "master" || ($BRANCH != 'ci/cirrus' && $BRANCH =~ '^ci/.+')
env:
CC: clang
CXX: clang++
CC: clang-17
CXX: clang++-17
CFLAGS: -Wextra -Werror -march=native
CXXFLAGS: -Wextra -Werror -march=native
system_info_script:
@ -14,10 +14,10 @@ task:
- cat /proc/meminfo
install_dependencies_script:
- apt-get update
- apt-get install -y ninja-build ninja-build python3-pip python3-setuptools python3-wheel gcovr clang
- pip3 install meson==0.55.0
- apt-get install -y ninja-build ninja-build pipx python3-setuptools python3-wheel gcovr clang-17
- pipx install meson==0.55.0
configure_script:
- /usr/local/bin/meson setup build -Db_coverage=true -Db_sanitize=address,undefined -Db_lundef=false
- /root/.local/bin/meson setup build -Db_coverage=true -Db_sanitize=address,undefined -Db_lundef=false
build_script:
- ninja -C build -v -j 3
test_script:

4
thirdparty/simde/.dockerignore vendored Normal file
View file

@ -0,0 +1,4 @@
*build*
docker/build*
sde*
.git

11
thirdparty/simde/.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"

View file

@ -3,9 +3,9 @@ name: CI
on:
push:
branches-ignore:
- 'master'
- 'ci/**'
- '!ci/gha**'
- 'dependabot/**'
pull_request:
branches:
- 'master'
@ -15,10 +15,25 @@ concurrency:
cancel-in-progress: true
jobs:
checkinstall:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Install APT Dependencies
run: |
sudo apt-get install -y ninja-build ninja-build pipx
pipx install meson==0.55.0
- run: |
meson setup build --prefix $PWD/install -Dtests=false
meson install -C build --quiet
diff <(find simde/ -type f -name "*.h") <(cd install/include/; find simde -type f -name "*.h" )
formatting:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Install pcre2grep
@ -72,29 +87,28 @@ jobs:
x86:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
isax:
- -mavx512bw -mavx512vl -mavx512cd -mavx512dq -mavx512vbmi -mavx512ifma -mavx512vpopcntdq -mavx512bitalg -mavx512vnni -mvpclmulqdq
- -mavx512bw -mavx512vl -DSIMDE_NATURAL_VECTOR_SIZE=256
- -mavx512f
- -mavx512bw
- -mavx512vl
- -mavx512vl -mavx512dq
- -mavx512cd
- -mavx512dq
- -msse2
- -msse3
- -mssse3
- -msse4.1
- -msse4.2
- -mavx
- -mfma
- -mavx2
- -DSIMDE_NATURAL_VECTOR_SIZE=256 -march=x86-64-v3 -mavx512bw -mavx512vl
# https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels
- -march=x86-64 -maes -mpclmul # the x86-64 baseline is CMOV, CX8, FPU, FXSR, MMX, OSFXSR, SCE, SSE, SSE2
- -march=x86-64-v2 # CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4_1, SSE4_2, SSSE3
- -march=x86-64-v3 # AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, OSXSAVE
- -march=x86-64-v4 # AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL a.k.a. skylake+ (including zen4)
include:
- target: tgl
- isax: -march=x86-64-v4 -mcx16 -mxsave -mpclmul -mfsgsbase -mrdrnd -mhle -mrdseed -maes -mclflushopt -mxsavec -mxsaves -msgx -mpku -msha -mrdpid -mavx512vpopcntdq -mavx512ifma -mavx512vbmi -mavx512vnni -mavx512vbmi2 -mavx512bitalg -mvpclmulqdq -mgfni -mvaes # icelake
target: icl
- isax: -march=x86-64-v4 -mcx16 -mxsave -mpclmul -mfsgsbase -mrdrnd -mhle -mrdseed -maes -mclflushopt -mxsavec -mxsaves -msgx -mpku -msha -mrdpid -mavx512vpopcntdq -mavx512ifma -mavx512vbmi -mavx512vnni -mavx512vbmi2 -mavx512bitalg -mvpclmulqdq -mgfni -mvaes -mpconfig -mwbnoinvd -mclwb -mmovdiri -mmovdir64b -menqcmd -mcldemote -mptwrite -mwaitpkg -mserialize -mtsxldtrk -muintr -mavxvnni -mavx512fp16 # sapphire rapids without bf16
# See https://github.com/simd-everywhere/simde/issues/1095
target: spr
env:
CFLAGS: -Wall -Wextra -Werror ${{ matrix.isax }}
CXXFLAGS: -Wall -Wextra -Werror ${{ matrix.isax }}
INTEL_TARGET: ${{ matrix.target }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: CPU Information
@ -106,29 +120,89 @@ jobs:
key: ${{ github.job }}-${{ matrix.isax }}
- name: Install APT Dependencies
run: |
sudo apt-get install -y ninja-build ninja-build python3-pip parallel gcovr
sudo apt-get install -y ninja-build ninja-build python3-pip parallel gcovr g++-12 gcc-12
sudo apt-get purge -y gcc g++
sudo ln -s /usr/bin/gcc-12 /usr/bin/gcc
sudo ln -s /usr/bin/g++-12 /usr/bin/g++
sudo python3 -m pip install meson==0.55.0
- name: add ccache to the build path
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
- name: Configure
run: meson setup build -Db_coverage=true
run: meson setup build -Db_coverage=true || (cat build/meson-logs/meson-log.txt ; false)
- name: Test run native?
run: |
test/check-flags.sh query && echo Tests with $CFLAGS will be run natively
test/check-flags.sh query || echo Tests with $CFLAGS will be run using SDE
- name: Build
run: ninja -C build -v
- name: Test
run: meson test -C build --print-errorlogs --wrapper "${GITHUB_WORKSPACE}/test/check-flags.sh sde"
run: meson test -C build --print-errorlogs --wrapper "${GITHUB_WORKSPACE}/test/check-flags.sh sde" $(meson test -C build --list | grep -v emul)
- name: Coverage Report
run: ninja -C build -v coverage-xml
- name: CodeCov.io
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
file: ./build/meson-logs/coverage.xml
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
x86-xop:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
env:
CFLAGS: -Wall -Wextra -Werror -march=bdver2
CXXFLAGS: -Wall -Wextra -Werror -march=bdver2
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: CPU Information
run: cat /proc/cpuinfo
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}-
- name: Install APT Dependencies
run: |
#sudo add-apt-repository ppa:aschultz/backports
sudo apt-get update
sudo apt-get install -y ninja-build ninja-build python3-pip parallel gcovr g++-12 gcc-12 qemu-user-static
sudo apt-get purge -y gcc g++
sudo ln -s /usr/bin/gcc-12 /usr/bin/gcc
sudo ln -s /usr/bin/g++-12 /usr/bin/g++
sudo python3 -m pip install meson==0.55.0
- name: add ccache to the build path
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
- name: Configure
run: meson setup build -Db_coverage=true || (cat build/meson-logs/meson-log.txt ; false)
- name: Build
run: ninja -C build -v
# can't test until we find a combination of `gcc -march=` and `qemu -cpu` that both enable XOP and allows qemu to test it
# - name: Test
# run: meson test -C build --print-errorlogs --wrapper "qemu-amd64-static -cpu Opteron_G5-v1"
# - name: Coverage Report
# run: ninja -C build -v coverage-xml
# - name: CodeCov.io
# uses: codecov/codecov-action@v4
# with:
# file: ./build/meson-logs/coverage.xml
# env:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
emscripten:
runs-on: ubuntu-22.04
env:
CFLAGS: -Weverything -Werror -O2 -msimd128 -Wno-unsafe-buffer-usage
CXXFLAGS: -Weverything -Werror -O2 -msimd128 -Wno-unsafe-buffer-usage
LDFLAGS: -s ENVIRONMENT=shell -s ASSERTIONS=1
strategy:
matrix:
variant:
- "32"
- "64"
- "32-relaxed"
- "64-relaxed"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: CPU Information
@ -154,19 +228,19 @@ jobs:
ls -l ~/.jsvu || true
/usr/bin/v8 --help
- name: Configure
run: meson setup build --optimization 2 --cross-file docker/cross-files/emscripten.cross
run: meson setup build --optimization 2 --cross-file docker/cross-files/emscripten${{ matrix.variant }}.cross
- name: Build
run: meson compile -C build --verbose
- name: Test
run: meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)
run: meson test -C build --print-errorlogs
native-aliases:
runs-on: ubuntu-22.04
env:
CFLAGS: -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING -march=native -Wall -Wextra -Werror
CXXFLAGS: -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING -march=native -Wall -Wextra -Werror
CFLAGS: -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING -Wall -Wextra -Werror
CXXFLAGS: -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING -Wall -Wextra -Werror
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: CPU Information
@ -187,9 +261,11 @@ jobs:
- name: Coverage Report
run: ninja -C build -v coverage-xml
- name: CodeCov.io
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
file: ./build/meson-logs/coverage.xml
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
sleef:
runs-on: ubuntu-22.04
@ -197,7 +273,7 @@ jobs:
CFLAGS: -march=native -Wall -Wextra -Werror
CXXFLAGS: -march=native -Wall -Wextra -Werror
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- run: sudo apt-get update
@ -212,42 +288,24 @@ jobs:
- name: Build
run: ninja -C build -v
- name: Test
run: ninja -C build -v test
run: meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)
- name: Coverage Report
run: ninja -C build -v coverage-xml
- name: CodeCov.io
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
file: ./build/meson-logs/coverage.xml
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
gcc:
strategy:
fail-fast: false
matrix:
include:
# - version: 4.7
# distro: ubuntu-16.04
# arch_flags: -mavx2
# - version: 4.8
# distro: ubuntu-16.04
# arch_flags: -mavx2
# - version: 4.9
# distro: ubuntu-16.04
# arch_flags: -mavx2
#- version: 5
# distro: ubuntu-18.04
# arch_flags: -mavx2
# - version: 6
# distro: ubuntu-18.04
# arch_flags: -march=native
# - version: 7
# distro: ubuntu-18.04
# arch_flags: -march=native
#- version: 8
# distro: ubuntu-18.04
# arch_flags: -march=native
# - version: 9
# distro: ubuntu-20.04
# arch_flags: -march=native
- version: 9
distro: ubuntu-20.04
arch_flags: -march=native
- version: 10
distro: ubuntu-20.04
arch_flags: -march=native
@ -269,65 +327,106 @@ jobs:
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
- version: 13
distro: ubuntu-22.04
arch_flags: -march=native
- version: 13
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
runs-on: ${{ matrix.distro }}
env:
CC: gcc-${{ matrix.version }}
CXX: g++-${{ matrix.version }}
CFLAGS: ${{ matrix.arch_flags }} -Wall -Wextra -Werror
CXXFLAGS: ${{ matrix.arch_flags }} -Wall -Wextra -Werror
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: CPU Information
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -yq install gcovr python3-pip ninja-build parallel gcc-${{ matrix.version }} g++-${{ matrix.version }}
sudo apt-get -y purge g++ gcc
sudo python3 -m pip install meson==0.55.0
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
if: ${{ matrix.ccache == 'true' }}
with:
key: ${{ github.job }}-${{ matrix.version }}-${{ matrix.distro }}-${{ matrix.arch_flags }}
- name: Install APT Dependencies
- name: add ccache to the build path
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -yq install gcovr python3-pip ninja-build parallel "${CC}" "${CXX}"
sudo python3 -m pip install meson==0.55.0
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
sudo ln -s /usr/bin/gcc-${{ matrix.version }} /usr/bin/gcc
sudo ln -s /usr/bin/g++-${{ matrix.version }} /usr/bin/g++
- name: Configure
run: meson setup build
- name: Build
run: meson compile -C build --verbose
- name: Test
run: meson test -C build --print-errorlogs
run: meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)
gcc-qemu:
strategy:
fail-fast: false
matrix:
include:
- version: 12
cross: armel
arch_gnu_abi: eabi
arch_deb: armel
arch_gnu: arm
distro: ubuntu-22.04
- version: 12
cross: armv7
arch_gnu: arm
arch_gnu_abi: eabihf
arch_deb: armhf
distro: ubuntu-22.04
- version: 12
cross: aarch64
arch_gnu: aarch64
arch_deb: arm64
- version: 12
distro: ubuntu-22.04
- extra: -32bit
version: 12
cross: armv8
arch_gnu: arm
arch_gnu_abi: eabihf
arch_deb: armhf
distro: ubuntu-22.04
- version: 12
cross: riscv64
arch_gnu: riscv64
arch_deb: riscv64
- version: 12
distro: ubuntu-22.04
- extra: -O3
version: 12
cross: riscv64
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-22.04
- version: 12
cross: s390x
arch_gnu: s390x
arch_deb: s390x
# power: 150 failures: x86/{avx512/range,sse,sse3}, arm/neon/*, wasm_simd128/, wasm_relexad_simd/*
# https://github.com/simd-everywhere/simde/issues/903
# - version: 12
# distro: ubuntu-22.04
# cross: power9
# arch_gnu: powerpc64le
# arch_deb: ppc64el
distro: ubuntu-22.04
- version: 12
cross: power9
arch_gnu: powerpc64le
arch_deb: ppc64el
distro: ubuntu-22.04
# - version: 12 # needs newer Ubuntu version (23.04+)
# cross: mips64el
# arch_gnu: mips64el
# arch_gnu_abi: abi64
# arch_deb: mips64el
# distro: ubuntu-22.04
runs-on: ${{ matrix.distro }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- run: sudo apt-get update
@ -335,11 +434,11 @@ jobs:
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo add-apt-repository ppa:savoury1/virtualisation
sudo apt-get update -y
sudo apt-get -yq install ninja-build parallel \
gcc-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu \
g++-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu binfmt-support \
gcc-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }} \
g++-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }} binfmt-support \
qemu-user-static python3-pip libc6-${{ matrix.arch_deb }}-cross libstdc++-${{ matrix.version }}-dev-${{ matrix.arch_deb }}-cross
sudo python3 -m pip install meson==0.55.0
- name: ccache
@ -350,119 +449,314 @@ jobs:
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
- name: Configure
run: meson setup --cross-file=docker/cross-files/${{ matrix.cross }}-gcc-${{ matrix.version }}-ccache.cross build
run: meson setup --cross-file=docker/cross-files/${{ matrix.cross }}-gcc-${{ matrix.version }}${{ matrix.extra}}-ccache.cross build
- name: Build
run: ninja -C build -v
- name: Test
run: meson test -C build --print-errorlogs
run: meson test -C build --print-errorlogs --print-errorlogs $(meson test -C build --list | grep -v emul)
clang:
clang-qemu-rvv:
strategy:
fail-fast: false
matrix:
include:
# - version: "3.5"
# distro: ubuntu-16.04
# arch_flags: -mavx2
# - version: "3.6"
# distro: ubuntu-16.04
# arch_flags: -mavx2
# - version: "3.7"
# distro: ubuntu-16.04
# arch_flags: -mavx2
# - version: "3.8"
# distro: ubuntu-16.04
# arch_flags: -mavx2
#- version: "3.9"
# distro: ubuntu-18.04
# arch_flags: -mavx2
# - version: "4.0"
# distro: ubuntu-18.04
# arch_flags: -mavx2
#- version: "5.0"
# distro: ubuntu-18.04
# arch_flags: -mavx2
# - version: "6.0"
# distro: ubuntu-20.04
# arch_flags: -march=native
- version: "7"
distro: ubuntu-20.04
arch_flags: -march=native
# - version: "8"
# distro: ubuntu-20.04
# arch_flags: -march=native
- version: "10"
distro: ubuntu-20.04
arch_flags: -march=native
- version: "12"
distro: ubuntu-20.04
arch_flags: -march=native
- version: "12"
distro: ubuntu-20.04
arch_flags: -ffast-math
ccache: 'true'
- version: "13"
- version: 17
cross: riscv64+rvv_vlen128_elen64
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-22.04
arch_flags: -march=native
- version: "13"
- version: 17
cross: riscv64+rvv_vlen256_elen64
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
- version: "14"
- version: 17
cross: riscv64+rvv_vlen512_elen64
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-22.04
arch_flags: -march=native
- version: "14"
- version: 17
cross: riscv64+rvv_vlen128_elen64_zvfh
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
- version: "15"
- version: 17
cross: riscv64+rvv_vlen256_elen64_zvfh
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-22.04
arch_flags: -march=native
- version: "15"
- version: 17
cross: riscv64+rvv_vlen512_elen64_zvfh
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
runs-on: ${{ matrix.distro }}
env:
CC: clang-${{ matrix.version }}
CXX: clang++-${{ matrix.version }}
CFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -fno-lax-vector-conversions
CXXFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -fno-lax-vector-conversions
container:
image: amd64/ubuntu:23.10
steps:
- uses: actions/checkout@v3
- run: apt-get update
- name: Install git
run: |
apt-get install -y git
- uses: actions/checkout@v4
with:
submodules: recursive
- name: CPU Information
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: |
apt-get install -y python3 python3-pip git ninja-build pkg-config libglib2.0-dev \
lsb-release wget software-properties-common gnupg qemu-user pipx
apt-get install -y clang-${{ matrix.version }} lldb-${{ matrix.version }} lld-${{ matrix.version }}
#add-apt-repository ppa:savoury1/virtualisation
#add-apt-repository ppa:savoury1/display
apt-get update -y
apt-get -yq install ninja-build parallel \
binfmt-support libc6-${{ matrix.arch_deb }}-cross \
libstdc++-12-dev-${{ matrix.arch_deb }}-cross binutils-${{ matrix.arch_gnu }}-linux-gnu
apt install meson
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}-${{ matrix.distro }}-${{ matrix.cross }}
- name: add ccache to the build path
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
- name: Configure
run: |
meson setup --cross-file=docker/cross-files/${{ matrix.cross }}-clang-${{ matrix.version }}-ccache.cross build \
|| (cat build/meson-logs/meson-log.txt ; false)
- name: Build
run: ninja -C build -v
- name: Test
run: meson test -C build --print-errorlogs --print-errorlogs $(meson test -C build --list | grep -v emul)
clang-qemu:
strategy:
fail-fast: false
matrix:
include:
- version: 17
cross: armv7
arch_deb: armhf
arch_gnu_abi: eabihf
arch_gnu: arm
distro: ubuntu-22.04
- version: 17
cross: aarch64
arch_gnu: aarch64
arch_deb: arm64
distro: ubuntu-22.04
- version: 17
cross: armel
arch_gnu_abi: eabi
arch_deb: armel
arch_gnu: arm
distro: ubuntu-22.04
- version: 17
cross: riscv64
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-22.04
# - version: 17
# cross: s390x
# arch_gnu: s390x
# arch_deb: s390x
# distro: ubuntu-22.04
- version: 17
cross: ppc64el
arch_deb: ppc64el
arch_gnu: powerpc64le
distro: ubuntu-22.04
# - version: 17
# cross: mips64el # needs newer Ubuntu (23.04+)
# arch_deb: mips64el
# arch_gnu: mips64el
# arch_gnu_abi: abi64
# distro: ubuntu-22.04
runs-on: ${{ matrix.distro }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- run: sudo apt-get update
- name: CPU Information
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: |
sudo add-apt-repository ppa:savoury1/virtualisation
sudo add-apt-repository ppa:savoury1/build-tools
sudo add-apt-repository ppa:savoury1/display
sudo apt-get update -y
sudo apt-get -yq install ninja-build parallel \
binfmt-support clang-${{ matrix.version }} clang++-${{ matrix.version }} \
qemu-user-static python3-pip libc6-${{ matrix.arch_deb }}-cross libstdc++-12-dev-${{ matrix.arch_deb }}-cross \
binutils-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }}
sudo python3 -m pip install meson==0.55.0
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}-${{ matrix.distro }}-${{ matrix.cross }}
- name: add ccache to the build path
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
- name: Configure
run: |
meson setup --cross-file=docker/cross-files/${{ matrix.cross }}-clang-${{ matrix.version }}-ccache.cross build \
|| (cat build/meson-logs/meson-log.txt ; false)
- name: Build
run: ninja -C build -v
- name: Test
run: meson test -C build --print-errorlogs --print-errorlogs $(meson test -C build --list | grep -v emul)
clang:
strategy:
fail-fast: false
matrix:
include:
- version: "7"
distro: ubuntu-20.04
arch_flags: -march=native
# clang-8 is tested on Semaphore-CI https://nemequ.semaphoreci.com/projects/simde
- version: "9"
distro: ubuntu-20.04
arch_flags: -march=native
# clang-10 is tested on Semaphore-CI https://nemequ.semaphoreci.com/projects/simde
- version: "11"
distro: ubuntu-22.04
arch_flags: -march=native
- version: "12"
distro: ubuntu-20.04
arch_flags: -march=native
- version: "12"
distro: ubuntu-20.04
arch_flags: -ffast-math
ccache: 'true'
- version: "13"
distro: ubuntu-22.04
arch_flags: -march=native
- version: "13"
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
- version: "14"
distro: ubuntu-22.04
arch_flags: -march=native
- version: "14"
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
- version: "15"
distro: ubuntu-22.04
arch_flags: -march=native
- version: "15"
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
- version: "16"
distro: ubuntu-22.04
arch_flags: -march=native -Wno-unsafe-buffer-usage
- version: "16"
distro: ubuntu-22.04
arch_flags: -ffast-math -Wno-unsafe-buffer-usage
ccache: 'true'
- version: "17"
distro: ubuntu-22.04
arch_flags: -march=native -Wno-unsafe-buffer-usage
- version: "17"
distro: ubuntu-22.04
arch_flags: -ffast-math -Wno-unsafe-buffer-usage
ccache: 'true'
- version: "17"
distro: ubuntu-22.04
arch_flags: -march=native -Wno-unsafe-buffer-usage -O2
runs-on: ${{ matrix.distro }}
env:
CFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -fno-lax-vector-conversions
CXXFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -fno-lax-vector-conversions
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: CPU Information
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo add-apt-repository ppa:savoury1/build-tools
sudo add-apt-repository ppa:savoury1/display
sudo add-apt-repository ppa:savoury1/llvm-defaults-16
sudo apt-get update
sudo apt-get -yq install gcovr ninja-build python3-pip clang-${{ matrix.version }}
sudo python3 -m pip install meson==0.55.0
sudo rm /usr/bin/gcc /usr/bin/g++ /usr/bin/cc /usr/bin/c++
sudo ln -s $(command -v clang-${{ matrix.version }}) /usr/bin/cc
sudo ln -s $(command -v clang-${{ matrix.version }}) /usr/bin/c++
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
if: ${{ matrix.ccache == 'true' }}
with:
key: ${{ github.job }}-${{ matrix.version }}-${{ matrix.distro }}-${{ matrix.arch_flags }}
- name: Install APT Dependencies
- name: add ccache to the build path
if: ${{ matrix.ccache == 'true' }}
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -yq install gcovr ninja-build python3-pip clang-${{ matrix.version }}
sudo python3 -m pip install meson==0.55.0
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
- name: Configure
run: meson setup build
- name: Build
run: meson compile -C build --verbose
- name: Test
run: meson test -C build --print-errorlogs
run: meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)
macos:
runs-on: macos-11
strategy:
fail-fast: false
matrix:
# https://www.jessesquires.com/blog/2020/01/06/selecting-an-xcode-version-on-github-ci/
# https://github.com/actions/virtual-environments/blob/master/images/macos/macos-10.15-Readme.md#xcode
# xcode: ["11.3.1", "11.7", "12.3", "12.4"]
xcode: ["11.7", "12.4", "12.5.1"] # for macos-11
# https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md#xcode
# https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md#xcode
# https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#xcode
# https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md
# https://trac.macports.org/wiki/XcodeVersionInfo
include:
- xcode: "11.7"
os: macos-11
arch_flags: -Wno-complex-component-init
- xcode: "12.4"
os: macos-11
arch_flags: -Wno-poison-system-directories # due to meson test
- xcode: "12.5.1"
os: macos-11
arch_flags: -Wno-poison-system-directories # due to meson test
- xcode: "13.1"
os: macos-12
arch_flags: -Wno-poison-system-directories # due to meson test
- xcode: "13.3.1"
os: macos-12
arch_flags: -Wno-poison-system-directories # due to meson test
- xcode: "13.4.1"
os: macos-12
arch_flags: -Wno-poison-system-directories # due to meson test
- xcode: "14.2"
os: macos-13
arch_flags: -Wno-poison-system-directories # due to meson test
- xcode: "14.3.1"
os: macos-14 # arm64
arch_flags: -march=native -Wno-poison-system-directories
# "-Wno-poison-system-directories": due to meson test
# "-march=native": without, or with -mcpu=apple-m1 then unavailable __ARM_FEATURE_s get enabled
- xcode: "15.2"
os: macos-14 # arm64
arch_flags: -march=native -Wno-poison-system-directories
# "-Wno-poison-system-directories": due to meson test
# "-march=native": without, or with -mcpu=apple-m1 then unavailable __ARM_FEATURE_s get enabled
runs-on: ${{ matrix.os }}
env:
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app
CFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -Wno-complex-component-init
CXXFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -Wno-complex-component-init
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
# - name: System Information
@ -473,20 +767,26 @@ jobs:
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}-${{ matrix.xcode }}
- name: Python install bug workaround # https://github.com/actions/setup-python/issues/577
run: |
find /usr/local/bin -type l -exec sh -c 'readlink -f "$1" \
| grep -q ^/Library/Frameworks/Python.framework/Versions/' _ {} \; -exec rm -v {} \;
- name: Install Homebrew Dependencies
run: brew install meson ninja gcovr
run: brew install meson ninja # gcovr
- name: Configure
run: meson setup build -Db_coverage=true
run: meson setup build || (cat build/meson-logs/meson-log.txt ; false) # -Db_coverage=true
- name: Build
run: ninja -C build -v
- name: Test
run: ninja -C build -v test
- name: Coverage Report
run: ninja -C build -v coverage-xml
- name: CodeCov.io
uses: codecov/codecov-action@v3
with:
file: ./build/meson-logs/coverage.xml
run: meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)
# - name: Coverage Report
# run: ninja -C build -v coverage-xml
# - name: CodeCov.io
# uses: codecov/codecov-action@v4
# with:
# file: ./build/meson-logs/coverage.xml
# env:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
icc:
runs-on: ubuntu-22.04
@ -496,11 +796,11 @@ jobs:
CFLAGS: -Wall -Werror -march=native -fp-model precise
CXXFLAGS: -Wall -Werror -march=native -fp-model precise
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: CPU Information
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: sudo apt-get install -y ninja-build ninja-build python3-pip && sudo pip install meson==0.64
run: sudo apt-get install -y ninja-build python3-pip && sudo pip install meson==0.64
- name: Install ICC
run: |
# download the key to system keyring
@ -520,14 +820,17 @@ jobs:
- name: Build
run: ninja -C build -v
- name: Test
run: ninja -C build -v test
run: meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)
msvc-arm64:
name: Windows MSVC-AArch64
runs-on: [windows-latest]
env:
CFLAGS: /WX /Z7
CXXFLAGS: /WX /Z7
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Meson, Ninja and coverage
@ -541,4 +844,46 @@ jobs:
- name: Configure and Build
run: |
meson --backend=ninja build --cross-file test/arm64cl.txt
ninja -C build -v test
ninja -C build test
linux-gcc-loongarch64:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: CPU Information
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: |
sudo add-apt-repository ppa:savoury1/virtualisation
sudo apt-get install -y ninja-build ninja-build meson qemu-user-static
- name: Download and install loongarch64-toolchain
run: |
wget https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz
tar -xf loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz -C /opt
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}-loongarch64-gcc-13
- name: set env
run: |
echo "LD_LIBRARY_PATH=/opt/cross-tools/target/usr/lib64:/opt/cross-tools/loongarch64-unknown-linux-gnu/lib64:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "PATH=$GITHUB_WORKSPACE:/opt/cross-tools/bin:$PATH" >> $GITHUB_ENV
- name: Disable SVML tests
run: |
sed -i "/svml/d" test/x86/meson.build
rm test/x86/svml.c
echo "Due to the qemu versions 7.2 through 8.0 causing timeouts in four sets of test cases,"
echo "the SVML tests have been temporarily disabled."
- name: Disable RND*X tests
run: |
sed -i "/rndx/d" meson.build
sed -i "/rnd..x/d" meson.build
rm test/arm/neon/rndx.c test/arm/neon/rnd32x.c test/arm/neon/rnd64x.c
echo "Due to the qemu versions 7.2 through 8.0 causing timeouts in four sets of test cases,"
echo "the RNDX, RND32X, and RND64X tests have been temporarily disabled."
- name: Configure
run: meson setup build --cross-file=docker/cross-files/loongarch64-gcc-13-ccache.cross
- name: Build
run: meson compile -C build -v
- name: Test
run: meson test -C build --print-errorlogs

View file

@ -25,11 +25,11 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
@ -41,4 +41,4 @@ jobs:
ninja -C build -v test
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3

View file

@ -8,11 +8,11 @@ jobs:
no-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
- uses: actions/setup-python@v1
- uses: actions/setup-python@v5
- name: Filter Repository
run: |
pip install git-filter-repo
@ -20,7 +20,7 @@ jobs:
git-filter-repo --path-rename '.no-test/':'simde/' && \
git-filter-repo --subdirectory-filter simde
- name: GitHub Push
uses: ad-m/github-push-action@v0.6.0
uses: ad-m/github-push-action@v0.8.0
with:
github_token: ${{ secrets.PUSH_TO_NO_TESTS_TOKEN }}
repository: simd-everywhere/simde-no-tests
@ -28,11 +28,11 @@ jobs:
status:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
repository: simd-everywhere/implementation-status
@ -42,9 +42,8 @@ jobs:
run: sudo apt-get update && sudo apt-get install -y python3-lxml
- name: Update
run: ./implementation-status/scripts/update.sh .
- uses: EndBug/add-and-commit@v7
- uses: EndBug/add-and-commit@v9
with:
cwd: implementation-status
message: Sync with latest SIMDe.
default_author: github_actions
branch: main

View file

@ -16,7 +16,7 @@ jobs:
steps:
# Checkout your code repository to scan
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@ -29,7 +29,7 @@ jobs:
# Install dotnet, used by OSSAR
- name: Install .NET
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
@ -40,6 +40,6 @@ jobs:
# Upload results to the Security tab
- name: Upload OSSAR results
uses: github/codeql-action/upload-sarif@v2
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ${{ steps.ossar.outputs.sarifFile }}

30
thirdparty/simde/.packit.yml vendored Normal file
View file

@ -0,0 +1,30 @@
# See the `.packit/README.md` for details.
# The used RPM spec file path.
# A minimal RPM spec file to run the tests.
specfile_path: .packit/simde.spec
jobs:
- &copr
# Use Fedora COPR in the CI.
# https://packit.dev/docs/configuration/#copr_build
job: copr_build
trigger: pull_request
# Enable internet access in the COPR.
enable_net: true
# Executed targets in the CI. Available targets are below.
# https://packit.dev/docs/configuration/#available-copr-build-targets
#
# Note that we keep the Fedora rawhide. See the `.packit/README.md` -
# "Motivation and context" for details.
targets:
- fedora-rawhide-x86_64
- fedora-rawhide-aarch64
- fedora-rawhide-ppc64le
- fedora-rawhide-s390x
- <<: *copr
# Run on push to any branch.
trigger: commit
# Run except the "master*" and "dependabot*" branches.
# https://github.com/packit/packit/issues/1986
branch: '(?!master)(?!dependabot)'

45
thirdparty/simde/.packit/README.md vendored Normal file
View file

@ -0,0 +1,45 @@
# Packit
This document is to use [Packit CI][Packit] that enables us to test SIMDe on Fedora project's native CPU environments, x86_64, i686, aarch64, ppc64le and s390x as of June 2023. Packit CI can be executed on pull-request and push, and create a RPM package based on the specified RPM spec (recipe) file, then run commands in the `%check` section in the RPM spec file in the environments. We use a minimal RPM spec file only to run tests on the environments.
## Motivation and context
We want to keep [Fedora rawhide][Fedora rawhide] cases in the CI. Fedora rawhide is the latest development version of Fedora Linux, not a named release that might go out of support later. Because the gcc and clang new versions are landing on Fedora rawhide earlier than other Linux distributions.
## How to check the CI results
1. Enable Packit CI for your forked simde repository. See the [onboarding guide][Packit guide]
2. When you push branches to your repository, the CI is triggered. Go to the [Pipelines][Packit pipelines] page to see your pipeline.
3. Do browser-search by "simde".
4. Click a "fedora-\*-\*" button on the Jobs to go to the job detailed page.
5. You can see 3 links below. You can check the Build Logs first, and the SRPM Logs second if it is necessary.
* **SRPM Logs**: A log of the preparation of the test such as installing the used RPM packages to test. This is a log that the system creates Source RPM (SRPM) from the RPM spec file.
* **Web URL**: Go to the jobs page in Fedora Copr web system used to run the RPM.
* **Build Logs**: It includes the testing log and the result. This is a log that the system builds a RPM package from the SRPM. The tests are executed in a part of the processes.
## Customize the CI
* `.packit.yml`
* You can customize the executed CPU pipelines at the `jobs - targets`, when you see infra issues in the specific CPU pipelines.
* `.packit/ci.sh`
* You can customize if the CI fails when the tests fail at the "Customized constants" section.
* You can customize the tests to be executed to save the CI's total running time at the "Customized constants" section.
You can check the [configuration document][Packit configuration] for details.
## Troubleshooting
If you experience issues related to Packit, you can try the following things:
* Check [Packit status page][Packit status].
* Check [Packit pipeline page][Packit pipelines] to check how your application and other applications are running.
* Go to [Packit issues page][Packit issues] to open bugs or feature requests.
* Contact Packet team. You can contact by their communication channels (Element, Matrix, IRC, Email, and Mastodon) written in [Packit top page][Packit] footer area - Contact.
[Packit]: https://packit.dev/
[Packit configuration]: https://packit.dev/docs/configuration
[Packit guide]: https://packit.dev/docs/guide/
[Packit issues]: https://github.com/packit/packit/issues
[Packit pipelines]: https://dashboard.packit.dev/pipelines
[Packit status]: https://status.packit.dev/
[Fedora rawhide]: https://docs.fedoraproject.org/en-US/releases/rawhide/

214
thirdparty/simde/.packit/ci.sh vendored Executable file
View file

@ -0,0 +1,214 @@
#!/bin/bash
set -euxo pipefail
# Define variables
HOST_CPU="$(uname -m)"
JOBS="$(nproc)"
# Functions
function _time {
/bin/time -f '=> [%E]' ${@}
}
function _setup {
if ! meson setup "${BUILD_DIR}"; then
cat "${BUILD_DIR}/meson-logs/meson-log.txt"
return 1
fi
}
function _build {
rm -f build.log
if ! _time ninja -C "${BUILD_DIR}" -v -j "${JOBS}" >& build.log; then
cat build.log
return 1
fi
head -4 build.log
tail -3 build.log
}
function _test {
if ! _time meson test -C "${BUILD_DIR}" \
-q --no-rebuild --print-errorlogs; then
return 1
fi
}
function _run_test {
if ! _setup; then
return 1
fi
if ! _build; then
return 2
fi
if ! _test; then
return 3
fi
}
function _run_test_and_get_result {
local exit_status=0
local result="skipped"
if [ "${#}" -lt 1 ]; then
echo "Argument error" 2>&1
exit 1
fi
local cond="${1}"
if [ "${cond}" = "include" ] || [ "${cond}" = "pend" ]; then
if _run_test; then
if [ "${cond}" = "include" ]; then
result="ok"
else
exit_status=1
result="pending - passed unexpectedly"
fi
else
if [ "${cond}" = "include" ]; then
exit_status=1
result="not ok"
else
result="pending - failed expectedly"
fi
fi
fi
# Use global variables to pass the return values as a limitation of Bash.
result_buf="${result}"
return "${exit_status}"
}
# Print system info.
cat /proc/cpuinfo
cat /proc/meminfo
# Set PATH for commands installed by `pip install`.
PATH="${PATH}:${HOME}/.local/bin"
# Install additional packages.
pip3 install meson==0.55.0
# Run test.
# Configuration
#
# If the value is true, the CI returns the exit status zero even if the tests
# fail as a compromised way.
IGNORE_EXIT_STATUS=
# Define the testing matrix.
# "include": Include the test in the matrix. Run the test.
# "exclude": Exclude the test. The test is not executed.
# It can be used to save the total running time in CI.
# "pend" : Run the test, but if the test fails, it passes as exit status zero.
# If the test passes unexpectedly, it fails as exit status non-zero.
#
# Set the default behavior for each test.
MATRIX_DEFAULT_GCC_DEFAULT="include"
MATRIX_DEFAULT_GCC_O2="include"
MATRIX_DEFAULT_GCC_RPM="exclude"
MATRIX_DEFAULT_CLANG_DEFAULT="exclude"
MATRIX_DEFAULT_CLANG_O2="exclude"
MATRIX_DEFAULT_CLANG_RPM="exclude"
# Set the CPU specific behavior for each test optionally.
# This configuration is prioritized than the default behavior.
# End of configuration
# Generate the current CPU specific test conditions.
# If there is no CPU specific variable, set the default value.
TEST_COND_GCC_DEFAULT=$(eval echo \
"\${MATRIX_${HOST_CPU}_GCC_DEFAULT:-${MATRIX_DEFAULT_GCC_DEFAULT}}")
TEST_COND_GCC_O2=$(eval echo \
"\${MATRIX_${HOST_CPU}_GCC_O2:-${MATRIX_DEFAULT_GCC_O2}}")
TEST_COND_GCC_RPM=$(eval echo \
"\${MATRIX_${HOST_CPU}_GCC_RPM:-${MATRIX_DEFAULT_GCC_RPM}}")
TEST_COND_CLANG_DEFAULT=$(eval echo \
"\${MATRIX_${HOST_CPU}_CLANG_DEFAULT:-${MATRIX_DEFAULT_CLANG_DEFAULT}}")
TEST_COND_CLANG_O2=$(eval echo \
"\${MATRIX_${HOST_CPU}_CLANG_O2:-${MATRIX_DEFAULT_CLANG_O2}}")
TEST_COND_CLANG_RPM=$(eval echo \
"\${MATRIX_${HOST_CPU}_CLANG_RPM:-${MATRIX_DEFAULT_CLANG_RPM}}")
exit_status=0
# A temporary buffer to store the return value from a function.
result_buf=
# Print compiler versions.
gcc --version
g++ --version
clang --version
clang++ --version
echo "== Tests on gcc in a default status =="
if ! BUILD_DIR="build/gcc" CC="gcc" CXX="g++" \
_run_test_and_get_result "${TEST_COND_GCC_DEFAULT}"; then
exit_status=1
fi
result_gcc="${result_buf}"
echo "== Tests on clang in a default status =="
if ! BUILD_DIR="build/clang" CC="clang" CXX="clang++" \
_run_test_and_get_result "${TEST_COND_CLANG_DEFAULT}"; then
exit_status=1
fi
result_clang="${result_buf}"
echo "== Tests on gcc with O2 flag =="
if ! BUILD_DIR="build/gcc-O2" CC="gcc" CXX="g++" \
CFLAGS="-O2" CXXFLAGS="-O2" \
_run_test_and_get_result "${TEST_COND_GCC_O2}"; then
exit_status=1
fi
result_gcc_O2="${result_buf}"
echo "== Tests on clang with O2 flag =="
if ! BUILD_DIR="build/clang-O2" CC="clang" CXX="clang++" \
CFLAGS="-O2" CXXFLAGS="-O2" \
_run_test_and_get_result "${TEST_COND_CLANG_O2}"; then
exit_status=1
fi
result_clang_O2="${result_buf}"
# This is an advanced test.
echo "== Tests on gcc with flags used in RPM package build =="
if ! BUILD_DIR="build/gcc-rpm" CC="gcc" CXX="g++" \
CFLAGS="${CI_GCC_RPM_CFLAGS-}" CXXFLAGS="${CI_GCC_RPM_CXXFLAGS-}" \
LDFLAGS="${CI_GCC_RPM_LDFLAGS-}" \
_run_test_and_get_result "${TEST_COND_GCC_RPM}"; then
exit_status=1
fi
result_gcc_rpm="${result_buf}"
# This is an advanced test.
echo "== Tests on clang with flags used in RPM package build =="
if ! BUILD_DIR="build/clang-rpm" CC="clang" CXX="clang++" \
CFLAGS="${CI_CLANG_RPM_CFLAGS-}" CXXFLAGS="${CI_CLANG_RPM_CXXFLAGS-}" \
LDFLAGS="${CI_CLANG_RPM_LDFLAGS-}" \
_run_test_and_get_result "${TEST_COND_CLANG_RPM}"; then
exit_status=1
fi
result_clang_rpm="${result_buf}"
# Print results.
cat <<EOF
== Results ==
Exit status: ${exit_status}
${result_gcc}: gcc without flags
${result_gcc_O2}: gcc with -O2 flag
${result_gcc_rpm}: gcc with RPM build flags
${result_clang}: clang without flags
${result_clang_O2}: clang with -O2 flag
${result_clang_rpm}: clang with RPM build flags
EOF
if [ "${IGNORE_EXIT_STATUS}" = true ]; then
echo "warning: Exiting always with exit status zero is not ideal."
exit 0
else
exit ${exit_status}
fi

80
thirdparty/simde/.packit/simde.spec vendored Normal file
View file

@ -0,0 +1,80 @@
# Disable the automatically set build flags to the environment variables such
# as CC, CFLAGS, and etc.
# See <https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/rawhide/f/macros>.
%undefine _auto_set_build_flags
Name: simde
Version: 1
Release: 1%{?dist}
Summary: Dummy
License: MIT
URL: https://github.com/simd-everywhere/simde
# This value is magically replaced with the archive tar.gz file created by
# `git archive` in the process of the CI.
# Set the existing file `README.md` in case of creating SRPM from this RPM spec
# file on local for testing purpose.
Source0: README.md
# A path to the CI script.
Source1: ci.sh
# List up the needed RPM package names to test here.
# clang, clang++
BuildRequires: clang
BuildRequires: gcc
# g++
BuildRequires: gcc-c++
# ninja
BuildRequires: ninja-build
# pip and setuptools are needed to install and use meson PyPI package.
BuildRequires: python3-devel
BuildRequires: python3-pip
BuildRequires: python3-setuptools
# The GNU time (/bin/time) is used for testing. Use this GNU time rather than
# the embedded time function in bash.
# https://www.gnu.org/software/time/
BuildRequires: time
# RPM package description.
%description
# The bash commands to prepare are executed.
%prep
# Print the replaced value of the Source0.
echo "Source0: %{SOURCE0}"
# Create a dummy file for a valid RPM spec file.
touch dummy.txt
# The bash commands to test are executed.
%check
# Check the directory structure in the tar.gz file.
tar tzvf "%{SOURCE0}" > source_files.txt
head -2 source_files.txt
# Check if the submodule munit is included.
grep munit source_files.txt
# Extract the source archive file.
tar xzf "%{SOURCE0}"
pushd simde-*
# Set the flags used to build the actual RPM package.
# These can be used in the CI testing script.
%global toolchain clang
export CI_CLANG_RPM_CFLAGS="%{build_cflags}"
export CI_CLANG_RPM_CXXFLAGS="%{build_cxxflags}"
export CI_CLANG_RPM_LDFLAGS="%{build_ldflags}"
%global toolchain gcc
export CI_GCC_RPM_CFLAGS="%{build_cflags}"
export CI_GCC_RPM_CXXFLAGS="%{build_cxxflags}"
export CI_GCC_RPM_LDFLAGS="%{build_ldflags}"
echo "Running the CI script %{SOURCE1}."
/bin/time -f '=> [%E]' "%{SOURCE1}"
popd
# Files included in the built RPM package.
%files
%doc dummy.txt
# Changelog entries for the RPM package.
%changelog
* Fri Jun 02 2023 Dummy Dummy <dummy@dummy.com> - 1-1
- Dummy.

View file

@ -3,7 +3,7 @@ name: Build
agent:
machine:
type: e1-standard-2
os_image: ubuntu1804
os_image: ubuntu2004
blocks:
- name: CI
skip:
@ -13,7 +13,7 @@ blocks:
- name: GCC
matrix:
- env_var: GCC_VERSION
values: ['8', '7', '6', '5']
values: ['8', '7']
commands:
- cat /proc/cpuinfo
- checkout
@ -23,8 +23,8 @@ blocks:
- pip3 install meson==0.55.0
- mkdir build
- CC="gcc-${GCC_VERSION}" CXX="g++-${GCC_VERSION}" ~/.local/bin/meson setup build -Db_coverage=true --optimization $(expr $RANDOM % 3)
- ninja -C build -v
- './build/test/run-tests --list | grep -oP ''^/([^\/]+)/([^\/]+)'' | sort -u | xargs parallel ./build/test/run-tests --color always {} :::'
- ~/.local/bin/meson compile -C build --ninja-args=-v
- ~/.local/bin/meson test -C build --print-errorlogs $(~/.local/bin/meson test -C build --list | grep -v emul)
- ninja -C build coverage-xml
env_vars:
- name: CFLAGS
@ -35,7 +35,7 @@ blocks:
- name: clang
matrix:
- env_var: CLANG_VERSION
values: ['10', '8', '6.0', '4.0', '3.9']
values: ['10', '8', '6.0']
commands:
- cat /proc/cpuinfo
- checkout
@ -45,8 +45,8 @@ blocks:
- pip3 install meson==0.55.0
- mkdir build
- CC="clang-${CLANG_VERSION}" CXX="clang++-${CLANG_VERSION}" ~/.local/bin/meson setup build -Db_coverage=true
- ninja -C build -v
- './build/test/run-tests --list | grep -oP ''^/([^\/]+)/([^\/]+)'' | sort -u | xargs parallel ./build/test/run-tests --color always {} :::'
- ~/.local/bin/meson compile -C build --ninja-args=-v
- ~/.local/bin/meson test -C build --print-errorlogs $(~/.local/bin/meson test -C build --list | grep -v emul)
- ninja -C build coverage-xml
env_vars:
- name: CFLAGS

View file

@ -7,8 +7,7 @@ jobs:
- name: POWER9
if: branch != master OR type == pull_request
arch: ppc64le
compiler:
- clang
compiler: clang
env:
- CC="clang"
- CXX="clang++"
@ -22,8 +21,7 @@ jobs:
- name: z/Arch
if: branch != master OR type == pull_request
arch: s390x
compiler:
- gcc
compiler: gcc
env:
- CC="gcc"
- CXX="g++"

View file

@ -57,6 +57,26 @@ platform. Here are a few to try:
If you need a flag not listed above, please let us know so we can add
it to the list.
#### Single test
Compile and run a specific test. Switch `emul` for `native`, and `/c` for `/cpp`
as needed.
```
meson test --print-errorlogs arm/neon/qabs/emul/c
```
Using `meson test` instead of `ninja` and directly executing the test
is helpful for emscripten and other architectures where are there extra steps needed
(changing the directory, using `v8` to run`, etc..).
Just compile one specific test with verbose output. Useful for debugging
compiler errors.
```
meson compile --verbose test/arm/neon/qabs-emul-c
```
### On Windows:
```bash
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" arm64

View file

@ -1,8 +1,9 @@
# SIMD Everywhere
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-18-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-73-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/simd-everywhere/community)
[![Chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://matrix.to/#/#simd-everywhere_community:gitter.im)
[![codecov](https://codecov.io/gh/simd-everywhere/simde/branch/master/graph/badge.svg?token=jcMBoRk0ui)](https://codecov.io/gh/simd-everywhere/simde)
The SIMDe header-only library provides fast, portable implementations of
[SIMD intrinsics](https://en.wikipedia.org/wiki/SIMD) on hardware which
@ -64,24 +65,33 @@ If you have any questions, please feel free to use the
There are currently complete implementations of the following instruction
set extensions:
* ARM
* [NEON](https://en.wikipedia.org/wiki/ARM_architecture_family#Advanced_SIMD_(Neon)) [List](https://developer.arm.com/architectures/instruction-sets/intrinsics/#f:@navigationhierarchiessimdisa=[Neon])
* x86 / x86_64
* [MMX](https://en.wikipedia.org/wiki/MMX_(instruction_set))
* [SSE](https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions)
* [SSE2](https://en.wikipedia.org/wiki/SSE2)
* [SSE3](https://en.wikipedia.org/wiki/SSE3)
* [SSSE3](https://en.wikipedia.org/wiki/SSSE3)
* [SSE4.1](https://en.wikipedia.org/wiki/SSE4#SSE4.1)
* [AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions)
* [AVX2](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2)
* [FMA](https://en.wikipedia.org/wiki/FMA_instruction_set)
* [GFNI](https://en.wikipedia.org/wiki/AVX-512#GFNI)
* [CLMUL](https://en.wikipedia.org/wiki/CLMUL_instruction_set)
* [MMX](https://en.wikipedia.org/wiki/MMX_(instruction_set)) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#techs=MMX)
* [SSE](https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSE)
* [SSE2](https://en.wikipedia.org/wiki/SSE2) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSE2)
* [SSE3](https://en.wikipedia.org/wiki/SSE3) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSE3)
* [SSSE3](https://en.wikipedia.org/wiki/SSSE3) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSSE3)
* [SSE4.1](https://en.wikipedia.org/wiki/SSE4#SSE4.1) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSE4_1)
* [CRC32](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&othertechs=CRC32)
* [AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#avxnewtechs=AVX)
* [AVX2](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#avxnewtechs=AVX2)
* [F16C](https://en.wikipedia.org/wiki/F16C) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#avxnewtechs=F16C)
* [FMA](https://en.wikipedia.org/wiki/FMA_instruction_set) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#avxnewtechs=FMA)
* [GFNI](https://en.wikipedia.org/wiki/AVX-512#GFNI) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#othertechs=GFNI)
* [XOP](https://en.wikipedia.org/wiki/XOP_instruction_set)
* [SVML](https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/intrinsics/intrinsics-for-intel-advanced-vector-extensions-512-intel-avx-512-instructions/intrinsics-for-arithmetic-operations-1/intrinsics-for-short-vector-math-library-svml-operations.html)
* [SVML](https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/intrinsics/intrinsics-for-intel-advanced-vector-extensions-512-intel-avx-512-instructions/intrinsics-for-arithmetic-operations-1/intrinsics-for-short-vector-math-library-svml-operations.html) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=770&techs=SVML)
* [AVX512VPOPCNTDQ](https://en.wikipedia.org/wiki/AVX-512#VPOPCNTDQ_and_BITALG) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&avx512techs=AVX512VPOPCNTDQ)
* [AVX512_BITALG](https://en.wikipedia.org/wiki/AVX-512#VPOPCNTDQ_and_BITALG) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&avx512techs=AVX512_BITALG)
* [AVX512_VBMI](https://en.wikipedia.org/wiki/AVX-512#Permute) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&avx512techs=AVX512_VBMI)
* [AVX512_VNNI](https://en.wikipedia.org/wiki/AVX-512#VNNI) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&avx512techs=AVX512_VNNI)
* [AVX512_VP2INTERSECT](https://en.wikipedia.org/wiki/AVX-512#VP2INTERSECT) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&avx512techs=AVX512_VP2INTERSECT)
* [VPCLMULQDQ](https://en.wikipedia.org/wiki/AVX-512#VPCLMULQDQ) [List](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#othertechs=VPCLMULQDQ)
* WebAssembly
* [SIMD128](https://github.com/WebAssembly/simd)
As well as partial support for many others, including NEON and SVE in
As well as partial support for many others, including AES-ni, [CLMUL](https://en.wikipedia.org/wiki/CLMUL_instruction_set), SSE4.2, SVE, [MSA](https://en.wikipedia.org/wiki/MIPS_architecture#Application-specific_extensions) in
addition to several AVX-512 extensions. See the
[instruction-set-support](https://github.com/simd-everywhere/simde/issues?q=is%3Aissue+is%3Aopen+label%3Ainstruction-set-support+sort%3Aupdated-desc)
label in the issue tracker for details on progress. If you'd like to
@ -103,6 +113,8 @@ make sense since they will always be green, but here are the links:
* [AppVeyor](https://ci.appveyor.com/project/nemequ/simde)
* [Azure Pipelines](https://dev.azure.com/simd-everywhere/SIMDe/_build)
* [Drone CI](https://cloud.drone.io/simd-everywhere/simde/)
* [Travis CI](https://app.travis-ci.com/github/simd-everywhere/simde/)
* [Packit CI](https://dashboard.packit.dev/projects/github.com/simd-everywhere/simde)
If you're adding a new build I suggest Cirrus CI, which is where we
currently have the most room given the number of builds currently on
@ -263,13 +275,17 @@ isn't an option then other CI platforms can be added.
The following architectures are tested in CI for every commit:
* x86_64
* x86_64/amd64
* x86
* AArch64
* ARMv8
* ARMv7
* ARMv7 with VFPv3-D16 floating point
* ARMv5 EABI
* PPC64
* MIPS Loongson
* z/Architecture (with "-mzvector")
* MIPS Loongson 64
* RISC-V 64
* emscripten 32- & 64-bit; regular and relaxed
We would love to add more, so patches are extremely welcome!
@ -303,6 +319,10 @@ We would love to add more, so patches are extremely welcome!
[powerveclib](https://www.ibm.com/developerworks/community/groups/community/powerveclib/)
* [SSE-to-NEON](https://github.com/otim/SSE-to-NEON) — implementing
SSE with NEON. Non-free, C++.
* [AvxToNeon](https://github.com/kunpengcompute/AvxToNeon) — Popular
AVX+ intrinsincs implemented in NEON. C, Apache 2.0 license.
* [neon2rvv](https://github.com/howjmay/neon2rvv) - A C/C++ header file that converts Arm/Aarch64 NEON intrinsics to RISC-V Vector (RVV) Extension, MIT license
* [sse2rvv](https://github.com/pattonkan/sse2rvv) - A C/C++ header file that converts Intel SSE intrinsics to RISCV-V Extension intrinsics, MIT license.
* [arm-neon-tests](https://github.com/christophe-lyon/arm-neon-tests)
contains tests to verify NEON implementations.
@ -390,28 +410,99 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://nemequ.github.io/"><img src="https://avatars0.githubusercontent.com/u/1151?v=4" width="100px;" alt=""/><br /><sub><b>Evan Nemerson</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=nemequ" title="Code">💻</a> <a href="#content-nemequ" title="Content">🖋</a> <a href="https://github.com/simd-everywhere/simde/commits?author=nemequ" title="Documentation">📖</a> <a href="#example-nemequ" title="Examples">💡</a> <a href="#ideas-nemequ" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-nemequ" title="Answering Questions">💬</a> <a href="https://github.com/simd-everywhere/simde/pulls?q=is%3Apr+reviewed-by%3Anemequ" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/simd-everywhere/simde/commits?author=nemequ" title="Tests">⚠️</a> <a href="#tutorial-nemequ" title="Tutorials">✅</a> <a href="#talk-nemequ" title="Talks">📢</a> <a href="https://github.com/simd-everywhere/simde/issues?q=author%3Anemequ" title="Bug reports">🐛</a> <a href="#infra-nemequ" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-nemequ" title="Maintenance">🚧</a> <a href="#projectManagement-nemequ" title="Project Management">📆</a></td>
<td align="center"><a href="https://orcid.org/0000-0002-2961-9670"><img src="https://avatars3.githubusercontent.com/u/1330696?v=4" width="100px;" alt=""/><br /><sub><b>Michael R. Crusoe</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/issues?q=author%3Amr-c" title="Bug reports">🐛</a> <a href="https://github.com/simd-everywhere/simde/commits?author=mr-c" title="Code">💻</a> <a href="#eventOrganizing-mr-c" title="Event Organizing">📋</a> <a href="#fundingFinding-mr-c" title="Funding Finding">🔍</a> <a href="#ideas-mr-c" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-mr-c" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#platform-mr-c" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/simd-everywhere/simde/commits?author=mr-c" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/himanshi18037"><img src="https://avatars1.githubusercontent.com/u/43923076?v=4" width="100px;" alt=""/><br /><sub><b>HIMANSHI MATHUR</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=himanshi18037" title="Code">💻</a> <a href="https://github.com/simd-everywhere/simde/commits?author=himanshi18037" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/masterchef2209"><img src="https://avatars0.githubusercontent.com/u/27916352?v=4" width="100px;" alt=""/><br /><sub><b>Hidayat Khan</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=masterchef2209" title="Code">💻</a> <a href="https://github.com/simd-everywhere/simde/commits?author=masterchef2209" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/rosbif"><img src="https://avatars1.githubusercontent.com/u/553899?v=4" width="100px;" alt=""/><br /><sub><b>rosbif</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=rosbif" title="Code">💻</a> <a href="https://github.com/simd-everywhere/simde/commits?author=rosbif" title="Tests">⚠️</a> <a href="https://github.com/simd-everywhere/simde/issues?q=author%3Arosbif" title="Bug reports">🐛</a> <a href="#ideas-rosbif" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="http://junaruga.hatenablog.com/"><img src="https://avatars2.githubusercontent.com/u/121989?v=4" width="100px;" alt=""/><br /><sub><b>Jun Aruga</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=junaruga" title="Code">💻</a> <a href="#ideas-junaruga" title="Ideas, Planning, & Feedback">🤔</a> <a href="#platform-junaruga" title="Packaging/porting to new platform">📦</a> <a href="#infra-junaruga" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-junaruga" title="Maintenance">🚧</a> <a href="https://github.com/simd-everywhere/simde/commits?author=junaruga" title="Tests">⚠️</a> <a href="https://github.com/simd-everywhere/simde/issues?q=author%3Ajunaruga" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/marmeladema"><img src="https://avatars2.githubusercontent.com/u/1629419?v=4" width="100px;" alt=""/><br /><sub><b>Élie ROUDNINSKI</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=marmeladema" title="Code">💻</a> <a href="https://github.com/simd-everywhere/simde/commits?author=marmeladema" title="Tests">⚠️</a></td>
<td align="center"><a href="https://nemequ.github.io/"><img src="https://avatars0.githubusercontent.com/u/1151?v=4" width="100px;" alt=""/><br /><sub><b>Evan Nemerson</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=nemequ" title="Code">💻</a> <a href="#content-nemequ" title="Content">🖋</a> <a href="https://github.com/nemequ/simde/commits?author=nemequ" title="Documentation">📖</a> <a href="#example-nemequ" title="Examples">💡</a> <a href="#ideas-nemequ" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-nemequ" title="Answering Questions">💬</a> <a href="https://github.com/nemequ/simde/pulls?q=is%3Apr+reviewed-by%3Anemequ" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/nemequ/simde/commits?author=nemequ" title="Tests">⚠️</a> <a href="#tutorial-nemequ" title="Tutorials">✅</a> <a href="#talk-nemequ" title="Talks">📢</a> <a href="https://github.com/nemequ/simde/issues?q=author%3Anemequ" title="Bug reports">🐛</a> <a href="#infra-nemequ" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-nemequ" title="Maintenance">🚧</a> <a href="#projectManagement-nemequ" title="Project Management">📆</a></td>
<td align="center"><a href="https://orcid.org/0000-0002-2961-9670"><img src="https://avatars3.githubusercontent.com/u/1330696?v=4" width="100px;" alt=""/><br /><sub><b>Michael R. Crusoe</b></sub></a><br /><a href="https://github.com/nemequ/simde/issues?q=author%3Amr-c" title="Bug reports">🐛</a> <a href="https://github.com/nemequ/simde/commits?author=mr-c" title="Code">💻</a> <a href="#eventOrganizing-mr-c" title="Event Organizing">📋</a> <a href="#fundingFinding-mr-c" title="Funding Finding">🔍</a> <a href="#ideas-mr-c" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-mr-c" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#platform-mr-c" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/nemequ/simde/commits?author=mr-c" title="Tests">⚠️</a> <a href="#maintenance-mr-c" title="Maintenance">🚧</a> <a href="#projectManagement-mr-c" title="Project Management">📆</a> <a href="https://github.com/nemequ/simde/pulls?q=is%3Apr+reviewed-by%3Amr-c" title="Reviewed Pull Requests">👀</a></td>
<td align="center"><a href="https://github.com/himanshi18037"><img src="https://avatars1.githubusercontent.com/u/43923076?v=4" width="100px;" alt=""/><br /><sub><b>HIMANSHI MATHUR</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=himanshi18037" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=himanshi18037" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/masterchef2209"><img src="https://avatars0.githubusercontent.com/u/27916352?v=4" width="100px;" alt=""/><br /><sub><b>Hidayat Khan</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=masterchef2209" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=masterchef2209" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/rosbif"><img src="https://avatars1.githubusercontent.com/u/553899?v=4" width="100px;" alt=""/><br /><sub><b>rosbif</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=rosbif" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=rosbif" title="Tests">⚠️</a> <a href="https://github.com/nemequ/simde/issues?q=author%3Arosbif" title="Bug reports">🐛</a> <a href="#ideas-rosbif" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/nemequ/simde/commits?author=rosbif" title="Documentation">📖</a></td>
<td align="center"><a href="http://junaruga.hatenablog.com/"><img src="https://avatars2.githubusercontent.com/u/121989?v=4" width="100px;" alt=""/><br /><sub><b>Jun Aruga</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=junaruga" title="Code">💻</a> <a href="#ideas-junaruga" title="Ideas, Planning, & Feedback">🤔</a> <a href="#platform-junaruga" title="Packaging/porting to new platform">📦</a> <a href="#infra-junaruga" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-junaruga" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=junaruga" title="Tests">⚠️</a> <a href="https://github.com/nemequ/simde/issues?q=author%3Ajunaruga" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/marmeladema"><img src="https://avatars2.githubusercontent.com/u/1629419?v=4" width="100px;" alt=""/><br /><sub><b>Élie ROUDNINSKI</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=marmeladema" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=marmeladema" title="Tests">⚠️</a></td>
</tr>
<tr>
<td align="center"><a href="http://www.bache.name"><img src="https://avatars3.githubusercontent.com/u/7937081?v=4" width="100px;" alt=""/><br /><sub><b>Jesper Storm Bache</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=jsbache" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/jeffdaily"><img src="https://avatars1.githubusercontent.com/u/904248?v=4" width="100px;" alt=""/><br /><sub><b>Jeff Daily</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=jeffdaily" title="Code">💻</a> <a href="#infra-jeffdaily" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
<td align="center"><a href="https://github.com/yekm"><img src="https://avatars2.githubusercontent.com/u/205196?v=4" width="100px;" alt=""/><br /><sub><b>Pavel</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=yekm" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/sabarishbollapragada"><img src="https://avatars3.githubusercontent.com/u/36379720?v=4" width="100px;" alt=""/><br /><sub><b>Sabarish Bollapragada</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=sabarishbollapragada" title="Code">💻</a></td>
<td align="center"><a href="http://www.thegavinli.com/"><img src="https://avatars2.githubusercontent.com/u/371529?v=4" width="100px;" alt=""/><br /><sub><b>Gavin Li</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=gh2o" title="Code">💻</a></td>
<td align="center"><a href="http://www.yiningkarlli.com"><img src="https://avatars0.githubusercontent.com/u/1057198?v=4" width="100px;" alt=""/><br /><sub><b>Yining Karl Li</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=betajippity" title="Code">💻</a></td>
<td align="center"><a href="https://www.facebook.com/anirbandey303"><img src="https://avatars1.githubusercontent.com/u/29774651?v=4" width="100px;" alt=""/><br /><sub><b>Anirban Dey</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=anirbandey303" title="Documentation">📖</a></td>
<td align="center"><a href="http://www.bache.name"><img src="https://avatars3.githubusercontent.com/u/7937081?v=4" width="100px;" alt=""/><br /><sub><b>Jesper Storm Bache</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=jsbache" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/jeffdaily"><img src="https://avatars1.githubusercontent.com/u/904248?v=4" width="100px;" alt=""/><br /><sub><b>Jeff Daily</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=jeffdaily" title="Code">💻</a> <a href="#infra-jeffdaily" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
<td align="center"><a href="https://github.com/yekm"><img src="https://avatars2.githubusercontent.com/u/205196?v=4" width="100px;" alt=""/><br /><sub><b>Pavel</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=yekm" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/sabarishbollapragada"><img src="https://avatars3.githubusercontent.com/u/36379720?v=4" width="100px;" alt=""/><br /><sub><b>Sabarish Bollapragada</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=sabarishbollapragada" title="Code">💻</a></td>
<td align="center"><a href="http://www.thegavinli.com/"><img src="https://avatars2.githubusercontent.com/u/371529?v=4" width="100px;" alt=""/><br /><sub><b>Gavin Li</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=gh2o" title="Code">💻</a></td>
<td align="center"><a href="http://www.yiningkarlli.com"><img src="https://avatars0.githubusercontent.com/u/1057198?v=4" width="100px;" alt=""/><br /><sub><b>Yining Karl Li</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=betajippity" title="Code">💻</a></td>
<td align="center"><a href="https://www.facebook.com/anirbandey303"><img src="https://avatars1.githubusercontent.com/u/29774651?v=4" width="100px;" alt=""/><br /><sub><b>Anirban Dey</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=anirbandey303" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/Un1Gfn"><img src="https://avatars3.githubusercontent.com/u/28521292?v=4" width="100px;" alt=""/><br /><sub><b>Darren Ng</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=Un1Gfn" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/FaresSalem"><img src="https://avatars0.githubusercontent.com/u/7736245?v=4" width="100px;" alt=""/><br /><sub><b>FaresSalem</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=FaresSalem" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/GorePradnyesh"><img src="https://avatars0.githubusercontent.com/u/843197?v=4" width="100px;" alt=""/><br /><sub><b>Pradnyesh Gore</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=GorePradnyesh" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/seanptmaher"><img src="https://avatars0.githubusercontent.com/u/39571964?v=4" width="100px;" alt=""/><br /><sub><b>Sean Maher</b></sub></a><br /><a href="https://github.com/simd-everywhere/simde/commits?author=seanptmaher" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Un1Gfn"><img src="https://avatars3.githubusercontent.com/u/28521292?v=4" width="100px;" alt=""/><br /><sub><b>Darren Ng</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=Un1Gfn" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/FaresSalem"><img src="https://avatars0.githubusercontent.com/u/7736245?v=4" width="100px;" alt=""/><br /><sub><b>FaresSalem</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=FaresSalem" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/GorePradnyesh"><img src="https://avatars0.githubusercontent.com/u/843197?v=4" width="100px;" alt=""/><br /><sub><b>Pradnyesh Gore</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=GorePradnyesh" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/seanptmaher"><img src="https://avatars0.githubusercontent.com/u/39571964?v=4" width="100px;" alt=""/><br /><sub><b>Sean Maher</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=seanptmaher" title="Code">💻</a></td>
<td align="center"><a href="https://zh.wikipedia.org/wiki/User:Artoria2e5"><img src="https://avatars.githubusercontent.com/u/6459309?v=4" width="100px;" alt=""/><br /><sub><b>Mingye Wang</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=Artoria2e5" title="Documentation">📖</a></td>
<td align="center"><a href="http://www.ngzhian.com"><img src="https://avatars.githubusercontent.com/u/1749303?v=4" width="100px;" alt=""/><br /><sub><b>Ng Zhi An</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=ngzhian" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=ngzhian" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/Glitch18"><img src="https://avatars.githubusercontent.com/u/30515829?v=4" width="100px;" alt=""/><br /><sub><b>Atharva Nimbalkar</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=Glitch18" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=Glitch18" title="Tests">⚠️</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/simba611"><img src="https://avatars.githubusercontent.com/u/59763921?v=4" width="100px;" alt=""/><br /><sub><b>simba611</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=simba611" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=simba611" title="Tests">⚠️</a></td>
<td align="center"><a href="https://ashnewmanjones.com"><img src="https://avatars.githubusercontent.com/u/29983014?v=4" width="100px;" alt=""/><br /><sub><b>Ashleigh Newman-Jones</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=ashnewmanjones" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=ashnewmanjones" title="Tests">⚠️</a></td>
<td align="center"><a href="https://alum.mit.edu/www/wrv/"><img src="https://avatars.githubusercontent.com/u/5039686?v=4" width="100px;" alt=""/><br /><sub><b>Willy R. Vasquez</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=wrv" title="Code">💻</a> <a href="#maintenance-wrv" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=wrv" title="Tests">⚠️</a></td>
<td align="center"><a href="https://cs.stanford.edu/~keithw"><img src="https://avatars.githubusercontent.com/u/208955?v=4" width="100px;" alt=""/><br /><sub><b>Keith Winstein</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=keithw" title="Code">💻</a> <a href="#maintenance-keithw" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=keithw" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/SoapGentoo"><img src="https://avatars.githubusercontent.com/u/16636962?v=4" width="100px;" alt=""/><br /><sub><b>David Seifert</b></sub></a><br /><a href="#maintenance-SoapGentoo" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://mirdita.de"><img src="https://avatars.githubusercontent.com/u/63657?v=4" width="100px;" alt=""/><br /><sub><b>Milot Mirdita</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=milot-mirdita" title="Code">💻</a> <a href="#maintenance-milot-mirdita" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=milot-mirdita" title="Tests">⚠️</a></td>
<td align="center"><a href="http://bitpatch.com"><img src="https://avatars.githubusercontent.com/u/4021602?v=4" width="100px;" alt=""/><br /><sub><b>aqrit</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=aqrit" title="Code">💻</a> <a href="#maintenance-aqrit" title="Maintenance">🚧</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/dgazzoni"><img src="https://avatars.githubusercontent.com/u/17934171?v=4" width="100px;" alt=""/><br /><sub><b>Décio Luiz Gazzoni Filho</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=dgazzoni" title="Code">💻</a> <a href="#maintenance-dgazzoni" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=dgazzoni" title="Tests">⚠️</a></td>
<td align="center"><a href="http://vk.com/muzzdiez"><img src="https://avatars.githubusercontent.com/u/16463967?v=4" width="100px;" alt=""/><br /><sub><b>Igor Molchanov</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=makise-homura" title="Code">💻</a> <a href="#maintenance-makise-homura" title="Maintenance">🚧</a> <a href="#platform-makise-homura" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="https://github.com/anrodrig"><img src="https://avatars.githubusercontent.com/u/35815808?v=4" width="100px;" alt=""/><br /><sub><b>Andrew Rodriguez</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=anrodrig" title="Code">💻</a> <a href="#maintenance-anrodrig" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=anrodrig" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/Changqing-JING"><img src="https://avatars.githubusercontent.com/u/59640930?v=4" width="100px;" alt=""/><br /><sub><b>Changqing Jing</b></sub></a><br /><a href="#maintenance-Changqing-JING" title="Maintenance">🚧</a></td>
<td align="center"><a href="http://jpcima.sdf1.org/"><img src="https://avatars.githubusercontent.com/u/17614485?v=4" width="100px;" alt=""/><br /><sub><b>JP Cimalando</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=jpcima" title="Code">💻</a> <a href="#infra-jpcima" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
<td align="center"><a href="https://flygoat.com/"><img src="https://avatars.githubusercontent.com/u/5955297?v=4" width="100px;" alt=""/><br /><sub><b>Jiaxun Yang</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=FlyGoat" title="Code">💻</a> <a href="#platform-FlyGoat" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="https://github.com/ktgw0316"><img src="https://avatars.githubusercontent.com/u/3116763?v=4" width="100px;" alt=""/><br /><sub><b>Masahiro Kitagawa</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=ktgw0316" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=ktgw0316" title="Tests">⚠️</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/operasfantom"><img src="https://avatars.githubusercontent.com/u/31903947?v=4" width="100px;" alt=""/><br /><sub><b>Pavel Iatchenii</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=operasfantom" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=operasfantom" title="Tests">⚠️</a></td>
<td align="center"><a href="https://tommyvct.tk"><img src="https://avatars.githubusercontent.com/u/7903172?v=4" width="100px;" alt=""/><br /><sub><b>Tommy Vercetti</b></sub></a><br /><a href="#maintenance-tommyvct" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://github.com/rscohn2"><img src="https://avatars.githubusercontent.com/u/1936730?v=4" width="100px;" alt=""/><br /><sub><b>Robert Cohn</b></sub></a><br /><a href="#maintenance-rscohn2" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://github.com/adamnovak"><img src="https://avatars.githubusercontent.com/u/5062495?v=4" width="100px;" alt=""/><br /><sub><b>Adam Novak</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=adamnovak" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/boris-kuz"><img src="https://avatars.githubusercontent.com/u/18011434?v=4" width="100px;" alt=""/><br /><sub><b>boris-kuz</b></sub></a><br /><a href="#maintenance-boris-kuz" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://github.com/Epixu"><img src="https://avatars.githubusercontent.com/u/1529601?v=4" width="100px;" alt=""/><br /><sub><b>Dimo Markov</b></sub></a><br /><a href="#maintenance-Epixu" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://dhbloo.github.io/"><img src="https://avatars.githubusercontent.com/u/32353216?v=4" width="100px;" alt=""/><br /><sub><b>dblue</b></sub></a><br /><a href="#maintenance-dhbloo" title="Maintenance">🚧</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/zekehul"><img src="https://avatars.githubusercontent.com/u/8780526?v=4" width="100px;" alt=""/><br /><sub><b>zekehul</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=zekehul" title="Code">💻</a> <a href="#maintenance-zekehul" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://open-cells.com"><img src="https://avatars.githubusercontent.com/u/40661368?v=4" width="100px;" alt=""/><br /><sub><b>Laurent Thomas</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=LaurentThomas" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/maxbachmann"><img src="https://avatars.githubusercontent.com/u/44199644?v=4" width="100px;" alt=""/><br /><sub><b>Max Bachmann</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=maxbachmann" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/psaab"><img src="https://avatars.githubusercontent.com/u/196946?v=4" width="100px;" alt=""/><br /><sub><b>psaab</b></sub></a><br /><a href="#maintenance-psaab" title="Maintenance">🚧</a></td>
<td align="center"><a href="http://superduper.net/"><img src="https://avatars.githubusercontent.com/u/515813?v=4" width="100px;" alt=""/><br /><sub><b>Sam Clegg</b></sub></a><br /><a href="#maintenance-sbc100" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://twitter.com/tlively52"><img src="https://avatars.githubusercontent.com/u/7121787?v=4" width="100px;" alt=""/><br /><sub><b>Thomas Lively</b></sub></a><br /><a href="https://github.com/nemequ/simde/issues?q=author%3Atlively" title="Bug reports">🐛</a> <a href="#ideas-tlively" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-tlively" title="Maintenance">🚧</a></td>
<td align="center"><a href="http://blog.coderzh.com/"><img src="https://avatars.githubusercontent.com/u/329164?v=4" width="100px;" alt=""/><br /><sub><b>coderzh</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=coderzh" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=coderzh" title="Tests">⚠️</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/k-dominik"><img src="https://avatars.githubusercontent.com/u/24434157?v=4" width="100px;" alt=""/><br /><sub><b>Dominik Kutra</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=k-dominik" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=k-dominik" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/Lithrein"><img src="https://avatars.githubusercontent.com/u/207981?v=4" width="100px;" alt=""/><br /><sub><b>Lithrein</b></sub></a><br /><a href="#maintenance-Lithrein" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://github.com/quyykk"><img src="https://avatars.githubusercontent.com/u/85879619?v=4" width="100px;" alt=""/><br /><sub><b>Nick</b></sub></a><br /><a href="#maintenance-quyykk" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://github.com/thomasdwu"><img src="https://avatars.githubusercontent.com/u/6819659?v=4" width="100px;" alt=""/><br /><sub><b>thomasdwu</b></sub></a><br /><a href="#maintenance-thomasdwu" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://github.com/Remnant44"><img src="https://avatars.githubusercontent.com/u/54461740?v=4" width="100px;" alt=""/><br /><sub><b>Stephen</b></sub></a><br /><a href="https://github.com/nemequ/simde/issues?q=author%3ARemnant44" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/johnplatts"><img src="https://avatars.githubusercontent.com/u/28941113?v=4" width="100px;" alt=""/><br /><sub><b>John Platts</b></sub></a><br /><a href="https://github.com/nemequ/simde/issues?q=author%3Ajohnplatts" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/tycho"><img src="https://avatars.githubusercontent.com/u/29616?v=4" width="100px;" alt=""/><br /><sub><b>Steven Noonan</b></sub></a><br /><a href="https://github.com/nemequ/simde/issues?q=author%3Atycho" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/p0nce"><img src="https://avatars.githubusercontent.com/u/1067485?v=4" width="100px;" alt=""/><br /><sub><b>p0nce </b></sub></a><br /><a href="https://github.com/nemequ/simde/issues?q=author%3Ap0nce" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://bonedaddy.net/pabs3/"><img src="https://avatars.githubusercontent.com/u/328602?v=4" width="100px;" alt=""/><br /><sub><b>Paul Wise</b></sub></a><br /><a href="https://github.com/nemequ/simde/issues?q=author%3Apabs3" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/easyaspi314"><img src="https://avatars.githubusercontent.com/u/6258309?v=4" width="100px;" alt=""/><br /><sub><b>easyaspi314 (Devin)</b></sub></a><br /><a href="https://github.com/nemequ/simde/issues?q=author%3Aeasyaspi314" title="Bug reports">🐛</a> <a href="https://github.com/nemequ/simde/commits?author=easyaspi314" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/JonLiu1993"><img src="https://avatars.githubusercontent.com/u/63675417?v=4" width="100px;" alt=""/><br /><sub><b>JonLiu1993</b></sub></a><br /><a href="#platform-JonLiu1993" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="https://github.com/Cheney-W"><img src="https://avatars.githubusercontent.com/u/38240633?v=4" width="100px;" alt=""/><br /><sub><b>Cheney Wang</b></sub></a><br /><a href="#platform-Cheney-W" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="http://myd7349.github.io/"><img src="https://avatars.githubusercontent.com/u/5435649?v=4" width="100px;" alt=""/><br /><sub><b>myd7349 </b></sub></a><br /><a href="#platform-myd7349" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="https://github.com/chausner"><img src="https://avatars.githubusercontent.com/u/15180557?v=4" width="100px;" alt=""/><br /><sub><b>chausner</b></sub></a><br /><a href="#platform-chausner" title="Packaging/porting to new platform">📦</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/yyctw"><img src="https://avatars.githubusercontent.com/u/45251297?v=4" width="100px;" alt=""/><br /><sub><b>Yi-Yen Chung</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=yyctw" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=yyctw" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/wewe5215"><img src="https://avatars.githubusercontent.com/u/76145143?v=4" width="100px;" alt=""/><br /><sub><b>Chi-Wei Chu</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=wewe5215" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=wewe5215" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/M-HT"><img src="https://avatars.githubusercontent.com/u/12173952?v=4" width="100px;" alt=""/><br /><sub><b>M-HT</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=M-HT" title="Code">💻</a></td>
<td align="center"><a href="https://gottliebtfreitag.de"><img src="https://avatars.githubusercontent.com/u/456045?v=4" width="100px;" alt=""/><br /><sub><b>Simon Gene Gottlieb</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=SGSSGene" title="Code">💻</a></td>
<td align="center"><a href="http://bsc.fu-berlin.de"><img src="https://avatars.githubusercontent.com/u/6008722?v=4" width="100px;" alt=""/><br /><sub><b>Chris Bielow</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=cbielow" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/XiWeiGu"><img src="https://avatars.githubusercontent.com/u/41367273?v=4" width="100px;" alt=""/><br /><sub><b>gu xiwei</b></sub></a><br /><a href="#platform-XiWeiGu" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/nemequ/simde/commits?author=XiWeiGu" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/Vineg"><img src="https://avatars.githubusercontent.com/u/1757455?v=4" width="100px;" alt=""/><br /><sub><b>George Vinokhodov</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=Vineg" title="Code">💻</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/Coeur"><img src="https://avatars.githubusercontent.com/u/839992?v=4" width="100px;" alt=""/><br /><sub><b>Cœur</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=Coeur" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Proudsalsa"><img src="https://avatars.githubusercontent.com/u/103449548?v=4" width="100px;" alt=""/><br /><sub><b>Florian @Proudsalsa</b></sub></a><br /><a href="https://github.com/nemequ/simde/commits?author=Proudsalsa" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/thomas-schlichter"><img src="https://avatars.githubusercontent.com/u/106664923?v=4" width="100px;" alt=""/><br /><sub><b>Thomas Schlichter</b></sub></a><br /><a href="https://github.com/nemequ/simde/issues?q=author%3Athomas-schlichter" title="Bug reports">🐛</a> <a href="https://github.com/nemequ/simde/commits?author=thomas-schlichter" title="Code">💻</a></td>
</tr>
</table>

View file

@ -5,7 +5,7 @@ FROM debian:${RELEASE}-slim
ARG DEBIAN_FRONTEND=noninteractive
ARG QEMU_GIT=n
ARG ARCHS="arm64 armel armhf i386 mips64el ppc64el s390x"
ARG ARCHS="arm64 armel armhf i386 mips64el ppc64el s390x riscv64"
RUN \
apt-get update -y && \
@ -26,7 +26,7 @@ RUN \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -yq --no-install-recommends \
git build-essential \
git build-essential vim \
ccache cmake ninja-build \
'^clang-[0-9\.]+$' \
'^llvm-[0-9\.]+$' \
@ -35,11 +35,11 @@ RUN \
binfmt-support qemu-user-static \
creduce screen htop parallel nano rsync strace \
npm libsleef-dev \
python3-pip wget
pipx wget curl
# Meson on stable is too old, and we want to make sure we keep 0.55
# working for a while.
RUN pip3 install meson==0.55.0
RUN pipx install meson==0.55.0
# GCC cross-compilers
RUN \
@ -56,13 +56,13 @@ RUN \
echo ${PACKAGES_TO_INSTALL} ; \
apt-get install -yq ${PACKAGES_TO_INSTALL}
ENV PATH="/usr/lib/ccache:$PATH"
ENV PATH="/usr/lib/ccache:$PATH:/root/.local/bin:/root/.jsvu/bin"
# ICC
RUN \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -yq curl gpg && \
apt-get install -yq gpg && \
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
| gpg --dearmor > /usr/share/keyrings/oneapi-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneAPI.list && \
@ -95,11 +95,9 @@ RUN \
# Emscripten
RUN \
git clone https://github.com/emscripten-core/emsdk.git /opt/emsdk && \
cd /opt/emsdk && ./emsdk install tot ccache-git-emscripten-64bit && ./emsdk activate tot ccache-git-emscripten-64bit && \
cd /opt/emsdk && ./emsdk install tot && ./emsdk activate tot && \
ln -s /opt/emsdk/upstream/bin/wasm-ld /usr/bin/wasm-ld && \
npm install jsvu -g && jsvu --os=linux64 --engines=v8 && ln -s "/root/.jsvu/bin/v8" "/usr/bin/v8" && \
echo 'source "/opt/emsdk/emsdk_env.sh"' >> $HOME/.bash_profile && \
echo 'export PATH=/opt/emsdk/ccache/git-emscripten_64bit/bin:$PATH' >> $HOME/.bash_profile
npm install jsvu -g && jsvu --os=linux64 --engines=v8 && ln -s "/root/.jsvu/v8" "/usr/bin/v8"
# Meson cross files
RUN \
@ -108,7 +106,9 @@ RUN \
# Install QEMU git (necessary for MIPS)
RUN \
if [ ${QEMU_GIT} = "y" ]; then \
apt-get install -y pkg-config libglib2.0-dev libpixman-1-dev && \
apt-get install -y pkg-config libglib2.0-dev libpixman-1-dev libaio-dev \
libbpf-dev libdw-dev libcapstone-dev flex bison \
liburing-dev libseccomp-dev libcap-ng-dev libzstd-dev libudev-dev libgnutls28-dev linux-headers-amd64 && \
git clone https://gitlab.com/qemu-project/qemu.git /usr/local/src/qemu && \
mkdir -p /usr/local/src/qemu/build && cd /usr/local/src/qemu/build && \
../configure --prefix=/opt/qemu && \

View file

@ -0,0 +1,112 @@
# Dockerfile for SIMDe development
FROM ubuntu:focal
ARG DEBIAN_FRONTEND=noninteractive
ARG QEMU_GIT=n
ARG ARCHS="arm64"
#"arm64 armel armhf i386 mips64el ppc64el s390x riscv64"
COPY docker/bin /tmp/simde-bin
RUN \
for script in simde-reset-build.sh; do \
ln -s /usr/local/src/simde/docker/bin/"${script}" /usr/bin/"${script}"; \
done
# Common packages
RUN \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -yq --no-install-recommends \
git build-essential vim \
ccache cmake ninja-build \
'^clang-[0-9\.]+$' \
'^llvm-[0-9\.]+$' \
'^g(cc|\+\+)-[0-9\.]+$' \
gdb valgrind \
binfmt-support qemu-user-static \
creduce screen htop parallel nano rsync strace \
npm libsleef-dev \
pipx wget curl
# Meson on stable is too old, and we want to make sure we keep 0.55
# working for a while.
RUN pipx install meson==0.55.0
# GCC cross-compilers
RUN \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -y apt-file && \
apt-file update
RUN \
PACKAGES_TO_INSTALL=""; \
for ARCH in ${ARCHS}; do \
PACKAGES_TO_INSTALL="${PACKAGES_TO_INSTALL} libc6-${ARCH}-cross libstdc++-[0-9]*-dev-${ARCH}-cross"; \
PACKAGES_TO_INSTALL="${PACKAGES_TO_INSTALL} $(apt-file search -x "/usr/bin/$(/tmp/simde-bin/arch2gcc.sh ${ARCH})-(ar|g(cc|\+\+)-[0-9\.]+)" | awk -F: '{ print $1}')"; \
done; \
echo ${PACKAGES_TO_INSTALL} ; \
apt-get install -yq ${PACKAGES_TO_INSTALL}
ENV PATH="/usr/lib/ccache:$PATH:/root/.local/bin:/root/.jsvu/bin"
# ICC
RUN \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -yq gpg && \
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
| gpg --dearmor > /usr/share/keyrings/oneapi-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneAPI.list && \
apt-get update && \
apt-get install -yq --no-install-recommends intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-dpcpp-cpp && \
for exe in icc icpc icx icpx; do \
printf '#!/bin/bash\nARGS="$@"\nsource /opt/intel/oneapi/compiler/latest/env/vars.sh >/dev/null\n%s ${ARGS}\n' "${exe}" > /usr/bin/"${exe}" && \
chmod 0755 /usr/bin/"${exe}" ; \
done
# # xlc -- Install fails.
# # Once IBM releases a version for Ubuntu Focal (20.04) I hope I can
# # get this working.
# RUN \
# curl -s 'https://public.dhe.ibm.com/software/server/POWER/Linux/xl-compiler/eval/ppc64le/ubuntu/public.gpg' | apt-key add - && \
# echo "deb [arch=ppc64el] https://public.dhe.ibm.com/software/server/POWER/Linux/xl-compiler/eval/ppc64le/ubuntu/ bionic main" > /etc/apt/sources.list.d/xlc.list && \
# apt-get update && \
# XLC_VERSION="$(apt-cache search '^xlc\.[0-9]+\.[0-9]+\.[0-9]+$' | awk '{ print substr($1, 5) }')" && \
# apt-get install "xlc.${XLC_VERSION}:ppc64el" "xlc-license-community.${XLC_VERSION}:ppc64el" && \
# /opt/ibm/xlC/${XLC_VERSION}/bin/xlc_configure <<< 1 >/dev/null
# Intel SDE
COPY test/download-sde.sh /tmp/simde-bin/download-sde.sh
RUN \
"/tmp/simde-bin/download-sde.sh" "/opt/intel/sde" && \
for executable in sde sde64; do \
ln -s "/opt/intel/sde/${executable}" "/usr/bin/${executable}"; \
done
# Emscripten
RUN \
git clone https://github.com/emscripten-core/emsdk.git /opt/emsdk && \
cd /opt/emsdk && ./emsdk install tot && ./emsdk activate tot && \
ln -s /opt/emsdk/upstream/bin/wasm-ld /usr/bin/wasm-ld && \
npm install jsvu -g && jsvu --os=linux64 --engines=v8 && ln -s "/root/.jsvu/v8" "/usr/bin/v8"
# Meson cross files
RUN \
mkdir -p "/usr/local/share/meson/cross" && ln -s /usr/local/src/simde/docker/cross-files /usr/local/share/meson/cross/simde
# Install QEMU git (necessary for MIPS)
RUN \
if [ ${QEMU_GIT} = "y" ]; then \
apt-get install -y pkg-config libglib2.0-dev libpixman-1-dev && \
git clone https://gitlab.com/qemu-project/qemu.git /usr/local/src/qemu && \
mkdir -p /usr/local/src/qemu/build && cd /usr/local/src/qemu/build && \
../configure --prefix=/opt/qemu && \
make -j$(nproc) && \
make install; \
rm -rf /usr/local/src/qemu; \
fi
RUN mkdir -p /opt/simde
WORKDIR /opt/simde
ENV CCACHE_DIR=/opt/simde/.ccache CCACHE_COMPRESS=1

View file

@ -0,0 +1,112 @@
# Dockerfile for SIMDe development
FROM ubuntu:bionic
ARG DEBIAN_FRONTEND=noninteractive
ARG QEMU_GIT=n
ARG ARCHS="arm64"
#"arm64 armel armhf i386 mips64el ppc64el s390x riscv64"
COPY docker/bin /tmp/simde-bin
RUN \
for script in simde-reset-build.sh; do \
ln -s /usr/local/src/simde/docker/bin/"${script}" /usr/bin/"${script}"; \
done
# Common packages
RUN \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -yq --no-install-recommends \
git build-essential vim \
ccache cmake ninja-build \
'^clang-[0-9\.]+$' \
'^llvm-[0-9\.]+$' \
'^g(cc|\+\+)-[0-9\.]+$' \
gdb valgrind \
binfmt-support qemu-user-static \
creduce screen htop parallel nano rsync strace \
npm \
python3-pip wget curl python3-setuptools python3-wheel
# Meson on stable is too old, and we want to make sure we keep 0.55
# working for a while.
RUN pip3 install meson==0.55.0
# GCC cross-compilers
RUN \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -y apt-file && \
apt-file update
RUN \
PACKAGES_TO_INSTALL=""; \
for ARCH in ${ARCHS}; do \
PACKAGES_TO_INSTALL="${PACKAGES_TO_INSTALL} libc6-${ARCH}-cross libstdc++-[0-9]*-dev-${ARCH}-cross"; \
PACKAGES_TO_INSTALL="${PACKAGES_TO_INSTALL} $(apt-file search -x "/usr/bin/$(/tmp/simde-bin/arch2gcc.sh ${ARCH})-(ar|g(cc|\+\+)-[0-9\.]+)" | awk -F: '{ print $1}')"; \
done; \
echo ${PACKAGES_TO_INSTALL} ; \
apt-get install -yq ${PACKAGES_TO_INSTALL}
ENV PATH="/usr/lib/ccache:$PATH:/root/.local/bin:/root/.jsvu/bin"
# ICC
# RUN \
# apt-get update -y && \
# apt-get upgrade -y && \
# apt-get install -yq gpg && \
# wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
# | gpg --dearmor > /usr/share/keyrings/oneapi-archive-keyring.gpg && \
# echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneAPI.list && \
# apt-get update && \
# apt-get install -yq --no-install-recommends intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-dpcpp-cpp && \
# for exe in icc icpc icx icpx; do \
# printf '#!/bin/bash\nARGS="$@"\nsource /opt/intel/oneapi/compiler/latest/env/vars.sh >/dev/null\n%s ${ARGS}\n' "${exe}" > /usr/bin/"${exe}" && \
# chmod 0755 /usr/bin/"${exe}" ; \
# done
# # xlc -- Install fails.
# # Once IBM releases a version for Ubuntu Focal (20.04) I hope I can
# # get this working.
# RUN \
# curl -s 'https://public.dhe.ibm.com/software/server/POWER/Linux/xl-compiler/eval/ppc64le/ubuntu/public.gpg' | apt-key add - && \
# echo "deb [arch=ppc64el] https://public.dhe.ibm.com/software/server/POWER/Linux/xl-compiler/eval/ppc64le/ubuntu/ bionic main" > /etc/apt/sources.list.d/xlc.list && \
# apt-get update && \
# XLC_VERSION="$(apt-cache search '^xlc\.[0-9]+\.[0-9]+\.[0-9]+$' | awk '{ print substr($1, 5) }')" && \
# apt-get install "xlc.${XLC_VERSION}:ppc64el" "xlc-license-community.${XLC_VERSION}:ppc64el" && \
# /opt/ibm/xlC/${XLC_VERSION}/bin/xlc_configure <<< 1 >/dev/null
# Intel SDE
COPY test/download-sde.sh /tmp/simde-bin/download-sde.sh
RUN \
"/tmp/simde-bin/download-sde.sh" "/opt/intel/sde" && \
for executable in sde sde64; do \
ln -s "/opt/intel/sde/${executable}" "/usr/bin/${executable}"; \
done
# Emscripten
# RUN \
# git clone https://github.com/emscripten-core/emsdk.git /opt/emsdk && \
# cd /opt/emsdk && ./emsdk install tot && ./emsdk activate tot && \
# ln -s /opt/emsdk/upstream/bin/wasm-ld /usr/bin/wasm-ld && \
# npm install jsvu -g && jsvu --os=linux64 --engines=v8 && ln -s "/root/.jsvu/v8" "/usr/bin/v8"
# Meson cross files
RUN \
mkdir -p "/usr/local/share/meson/cross" && ln -s /usr/local/src/simde/docker/cross-files /usr/local/share/meson/cross/simde
# Install QEMU git (necessary for MIPS)
RUN \
if [ ${QEMU_GIT} = "y" ]; then \
apt-get install -y pkg-config libglib2.0-dev libpixman-1-dev && \
git clone https://gitlab.com/qemu-project/qemu.git /usr/local/src/qemu && \
mkdir -p /usr/local/src/qemu/build && cd /usr/local/src/qemu/build && \
../configure --prefix=/opt/qemu && \
make -j$(nproc) && \
make install; \
rm -rf /usr/local/src/qemu; \
fi
RUN mkdir -p /opt/simde
WORKDIR /opt/simde
ENV CCACHE_DIR=/opt/simde/.ccache CCACHE_COMPRESS=1

View file

@ -15,7 +15,7 @@ Once the container is ready it will drop you into a bash shell in
`/opt/simde`; this is the build directory.
This will bind the parent directory (the root of the SIMDe checkout)
to `/usr/local/src/simde`; any changes to either will propogate to the
to `/usr/local/src/simde`; any changes to either will propagate to the
other, meaning you can continue using your normal development
environment and just re-run ninja in the container to (re)build SIMDe.

View file

@ -0,0 +1,20 @@
[binaries]
c = 'clang-13'
cpp = 'clang++-13'
ar = 'llvm-ar-13'
strip = 'llvm-strip-13'
objcopy = 'llvm-objcopy-13'
ld = 'llvm-ld-13'
exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu']
[properties]
c_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Wextra', '-Werror', '-g', '-O2', '-fstack-protector-strong', '-Wformat', '-Werror=format-security', '-Wdate-time', '-D_FORTIFY_SOURCE=2']
cpp_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Wextra', '-Werror', '-g', '-O2', '-fstack-protector-strong', '-Wformat', '-Werror=format-security', '-Wdate-time', '-D_FORTIFY_SOURCE=2']
c_link_args = ['--target=aarch64-linux-gnu', '-Wl,-z,relro', '-Wl,-z,now']
cpp_link_args = ['--target=aarch64-linux-gnu', '-Wl,-z,relro', '-Wl,-z,now']
[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'arm64'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = 'clang-14'
cpp = 'clang++-14'
ar = 'llvm-ar-14'
strip = 'llvm-strip-14'
objcopy = 'llvm-objcopy-14'
ld = 'llvm-ld-14'
exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu']
[properties]
c_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Wextra', '-Werror', '-g', '-O2', '-fstack-protector-strong', '-Wformat', '-Werror=format-security', '-Wdate-time', '-D_FORTIFY_SOURCE=2']
cpp_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Wextra', '-Werror', '-g', '-O2', '-fstack-protector-strong', '-Wformat', '-Werror=format-security', '-Wdate-time', '-D_FORTIFY_SOURCE=2']
c_link_args = ['--target=aarch64-linux-gnu', '-Wl,-z,relro', '-Wl,-z,now']
cpp_link_args = ['--target=aarch64-linux-gnu', '-Wl,-z,relro', '-Wl,-z,now']
[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'arm64'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-15']
cpp = ['ccache', 'clang++-15']
ar = 'llvm-ar-15'
strip = 'llvm-strip-15'
objcopy = 'llvm-objcopy-15'
ld = 'llvm-ld-15'
exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu']
[properties]
c_args = ['--target=aarch64-linux-gnu', '-march=armv8.2-a+simd+crypto+crc+bf16', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['--target=aarch64-linux-gnu', '-march=armv8.2-a+simd+crypto+crc+bf16', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_link_args = ['--target=aarch64-linux-gnu']
cpp_link_args = ['--target=aarch64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'arm64'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = 'clang-15'
cpp = 'clang++-15'
ar = 'llvm-ar-15'
strip = 'llvm-strip-15'
objcopy = 'llvm-objcopy-15'
ld = 'llvm-ld-15'
exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu']
[properties]
c_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Wextra', '-Werror', '-g', '-O2', '-fstack-protector-strong', '-Wformat', '-Werror=format-security', '-Wdate-time', '-D_FORTIFY_SOURCE=2']
cpp_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Wextra', '-Werror', '-g', '-O2', '-fstack-protector-strong', '-Wformat', '-Werror=format-security', '-Wdate-time', '-D_FORTIFY_SOURCE=2']
c_link_args = ['--target=aarch64-linux-gnu', '-Wl,-z,relro', '-Wl,-z,now']
cpp_link_args = ['--target=aarch64-linux-gnu', '-Wl,-z,relro', '-Wl,-z,now']
[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'arm64'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu']
[properties]
c_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc+bf16', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc+bf16', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=aarch64-linux-gnu']
cpp_link_args = ['--target=aarch64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'arm64'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-17']
cpp = ['ccache', 'clang++-17']
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu']
[properties]
c_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc+bf16', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc+bf16', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=aarch64-linux-gnu']
cpp_link_args = ['--target=aarch64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'arm64'
endian = 'little'

View file

@ -8,8 +8,8 @@ ld = 'aarch64-linux-gnu-ld'
exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu']
[properties]
c_args = ['-march=armv8-a+simd+crypto+crc', '-Wextra', '-Werror']
cpp_args = ['-march=armv8-a+simd+crypto+crc', '-Wextra', '-Werror']
c_args = ['-march=armv8.2-a+simd+crypto+crc+bf16', '-Wextra', '-Werror']
cpp_args = ['-march=armv8.2-a+simd+crypto+crc+bf16', '-Wextra', '-Werror']
[host_machine]
system = 'linux'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-15']
cpp = ['ccache', 'clang++-15']
ar = 'llvm-ar-15'
strip = 'llvm-strip-15'
objcopy = 'llvm-objcopy-15'
ld = 'llvm-ld-15'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabi']
[properties]
c_args = ['--target=arm-linux-gnueabi', '-isystem=/usr/arm-linux-gnueabi/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['--target=arm-linux-gnueabi', '-isystem=/usr/arm-linux-gnueabi/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_link_args = ['--target=arm-linux-gnueabi']
cpp_link_args = ['--target=arm-linux-gnueabi']
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'generic'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabi']
[properties]
c_args = ['--target=arm-linux-gnueabi', '-isystem=/usr/arm-linux-gnueabi/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=arm-linux-gnueabi', '-isystem=/usr/arm-linux-gnueabi/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=arm-linux-gnueabi']
cpp_link_args = ['--target=arm-linux-gnueabi']
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'generic'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-17']
cpp = ['ccache', 'clang++-17']
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabi']
[properties]
c_args = ['--target=arm-linux-gnueabi', '-isystem=/usr/arm-linux-gnueabi/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=arm-linux-gnueabi', '-isystem=/usr/arm-linux-gnueabi/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=arm-linux-gnueabi']
cpp_link_args = ['--target=arm-linux-gnueabi']
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'generic'
endian = 'little'

View file

@ -0,0 +1,18 @@
[binaries]
c = ['ccache', 'arm-linux-gnueabi-gcc-12']
cpp = ['ccache', 'arm-linux-gnueabi-g++-12']
ar = 'arm-linux-gnueabi-ar'
strip = 'arm-linux-gnueabi-strip'
objcopy = 'arm-linux-gnueabi-objcopy'
ld = 'arm-linux-gnueabi-ld'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabi']
[properties]
c_args = ['-Wextra', '-Werror']
cpp_args = ['-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'generic'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-15']
cpp = ['ccache', 'clang++-15']
ar = 'llvm-ar-15'
strip = 'llvm-strip-15'
objcopy = 'llvm-objcopy-15'
ld = 'llvm-ld-15'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabihf']
[properties]
c_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_link_args = ['--target=arm-linux-gnueabihf']
cpp_link_args = ['--target=arm-linux-gnueabihf']
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv8-a'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabihf']
[properties]
c_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=arm-linux-gnueabihf']
cpp_link_args = ['--target=arm-linux-gnueabihf']
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv8-a'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-17']
cpp = ['ccache', 'clang++-17']
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabihf']
[properties]
c_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=arm-linux-gnueabihf']
cpp_link_args = ['--target=arm-linux-gnueabihf']
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv8-a'
endian = 'little'

View file

@ -0,0 +1,18 @@
[binaries]
c = ['ccache', 'arm-linux-gnueabihf-gcc-12']
cpp = ['ccache', 'arm-linux-gnueabihf-g++-12']
ar = 'arm-linux-gnueabihf-ar'
strip = 'arm-linux-gnueabihf-strip'
objcopy = 'arm-linux-gnueabihf-objcopy'
ld = 'arm-linux-gnueabihf-ld'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabihf']
[properties]
c_args = ['-march=armv7-a+simd+neon-fp16', '-mfpu=auto', '-Wextra', '-Werror']
cpp_args = ['-march=armv7-a+simd+neon-fp16', '-mfpu=auto', '-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv7-a'
endian = 'little'

View file

@ -0,0 +1,18 @@
[binaries]
c = 'arm-linux-gnueabihf-gcc-12'
cpp = 'arm-linux-gnueabihf-g++-12'
ar = 'arm-linux-gnueabihf-ar'
strip = 'arm-linux-gnueabihf-strip'
objcopy = 'arm-linux-gnueabihf-objcopy'
ld = 'arm-linux-gnueabihf-ld'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabihf']
[properties]
c_args = ['-mcpu=cortex-a32', '-mfpu=crypto-neon-fp-armv8', '-Wextra', '-Werror']
cpp_args = ['-mcpu=cortex-a32', '-mfpu=crypto-neon-fp-armv8', '-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv8-a'
endian = 'little'

View file

@ -0,0 +1,11 @@
[binaries]
c = 'clang-11'
cpp = 'clang++-11'
ar = 'llvm-ar-11'
strip = 'llvm-strip-11'
objcopy = 'llvm-objcopy-11'
ld = 'llvm-ld-11'
[properties]
c_args = ['-march=native', '-O2', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=native', '-O2', '-Weverything', '-fno-lax-vector-conversions', '-Werror']

View file

@ -7,5 +7,5 @@ objcopy = 'llvm-objcopy-11'
ld = 'llvm-ld-11'
[properties]
c_args = ['-march=native','-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'clang-16'
cpp = 'clang++-16'
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
[properties]
c_args = ['-march=native','-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'clang-17'
cpp = 'clang++-17'
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
[properties]
c_args = ['-march=native','-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'clang-3.9'
cpp = 'clang++-3.9'
ar = 'llvm-ar-3.9'
strip = 'llvm-strip-3.9'
objcopy = 'llvm-objcopy-3.9'
ld = 'llvm-ld-3.9'
[properties]
c_args = ['-march=native','-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'clang-4.0'
cpp = 'clang++-4.0'
ar = 'llvm-ar-4.0'
strip = 'llvm-strip-4.0'
objcopy = 'llvm-objcopy-4.0'
ld = 'llvm-ld-4.0'
[properties]
c_args = ['-march=native','-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'clang-5.0'
cpp = 'clang++-5.0'
ar = 'llvm-ar-5.0'
strip = 'llvm-strip-5.0'
objcopy = 'llvm-objcopy-5.0'
ld = 'llvm-ld-5.0'
[properties]
c_args = ['-march=native','-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'clang-6.0'
cpp = 'clang++-6.0'
ar = 'llvm-ar-6.0'
strip = 'llvm-strip-6.0'
objcopy = 'llvm-objcopy-6.0'
ld = 'llvm-ld-6.0'
[properties]
c_args = ['-march=native','-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'clang-7'
cpp = 'clang++-7'
ar = 'llvm-ar-7'
strip = 'llvm-strip-7'
objcopy = 'llvm-objcopy-7'
ld = 'llvm-ld-7'
[properties]
c_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'clang-8'
cpp = 'clang++-8'
ar = 'llvm-ar-8'
strip = 'llvm-strip-8'
objcopy = 'llvm-objcopy-8'
ld = 'llvm-ld-8'
[properties]
c_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']

View file

@ -7,5 +7,5 @@ objcopy = 'llvm-objcopy-9'
ld = 'llvm-ld-9'
[properties]
c_args = ['-march=native','-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=native', '-Weverything', '-fno-lax-vector-conversions', '-Werror']

View file

@ -0,0 +1,20 @@
[binaries]
c = '/opt/emsdk/upstream/emscripten/emcc'
cpp = '/opt/emsdk/upstream/emscripten/em++'
ar = '/opt/emsdk/upstream/emscripten/emar'
strip = '/opt/emsdk/upstream/bin/llvm-strip'
objcopy = '/opt/emsdk/upstream/bin/llvm-objcopy'
exe_wrapper = ['v8']
[properties]
skip_sanity_check = true
c_args = ['-Weverything', '-fno-lax-vector-conversions', '-Werror', '-O2', '-msimd128', '-mrelaxed-simd', '-Wno-unsafe-buffer-usage', '-Wno-switch-default']
cpp_args = ['-Weverything', '-fno-lax-vector-conversions', '-Werror', '-O2', '-msimd128', '-mrelaxed-simd', '-Wno-unsafe-buffer-usage', '-Wno-switch-default']
c_link_args = ['-s', 'ENVIRONMENT=shell']
cpp_link_args = ['-s', 'ENVIRONMENT=shell']
[host_machine]
system = 'emscripten'
cpu_family = 'wasm32'
cpu = 'wasm32'
endian = 'little'

View file

@ -8,8 +8,8 @@ exe_wrapper = ['v8']
[properties]
skip_sanity_check = true
c_args = ['-Weverything', '-fno-lax-vector-conversions', '-Werror', '-O2', '-msimd128', '-Wno-unsafe-buffer-usage']
cpp_args = ['-Weverything', '-fno-lax-vector-conversions', '-Werror', '-O2', '-msimd128', '-Wno-unsafe-buffer-usage']
c_args = ['-Weverything', '-fno-lax-vector-conversions', '-Werror', '-O2', '-msimd128', '-Wno-unsafe-buffer-usage', '-Wno-switch-default']
cpp_args = ['-Weverything', '-fno-lax-vector-conversions', '-Werror', '-O2', '-msimd128', '-Wno-unsafe-buffer-usage', '-Wno-switch-default']
c_link_args = ['-s', 'ENVIRONMENT=shell']
cpp_link_args = ['-s', 'ENVIRONMENT=shell']

View file

@ -0,0 +1,24 @@
# 2023-05-08 All tests pass
# emscripten "tip of tree" sdk-releases-2aeb471c31cf388d7e25b81d090144453fadf463-64bit
# V8 version 11.5.69
[binaries]
c = '/opt/emsdk/upstream/emscripten/emcc'
cpp = '/opt/emsdk/upstream/emscripten/em++'
ar = '/opt/emsdk/upstream/emscripten/emar'
strip = '/opt/emsdk/upstream/bin/llvm-strip'
objcopy = '/opt/emsdk/upstream/bin/llvm-objcopy'
exe_wrapper = ['v8', '--experimental-wasm-memory64']
[properties]
skip_sanity_check = true
c_args = ['-sMEMORY64', '-Weverything', '-Wno-experimental', '-Werror', '-fno-lax-vector-conversions', '-O2', '-msimd128', '-mrelaxed-simd', '-Wno-unsafe-buffer-usage', '-Wno-switch-default']
cpp_args = ['-sMEMORY64', '-Weverything', '-Wno-experimental', '-Werror', '-fno-lax-vector-conversions', '-O2', '-msimd128', '-mrelaxed-simd', '-Wno-unsafe-buffer-usage', '-Wno-switch-default']
c_link_args = ['-sMEMORY64', '-Wno-experimental', '-s', 'ENVIRONMENT=shell']
cpp_link_args = ['-sMEMORY64', '-Wno-experimental', '-s', 'ENVIRONMENT=shell']
[host_machine]
system = 'emscripten'
cpu_family = 'wasm64'
cpu = 'wasm64'
endian = 'little'

View file

@ -0,0 +1,24 @@
# 2023-05-08 All tests pass
# emscripten "tip of tree" sdk-releases-2aeb471c31cf388d7e25b81d090144453fadf463-64bit
# V8 version 11.5.69
[binaries]
c = '/opt/emsdk/upstream/emscripten/emcc'
cpp = '/opt/emsdk/upstream/emscripten/em++'
ar = '/opt/emsdk/upstream/emscripten/emar'
strip = '/opt/emsdk/upstream/bin/llvm-strip'
objcopy = '/opt/emsdk/upstream/bin/llvm-objcopy'
exe_wrapper = ['v8', '--experimental-wasm-memory64']
[properties]
skip_sanity_check = true
c_args = ['-sMEMORY64', '-Weverything', '-Wno-experimental', '-Werror', '-fno-lax-vector-conversions', '-O2', '-msimd128', '-Wno-unsafe-buffer-usage', '-Wno-switch-default']
cpp_args = ['-sMEMORY64', '-Weverything', '-Wno-experimental', '-Werror', '-fno-lax-vector-conversions', '-O2', '-msimd128', '-Wno-unsafe-buffer-usage', '-Wno-switch-default']
c_link_args = ['-sMEMORY64', '-Wno-experimental', '-s', 'ENVIRONMENT=shell']
cpp_link_args = ['-sMEMORY64', '-Wno-experimental', '-s', 'ENVIRONMENT=shell']
[host_machine]
system = 'emscripten'
cpu_family = 'wasm64'
cpu = 'wasm64'
endian = 'little'

View file

@ -0,0 +1,11 @@
[binaries]
c = 'gcc-5'
cpp = 'g++-5'
ar = 'ar'
strip = 'strip'
objcopy = 'objcopy'
ld = 'ld'
[properties]
c_args = ['-Wextra', '-Werror', '-march=haswell']
cpp_args = ['-Wextra', '-Werror', '-march=haswell']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'gcc-6'
cpp = 'g++-6'
ar = 'ar'
strip = 'strip'
objcopy = 'objcopy'
ld = 'ld'
[properties]
c_args = ['-Wextra', '-Werror', '-march=native']
cpp_args = ['-Wextra', '-Werror', '-march=native']

View file

@ -0,0 +1,11 @@
[binaries]
c = 'gcc-7'
cpp = 'g++-7'
ar = 'ar'
strip = 'strip'
objcopy = 'objcopy'
ld = 'ld'
[properties]
c_args = ['-Wextra', '-Werror', '-march=native']
cpp_args = ['-Wextra', '-Werror', '-march=native']

View file

@ -0,0 +1,17 @@
[binaries]
c = 'i686-linux-gnu-gcc-14'
cpp = 'i686-linux-gnu-g++-14'
ar = 'i686-linux-gnu-ar'
strip = 'i686-linux-gnu-strip'
objcopy = 'i686-linux-gnu-objcopy'
ld = 'i686-linux-gnu-ld'
[properties]
c_args = ['-Wextra', '-Werror', '-march=prescott']
cpp_args = ['-Wextra', '-Werror', '-march=prescott']
[host_machine]
system = 'linux'
cpu_family = 'x86'
cpu = 'prescott'
endian = 'little'

View file

@ -5,11 +5,14 @@ ar = 'llvm-ar-10'
strip = 'llvm-strip-10'
objcopy = 'llvm-objcopy-10'
ld = 'llvm-ld-10'
#exe_wrapper = ['sde64', '-clx', '--']
exe_wrapper = ['sde64', '-tgl', '--']
[properties]
c_args = ['-march=tigerlake', '-Weverything', '-fno-lax-vector-conversions', '-Wno-newline-eof', '-Wno-missing-variable-declarations', '-Werror']
cpp_args = ['-march=tigerlake', '-Weverything', '-fno-lax-vector-conversions', '-Wno-newline-eof', '-Wno-missing-variable-declarations', '-Werror']
#c_args = ['-march=cascadelake', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
#cpp_args = ['-march=cascadelake', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_args = ['-march=tigerlake', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=tigerlake', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
[host_machine]
system = 'linux'

View file

@ -0,0 +1,18 @@
[binaries]
c = 'clang-7'
cpp = 'clang++-7'
ar = 'llvm-ar-7'
strip = 'llvm-strip-7'
objcopy = 'llvm-objcopy-7'
ld = 'llvm-ld-7'
exe_wrapper = ['sde64', '-clx', '--']
[properties]
c_args = ['-march=skylake-avx512', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=skylake-avx512', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'x86_64-all'
cpu = 'x86_64'
endian = 'little'

View file

@ -0,0 +1,18 @@
[binaries]
c = 'clang-8'
cpp = 'clang++-8'
ar = 'llvm-ar-8'
strip = 'llvm-strip-8'
objcopy = 'llvm-objcopy-8'
ld = 'llvm-ld-8'
exe_wrapper = ['sde64', '-clx', '--']
[properties]
c_args = ['-march=skylake-avx512', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=skylake-avx512', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'x86_64-all'
cpu = 'x86_64'
endian = 'little'

View file

@ -0,0 +1,21 @@
[binaries]
c = 'clang-9'
cpp = 'clang++-9'
ar = 'llvm-ar-9'
strip = 'llvm-strip-9'
objcopy = 'llvm-objcopy-9'
ld = 'llvm-ld-9'
#exe_wrapper = ['sde64', '-clx', '--']
exe_wrapper = ['sde64', '-icl', '--']
[properties]
#c_args = ['-march=cascadelake', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
#cpp_args = ['-march=cascadelake', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_args = ['-march=icelake-server', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['-march=icelake-server', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'x86_64-all'
cpu = 'x86_64'
endian = 'little'

View file

@ -5,14 +5,14 @@ ar = 'ar'
strip = 'strip'
objcopy = 'objcopy'
ld = 'ld'
exe_wrapper = ['sde64', '-tgl', '--']
exe_wrapper = ['sde64', '-spr', '--']
[properties]
c_args = ['-march=tigerlake', '-Wall', '-Wextra', '-Werror']
cpp_args = ['-march=tigerlake', '-Wall', '-Wextra', '-Werror']
c_args = ['-march=sapphirerapids', '-Wall', '-Wextra', '-Werror']
cpp_args = ['-march=sapphirerapids', '-Wall', '-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'x86_64-all'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'

View file

@ -0,0 +1,18 @@
[binaries]
c = 'gcc-8'
cpp = 'g++-8'
ar = 'ar'
strip = 'strip'
objcopy = 'objcopy'
ld = 'ld'
exe_wrapper = ['sde64', '-skx', '--']
[properties]
c_args = ['-march=icelake-server', '-Wextra', '-Werror']
cpp_args = ['-march=icelake-server', '-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'x86_64-all'
cpu = 'x86_64'
endian = 'little'

View file

@ -0,0 +1,18 @@
[binaries]
c = ['ccache', 'loongarch64-unknown-linux-gnu-gcc']
cpp = ['ccache', 'loongarch64-unknown-linux-gnu-g++']
ar = 'loongarch64-unknown-linux-gnu-ar'
strip = 'loongarch64-unknown-linux-gnu-strip'
objcopy = 'loongarch64-unknown-linux-gnu-objcopy'
ld = 'loongarch64-unknown-linux-gnu-ld'
exe_wrapper = ['qemu-loongarch64-static', '-L', '/opt/cross-tools/target/usr']
[properties]
c_args = ['-march=loongarch64', '-Wextra', '-Werror']
cpp_args = ['-march=loongarch64', '-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'loongarch64'
cpu = 'loongarch64'
endian = 'little'

View file

@ -0,0 +1,18 @@
[binaries]
c = 'loongarch64-unknown-linux-gnu-gcc'
cpp = 'loongarch64-unknown-linux-gnu-g++'
ar = 'loongarch64-unknown-linux-gnu-ar'
strip = 'loongarch64-unknown-linux-gnu-strip'
objcopy = 'loongarch64-unknown-linux-gnu-objcopy'
ld = 'loongarch64-unknown-linux-gnu-ld'
exe_wrapper = ['qemu-loongarch64-static', '-L', '/opt/cross-tools/target/usr']
[properties]
c_args = ['-march=loongarch64', '-Wextra', '-Werror']
cpp_args = ['-march=loongarch64', '-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'loongarch64'
cpu = 'loongarch64'
endian = 'little'

View file

@ -4,7 +4,7 @@ cpp = 'clang++-15'
ar = 'llvm-ar-15'
strip = 'llvm-strip-15'
objcopy = 'llvm-objcopy-15'
ld = 'llvm-ld-16'
ld = 'llvm-ld-15'
exe_wrapper = ['qemu-mips64el-static', '-L', '/usr/mips64el-linux-gnuabi64']
[properties]

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-mips64el-static', '-cpu', 'Loongson-3A4000', '-L', '/usr/mips64el-linux-gnuabi64']
[properties]
c_args = ['--target=mips64el-linux-gnuabi64', '-march=mips64r5', '-mmsa', '-isystem=/usr/mips64el-linux-gnuabi64/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=mips64el-linux-gnuabi64', '-march=mips64r5', '-mmsa', '-isystem=/usr/mips64el-linux-gnuabi64/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=mips64el-linux-gnuabi64']
cpp_link_args = ['--target=mips64el-linux-gnuabi64']
[host_machine]
system = 'linux'
cpu_family = 'mips64el'
cpu = 'mips64el'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = 'clang-16'
cpp = 'clang++-16'
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-mips64el-static', '-cpu', 'Loongson-3A4000', '-L', '/usr/mips64el-linux-gnuabi64']
[properties]
c_args = ['--target=mips64el-linux-gnuabi64', '-march=mips64r5', '-mmsa', '-isystem=/usr/mips64el-linux-gnuabi64/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=mips64el-linux-gnuabi64', '-march=mips64r5', '-mmsa', '-isystem=/usr/mips64el-linux-gnuabi64/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=mips64el-linux-gnuabi64']
cpp_link_args = ['--target=mips64el-linux-gnuabi64']
[host_machine]
system = 'linux'
cpu_family = 'mips64el'
cpu = 'mips64el'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-17']
cpp = ['ccache', 'clang++-17']
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-mips64el-static', '-cpu', 'Loongson-3A4000', '-L', '/usr/mips64el-linux-gnuabi64']
[properties]
c_args = ['--target=mips64el-linux-gnuabi64', '-march=mips64r5', '-mmsa', '-isystem=/usr/mips64el-linux-gnuabi64/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=mips64el-linux-gnuabi64', '-march=mips64r5', '-mmsa', '-isystem=/usr/mips64el-linux-gnuabi64/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=mips64el-linux-gnuabi64']
cpp_link_args = ['--target=mips64el-linux-gnuabi64']
[host_machine]
system = 'linux'
cpu_family = 'mips64el'
cpu = 'mips64el'
endian = 'little'

View file

@ -0,0 +1,18 @@
[binaries]
c = ['ccache', 'mips64el-linux-gnuabi64-gcc-12']
cpp = ['ccache', 'mips64el-linux-gnuabi64-g++-12']
ar = 'mips64el-linux-gnuabi64-ar'
strip = 'mips64el-linux-gnuabi64-strip'
objcopy = 'mips64el-linux-gnuabi64-objcopy'
ld = 'mips64el-linux-gnuabi64-ld'
exe_wrapper = ['qemu-mips64el-static', '-L', '/usr/mips64el-linux-gnuabi64']
[properties]
c_args = ['-mmsa', '-Wextra', '-Werror']
cpp_args = ['-mmsa', '-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'mips64el'
cpu = 'mips64el'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-15']
cpp = ['ccache', 'clang++-15']
ar = 'llvm-ar-15'
strip = 'llvm-strip-15'
objcopy = 'llvm-objcopy-15'
ld = 'llvm-ld-15'
exe_wrapper = ['qemu-ppc64le-static', '-cpu', 'power9', '-L', '/usr/powerpc64le-linux-gnu/']
[properties]
c_args = ['--target=powerpc64le-linux-gnu', '-mcpu=power9', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
cpp_args = ['--target=powerpc64le-linux-gnu', '-mcpu=power9', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
c_link_args = ['--target=powerpc64le-linux-gnu']
cpp_link_args = ['--target=powerpc64le-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -15,6 +15,6 @@ cpp_link_args = ['--target=powerpc64le-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'powerpc64'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -13,6 +13,6 @@ cpp_args = ['-mcpu=power9', '-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'powerpc64'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -13,6 +13,6 @@ cpp_args = ['-mcpu=power9', '-Wextra', '-Werror']
[host_machine]
system = 'linux'
cpu_family = 'powerpc64'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = 'clang-14'
cpp = 'clang++-14'
ar = 'llvm-ar-14'
strip = 'llvm-strip-14'
objcopy = 'llvm-objcopy-14'
ld = 'llvm-ld-14'
exe_wrapper = ['qemu-ppc64le-static', '-L', '/usr/powerpc64le-linux-gnu/']
[properties]
c_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
cpp_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
c_link_args = ['--target=powerpc64le-linux-gnu']
cpp_link_args = ['--target=powerpc64le-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-15']
cpp = ['ccache', 'clang++-15']
ar = 'llvm-ar-15'
strip = 'llvm-strip-15'
objcopy = 'llvm-objcopy-15'
ld = 'llvm-ld-15'
exe_wrapper = ['qemu-ppc64le-static', '-L', '/usr/powerpc64le-linux-gnu/']
[properties]
c_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
cpp_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
c_link_args = ['--target=powerpc64le-linux-gnu']
cpp_link_args = ['--target=powerpc64le-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = 'clang-15'
cpp = 'clang++-15'
ar = 'llvm-ar-15'
strip = 'llvm-strip-15'
objcopy = 'llvm-objcopy-15'
ld = 'llvm-ld-15'
exe_wrapper = ['qemu-ppc64le-static', '-L', '/usr/powerpc64le-linux-gnu/']
[properties]
c_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
cpp_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
c_link_args = ['--target=powerpc64le-linux-gnu']
cpp_link_args = ['--target=powerpc64le-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-ppc64le-static', '-L', '/usr/powerpc64le-linux-gnu/']
[properties]
c_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=powerpc64le-linux-gnu']
cpp_link_args = ['--target=powerpc64le-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-17']
cpp = ['ccache', 'clang++-17']
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-ppc64le-static', '-L', '/usr/powerpc64le-linux-gnu/']
[properties]
c_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=powerpc64le-linux-gnu']
cpp_link_args = ['--target=powerpc64le-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -15,6 +15,6 @@ cpp_link_args = ['-Wl,-z,relro', '-Wl,-z,now']
[host_machine]
system = 'linux'
cpu_family = 'powerpc64'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -13,6 +13,6 @@ cpp_args = ['-Wextra', '-Werror', '-g',]
[host_machine]
system = 'linux'
cpu_family = 'powerpc64'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -15,6 +15,6 @@ cpp_link_args = ['-Wl,-z,relro', '-Wl,-z,now']
[host_machine]
system = 'linux'
cpu_family = 'powerpc64'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -13,6 +13,6 @@ cpp_args = ['-Wextra', '-Werror', '-g',]
[host_machine]
system = 'linux'
cpu_family = 'powerpc64'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -15,6 +15,6 @@ cpp_link_args = ['-Wl,-z,relro', '-Wl,-z,now']
[host_machine]
system = 'linux'
cpu_family = 'powerpc64'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'

View file

@ -0,0 +1,37 @@
[binaries]
c = 'clang-17'
cpp = 'clang++-17'
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-riscv64', '-L', '/usr/riscv64-linux-gnu/', '-cpu', 'rv64,v=true,vlen=128,elen=64,vext_spec=v1.0']
[properties]
c_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1',
'-menable-experimental-extensions',
'-mrvv-vector-bits=128',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
cpp_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1',
'-menable-experimental-extensions',
'-mrvv-vector-bits=128',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'rv64,v=true,vlen=128,elen=64,vext_spec=v1.0'
endian = 'little'

View file

@ -0,0 +1,37 @@
[binaries]
c = 'clang-17'
cpp = 'clang++-17'
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-riscv64', '-L', '/usr/riscv64-linux-gnu/', '-cpu', 'rv64,v=true,Zfh=true,x-zvfh=true,vlen=128,elen=64,vext_spec=v1.0']
[properties]
c_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1_zfh_zvfh',
'-menable-experimental-extensions',
'-mrvv-vector-bits=128',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
cpp_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1_zfh_zvfh',
'-menable-experimental-extensions',
'-mrvv-vector-bits=128',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'rv64,v=true,Zfh=true,x-zvfh=true,vlen=128,elen=64,vext_spec=v1.0'
endian = 'little'

View file

@ -0,0 +1,37 @@
[binaries]
c = 'clang-17'
cpp = 'clang++-17'
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-riscv64', '-L', '/usr/riscv64-linux-gnu/', '-cpu', 'rv64,v=true,vlen=256,elen=64,vext_spec=v1.0']
[properties]
c_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1',
'-menable-experimental-extensions',
'-mrvv-vector-bits=256',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
cpp_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1',
'-menable-experimental-extensions',
'-mrvv-vector-bits=256',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'rv64,v=true,vlen=256,elen=64,vext_spec=v1.0'
endian = 'little'

View file

@ -0,0 +1,37 @@
[binaries]
c = 'clang-17'
cpp = 'clang++-17'
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-riscv64', '-L', '/usr/riscv64-linux-gnu/', '-cpu', 'rv64,v=true,Zfh=true,x-zvfh=true,vlen=256,elen=64,vext_spec=v1.0']
[properties]
c_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1_zfh_zvfh',
'-menable-experimental-extensions',
'-mrvv-vector-bits=256',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
cpp_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1_zfh_zvfh',
'-menable-experimental-extensions',
'-mrvv-vector-bits=256',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'rv64,v=true,Zfh=true,x-zvfh=true,vlen=256,elen=64,vext_spec=v1.0'
endian = 'little'

View file

@ -0,0 +1,37 @@
[binaries]
c = 'clang-17'
cpp = 'clang++-17'
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-riscv64', '-L', '/usr/riscv64-linux-gnu/', '-cpu', 'rv64,v=true,vlen=512,elen=64,vext_spec=v1.0']
[properties]
c_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1',
'-menable-experimental-extensions',
'-mrvv-vector-bits=512',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
cpp_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1',
'-menable-experimental-extensions',
'-mrvv-vector-bits=512',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'rv64,v=true,vlen=512,elen=64,vext_spec=v1.0'
endian = 'little'

View file

@ -0,0 +1,37 @@
[binaries]
c = 'clang-17'
cpp = 'clang++-17'
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-riscv64', '-L', '/usr/riscv64-linux-gnu/', '-cpu', 'rv64,v=true,Zfh=true,x-zvfh=true,vlen=512,elen=64,vext_spec=v1.0']
[properties]
c_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1_zfh_zvfh',
'-menable-experimental-extensions',
'-mrvv-vector-bits=512',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
cpp_args = ['--target=riscv64-linux-gnu',
'-isystem=/usr/riscv64-linux-gnu/include',
'-march=rv64gcv1_zfh_zvfh',
'-menable-experimental-extensions',
'-mrvv-vector-bits=512',
'-Wextra',
'-Werror',
'-Wno-unsafe-buffer-usage']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'rv64,v=true,Zfh=true,x-zvfh=true,vlen=512,elen=64,vext_spec=v1.0'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-15']
cpp = ['ccache', 'clang++-15']
ar = 'llvm-ar-15'
strip = 'llvm-strip-15'
objcopy = 'llvm-objcopy-15'
ld = 'llvm-ld-15'
exe_wrapper = ['qemu-riscv64-static', '-L', '/usr/riscv64-linux-gnu/']
[properties]
c_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror']
cpp_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'riscv64'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-riscv64-static', '-L', '/usr/riscv64-linux-gnu/']
[properties]
c_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'riscv64'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = 'clang-16'
cpp = 'clang++-16'
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-riscv64-static', '-cpu', 'sifive-u54', '-L', '/usr/riscv64-linux-gnu/']
[properties]
c_args = ['--target=riscv64-linux-gnu', '-mcpu=sifive-u54', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=riscv64-linux-gnu', '-mcpu=sifive-u54', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'sifive-u54'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-17']
cpp = ['ccache', 'clang++-17']
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-riscv64-static', '-L', '/usr/riscv64-linux-gnu/']
[properties]
c_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror', '-Wno-unsafe-buffer-usage']
cpp_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror', '-Wno-unsafe-buffer-usage']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'riscv64'
endian = 'little'

View file

@ -0,0 +1,20 @@
[binaries]
c = 'clang-17'
cpp = 'clang++-17'
ar = 'llvm-ar-17'
strip = 'llvm-strip-17'
objcopy = 'llvm-objcopy-17'
ld = 'llvm-ld-17'
exe_wrapper = ['qemu-riscv64-static', '-L', '/usr/riscv64-linux-gnu/']
[properties]
c_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror']
cpp_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'sifive-u54'
endian = 'little'

View file

@ -15,4 +15,4 @@ cpp_args = ['-Wextra', '-Werror', '-march=sifive-u54']
system = 'linux'
cpu_family = 'riscv64'
cpu = 'sifive-u54'
endian = 'litte'
endian = 'little'

View file

@ -15,4 +15,4 @@ cpp_args = ['-Wextra', '-Werror', '-march=sifive-u54']
system = 'linux'
cpu_family = 'riscv64'
cpu = 'sifive-u54'
endian = 'litte'
endian = 'little'

View file

@ -0,0 +1,18 @@
[binaries]
c = ['ccache', 'riscv64-linux-gnu-gcc-12']
cpp = ['ccache', 'riscv64-linux-gnu-g++-12']
ar = 'riscv64-linux-gnu-ar'
strip = 'riscv64-linux-gnu-strip'
objcopy = 'riscv64-linux-gnu-objcopy'
ld = 'riscv64-linux-gnu-ld'
exe_wrapper = ['qemu-riscv64-static', '-L', '/usr/riscv64-linux-gnu/']
[properties]
c_args = ['-Wextra', '-Werror', '-O3']
cpp_args = ['-Wextra', '-Werror', '-O3']
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'riscv64'
endian = 'little'

Some files were not shown because too many files have changed in this diff Show more