mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 06:55:07 +00:00
Update std atomic check and simd compatibility check for arc compiler (#3716)
This commit is contained in:
parent
b845e2ede4
commit
63df2cf02d
|
@ -3121,7 +3121,8 @@ aot_create_comp_context(const AOTCompData *comp_data, aot_comp_option_t option)
|
|||
#endif
|
||||
|
||||
if (option->enable_simd && strcmp(comp_ctx->target_arch, "x86_64") != 0
|
||||
&& strncmp(comp_ctx->target_arch, "aarch64", 7) != 0) {
|
||||
&& strncmp(comp_ctx->target_arch, "aarch64", 7) != 0
|
||||
&& strcmp(comp_ctx->target_arch, "arc") != 0) {
|
||||
/* Disable simd if it isn't supported by target arch */
|
||||
option->enable_simd = false;
|
||||
}
|
||||
|
|
|
@ -176,6 +176,9 @@ aot_check_simd_compatibility(const char *arch_c_str, const char *cpu_c_str)
|
|||
else if (targetArch == llvm::Triple::aarch64) {
|
||||
return subTargetInfo->checkFeatures("+neon");
|
||||
}
|
||||
else if (targetArch == llvm::Triple::arc) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -104,8 +104,9 @@ os_thread_exit(void *retval);
|
|||
#endif
|
||||
|
||||
/* Clang's __GNUC_PREREQ macro has a different meaning than GCC one,
|
||||
so we have to handle this case specially */
|
||||
#if defined(__clang__)
|
||||
so we have to handle this case specially(except the CCAC compiler
|
||||
provided by MetaWare, which doesn't support atomic operations) */
|
||||
#if defined(__clang__) && !defined(__CCAC__)
|
||||
/* Clang provides stdatomic.h since 3.6.0
|
||||
See https://releases.llvm.org/3.6.0/tools/clang/docs/ReleaseNotes.html */
|
||||
#if __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 6)
|
||||
|
|
Loading…
Reference in New Issue
Block a user