Ok, thanks:) Pan Li via Gcc-patches 於 2023年7月27日 週四 18:45 寫道: > From: Pan Li > > According to below RVV doc, the related intrinsic is not longer needed. > > https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/249 > > Signed-off-by: Pan Li > > gcc/ChangeLog: > > * config/riscv/riscv_vector.h (enum RVV_CSR): Removed. > (vread_csr): Ditto. > (vwrite_csr): Ditto. > --- > gcc/config/riscv/riscv_vector.h | 51 --------------------------------- > 1 file changed, 51 deletions(-) > > diff --git a/gcc/config/riscv/riscv_vector.h > b/gcc/config/riscv/riscv_vector.h > index ff54b6be863..3366fd972b5 100644 > --- a/gcc/config/riscv/riscv_vector.h > +++ b/gcc/config/riscv/riscv_vector.h > @@ -35,57 +35,6 @@ > extern "C" { > #endif > > -enum RVV_CSR { > - RVV_VSTART = 0, > - RVV_VXSAT, > - RVV_VXRM, > - RVV_VCSR, > -}; > - > -__extension__ extern __inline unsigned long > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vread_csr(enum RVV_CSR csr) > -{ > - unsigned long rv = 0; > - switch (csr) > - { > - case RVV_VSTART: > - __asm__ __volatile__ ("csrr\t%0,vstart" : "=r"(rv) : : "memory"); > - break; > - case RVV_VXSAT: > - __asm__ __volatile__ ("csrr\t%0,vxsat" : "=r"(rv) : : "memory"); > - break; > - case RVV_VXRM: > - __asm__ __volatile__ ("csrr\t%0,vxrm" : "=r"(rv) : : "memory"); > - break; > - case RVV_VCSR: > - __asm__ __volatile__ ("csrr\t%0,vcsr" : "=r"(rv) : : "memory"); > - break; > - } > - return rv; > -} > - > -__extension__ extern __inline void > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vwrite_csr(enum RVV_CSR csr, unsigned long value) > -{ > - switch (csr) > - { > - case RVV_VSTART: > - __asm__ __volatile__ ("csrw\tvstart,%z0" : : "rJ"(value) : > "memory"); > - break; > - case RVV_VXSAT: > - __asm__ __volatile__ ("csrw\tvxsat,%z0" : : "rJ"(value) : "memory"); > - break; > - case RVV_VXRM: > - __asm__ __volatile__ ("csrw\tvxrm,%z0" : : "rJ"(value) : "memory"); > - break; > - case RVV_VCSR: > - __asm__ __volatile__ ("csrw\tvcsr,%z0" : : "rJ"(value) : "memory"); > - break; > - } > -} > - > /* NOTE: This implementation of riscv_vector.h is intentionally short. > It does > not define the RVV types and intrinsic functions directly in C and C++ > code, but instead uses the following pragma to tell GCC to insert the > -- > 2.34.1 > >