Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"login": "ktkachov-arm",
"name": "ktkachov-arm",
"avatar_url": "https://avatars.githubusercontent.com/u/74917949?v=4",
"profile": "https://github.com/ktkachov-arm",
"profile": "",
"contributions": [
"code",
"content",
Expand Down Expand Up @@ -284,7 +284,7 @@
"login": "tmatheson-arm",
"name": "tmatheson-arm",
"avatar_url": "https://avatars.githubusercontent.com/u/76168689?v=4",
"profile": "https://github.com/tmatheson-arm",
"profile": "",
"contributions": [
"code"
]
Expand All @@ -311,7 +311,7 @@
"login": "andrewcarlotti",
"name": "Andrew Carlotti",
"avatar_url": "https://avatars.githubusercontent.com/u/11681428?v=4",
"profile": "https://github.com/andrewcarlotti",
"profile": "",
"contributions": [
"review"
]
Expand Down Expand Up @@ -392,7 +392,7 @@
"login": "rockdreamer",
"name": "Claudio Bantaloukas",
"avatar_url": "https://avatars.githubusercontent.com/u/111884?v=4",
"profile": "https://www.rdfm.org/",
"profile": "https://rdfm.org/",
"contributions": [
"code"
]
Expand Down
133 changes: 133 additions & 0 deletions .github/scripts/check_links.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
#!/usr/bin/env python3

# SPDX-FileCopyrightText: Copyright 2026 Arm Limited and/or its affiliates <open-source-office@arm.com>
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import subprocess
import sys
import tempfile
import xml.etree.ElementTree as ET
from pathlib import Path
from urllib.parse import urlparse


CONFIG_FILE = Path(".github/workflows/markdown-link-check.json")


def testcase_properties(testcase: ET.Element) -> dict[str, str]:
properties: dict[str, str] = {}

properties_element = testcase.find("properties")
if properties_element is None:
return properties

for prop in properties_element.findall("property"):
name = prop.get("name")
value = prop.get("value")

if name is not None and value is not None:
properties[name] = value

return properties


def main() -> int:
if len(sys.argv) != 2:
print(
f"Usage: {Path(sys.argv[0]).name} <markdown-file>",
file=sys.stderr,
)
return 2

markdown_file = Path(sys.argv[1])

with tempfile.NamedTemporaryFile(
suffix=".xml",
delete=False,
) as report:
report_path = Path(report.name)

cmd = [
"markdown-link-check",
"--reporters",
"junit",
"--junit-output",
str(report_path),
"--config",
str(CONFIG_FILE),
str(markdown_file),
]

proc = subprocess.run(
cmd,
text=True,
capture_output=True,
check=False,
)

if proc.stdout:
print(proc.stdout, end="")

if proc.stderr:
print(proc.stderr, end="", file=sys.stderr)

try:
root = ET.parse(report_path).getroot()
except (ET.ParseError, OSError) as error:
print(
f"Could not read markdown-link-check report for "
f"{markdown_file}: {error}",
file=sys.stderr,
)
return proc.returncode if proc.returncode != 0 else 2
finally:
report_path.unlink(missing_ok=True)

failed = False

for testcase in root.findall(".//testcase"):
properties = testcase_properties(testcase)

url = properties.get("url", testcase.get("name", "unknown"))
status = properties.get("status", "unknown")
status_code = properties.get("statusCode")

parsed_url = urlparse(url)

is_ignored_developer_arm_403 = (
parsed_url.hostname == "developer.arm.com"
and status == "dead"
and status_code == "403"
)

if is_ignored_developer_arm_403:
print(f"IGNORED (403 from developer.arm.com): {url}")
continue

failure = testcase.find("failure")
error = testcase.find("error")

if failure is not None or error is not None:
failed = True
print(
f"BROKEN ({status_code or status}): {url}",
file=sys.stderr,
)

return 1 if failed else 0


if __name__ == "__main__":
sys.exit(main())
9 changes: 6 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.7
- uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
config-file: '.github/workflows/markdown-link-check.json'
- name: Install markdown-link-check
run: npm install -g markdown-link-check
- name: Check links
run: |
find . -name '*.md' -print0 | \
xargs -0 -n 1 python3 .github/scripts/check_links.py
3 changes: 3 additions & 0 deletions .github/workflows/markdown-link-check.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
"ignorePatterns": [
{
"pattern": "^https://developer.arm.com/architectures/instruction-sets/intrinsics/"
},
{
"pattern": "^#"
}
]
}
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ will retain the copyright.
# All contributors

