[Predef-contribute] RISC-V architecture defines
Brought to you by:
breese,
tahonermann
|
From: Aaron F. <arn...@ya...> - 2021-08-30 04:03:43
|
Hello, For this page which lists architecture defines: https://sourceforge.net/p/predef/wiki/Architectures/ The page is missing defines for RISC-V. Here they are. These are pulled from GCC 9.3 and Clang 10.0 on a 64-bit RISC-V virtual machine (architecture rv64gc). GCC: #define __riscv 1 #define __riscv_atomic 1UL #define __riscv_cmodel_pic 1 #define __riscv_compressed 1 #define __riscv_div 1 #define __riscv_fdiv 1 #define __riscv_flen 64 #define __riscv_float_abi_double 1 #define __riscv_fsqrt 1 #define __riscv_mul 1 #define __riscv_muldiv 1 #define __riscv_xlen 64 Clang/LLVM: #define __riscv 1 #define __riscv_atomic 1 #define __riscv_cmodel_medlow 1 #define __riscv_compressed 1 #define __riscv_div 1 #define __riscv_fdiv 1 #define __riscv_flen 64 #define __riscv_float_abi_double 1 #define __riscv_fsqrt 1 #define __riscv_mul 1 #define __riscv_muldiv 1 #define __riscv_xlen 64 These are defined on both (ignoring the difference for atomic of "1UL" for GCC and "1" for Clang/LLVM). #define __riscv 1 #define __riscv_atomic 1#define __riscv_compressed 1#define __riscv_div 1 #define __riscv_fdiv 1#define __riscv_flen 64 #define __riscv_float_abi_double 1#define __riscv_fsqrt 1 #define __riscv_mul 1 #define __riscv_muldiv 1#define __riscv_xlen 64 This is unique to GCC:#define __riscv_cmodel_pic 1 This is unique to Clang/LLVM:#define __riscv_cmodel_medlow 1 Please add this information to your list. Thanks, Aaron Franke |