Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
885b870
Add specifications for the bfloat16 intrinsics
eopXD Nov 1, 2023
068b10e
Define intrinsics that enables the use of BFloat16 types
eopXD Nov 4, 2023
677d6a5
[Makefile] Add BFloat16 targets
eopXD Nov 4, 2023
7f96a1d
[Auto-gen] Update bfloat16 documents under ../auto-generated. (make g…
eopXD Nov 4, 2023
4806040
[Auto-gen] Update bfloat16 tests under ../auto-generated. (make git-c…
eopXD Nov 4, 2023
24b6819
Define BFloat16 convert intrinsics
eopXD Nov 4, 2023
4c77e23
[Auto-gen] Update bfloat16 documents under ../auto-generated. (make g…
eopXD Nov 4, 2023
38a351a
[Auto-gen] Update bfloat16 tests under ../auto-generated. (make git-c…
eopXD Nov 4, 2023
392c05f
Define BFloat16 widening-accumulate intrinsics
eopXD Nov 4, 2023
c02ec96
[Auto-gen] Update bfloat16 documents under ../auto-generated. (make g…
eopXD Nov 4, 2023
80a9a25
[Auto-gen] Update bfloat16 tests under ../auto-generated. (make git-c…
eopXD Nov 4, 2023
58281b4
Add note that specification uses __bf16 to represent scalar BFloat16 …
eopXD Nov 4, 2023
cbb88c4
Add tuple types table for BFloat16 types
eopXD Nov 4, 2023
9206f82
Fix type abbreviation in reinterpret intrinsics for bfloat16
eopXD Nov 11, 2023
d851bb5
[Auto-gen] Update bfloat16 documents under ../auto-generated. (make g…
eopXD Nov 11, 2023
9d22b93
[Auto-gen] Update bfloat16 tests under ../auto-generated. (make git-c…
eopXD Nov 11, 2023
53103d6
Support bfloat16 in floating point test case header
4vtomat Apr 23, 2024
c783839
Handle bfloat16 in misc_op_template.py
4vtomat Apr 23, 2024
910b3c8
Make Generator class becomes ABC
jerryzj Jun 5, 2024
61e2a5c
[NFC] fix C0301: line too long
jerryzj Jun 6, 2024
c8875e8
[NFC] fix C0325: Unnecessary parens after '='
jerryzj Jun 6, 2024
4dba225
[NFC] fix W0613: Unused argument
jerryzj Jun 6, 2024
12183b8
[NFC] fix E0606: Possibly using variable 's_op2' before assignment
jerryzj Jun 6, 2024
8853001
[NFC] fix E0606: Possibly using variable 'inst_type' before assignment
jerryzj Jun 6, 2024
502a5a6
Fix typo of vreinterpret in bfloat
4vtomat Jun 7, 2024
216c66a
[Auto-gen] Update bfloat16 tests under ../auto-generated. (make git-c…
4vtomat Jun 7, 2024
ad20027
[NFC] fix type-check errors by adding assertion
jerryzj Jun 7, 2024
61295e0
DocGenerator: remove start_group call of base class
jerryzj Jun 7, 2024
b435de1
APITestGenerator: implement dummy start_group
jerryzj Jun 7, 2024
1d3b279
APITestGenerator: implement dummy inst_group_prologue
jerryzj Jun 7, 2024
2427080
APITestGenerator: implement dummy inst_group_epilogue
jerryzj Jun 7, 2024
990d5c7
APITestGenerator: implement dummy write function
jerryzj Jun 7, 2024
9acdc08
CompatibleHeaderGenerator: implement dummy start_group
jerryzj Jun 7, 2024
fac6b61
CompatibleHeaderGenerator: implement dummy inst_group_prologue
jerryzj Jun 7, 2024
751b7a3
CompatibleHeaderGenerator: implement dummy inst_group_epilogue
jerryzj Jun 7, 2024
2d709dc
Let gen_prologue() pass execution by default
jerryzj Jun 11, 2024
894176b
Revert "Change return type for vcpop and vfirst to uint and int"
topperc Jun 10, 2024
0f172cf
Revert "[Auto-gen] Update documents under ../auto-generated. (make gi…
topperc Jun 10, 2024
72aac68
Revert "[Auto-gen] Update tests under ../auto-generated. (make git-co…
topperc Jun 10, 2024
e343feb
[Makefile] Add interface for providing more flags into the generator
eopXD Jun 1, 2023
f3f34d3
[vector-crypto] Define intrinsics for the Zvbb extension
eopXD Jun 1, 2023
7bd20f7
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Jul 17, 2023
f3a0d67
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Jul 17, 2023
3ae0730
[vector-crypto] Define intrinsics for the Zvbc extension
eopXD Jun 1, 2023
a9da2db
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Jul 17, 2023
d9beced
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Jul 17, 2023
0ef6f67
[vector-crypto] Define intrinsics for the Zvkg extension
eopXD Jun 1, 2023
1abd926
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Jul 17, 2023
1ff15a2
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Jul 17, 2023
4b5a8be
[vector-crypto] Define intrinsics for the Zvkned extension
eopXD Jun 1, 2023
b3eca6f
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Jul 17, 2023
6128af5
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Jul 17, 2023
3afcd16
[vector-crypto] Define intrinsics for the Zvknh[ab] extension
eopXD Jun 1, 2023
befc490
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Jul 17, 2023
9734e5c
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Jul 17, 2023
b8cde69
[vector-crypto] Define intrinsics for the Zknsed extension
eopXD Jun 1, 2023
2e09821
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Jul 17, 2023
aac6ce2
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Jul 17, 2023
925f622
[vector-crypto] Define intrinsics for the Zvksh extension
eopXD Jun 1, 2023
e8bcfea
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Jul 17, 2023
7aa2ea1
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Jul 17, 2023
9ce8f69
[Makefile] Add the vector crypto generation to golden check in CI
eopXD Jun 1, 2023
109cb61
[vector-crypto] Add more variants for 'vs' instructions
eopXD Aug 1, 2023
95b9f6f
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Aug 1, 2023
07f2dad
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Aug 1, 2023
b2bfeb3
[vector-crypto] Document the availability for vector crypto intrinsic…
eopXD Aug 1, 2023
568bda6
[vector-crypto] Remove redundant variable in testing function declara…
eopXD Aug 1, 2023
826b646
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Aug 1, 2023
f5c1c60
[vector-crypto] Bug fixes on intrinsic definitions
eopXD Aug 1, 2023
355e472
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Aug 1, 2023
026a53d
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Aug 1, 2023
90f4ed0
[vector-crypto] Append vs2 type in function name of vs variants of va…
eopXD Aug 2, 2023
f6fb070
[Auto-gen] Update documents under ../auto-generated/vector-crypto. (m…
eopXD Aug 2, 2023
71b10b7
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Aug 2, 2023
6ce812d
[vector-crypto] Add llvm test case header for vector crypto extensions
eopXD Aug 3, 2023
66016b4
[Auto-gen] Update tests under ../auto-generated/vector-crypto. (make …
eopXD Aug 3, 2023
e48b277
Update auto-generated/vector-crypto/intrinsic_funcs/00_zvbb_-_vector_…
kito-cheng Apr 10, 2024
d87ddfc
Modify descriptions in vector_crypto_inst.py for correctness
4vtomat Apr 24, 2024
b2b748b
Filter out LMUL=8 cases for .vs instructions
4vtomat Apr 24, 2024
c379866
Remove experimental for target-feature
4vtomat Apr 24, 2024
5c38ed3
Regenerate test cases and docs for vector crypto
4vtomat Apr 24, 2024
71582dc
Change the description of bit/byte reverse
4vtomat May 21, 2024
a1769f8
Add missing vcpop, vclz, vctz in api tests
4vtomat Jun 4, 2024
0a3e791
ci: don't build PDF on pull request
jerryzj Jun 11, 2024
7ea2474
ci: test generator on pull request
jerryzj Jun 11, 2024
724691e
ci: drop py 3.7 and 3.8, add 3.11
jerryzj Jun 11, 2024
ae46b81
deps: bump pylint from 2.14.1 to 3.2.3
jerryzj Jun 12, 2024
65a541f
[NFC] fix C0325: Unnecessary parens after '='
jerryzj Jun 12, 2024
d7e7d85
[NFC] fix vector crypto type-check errors by adding assertion
jerryzj Jun 12, 2024
08ef88e
[NFC] fix W0719: Raising too general exception: Exception
jerryzj Jun 12, 2024
a7127a7
pylintrc: fix runtime warnings
jerryzj Jun 12, 2024
6607533
makefile: change doc file extension from .md to .adoc
jerryzj Jun 12, 2024
3d41a15
[Auto-gen] Remove Markdown files under vector-crypto
jerryzj Jun 13, 2024
b8d797c
makefile: add vector-crypto build targets
jerryzj Jun 14, 2024
30f8745
[Auto-gen] Update vector crypto documents under ../auto-generated. (m…
jerryzj Jun 14, 2024
9977f3b
[Auto-gen] Update vector crypto tests under ../auto-generated. (make …
jerryzj Jun 14, 2024
06a64ad
makefile: add clang-format for all build targets
jerryzj Jun 14, 2024
ecf49ac
Grouper: implement dummy inst_group_[pro|epi]logue
jerryzj Jun 19, 2024
90e9650
Grouper: implement dummy write
jerryzj Jun 19, 2024
0968390
makefile: let replace_float compatible with macOS builtin BSD sed (#346)
jerryzj Jul 16, 2024
f487f82
Correct the Makefile in rvv-intrinsic-generator
4vtomat Aug 2, 2024
93912ff
[Auto-gen] Update tests under ../auto-generated. (make git-commit-aut…
4vtomat Aug 2, 2024
207ac85
[Auto-gen] Update bfloat16 tests under ../auto-generated. (make git-c…
4vtomat Aug 2, 2024
efb76bf
Update description for vxsat
kito-cheng Jul 30, 2024
d6ef4a9
Add new parameter to function_group for adding description
kito-cheng Jul 30, 2024
2393cbc
Add description to those intrinsic function which may interact with v…
kito-cheng Jul 30, 2024
a119021
[Auto-gen] Update documents under ../auto-generated. (make git-commit…
kito-cheng Aug 2, 2024
639f9a6
Apply yapf
kito-cheng Aug 2, 2024
339bdb8
makefile-api: add Zvk and BF16 extensions into march
jerryzj Aug 29, 2024
67beb77
report: enable Zvk and BF16 grouping
jerryzj Aug 29, 2024
7dc4734
makefile: add Zvk and BF16 API test targets
jerryzj Aug 29, 2024
e52a10d
github: enable clang BF16 and Zvk API tests in CI
jerryzj Aug 29, 2024
21d7e5b
Import CONTRIBUTING.md from docs-spec-template
kito-cheng Sep 4, 2024
e648d05
Fix matmul example in the docs.
hahaxxz Aug 14, 2024
6cfdf5f
Bump actions/upload-artifact to v4
kito-cheng Sep 9, 2024
0686039
Bump actions/upload-artifact to v4
kito-cheng Sep 9, 2024
9e4fae9
enum: store required extension info
jerryzj Aug 23, 2024
ec75ba4
enum: construct InstInfo with required extensions
jerryzj Aug 30, 2024
8ff7727
generator: add support to store required extension list
jerryzj Aug 28, 2024
4df1b97
vector-crypto: add required extension information
jerryzj Aug 23, 2024
97237c9
vector-crypto-template: store required extension list info and handle…
jerryzj Aug 28, 2024
df19cc0
generator: dynamically generate LLVM API test header
jerryzj Aug 28, 2024
f62239f
generator: use dynamic_llvm_header for vector crypto intrinsics
jerryzj Aug 28, 2024
822458d
template: add required_ext_list into render API
jerryzj Aug 28, 2024
7bb410f
generator/api-test: always set Zvknhb instead of Zvknha
jerryzj Aug 30, 2024
90f9957
[Auto-gen] Update vector crypto tests under ../auto-generated. (make …
jerryzj Sep 10, 2024
0bd9363
makefile: update llvm tests for Zvk and BF16 intrinsics
jerryzj Sep 2, 2024
2ee93f9
generator: remove expermental for llvm headers
jerryzj Sep 2, 2024
b3d08dc
[Auto-gen] Update tests under ../auto-generated. (make git-commit-aut…
jerryzj Sep 2, 2024
04abd6f
github: update action version for generator
jerryzj Sep 10, 2024
ece401e
github: update action version for gcc-compilation
jerryzj Sep 10, 2024
6ee26d7
github: update action version for clang-compilation
jerryzj Sep 10, 2024
97cb963
github: update action version for build-pdf
jerryzj Sep 10, 2024
01db6b1
[NFC] Put bfloat type into constants
jerryzj Sep 12, 2024
3992631
Support vmv.v.v, vfmv.v.f and vmerge.vvm for bf16 with `zvfbfmin`
4vtomat Aug 2, 2024
a609a54
[Auto-gen] Update bfloat16 tests under ../auto-generated. (make git-c…
4vtomat Aug 2, 2024
2b22d9b
[Auto-gen] Update bfloat16 documents under ../auto-generated. (make g…
4vtomat Aug 2, 2024
81cb7ab
bfloat16: TYPES -> BFTYPES
jerryzj Oct 1, 2024
4f4724b
template/unary_op: add op assertion to address type-check failure
jerryzj Oct 1, 2024
4e5bcda
[NFC] template/unary_op: address pylint failures
jerryzj Oct 1, 2024
f246316
[Auto-gen] Update bfloat16 documents under ../auto-generated. (make g…
jerryzj Oct 1, 2024
7fc89c4
github: fix clang-compilation ci (#371)
jerryzj Oct 7, 2024
8e9304d
unary_op: remove vfmv for Bfloat16
jerryzj Oct 9, 2024
a5a5bd6
[Auto-gen] Update bfloat16 documents under ../auto-generated. (make g…
jerryzj Oct 9, 2024
d5cd094
report: fix wrong categorize logic causing unexpected pass (#373)
jerryzj Oct 16, 2024
61090d5
Encourage versioned compatibility check
camel-cdr Oct 14, 2024
1e9f86b
Update name for Olaf in perface
kito-cheng Oct 17, 2024
d0669e2
github: setup test matrix for LLVM API tests (#372)
jerryzj Oct 17, 2024
551dded
github: rework clang-compilation CI
jerryzj Oct 18, 2024
7921843
makefile: change to stdout/err explicit redirection
jerryzj Oct 24, 2024
a35c09c
fixup! github: rework clang-compilation CI
jerryzj Oct 24, 2024
8aaa4fb
fixup! makefile: change to stdout/err explicit redirection
jerryzj Oct 24, 2024
731913e
ci: exp 3 shells
jerryzj Oct 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 4 additions & 5 deletions .github/workflows/build-pdf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches:
- main
pull_request:
release:
types:
- created
Expand All @@ -13,7 +12,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install packages
Expand All @@ -26,7 +25,7 @@ jobs:
run: make -C doc build

- name: Upload artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: v-intrinsic-spec.pdf
path: doc/v-intrinsic-spec.pdf
Expand All @@ -37,7 +36,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: v-intrinsic-spec.pdf
path: ./doc/
Expand Down Expand Up @@ -74,7 +73,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: v-intrinsic-spec.pdf
path: ./doc
Expand Down
164 changes: 127 additions & 37 deletions .github/workflows/clang-compilation.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,139 @@
name: Clang (LLVM) intrinsic test case compilation
on: [push]
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch: # Allows manual triggering of the workflow

jobs:
build:
build-and-test:
runs-on: ubuntu-latest
strategy:
matrix:
llvm-version: [latest-rel]

env:
COMPILER: llvm-project/build/bin/clang
EXTRA_CFLAGS: "-target riscv64"

steps:
- uses: actions/checkout@v3
- name: Prerequisites
run: |
sudo apt-get install autoconf automake autotools-dev curl python3 python3-pip libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev dejagnu
- name: Install dependencies
- name: Checkout rvv-intrinsic-doc
uses: actions/checkout@v4
with:
repository: riscv-non-isa/rvv-intrinsic-doc
path: rvv-intrinsic-doc

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install junitparser
- name: Download LLVM
run: |
cd ..
rm -rf llvm-project
git clone https://github.com/llvm/llvm-project
- name: Build LLVM with Ninja
run: |
cd ../llvm-project
mkdir build && cd build
cmake -G Ninja \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=g++ \
-DLLVM_TARGETS_TO_BUILD="RISCV" \
-DLLVM_PARALLEL_LINK_JOBS=12 \
working-directory: ${{ github.workspace }}

- name: Set up LLVM (latest release)
if: matrix.llvm-version == 'latest-rel'
run: |
latest_release=$(curl -sL https://api.github.com/repos/llvm/llvm-project/releases/latest)
download_url=$(echo "$latest_release" | jq -r '.assets[] | select(.name | endswith("Linux-X64.tar.xz")) | .browser_download_url')
if [ -z "$download_url" ]; then
echo "Error: Could not find Linux X64 tarball URL"
exit 1
fi
filename=$(basename "$download_url")
echo "Downloading $filename..."
curl -sL -o "$filename" "$download_url"
tar xf "$filename"
extracted_dir=$(tar tf "$filename" | head -1 | cut -f1 -d"/")
# Set the COMPILER environment variable
echo "COMPILER=${{ github.workspace }}/$extracted_dir/bin/clang" >> $GITHUB_ENV
working-directory: ${{ github.workspace }}

- name: Install prerequisites (main)
if: matrix.llvm-version == 'main'
run: |
sudo apt-get update
sudo apt-get install -y ninja-build
working-directory: ${{ github.workspace }}

- name: Checkout LLVM (main)
if: matrix.llvm-version == 'main'
uses: actions/checkout@v4
with:
repository: llvm/llvm-project
path: llvm-project
fetch-depth: 1

- name: Configure & Build LLVM (main)
if: matrix.llvm-version == 'main'
run: |
mkdir -p build && cd build
cmake -G Ninja ../llvm \
-DCMAKE_C_COMPILER=`which clang` \
-DCMAKE_CXX_COMPILER=`which clang++` \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DLLVM_DEFAULT_TARGET_TRIPLE="riscv64-unknown-linux-gnu" \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
../llvm
ninja -j 4
echo $(pwd)
ls bin
- name: Run compilation test, non-overloaded intrinsics (default (TAMA) policy)
-DLLVM_ENABLE_PROJECTS="clang" \
-DLLVM_TARGETS_TO_BUILD="RISCV" \
-DLLVM_DEFAULT_TARGET_TRIPLE="riscv64-unknown-linux-gnu"
ninja
working-directory: llvm-project

- name: Test1
shell: 'script --return --quiet --log-out /dev/null --command "bash -e {0}"'
run: |
make -C rvv-intrinsic-generator run-api-testing COMPILER=$(pwd)/../llvm-project/build/bin/clang EXTRA_CFLAGS="-target riscv64"
- name: Run compilation test, overloaded intrinsics (default (TAMA) policy)
make -C rvv-intrinsic-generator run-vector-crypto-api-testing SHELL="bash -x"
continue-on-error: true
working-directory: rvv-intrinsic-doc

- name: Test2
shell: 'script -q -e -c "bash --noprofile --norc -eo pipefail {0}"'
run: |
make -C rvv-intrinsic-generator run-overloaded-api-testing COMPILER=$(pwd)/../llvm-project/build/bin/clang EXTRA_CFLAGS="-target riscv64"
- name: Run compilation test, non-overloaded intrinsics (non-default policy)
make -C rvv-intrinsic-generator run-vector-crypto-api-testing SHELL="bash -x"
continue-on-error: true
working-directory: rvv-intrinsic-doc

- name: Test3
shell: script -q -e -c "$(printf "'%s' " "$@")"
run: |
make -C rvv-intrinsic-generator run-policy-api-testing COMPILER=$(pwd)/../llvm-project/build/bin/clang EXTRA_CFLAGS="-target riscv64"
- name: Run compilation test, overloaded intrinsics (non-default policy)
make -C rvv-intrinsic-generator run-vector-crypto-api-testing SHELL="bash -x"
continue-on-error: true
working-directory: rvv-intrinsic-doc

- name: show log
# shell: 'script --return --quiet --log-out /dev/null --command "bash -e {0}"'
shell: bash
if: always()
run: |
make -C rvv-intrinsic-generator run-policy-overloaded-api-testing COMPILER=$(pwd)/../llvm-project/build/bin/clang EXTRA_CFLAGS="-target riscv64"
ls -al auto-generated/vector-crypto/api-testing/
cat auto-generated/vector-crypto/api-testing/*.log
continue-on-error: true
working-directory: rvv-intrinsic-doc

# - name: Run compilation test, non-overloaded intrinsics (default (TAMA) policy)
# run: |
# set -e # Exit on any error
# make -C rvv-intrinsic-generator run-api-testing run-bfloat16-api-testing run-vector-crypto-api-testing
# working-directory: rvv-intrinsic-doc

# - name: Run compilation test, overloaded intrinsics (default (TAMA) policy)
# run: |
# set -e # Exit on any error
# make -C rvv-intrinsic-generator run-overloaded-api-testing run-bfloat16-overloaded-api-testing run-vector-crypto-overloaded-api-testing
# working-directory: rvv-intrinsic-doc

# - name: Run compilation test, non-overloaded intrinsics (non-default policy)
# run: |
# set -e # Exit on any error
# make -C rvv-intrinsic-generator run-policy-api-testing run-bfloat16-policy-api-testing run-vector-crypto-policy-api-testing
# working-directory: rvv-intrinsic-doc

# - name: Run compilation test, overloaded intrinsics (non-default policy)
# run: |
# set -e # Exit on any error
# make -C rvv-intrinsic-generator run-policy-overloaded-api-testing run-bfloat16-policy-overloaded-api-testing run-vector-crypto-policy-overloaded-api-testing
# working-directory: rvv-intrinsic-doc
2 changes: 1 addition & 1 deletion .github/workflows/gcc-compilation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Prerequisites
run:
sudo apt-get install autoconf automake autotools-dev curl python3 python3-pip
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/generator.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
name: rvv-intrinsic-generator

on: [push]
on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
python-version: ["3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Prerequisites
Expand Down
58 changes: 58 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Contribution Guidelines

As an open-source project, we appreciate and encourage community members to submit patches directly to the project. To maintain a well-organized development environment, we have established standards and methods for submitting changes. This document outlines the process for submitting patches to the project, ensuring that your contribution is swiftly incorporated into the codebase.

# Licensing

Licensing is crucial for open-source projects, as it guarantees that the software remains available under the conditions specified by the author.

This project employs the Creative Commons Attribution 4.0 International license, which can be found in the LICENSE file within the project's repository.

Licensing defines the rights granted to you as an author by the copyright holder. It is essential for contributors to fully understand and accept these licensing rights. In some cases, the copyright holder may not be the contributor, such as when the contributor is working on behalf of a company.

# Developer Certificate of Origin (DCO)
To uphold licensing criteria and demonstrate good faith, this project mandates adherence to the Developer Certificate of Origin (DCO) process.

The DCO is an attestation appended to every contribution from each author. In the commit message of the contribution (explained in greater detail later in this document), the author adds a Signed-off-by statement, thereby accepting the DCO.

When an author submits a patch, they affirm that they possess the right to submit the patch under the designated license. The DCO agreement is displayed below and at https://developercertificate.org.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

(c) The contribution was provided directly to me by some other
person who certified (a), (b), or (c), and I have not modified
it.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

# DCO Sign-Off Methods
The DCO necessitates the inclusion of a sign-off message in the following format for each commit within the pull request:

Signed-off-by: Stephano Cetola <[email protected]>

Please use your real name in the sign-off message.

You can manually add the DCO text to your commit body or include either -s or --signoff in your standard Git commit commands. If you forget to incorporate the sign-off, you can also amend a previous commit with the sign-off by executing git commit --amend -s. If you have already pushed your changes to GitHub, you will need to force push your branch afterward using git push -f.

Note:

Ensure that the name and email address associated with your GitHub account match the name and email address in the Signed-off-by line of your commit message.
28 changes: 14 additions & 14 deletions auto-generated/api-testing/vcpop.c
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
#include <riscv_vector.h>
#include <stdint.h>

unsigned int test_vcpop_m_b1(vbool1_t vs2, size_t vl) {
unsigned long test_vcpop_m_b1(vbool1_t vs2, size_t vl) {
return __riscv_vcpop_m_b1(vs2, vl);
}

unsigned int test_vcpop_m_b2(vbool2_t vs2, size_t vl) {
unsigned long test_vcpop_m_b2(vbool2_t vs2, size_t vl) {
return __riscv_vcpop_m_b2(vs2, vl);
}

unsigned int test_vcpop_m_b4(vbool4_t vs2, size_t vl) {
unsigned long test_vcpop_m_b4(vbool4_t vs2, size_t vl) {
return __riscv_vcpop_m_b4(vs2, vl);
}

unsigned int test_vcpop_m_b8(vbool8_t vs2, size_t vl) {
unsigned long test_vcpop_m_b8(vbool8_t vs2, size_t vl) {
return __riscv_vcpop_m_b8(vs2, vl);
}

unsigned int test_vcpop_m_b16(vbool16_t vs2, size_t vl) {
unsigned long test_vcpop_m_b16(vbool16_t vs2, size_t vl) {
return __riscv_vcpop_m_b16(vs2, vl);
}

unsigned int test_vcpop_m_b32(vbool32_t vs2, size_t vl) {
unsigned long test_vcpop_m_b32(vbool32_t vs2, size_t vl) {
return __riscv_vcpop_m_b32(vs2, vl);
}

unsigned int test_vcpop_m_b64(vbool64_t vs2, size_t vl) {
unsigned long test_vcpop_m_b64(vbool64_t vs2, size_t vl) {
return __riscv_vcpop_m_b64(vs2, vl);
}

unsigned int test_vcpop_m_b1_m(vbool1_t vm, vbool1_t vs2, size_t vl) {
unsigned long test_vcpop_m_b1_m(vbool1_t vm, vbool1_t vs2, size_t vl) {
return __riscv_vcpop_m_b1_m(vm, vs2, vl);
}

unsigned int test_vcpop_m_b2_m(vbool2_t vm, vbool2_t vs2, size_t vl) {
unsigned long test_vcpop_m_b2_m(vbool2_t vm, vbool2_t vs2, size_t vl) {
return __riscv_vcpop_m_b2_m(vm, vs2, vl);
}

unsigned int test_vcpop_m_b4_m(vbool4_t vm, vbool4_t vs2, size_t vl) {
unsigned long test_vcpop_m_b4_m(vbool4_t vm, vbool4_t vs2, size_t vl) {
return __riscv_vcpop_m_b4_m(vm, vs2, vl);
}

unsigned int test_vcpop_m_b8_m(vbool8_t vm, vbool8_t vs2, size_t vl) {
unsigned long test_vcpop_m_b8_m(vbool8_t vm, vbool8_t vs2, size_t vl) {
return __riscv_vcpop_m_b8_m(vm, vs2, vl);
}

unsigned int test_vcpop_m_b16_m(vbool16_t vm, vbool16_t vs2, size_t vl) {
unsigned long test_vcpop_m_b16_m(vbool16_t vm, vbool16_t vs2, size_t vl) {
return __riscv_vcpop_m_b16_m(vm, vs2, vl);
}

unsigned int test_vcpop_m_b32_m(vbool32_t vm, vbool32_t vs2, size_t vl) {
unsigned long test_vcpop_m_b32_m(vbool32_t vm, vbool32_t vs2, size_t vl) {
return __riscv_vcpop_m_b32_m(vm, vs2, vl);
}

unsigned int test_vcpop_m_b64_m(vbool64_t vm, vbool64_t vs2, size_t vl) {
unsigned long test_vcpop_m_b64_m(vbool64_t vm, vbool64_t vs2, size_t vl) {
return __riscv_vcpop_m_b64_m(vm, vs2, vl);
}
Loading
Loading