aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-parloops.cc
diff options
context:
space:
mode:
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>2023-04-25 21:05:54 -0600
committerJeff Law <jlaw@ventanamicro>2023-04-25 21:06:42 -0600
commit2fb7df82b8edd64ea31417592619c4cee00b05bc (patch)
treec94d1d6e0d685ee2e1a07157300ec44087583433 /gcc/tree-parloops.cc
parent392200f807fe2ee377ecc451ff75894b89335c33 (diff)
downloadgcc-2fb7df82b8edd64ea31417592619c4cee00b05bc.zip
gcc-2fb7df82b8edd64ea31417592619c4cee00b05bc.tar.gz
gcc-2fb7df82b8edd64ea31417592619c4cee00b05bc.tar.bz2
RISC-V: Add auto-vectorization compile option for RVV
This patch is adding 2 compile option for RVV auto-vectorization. 1. -param=riscv-autovec-preference= This option is to specify the auto-vectorization approach for RVV. Currently, we only support scalable and fixed-vlmax. - scalable means VLA auto-vectorization. The vector-length to compiler is unknown and runtime invariant. Such approach can allow us compile the code run on any vector-length RVV CPU. - fixed-vlmax means the compile known the RVV CPU vector-length, compile option in fixed-length VLS auto-vectorization. Meaning if we specify vector-length=512. The execution file can only run on vector-length = 512 RVV CPU. - TODO: we may need to support min-length VLS auto-vectorization, means the execution file can run on larger length RVV CPU. 2. -param=riscv-autovec-lmul= Specify LMUL choosing for RVV auto-vectorization. gcc/ChangeLog: * config/riscv/riscv-opts.h (enum riscv_autovec_preference_enum): Add enum for auto-vectorization preference. (enum riscv_autovec_lmul_enum): Add enum for choosing LMUL of RVV auto-vectorization. * config/riscv/riscv.opt: Add compile option for RVV auto-vectorization.
Diffstat (limited to 'gcc/tree-parloops.cc')
0 files changed, 0 insertions, 0 deletions