This project follows the [allcontributors
guidelines](https://allcontributors.org/docs/en/overview). We assume
guidelines](https://allcontributors.org/en/reference/). We assume
that contributors are happy to be added to the [list of contributors
in the main README file](README.md#contributors-). Please let us know
explicitly if that is not the case in the PR or in the issue you have
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ before it was released as an open source project.

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/en/reference/emoji-key/)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
Expand All @@ -92,7 +92,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MattPD"><img src="https://avatars.githubusercontent.com/u/130135?v=4?s=100" width="100px;" alt="Matt"/><br /><sub><b>Matt</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=MattPD" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ValeriaDaneva"><img src="https://avatars.githubusercontent.com/u/90907783?v=4?s=100" width="100px;" alt="ValeriaDaneva"/><br /><sub><b>ValeriaDaneva</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=ValeriaDaneva" title="Code">💻</a> <a href="#infra-ValeriaDaneva" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/ARM-software/acle/pulls?q=is%3Apr+reviewed-by%3AValeriaDaneva" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://tubafranz.me/"><img src="https://avatars.githubusercontent.com/u/25690309?v=4?s=100" width="100px;" alt="Francesco Petrogalli"/><br /><sub><b>Francesco Petrogalli</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=fpetrogalli" title="Code">💻</a> <a href="https://github.com/ARM-software/acle/pulls?q=is%3Apr+reviewed-by%3Afpetrogalli" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ktkachov-arm"><img src="https://avatars.githubusercontent.com/u/74917949?v=4?s=100" width="100px;" alt="ktkachov-arm"/><br /><sub><b>ktkachov-arm</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=ktkachov-arm" title="Code">💻</a> <a href="#content-ktkachov-arm" title="Content">🖋</a> <a href="#infra-ktkachov-arm" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/ARM-software/acle/pulls?q=is%3Apr+reviewed-by%3Aktkachov-arm" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><img src="https://avatars.githubusercontent.com/u/74917949?v=4?s=100" width="100px;" alt="ktkachov-arm"/><br /><sub><b>ktkachov-arm</b></sub><br /><a href="https://github.com/ARM-software/acle/commits?author=ktkachov-arm" title="Code">💻</a> <a href="#content-ktkachov-arm" title="Content">🖋</a> <a href="#infra-ktkachov-arm" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/ARM-software/acle/pulls?q=is%3Apr+reviewed-by%3Aktkachov-arm" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sallyarmneale"><img src="https://avatars.githubusercontent.com/u/56446080?v=4?s=100" width="100px;" alt="sallyarmneale"/><br /><sub><b>sallyarmneale</b></sub></a><br /><a href="https://github.com/ARM-software/acle/pulls?q=is%3Apr+reviewed-by%3Asallyarmneale" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/statham-arm"><img src="https://avatars.githubusercontent.com/u/54840944?v=4?s=100" width="100px;" alt="Simon Tatham"/><br /><sub><b>Simon Tatham</b></sub></a><br /><a href="https://github.com/ARM-software/acle/pulls?q=is%3Apr+reviewed-by%3Astatham-arm" title="Reviewed Pull Requests">👀</a></td>
</tr>
Expand Down Expand Up @@ -125,10 +125,10 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bwmf2"><img src="https://avatars.githubusercontent.com/u/117049336?v=4?s=100" width="100px;" alt="bwmf2"/><br /><sub><b>bwmf2</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=bwmf2" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tmatheson-arm"><img src="https://avatars.githubusercontent.com/u/76168689?v=4?s=100" width="100px;" alt="tmatheson-arm"/><br /><sub><b>tmatheson-arm</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=tmatheson-arm" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><img src="https://avatars.githubusercontent.com/u/76168689?v=4?s=100" width="100px;" alt="tmatheson-arm"/><br /><sub><b>tmatheson-arm</b></sub><br /><a href="https://github.com/ARM-software/acle/commits?author=tmatheson-arm" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://atrosinenko.github.io"><img src="https://avatars.githubusercontent.com/u/9654772?v=4?s=100" width="100px;" alt="Anatoly Trosinenko"/><br /><sub><b>Anatoly Trosinenko</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=atrosinenko" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pratlucas"><img src="https://avatars.githubusercontent.com/u/7014318?v=4?s=100" width="100px;" alt="Lucas Duarte Prates"/><br /><sub><b>Lucas Duarte Prates</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=pratlucas" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/andrewcarlotti"><img src="https://avatars.githubusercontent.com/u/11681428?v=4?s=100" width="100px;" alt="Andrew Carlotti"/><br /><sub><b>Andrew Carlotti</b></sub></a><br /><a href="https://github.com/ARM-software/acle/pulls?q=is%3Apr+reviewed-by%3Aandrewcarlotti" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><img src="https://avatars.githubusercontent.com/u/11681428?v=4?s=100" width="100px;" alt="Andrew Carlotti"/><br /><sub><b>Andrew Carlotti</b></sub><br /><a href="https://github.com/ARM-software/acle/pulls?q=is%3Apr+reviewed-by%3Aandrewcarlotti" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/labrinea"><img src="https://avatars.githubusercontent.com/u/9527365?v=4?s=100" width="100px;" alt="Alexandros Lamprineas"/><br /><sub><b>Alexandros Lamprineas</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=labrinea" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Lukacma"><img src="https://avatars.githubusercontent.com/u/46606997?v=4?s=100" width="100px;" alt="Lukacma"/><br /><sub><b>Lukacma</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=Lukacma" title="Documentation">📖</a></td>
</tr>
Expand All @@ -139,7 +139,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kmclaughlin-arm"><img src="https://avatars.githubusercontent.com/u/56965690?v=4?s=100" width="100px;" alt="Kerry McLaughlin"/><br /><sub><b>Kerry McLaughlin</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=kmclaughlin-arm" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/momchil-velikov"><img src="https://avatars.githubusercontent.com/u/5541560?v=4?s=100" width="100px;" alt="Momchil Velikov"/><br /><sub><b>Momchil Velikov</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=momchil-velikov" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/yury-khrustalev"><img src="https://avatars.githubusercontent.com/u/47541527?v=4?s=100" width="100px;" alt="Yury Khrustalev"/><br /><sub><b>Yury Khrustalev</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=yury-khrustalev" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.rdfm.org/"><img src="https://avatars.githubusercontent.com/u/111884?v=4?s=100" width="100px;" alt="Claudio Bantaloukas"/><br /><sub><b>Claudio Bantaloukas</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=rockdreamer" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://rdfm.org/"><img src="https://avatars.githubusercontent.com/u/111884?v=4?s=100" width="100px;" alt="Claudio Bantaloukas"/><br /><sub><b>Claudio Bantaloukas</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=rockdreamer" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/AlfieRichardsArm"><img src="https://avatars.githubusercontent.com/u/156316945?v=4?s=100" width="100px;" alt="Alfie Richards"/><br /><sub><b>Alfie Richards</b></sub></a><br /><a href="https://github.com/ARM-software/acle/commits?author=AlfieRichardsArm" title="Code">💻</a></td>
Expand Down
12 changes: 6 additions & 6 deletions main/acle.md
Original file line number Diff line number Diff line change
Expand Up @@ -534,23 +534,23 @@ This document refers to the following documents.

* <span id="ARMARMv81" class="citation-label">ARMARMv81</span> Arm,
Armv8.1 Extension, [The ARMv8-A architecture and its ongoing
development](http://community.arm.com/groups/processors/blog/2014/12/02/the-armv8-a-architecture-and-its-ongoing-development)
development](https://developer.arm.com/community/arm-community-blogs/b/architectures-and-processors-blog/posts/the-armv8-a-architecture-and-its-ongoing-development)

* <span id="ARMARMv82" class="citation-label">ARMARMv82</span> Arm,
Armv8.2 Extension, [Armv8-A architecture
evolution](https://community.arm.com/groups/processors/blog/2016/01/05/armv8-a-architecture-evolution)
evolution](https://developer.arm.com/community/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-a-architecture-evolution)

* <span id="ARMARMv83" class="citation-label">ARMARMv83</span> Arm,
Armv8.3 Extension, [Armv8-A architecture: 2016
additions](https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions)
additions](https://developer.arm.com/community/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-a-architecture-2016-additions)

* <span id="ARMARMv84" class="citation-label">ARMARMv84</span> Arm,
Armv8.4 Extension, [Introducing 2017’s extensions to the Arm
Architecture](https://community.arm.com/processors/b/blog/posts/introducing-2017s-extensions-to-the-arm-architecture)
Architecture](https://developer.arm.com/community/arm-community-blogs/b/architectures-and-processors-blog/posts/introducing-2017s-extensions-to-the-arm-architecture)

* <span id="ARMARMv85" class="citation-label">ARMARMv85</span> Arm,
Armv8.5 Extension, [Arm A-Profile Architecture Developments 2018:
Armv8.5-A](https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-a-profile-architecture-2018-developments-armv85a)
Armv8.5-A](https://developer.arm.com/community/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-2018-developments-armv85a)

* <span id="ARMv7M" class="citation-label">ARMv7M</span> Arm, Arm
Architecture Reference Manual (7-M), Arm DDI 0403C
Expand All @@ -560,7 +560,7 @@ This document refers to the following documents.

* <span id="Bfloat16" class="citation-label">Bfloat16</span> Arm,
[BFloat16 processing for Neural Networks on
Armv8-A](https://community.arm.com/developer/ip-products/processors/b/ml-ip-blog/posts/bfloat16-processing-for-neural-networks-on-armv8_2d00_a)
Armv8-A](https://developer.arm.com/community/arm-community-blogs/b/ai-blog/posts/bfloat16-processing-for-neural-networks-on-armv8_2d00_a)

* <span id="C11" class="citation-label">C11</span> ISO, Standard C
(based on draft N1570), ISO/IEC 9899:2011
Expand Down
2 changes: 1 addition & 1 deletion main/design_documents/__ARM_FEATURE_MOPS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Design Document for `__ARM_FEATURE_MOPS`

Following the announcement of the [2021 Architecture Extensions](https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-a-profile-architecture-developments-2021),
Following the announcement of the [2021 Architecture Extensions](https://developer.arm.com/community/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2021),
we are extending the ACLE to add support for the new instructions that
standardise the memcpy family of operations, which were introduced in Armv8.8-A
and Armv9.3-A.
Expand Down
Loading