Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wamrc SIMD compat check fails on fairly standard hardware #1022

Closed
lucianoiam opened this issue Feb 25, 2022 · 5 comments
Closed

wamrc SIMD compat check fails on fairly standard hardware #1022

lucianoiam opened this issue Feb 25, 2022 · 5 comments

Comments

@lucianoiam
Copy link
Contributor

Getting this on 2019 Intel Mac:

Error: SIMD compatibility check failed, try adding --cpu=<cpu> to specify a cpu or adding --disable-simd to disable SIMD

Appending --cpu=skylake fixes it.

Also ./wamrc --cpu=help does not really list the available CPUs.

@lum1n0us
Copy link
Collaborator

lum1n0us commented Mar 1, 2022

SIMD compatibility check failed means the local machine doesn't fully achieve WAMR requirements on SIMD, which is at least sse4.1. I am not sure which kind of CPU a 2019 Intel Mac is using but you are able to check it with $cat /proc/cpuinfo

@lucianoiam
Copy link
Contributor Author

Hi, just checked and this computer's CPU is i7-8569U

According to Intel it supports SSE 4.1 and 4.2

https://www.intel.com/content/www/us/en/products/sku/191050/intel-core-i78569u-processor-8m-cache-up-to-4-70-ghz/specifications.html

@wenyongh
Copy link
Contributor

wenyongh commented Mar 1, 2022

@lucianoiam What is your complete command to run wamrc? In MacOS, the cpu name will be obtained when target/cpu/cpu-features aren't set, could you please help check whether the following code is executed?
https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/core/iwasm/compilation/aot_llvm.c#L1714

@lucianoiam
Copy link
Contributor Author

The complete command is wamrc --target=x86_64 -o dsp/build/x86_64.aot

Line 1714 is not being called when using the line above, but removing --target causes 1714 to be called and also the issue goes away (ie, no need to append --cpu anymore).

So it seems --target and --cpu must be both present or absent?

@wenyongh
Copy link
Contributor

wenyongh commented Mar 8, 2022

Yes, no need to add --target if the target is same as host.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants