diff options
author | Jim Wilson <jimw@sifive.com> | 2018-10-03 19:09:32 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2018-10-03 12:09:32 -0700 |
commit | 119b4963ea4f68e88eb496f0efcb450e1fbbbe9b (patch) | |
tree | 7cdee2c3093b151a9fa9658ddb78d267a2d8737d | |
parent | 5079ff15b537908ab0fcf2270c05d02e7412f442 (diff) | |
download | gcc-119b4963ea4f68e88eb496f0efcb450e1fbbbe9b.zip gcc-119b4963ea4f68e88eb496f0efcb450e1fbbbe9b.tar.gz gcc-119b4963ea4f68e88eb496f0efcb450e1fbbbe9b.tar.bz2 |
RISC-V: Add macro for ilp32e ABI. Cleanup white space.
gcc/
* config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): For ABI_ILP32E,
also define __riscv_abi_rve. Delete trailing white space.
From-SVN: r264821
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/riscv/riscv-c.c | 27 |
2 files changed, 20 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6bec984..8e7cb54 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-10-03 Jim Wilson <jimw@sifive.com> + + * config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): For ABI_ILP32E, + also define __riscv_abi_rve. Delete trailing white space. + 2018-10-03 Paul Koning <ni1d@arrl.net> Enable LRA register allocator for PDP11. diff --git a/gcc/config/riscv/riscv-c.c b/gcc/config/riscv/riscv-c.c index 513f974..d3ecd07 100644 --- a/gcc/config/riscv/riscv-c.c +++ b/gcc/config/riscv/riscv-c.c @@ -35,62 +35,65 @@ void riscv_cpu_cpp_builtins (cpp_reader *pfile) { builtin_define ("__riscv"); - + if (TARGET_RVC) builtin_define ("__riscv_compressed"); - + if (TARGET_RVE) builtin_define ("__riscv_32e"); if (TARGET_ATOMIC) builtin_define ("__riscv_atomic"); - + if (TARGET_MUL) builtin_define ("__riscv_mul"); if (TARGET_DIV) builtin_define ("__riscv_div"); if (TARGET_DIV && TARGET_MUL) builtin_define ("__riscv_muldiv"); - + builtin_define_with_int_value ("__riscv_xlen", UNITS_PER_WORD * 8); if (TARGET_HARD_FLOAT) builtin_define_with_int_value ("__riscv_flen", UNITS_PER_FP_REG * 8); - + if (TARGET_HARD_FLOAT && TARGET_FDIV) { builtin_define ("__riscv_fdiv"); builtin_define ("__riscv_fsqrt"); } - + switch (riscv_abi) { - case ABI_ILP32: case ABI_ILP32E: + builtin_define ("__riscv_abi_rve"); + gcc_fallthrough (); + + case ABI_ILP32: case ABI_LP64: builtin_define ("__riscv_float_abi_soft"); break; - + case ABI_ILP32F: case ABI_LP64F: builtin_define ("__riscv_float_abi_single"); break; - + case ABI_ILP32D: case ABI_LP64D: builtin_define ("__riscv_float_abi_double"); break; } - + switch (riscv_cmodel) { case CM_MEDLOW: builtin_define ("__riscv_cmodel_medlow"); break; - + case CM_MEDANY: builtin_define ("__riscv_cmodel_medany"); break; - + case CM_PIC: builtin_define ("__riscv_cmodel_pic"); break; |