#!/bin/bash # Copyright 2026 The Go Authors. All rights reserved. # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. set -e TAR=ISA_A64_xml_A_profile-2026-03_96 DIR=ISA_A64_xml_A_profile_2026-03_96-2026-03_rel DATA=./extern trace() { set -x "$@" { local rc=$?; set +x; } 2>/dev/null return $rc } if [[ -d "$DATA/$DIR" ]]; then echo 2>&1 "ISA description already downloaded" else tartmp=$(mktemp tmp.XXXXXXXXXX.tar.gz) trace curl -o "$tartmp" https://developer.arm.com/-/cdn-downloads/permalink/Exploration-Tools-A64-ISA/ISA_A64/$TAR.tar.gz # Check that it has the expected path want="$DIR/abs_advsimd.xml" if ! tar tzf "$tartmp" | grep -qxF "$want"; then echo 2>&1 "Archive $tartmp does not contain expected file $want" exit 1 fi # This tar file has multiple top-level directories and files. We want just $DIR trace mkdir -p "$DATA" trace tar -xz -C "$DATA" -f "$tartmp" "$DIR" trace rm $tartmp fi