Closed KaiYG closed 2 months ago
__riscv_compressed
was deprecated, but I guess we should consider redefine that as defined if any extension provided compressed instruction is available? We have C
and Zca
now, but not guarantee we won't have more independent Zc*
extensions .
cc @a4lg
While deprecated (according to @kito-cheng), considering the context of __riscv_compressed
, I think existence of the compressed instructions is better to be reported by Zca
, as well as C
(though I'm not sure whether I can use any stronger words like "should").
As the Zc spec v1.0.4-2 added the rule that C implies Zca, I think existence of the compressed instructions can be reported by __riscv_zca
now.
Thanks for the update and closing the ticket!
Should the macro
__riscv_c
(and__riscv_compressed
) defined when only Zca is enabled? Also, seems GCC and Clang behave differently in this case, e.g., for-march=rv32i_zca
, GCC: undefined__riscv_c
, while defined__riscv_compressed
LLVM: undefined both.