summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml6
-rw-r--r--src/prebuilt/wasm2c_simd_source_declarations.cc4
-rw-r--r--src/template/wasm2c_simd.declarations.c2
3 files changed, 9 insertions, 3 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 331f0108..21604429 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -30,9 +30,9 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: [ubuntu-latest, macos-12, windows-latest]
+ os: [ubuntu-latest, macos-12, macos-14, windows-latest]
steps:
- - uses: actions/setup-python@v1
+ - uses: actions/setup-python@v5
with:
python-version: '3.x'
- uses: actions/checkout@v1
@@ -43,7 +43,7 @@ jobs:
if: matrix.os == 'ubuntu-latest'
- name: install ninja (osx)
run: brew install ninja
- if: matrix.os == 'macos-12'
+ if: matrix.os == 'macos-12' || matrix.os == 'macos-14'
- name: install ninja (win)
run: choco install ninja
if: matrix.os == 'windows-latest'
diff --git a/src/prebuilt/wasm2c_simd_source_declarations.cc b/src/prebuilt/wasm2c_simd_source_declarations.cc
index 7c0c9fb4..5b903b26 100644
--- a/src/prebuilt/wasm2c_simd_source_declarations.cc
+++ b/src/prebuilt/wasm2c_simd_source_declarations.cc
@@ -2,6 +2,10 @@ const char* s_simd_source_declarations = R"w2c_template(#if defined(__GNUC__) &&
)w2c_template"
R"w2c_template(#define SIMD_FORCE_READ(var) __asm__("" ::"x"(var));
)w2c_template"
+R"w2c_template(#elif defined(__GNUC__) && defined(__aarch64__)
+)w2c_template"
+R"w2c_template(#define SIMD_FORCE_READ(var) __asm__("" ::"w"(var));
+)w2c_template"
R"w2c_template(#else
)w2c_template"
R"w2c_template(#define SIMD_FORCE_READ(var)
diff --git a/src/template/wasm2c_simd.declarations.c b/src/template/wasm2c_simd.declarations.c
index d37631ad..0e2c9511 100644
--- a/src/template/wasm2c_simd.declarations.c
+++ b/src/template/wasm2c_simd.declarations.c
@@ -1,5 +1,7 @@
#if defined(__GNUC__) && defined(__x86_64__)
#define SIMD_FORCE_READ(var) __asm__("" ::"x"(var));
+#elif defined(__GNUC__) && defined(__aarch64__)
+#define SIMD_FORCE_READ(var) __asm__("" ::"w"(var));
#else
#define SIMD_FORCE_READ(var)
#endif