Clang can be viewed from two distinct perspectives. First, clang is a comprehensive toolchain, which supports compilation of C/C++/CUDA/Objective-С/Objective-C++/HIP source code into a machine code for a wide range of platforms. These include, but are not limited to, x86 (32/64-bit), ARM (32/64-bit), RISC-V(32/64-bit), Power PC (32/64-bit), as well as GPU architectures such as NVPTX (NVIDIA) and AMDGCN (AMD), both supporting 32-bit and 64-bit execution. Clang is designed to be highly portable and is compatible with multiple operating systems, including Linux, Windows, macOS, iOS, Android, FreeBSD, OpenBSD, and more. It offers competitive compile time/memory consumption/optimization level/feature set, making it a strong alternative to GCC-based toolchains. It provides extensive support for modern programming language standards, including full support for C99 and partial support for C11, C17, C23, and the evolving C2y standard. Similarly, for C++, it fully supports C++17, with partial implementations of C++20, C++23, and the upcoming C++2c standard. Clang also includes comprehensive support for OpenMP (fully implementing version 5.0 and partially supporting versions 5.1, 5.2, and 6.0). Additionally, it supports many nonstandard GCC extensions, making it a viable drop-in replacement for GCC-based compilers in numerous development environments.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

RISC-V RVV Support in Clang-Based Compiler

  • Alexey Bataev

摘要

Clang can be viewed from two distinct perspectives. First, clang is a comprehensive toolchain, which supports compilation of C/C++/CUDA/Objective-С/Objective-C++/HIP source code into a machine code for a wide range of platforms. These include, but are not limited to, x86 (32/64-bit), ARM (32/64-bit), RISC-V(32/64-bit), Power PC (32/64-bit), as well as GPU architectures such as NVPTX (NVIDIA) and AMDGCN (AMD), both supporting 32-bit and 64-bit execution. Clang is designed to be highly portable and is compatible with multiple operating systems, including Linux, Windows, macOS, iOS, Android, FreeBSD, OpenBSD, and more. It offers competitive compile time/memory consumption/optimization level/feature set, making it a strong alternative to GCC-based toolchains. It provides extensive support for modern programming language standards, including full support for C99 and partial support for C11, C17, C23, and the evolving C2y standard. Similarly, for C++, it fully supports C++17, with partial implementations of C++20, C++23, and the upcoming C++2c standard. Clang also includes comprehensive support for OpenMP (fully implementing version 5.0 and partially supporting versions 5.1, 5.2, and 6.0). Additionally, it supports many nonstandard GCC extensions, making it a viable drop-in replacement for GCC-based compilers in numerous development environments.