1. Mar 14, 2023
    • Nandni Jamnadas's avatar
      CV32E40Pv2 Event Load Update · 8b9dd529
      Nandni Jamnadas authored
      	Updated Event Load to the builtin specification and documentation:
      	https://github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md#listing-of-event-load-word-builtins-xcvelw
      
      	* gcc/config/riscv/corev.def: Updated builtin cv_elw to
      	  cv_elw_elw and updated argument from void_ptr to int_ptr.
      	* gcc/config/riscv/corev.md: Moved UNSPEC_CV_ELW and event load
      	  machine pattern from riscv.md to core.md.
      	* gcc/config/riscv/riscv-builtins.cc: Added RISCV_ATYPE_INT_PTR
      	  argument for integer pointer.
      	* gcc/config/riscv/riscv-ftypes.def: Added macro with return type
      	  unsigned integer and argument type integer pointer.
      	* gcc/config/riscv/riscv.md: Moved UNSPEC_CV_ELW and event load
      	  machine pattern from riscv.md to core.md.
      	* gcc/doc/extend.texi: Added CORE-V Event Load documentation.
      	* gcc/testsuite/gcc.target/riscv/cv-elw-elw-compile-1.c: Updated
      	  test to corresponding argument type.
      8b9dd529
    • Charlie Keaney's avatar
      Remove 'xcv' extension · ec32eb21
      Charlie Keaney authored
      The CORE-V ISA Extension Naming specification was recently updated.
      One of the consequences of this is that the option previously
      called 'xcorev' (but implemented as 'xcv' presently due to the
      prefix change) has been removed. However, the compiler does not
      presently reflect this change. This patch removes the 'xcv' march
      flag option so that the compiler and the CORE-V ISA Extension Naming
      specification match.
      
      See here for CORE-V ISA Extension Naming specification:
      (https://github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-isa-extension-naming.md)
      
      	* gcc/common/config/riscv/riscv-common.cc: Remove 'xcv' extension.
      	* gcc/config/riscv/riscv-opts.h: Likewise.
      ec32eb21
    • Charlie Keaney's avatar
      Update CORE-V Extension name prefix from 'xcorev' to 'xcv' · 62848e25
      Charlie Keaney authored
      The CORE-V ISA Extension Naming specification was recently updated.
      One of the changes was to change the CORE-V Extension name prefix from 'xcorev' to 'xcv'.
      gcc currently prefixes corev extensions with the old prefix 'xcorev' rather than the new prefix 'xcv'.
      gcc must be updated in order to reflect this change.
      This patch changes all references to 'xcorev' with 'xcv'.
      This also includes references in the test suite.
      It also replaces internal variables that referred to the extensions as COREV_[EXTENSION_NAME] to CV_[EXTENSION_NAME].
      
      See here for CORE-V ISA Extension Naming specification:
      (https://github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-isa-extension-naming.md)
      
      	* gcc/common/config/riscv/riscv-common.cc: Update references to corev extension prefix with cv.
      	* gcc/config/riscv/corev.def: Likewise.
      	* gcc/config/riscv/corev.md: Likewise.
      	* gcc/config/riscv/riscv-builtins.cc: Likewise.
      	* gcc/config/riscv/riscv-opts.h: Likewise.
      	* gcc/config/riscv/riscv.md: Likewise.
      	* gcc/config/riscv/riscv.opt: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-elw-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-bclr.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-bclr.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-bclrr.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-bclrr.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-bitrev.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-bitrev.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-bset.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-bset.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-bsetr.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-bsetr.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-clb.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-clb.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-cnt.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-cnt.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-extract.c: Renamed to ...
      	* ggc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-extract.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-extractr.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-extractr.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-extractu.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-extractu.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-extractur.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-extractur.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-ff1.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-ff1.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-fl1.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-fl1.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-insert.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-insert.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-insertr.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-insertr.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-compile-ror.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-compile-ror.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-fail-compile-bclr.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-fail-compile-bclr.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-fail-compile-bitrev.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-fail-compile-bitrev.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-fail-compile-bset.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-fail-compile-bset.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-fail-compile-extract.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-fail-compile-extract.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-fail-compile-extractu.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-fail-compile-extractu.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevbitmanip-fail-compile-insert.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvbitmanip-fail-compile-insert.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-mac.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-mac.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-machhsn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-machhsn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-machhsrn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-machhsrn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-machhun.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-machhun.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-machhurn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-machhurn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-macsn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-macsn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-macsrn.: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-macsrn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-macun.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-macun.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-macurn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-macurn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-msu.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-msu.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-mulhhsn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-mulhhsn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-mulhhsrn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-mulhhsrn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-mulhhun.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-mulhhun.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-mulhhurn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-mulhhurn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-mulsn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-mulsn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-mulsrn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-mulsrn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-mulun.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-mulun.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-compile-mulurn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-compile-mulurn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-mac.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-mac.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-machhsn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-machhsn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-machhsrn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-machhsrn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-machhun.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-machhun.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-machhurn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-machhurn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-macsn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-macsn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-macsrn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-macsrn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-macun.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-macun.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-macurn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-macurn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-msu.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-msu.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-mulhhsn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-mulhhsn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-mulhhsrn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-mulhhsrn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-mulhhun.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-mulhhun.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-mulhhurn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-mulhhurn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-mulsn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-mulsn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-mulsrn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-mulsrn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-mulun.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-mulun.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcorevmac-fail-compile-mulurn.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-march-xcvmac-fail-compile-mulurn.c: ... this.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-abs-b-compile-1.c: Update references to corev extension prefix with cv.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-abs-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-and-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-and-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avg-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avg-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avgu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avgu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmple-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmple-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmple-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmple-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxconj-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotup-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotup-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotup-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotup-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-extract-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-extract-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-extractu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-extractu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-insert-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-insert-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-max-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-max-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-max-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-max-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-maxu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-maxu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-maxu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-maxu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-min-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-min-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-min-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-min-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-minu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-minu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-minu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-minu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-or-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-or-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-or-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-or-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-pack-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-pack-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-packhi-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-packlo-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shuffle-sci-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shuffle2-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shuffle2-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shufflei0-sci-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shufflei1-sci-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shufflei2-sci-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shufflei3-sci-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sll-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sll-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sll-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sll-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sra-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sra-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sra-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sra-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-srl-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-srl-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-srl-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-srl-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-xor-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-xor-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-xor-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-xor-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-xcorevsimd-march-compile-1.c: Renamed to ...
      	* gcc/testsuite/gcc.target/riscv/cv-xcvsimd-march-compile-1.c: ... this.
      	* gcc/testsuite/lib/target-supports.exp: Update references to corev extension prefix with cv.
      62848e25
    • Nandni Jamnadas's avatar
      CV32E40Pv2 CORE-V SIMD Update · 90608aee
      Nandni Jamnadas authored
      	* gcc/config/riscv/constraints.md: Renamed `const_int2_operand`
      	  to `const_int2_simd_operand`.
      	* gcc/config/riscv/corev.md: Renamed `const_int2_operand`
      	  to `const_int2_simd_operand`.
      	* gcc/config/riscv/predicates.md: Changing layout of CORE-V
      	  Predicates.
      	* gcc/doc/extend.texi: Changing layout of CORE-V Built-in
      	  Documentation.
      90608aee
    • Nandni Jamnadas's avatar
      CV32E40Pv2 220 CORE-V SIMD Builtins: Documentation · 6e953f3a
      Nandni Jamnadas authored
      	* gcc/doc/extend.texi: Documentation on 142 SIMD Built-ins
      	  for 220 SIMD instructions.
      6e953f3a
    • Nandni Jamnadas's avatar
      CV32E40Pv2 220 CORE-V SIMD Builtins: Compilation Tests · 2cc49606
      Nandni Jamnadas authored
      	158 Compilation Tests and 1 MARCH test: cv-xcorevsimd-march-compile-1.c
      
      	* gcc/testsuite/gcc.target/riscv/cv-simd-abs-b-compile-1.c: Created.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-abs-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-and-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-and-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avg-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avg-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avgu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avgu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmple-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmple-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmple-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmple-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxconj-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotup-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotup-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotup-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotup-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-extract-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-extract-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-extractu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-extractu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-insert-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-insert-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-max-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-max-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-max-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-max-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-maxu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-maxu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-maxu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-maxu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-min-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-min-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-min-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-min-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-minu-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-minu-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-minu-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-minu-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-or-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-or-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-or-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-or-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-pack-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-pack-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-packhi-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-packlo-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shuffle-sci-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shuffle2-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shuffle2-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shufflei0-sci-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shufflei1-sci-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shufflei2-sci-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-shufflei3-sci-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sll-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sll-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sll-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sll-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sra-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sra-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sra-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sra-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-srl-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-srl-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-srl-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-srl-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-sub-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-div2-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-div4-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-div8-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-xor-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-xor-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-xor-sc-b-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-simd-xor-sc-h-compile-1.c: Likewise.
      	* gcc/testsuite/gcc.target/riscv/cv-xcorevsimd-march-compile-1.c: Likewise.
      2cc49606
    • Nandni Jamnadas's avatar
      CV32E40Pv2 220 CORE-V SIMD Builtins Version 1 · d0e8b857
      Nandni Jamnadas authored
          * gcc/config/riscv/constraints.md: Created
              * 6-bit signed immediate constraint "CV6"
              * 6-bit unsigned immediate constraint "CS6"
              * 1-bit shifting immediate constraint:
                * constant integer value "0" constraint "CF0"
                * constant integer value "1" constraint "CF1"
                * constant integer value "2" constraint "CF2"
                * constant integer value "3" constraint "CF3"
      
          * gcc/config/riscv/corev.def: Defined 142 SIMD builtins
            for 220 SIMD instructions with RISCV_BUILTIN.
      
          * gcc/config/riscv/corev.md:
            * Machine description pattern for all 142 SIMD builtins with
              UNSPEC version.
            * Included `define_c_enum "unspec"` for CORE-V specific
              unspec macros.
      
          * gcc/config/riscv/predicates.md: Created
              * 6-bit signed immediate predicate for constraint "CV6"
              * 6-bit unsigned immediate predicate for constraint "CS6"
              * 4-bit unsigned immediate predicate for constraint
                "CF0,CF1,CF2,CF3"
      
          * gcc/config/riscv/riscv-builtins.cc: Created SIMD Avaliability
            Predicate, RISCV_FTYPE_NAME2, RISCV_FTYPE_ATYPES2. Added
            corresponding argument types for builtins.
      
          * gcc/config/riscv/riscv-ftypes.def: Added corresponding
            DEF_RISCV_FTYPE return type and argument types for builtins.
      d0e8b857
    • Nandni Jamnadas's avatar
      CV32E40Pv2 CORE-V SIMD Extension Only · 753b3a80
      Nandni Jamnadas authored
          * gcc/common/config/riscv/riscv-common.cc: Added XCOREVSIMD
            extensions. Added riscv_xcorev_flags to SIMD extensions.
          * gcc/config/riscv/riscv-opts.h: Added corresponding MASK and
            TARGET macros for XCOREVSIMD.
      753b3a80
    • Mary Bennett's avatar
      XCOREVBITMANIP builtins added · f68f36bc
      Mary Bennett authored
      
      
      Files Changed:
      gcc/common/config/riscv:
       * riscv-common.cc: Added the XCOREVBITMANIP extension.
      
      gcc/config/riscv:
       * constraints.md: Added builtins for the XCOREVBITMANIP extension.
       * corev.def: Likewise.
       * corev.md: Likewise.
       * predicates.md: Likewise.
       * riscv-builtins.cc: Likewise.
       * riscv-ftypes.def: Likewise.
       * riscv-opts.h: Likewise.
       * riscv.md: Likewise.
      
      gcc/doc:
       * extend.texi: Added documentation for the XCOREVBITMANIP
         extension builtins.
      
      gcc/testsuite/gcc.target/riscv:
       * cv-march-xcorevbitmanip-compile-bclr.c: Added new tests.
       * cv-march-xcorevbitmanip-compile-bclrr.c: Likewise.
       * cv-march-xcorevbitmanip-compile-bitrev.c: Likewise.
       * cv-march-xcorevbitmanip-compile-bset.c: Likewise.
       * cv-march-xcorevbitmanip-compile-bsetr.c: Likewise.
       * cv-march-xcorevbitmanip-compile-clb.c: Likewise.
       * cv-march-xcorevbitmanip-compile-cnt.c: Likewise.
       * cv-march-xcorevbitmanip-compile-extract.c: Likewise.
       * cv-march-xcorevbitmanip-compile-extractr.c: Likewise.
       * cv-march-xcorevbitmanip-compile-extractu.c: Likewise.
       * cv-march-xcorevbitmanip-compile-extractur.c: Likewise.
       * cv-march-xcorevbitmanip-compile-ff1.c: Likewise.
       * cv-march-xcorevbitmanip-compile-fl1.c: Likewise.
       * cv-march-xcorevbitmanip-compile-insert.c: Likewise.
       * cv-march-xcorevbitmanip-compile-insertr.c: Likewise.
       * cv-march-xcorevbitmanip-compile-ror.c: Likewise.
       * cv-march-xcorevbitmanip-fail-compile-bclr.c: Likewise.
       * cv-march-xcorevbitmanip-fail-compile-bitrev.c: Likewise.
       * cv-march-xcorevbitmanip-fail-compile-bset.c: Likewise.
       * cv-march-xcorevbitmanip-fail-compile-extract.c: Likewise.
       * cv-march-xcorevbitmanip-fail-compile-extractu.c: Likewise.
       * cv-march-xcorevbitmanip-fail-compile-insert.c: Likewise.
      
      gcc/testsuite/lib:
       * target-supports.exp: Added proc for the XCOREVBITMANIP extension.
      
      Signed-off-by: default avatarMary Bennett <mary.bennett@embecosm.com>
      f68f36bc
    • Mary Bennett's avatar
      XCOREVMAC builtins added · 2ab5571a
      Mary Bennett authored
      
      
      gcc/common/config/riscv:
        * riscv-common.cc: Added XCOREVMAC
      
      gcc/config/riscv:
        * corev.def: Added XCOREVMAC builtins.
        * corev.md: Likewise.
        * riscv-builtins.cc: Likewise.
        * riscv-ftypes.def: Likewise.
        * riscv-opts.h: Likewise.
        * riscv.md: Likewise.
      
      gcc/doc:
        * extend.texi: Added XCOREVMAC builtin documentation.
      
      gcc/testsuits/gcc.target/riscv:
        * cv-march-xcorevmac-compile-mac.c: Added compile tests for new builtins.
        * cv-march-xcorevmac-compile-machhsn.c: Likewise.
        * cv-march-xcorevmac-compile-machhsrn.c: Likewise.
        * cv-march-xcorevmac-compile-machhun.c: Likewise.
        * cv-march-xcorevmac-compile-machhurn.c: Likewise.
        * cv-march-xcorevmac-compile-macsn.c: Likewise.
        * cv-march-xcorevmac-compile-macsrn.c: Likewise.
        * cv-march-xcorevmac-compile-macun.c: Likewise.
        * cv-march-xcorevmac-compile-macurn.c: Likewise.
        * cv-march-xcorevmac-compile-msu.c: Likewise.
        * cv-march-xcorevmac-compile-mulhhsn.c: Likewise.
        * cv-march-xcorevmac-compile-mulhhsrn.c: Likewise.
        * cv-march-xcorevmac-compile-mulhhun.c: Likewise.
        * cv-march-xcorevmac-compile-mulhhurn.c: Likewise.
        * cv-march-xcorevmac-compile-mulsn.c: Likewise.
        * cv-march-xcorevmac-compile-mulsrn.c: Likewise.
        * cv-march-xcorevmac-compile-mulun.c: Likewise.
        * cv-march-xcorevmac-compile-mulurn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-mac.c: Likewise.
        * cv-march-xcorevmac-fail-compile-machhsn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-machhsrn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-machhun.c: Likewise.
        * cv-march-xcorevmac-fail-compile-machhurn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-macsn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-macsrn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-macun.c: Likewise.
        * cv-march-xcorevmac-fail-compile-macurn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-msu.c: Likewise.
        * cv-march-xcorevmac-fail-compile-mulhhsn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-mulhhsrn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-mulhhun.c: Likewise.
        * cv-march-xcorevmac-fail-compile-mulhhurn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-mulsn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-mulsrn.c: Likewise.
        * cv-march-xcorevmac-fail-compile-mulun.c: Likewise.
        * cv-march-xcorevmac-fail-compile-mulurn.c: Likewise.
      
      gcc/testsuite/lib:
        * target-supports.exp: Added XCOREVMAC proc.
      
      Signed-off-by: default avatarMary Bennett <mary.bennett@embecosm.com>
      2ab5571a
    • Nandni Jamnadas's avatar
      Event Load Update: Changes to instruction pattern in machine description · 115e2392
      Nandni Jamnadas authored
      
      
      	* gcc/config/riscv/riscv.md: Changed the use of pointer (P) mode
                to single integer (SI) mode.
      
      Signed-off-by: default avatarNandni Jamnadas <nandni.jamnadas@embecosm.com>
      115e2392
    • Nandni Jamnadas's avatar
      CV32E40Pv2 Event Load Builtin · 8ddd9c91
      Nandni Jamnadas authored
      
      
      	* gcc/common/config/riscv/riscv-common.cc: Added XCOREV and
      	  XCOREVELW extensions. Added riscv_xcorev_flags to extensions.
      	* gcc/config/riscv/corev.def: Implemented builtin prototype.
      	* gcc/config/riscv/riscv-builtins.cc: Added AVAIL for XCOREVELW.
      	  Declared pointer type node for builtin argument type.
      	  Included "corev.def" to riscv_builtin_description
      	  riscv_builtins[].
      	* gcc/config/riscv/riscv-ftypes.def: Added DEF_RISCV_TYPE to
      	  return an USI (unsigned integer) and take in a VOID_PTR
      	  (void pointer).
      	* gcc/config/riscv/riscv-opts.h: Added corresponding MASK and
      	  TARGET macros for XCOREV and XCOREVELW.
      	* gcc/config/riscv/riscv.md: Added machine description for cv.elw.
      	* gcc/config/riscv/riscv.opt: Added Target Variable:
      	  riscv_xcorev_flags.
      	* gcc/testsuite/gcc.target/riscv/cv-elw-compile-1.c: Created test
      	  for cv.elw builtin.
      
      Signed-off-by: default avatarNandni Jamnadas <nandni.jamnadas@embecosm.com>
      8ddd9c91
  2. Mar 13, 2023
    • Jeremy Bennett's avatar
      Update README for CORE-V · a5e09cb5
      Jeremy Bennett authored
      
      
      Files changed:
      
      	* README: Add CORE-V preamble.
      
      Signed-off-by: default avatarJeremy Bennett <jeremy.bennett@embecosm.com>
      a5e09cb5
    • Tobias Burnus's avatar
      gcn/mkoffload.cc: Pass -save-temps on for the hsaco step · 7ef44579
      Tobias Burnus authored
      For the assembly/linking step of the device code, the "-save-temps" was not
      passed on, such that amdgcn-amdhsa/bin/as and amdgcn-amdhsa's collect2
      were invoked with '-o /tmp/cc...' and '@/tmp/cc...', respectively.
      The -dump... prefix (...mkoffload.hsaco) was already properly set.
      
      gcc/ChangeLog:
      
      	* config/gcn/mkoffload.cc (main): Pass -save-temps on for the
      	hsaco assemble/link.
      7ef44579
    • Lewis Hyatt's avatar
      libcpp: Fix ICE on directive inside _Pragma() operator [PR67046] · 336ce497
      Lewis Hyatt authored
      get__Pragma_string() in directives.cc is responsible for lexing the parens
      and the string argument from a _Pragma("...") operator. This function does
      not handle the case when the closing paren is not on the same line as the
      string; in that case, libcpp will by default reuse the token buffer it
      previously used for the string, so that the string token returned by
      get__Pragma_string() may be corrupted, as shown in the testcase. Fix using
      the existing keep_tokens mechanism that temporarily disables the reuse of
      token buffers.
      
      libcpp/ChangeLog:
      
      	PR preprocessor/67046
      	* directives.cc (_cpp_do__Pragma): Increment pfile->keep_tokens to
      	ensure the returned string token is valid.
      
      gcc/testsuite/ChangeLog:
      
      	PR preprocessor/67046
      	* c-c++-common/cpp/pr67046.c: New test.
      336ce497
    • Lewis Hyatt's avatar
      libcpp: Update cpp_wcwidth() to Unicode 15 · 73dd5c6c
      Lewis Hyatt authored
      Updates cpp_wcwidth() to Unicode 15, following the procedure in
      contrib/unicode/README mechanically without incident.
      
      contrib/ChangeLog:
      
      	* unicode/DerivedCoreProperties.txt: Update to Unicode 15.
      	* unicode/DerivedNormalizationProps.txt: Likewise.
      	* unicode/EastAsianWidth.txt: Likwise.
      	* unicode/PropList.txt: Likewise.
      	* unicode/README: Likewise.
      	* unicode/UnicodeData.txt: Likewise.
      
      libcpp/ChangeLog:
      
      	* generated_cpp_wcwidth.h: Regenerated for Unicode 15.
      73dd5c6c
    • Jakub Jelinek's avatar
      libstdc++: Another baseline_symbols.txt update · 26cb9567
      Jakub Jelinek authored
      On Tue, Mar 07, 2023 at 05:50:39PM +0000, Jonathan Wakely via Gcc-patches wrote:
      > I guess you want to regenerate the powerpc64 ones now. The others are
      > all OK for trunk.
      
      So the following patch updates powerpc64 which has been excluded from
      the last patch (the difference between the older and current patch is
      -+FUNC:_ZSt15__try_use_facetINSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
      -+FUNC:_ZSt15__try_use_facetINSt19__gnu_cxx11_ieee1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
      -+FUNC:_ZSt15__try_use_facetINSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
      -+FUNC:_ZSt15__try_use_facetINSt19__gnu_cxx11_ieee1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
      ++FUNC:_ZSt15__try_use_facetINSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.31
      ++FUNC:_ZSt15__try_use_facetINSt19__gnu_cxx11_ieee1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.31
      ++FUNC:_ZSt15__try_use_facetINSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.31
      ++FUNC:_ZSt15__try_use_facetINSt19__gnu_cxx11_ieee1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.31
      which is I think exactly what we want) and also updates aarch64 for the
      bfloat16_t tinfo symbols.
      
      2023-03-13  Jakub Jelinek  <jakub@redhat.com>
      
      	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
      26cb9567
    • Jonathan Wakely's avatar
      libstdc++: Refer to documentation hacking docs from Makefile · 6ba33b18
      Jonathan Wakely authored
      libstdc++-v3/ChangeLog:
      
      	* doc/Makefile.am: Add comment referring to documentation.
      	* doc/Makefile.in: Regenerate.
      6ba33b18
    • Jonathan Wakely's avatar
      libstdc++: Regenerate HTML docs · 97d4aaf1
      Jonathan Wakely authored
      libstdc++-v3/ChangeLog:
      
      	* doc/html/*: Regenerate.
      97d4aaf1
    • Jonny Grant's avatar
      libstdc++: Update copyright year in FAQ · dbec2e81
      Jonny Grant authored
      libstdc++-v3/ChangeLog:
      
      	* doc/xml/faq.xml: Update copyright year.
      dbec2e81
    • Jonathan Wakely's avatar
      libstdc++: Fix typo in comment · a1d4d92d
      Jonathan Wakely authored
      Reported by Jonny Grant.
      
      libstdc++-v3/ChangeLog:
      
      	* include/bits/allocator.h: Fix typo in comment.
      a1d4d92d
    • Richard Biener's avatar
      tree-optimization/109046 - re-combine complex loads · eb337d28
      Richard Biener authored
      The following addresses PR109046 by adding an optimization to forwprop
      to combine a piecewise complex load to a complex load when there are
      no other uses of the components.  That's something useful in general and
      easier to do than avoiding the splitting in complex lowering.
      
      The testcase exercises both the manual and the complex lowering case.
      
      	PR tree-optimization/109046
      	* tree-ssa-forwprop.cc (pass_forwprop::execute): Combine
      	piecewise complex loads.
      
      	* gcc.dg/tree-ssa/forwprop-39.c: New testcase.
      eb337d28
    • GCC Administrator's avatar
      Daily bump. · 44ea7318
      GCC Administrator authored
      44ea7318
    • Jakub Jelinek's avatar
      aarch64: Add bfloat16_t support for aarch64 · 13071c3c
      Jakub Jelinek authored
      x86_64/i686 has for a few months working std::bfloat16_t support, __bf16
      there is no longer a storage only type, but can be used for arithmetics
      and is supported in libgcc and libstdc++.
      
      The following patch adds similar support for AArch64.
      
      Unlike the x86 changes, this one keeps the old __bf16 mangling of
      u6__bf16 rather than DF16b (so an exception from Itanium ABI), but
      otherwise __bf16 and decltype (0.0bf16) are the same type and both
      in C++ act as extended floating-point type.
      
      2023-03-13  Jakub Jelinek  <jakub@redhat.com>
      
      gcc/
      	* config/aarch64/aarch64.h (aarch64_bf16_type_node): Remove.
      	(aarch64_bf16_ptr_type_node): Adjust comment.
      	* config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr): Use
      	bfloat16_type_node rather than aarch64_bf16_type_node.
      	(aarch64_libgcc_floating_mode_supported_p,
      	aarch64_scalar_mode_supported_p): Also support BFmode.
      	(aarch64_invalid_conversion, aarch64_invalid_unary_op): Remove.
      	(aarch64_invalid_binary_op): Remove BFmo...
      13071c3c
    • Roger Sayle's avatar
      PR middle-end/109031: Fix final value replacement from narrower IVs. · eb1d8df7
      Roger Sayle authored
      This patch fixes a P1 regression, a problem with my February 2022 patch
      to improve folding for final value replacement:
      https://gcc.gnu.org/pipermail/gcc-patches/2022-February/590618.html
      
      The motivation for the original patch is that because we know the number
      of loop iterations can't be negative, final value expressions such as
      (int) ((unsigned int) x + 4294967295) + 1 can be simplified to x,
      as this is effectively ((x - 1) + 1) without overflow.
      
      The bug/oversight is that using integer_all_onesp to check for the
      implicit tree constant -1 it didn't consider that the inner (unsigned)
      type might be narrower than hthe outer result type.  For the case in the
      PR, (int)((unsigned char)x + 255) + 1 gets simplified to (int)x, but
      when x is originally zero, the correct result should be 256.
      
      The fix is to check that the inner type's precision (the width of the
      subtraction) is at least as wide as the result type (that of the addition).
      
      I've also added a test for signed types, but without -fwrapv this
      invokes undefined behaviour, and with -fwrapv it doesn't exhibit the
      problem in the PR.
      
      2023-03-12  Roger Sayle  <roger@nextmovesoftware.com>
      
      gcc/ChangeLog
      	PR middle-end/109031
      	* tree-chrec.cc (chrec_apply): When folding "{a, +, a} (x-1)",
      	ensure that the type of x is as wide or wider than the type of a.
      
      gcc/testsuite/ChangeLog
      	PR middle-end/109031
      	* gcc.dg/tree-ssa/pr109031-1.c: New test case.
      	* gcc.dg/tree-ssa/pr109031-2.c: Likewise.
      eb1d8df7
    • Tamar Christina's avatar
      AArch64: Update div-bitmask to implement new optab instead of target hook [PR108583] · f23dc726
      Tamar Christina authored
      This replaces the custom division hook with just an implementation through
      add_highpart.  For NEON we implement the add highpart (Addition + extraction of
      the upper highpart of the register in the same precision) as ADD + LSR.
      
      This representation allows us to easily optimize the sequence using existing
      sequences. This gets us a pretty decent sequence using SRA:
      
              umull   v1.8h, v0.8b, v3.8b
              umull2  v0.8h, v0.16b, v3.16b
              add     v5.8h, v1.8h, v2.8h
              add     v4.8h, v0.8h, v2.8h
              usra    v1.8h, v5.8h, 8
              usra    v0.8h, v4.8h, 8
              uzp2    v1.16b, v1.16b, v0.16b
      
      To get the most optimal sequence however we match (a + ((b + c) >> n)) where n
      is half the precision of the mode of the operation into addhn + uaddw which is
      a general good optimization on its own and gets us back to:
      
      .L4:
              ldr     q0, [x3]
              umull   v1.8h, v0.8b, v5.8b
              umull2  v0.8h, v0.16b, v5.16b
              addhn   v3.8b, v1.8h, v4.8h
              addhn   v2.8b, v0.8h, v4.8h
              uaddw   v1.8h, v1.8h, v3.8b
              uaddw   v0.8h, v0.8h, v2.8b
              uzp2    v1.16b, v1.16b, v0.16b
              str     q1, [x3], 16
              cmp     x3, x4
              bne     .L4
      
      For SVE2 we optimize the initial sequence to the same ADD + LSR which gets us:
      
      .L3:
              ld1b    z0.h, p0/z, [x0, x3]
              mul     z0.h, p1/m, z0.h, z2.h
              add     z1.h, z0.h, z3.h
              usra    z0.h, z1.h, #8
              lsr     z0.h, z0.h, #8
              st1b    z0.h, p0, [x0, x3]
              inch    x3
              whilelo p0.h, w3, w2
              b.any   .L3
      .L1:
              ret
      
      and to get the most optimal sequence I match (a + b) >> n (same constraint on n)
      to addhnb which gets us to:
      
      .L3:
              ld1b    z0.h, p0/z, [x0, x3]
              mul     z0.h, p1/m, z0.h, z2.h
              addhnb  z1.b, z0.h, z3.h
              addhnb  z0.b, z0.h, z1.h
              st1b    z0.h, p0, [x0, x3]
              inch    x3
              whilelo p0.h, w3, w2
              b.any   .L3
      
      There are multiple RTL representations possible for these optimizations, I did
      not represent them using a zero_extend because we seem very inconsistent in this
      in the backend.  Since they are unspecs we won't match them from vector ops
      anyway. I figured maintainers would prefer this, but my maintainer ouija board
      is still out for repairs :)
      
      There are no new test as new correctness tests were added to the mid-end and
      the existing codegen tests for this already exist.
      
      gcc/ChangeLog:
      
      	PR target/108583
      	* config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): Remove.
      	(*bitmask_shift_plus<mode>): New.
      	* config/aarch64/aarch64-sve2.md (*bitmask_shift_plus<mode>): New.
      	(@aarch64_bitmask_udiv<mode>3): Remove.
      	* config/aarch64/aarch64.cc
      	(aarch64_vectorize_can_special_div_by_constant,
      	TARGET_VECTORIZE_CAN_SPECIAL_DIV_BY_CONST): Removed.
      	(TARGET_VECTORIZE_PREFERRED_DIV_AS_SHIFTS_OVER_MULT,
      	aarch64_vectorize_preferred_div_as_shifts_over_mult): New.
      f23dc726
    • Tamar Christina's avatar
      middle-end: Implement preferred_div_as_shifts_over_mult [PR108583] · 81fd62d1
      Tamar Christina authored
      This now implements a hook
      preferred_div_as_shifts_over_mult that indicates whether a target prefers that
      the vectorizer decomposes division as shifts rather than multiplication when
      possible.
      
      In order to be able to use this we need to check whether the current precision
      has enough bits to do the operation without any of the additions overflowing.
      
      We use range information to determine this and only do the operation if we're
      sure am overflow won't occur. This now uses ranger to do this range check.
      
      This seems to work better than vect_get_range_info which uses range_query, but I
      have not switched the interface of vect_get_range_info over in this PR fix.
      
      As Andy said before initializing a ranger instance is cheap but not free, and if
      the intention is to call it often during a pass it should be instantiated at
      pass startup and passed along to the places that need it.  This is a big
      refactoring and doesn't seem right to do in this PR.  But we should in GCC 14.
      
      Currently we only instantiate it after a long series of much cheaper checks.
      
      gcc/ChangeLog:
      
      	PR target/108583
      	* target.def (preferred_div_as_shifts_over_mult): New.
      	* doc/tm.texi.in: Document it.
      	* doc/tm.texi: Regenerate.
      	* targhooks.cc (default_preferred_div_as_shifts_over_mult): New.
      	* targhooks.h (default_preferred_div_as_shifts_over_mult): New.
      	* tree-vect-patterns.cc (vect_recog_divmod_pattern): Use it.
      
      gcc/testsuite/ChangeLog:
      
      	PR target/108583
      	* gcc.dg/vect/vect-div-bitmask-4.c: New test.
      	* gcc.dg/vect/vect-div-bitmask-5.c: New test.
      81fd62d1
    • Tamar Christina's avatar
      middle-end: don't form FMAs when multiplication is not single use. [PR108583] · 0b3c630f
      Tamar Christina authored
      
      
      The testcase
      
      typedef unsigned int vec __attribute__((vector_size(32)));
      vec
      f3 (vec a, vec b, vec c)
      {
        vec d = a * b;
        return d + ((c + d) >> 1);
      }
      
      shows a case where we don't want to form an FMA due to the MUL not being single
      use.  In this case to form an FMA we have to redo the MUL as well as we no
      longer have it to share.
      
      As such making an FMA here would be a de-optimization.
      
      gcc/ChangeLog:
      
      	PR target/108583
      	* tree-ssa-math-opts.cc (convert_mult_to_fma): Inhibit FMA in case not
      	single use.
      
      gcc/testsuite/ChangeLog:
      
      	PR target/108583
      	* gcc.dg/mla_1.c: New test.
      
      Co-Authored-By: default avatarRichard Sandiford <richard.sandiford@arm.com>
      0b3c630f
    • Tamar Christina's avatar
      ranger: Add range-ops for widen addition and widen multiplication [PR108583] · 03c6ba86
      Tamar Christina authored
      
      
      This adds range-ops for widening addition and widening multiplication.
      
      I couldn't figure out how to write a test for this.  It looks like there are
      self tests but not a way to write standalone ones?  I did create testcases in
      the patch 3/4 which tests the end result.
      
      gcc/ChangeLog:
      
      	PR target/108583
      	* gimple-range-op.h (gimple_range_op_handler): Add maybe_non_standard.
      	* gimple-range-op.cc (gimple_range_op_handler::gimple_range_op_handler):
      	Use it.
      	(gimple_range_op_handler::maybe_non_standard): New.
      	* range-op.cc (class operator_widen_plus_signed,
      	operator_widen_plus_signed::wi_fold, class operator_widen_plus_unsigned,
      	operator_widen_plus_unsigned::wi_fold, class operator_widen_mult_signed,
      	operator_widen_mult_signed::wi_fold, class operator_widen_mult_unsigned,
      	operator_widen_mult_unsigned::wi_fold,
      	ptr_op_widen_mult_signed, ptr_op_widen_mult_unsigned,
      	ptr_op_widen_plus_signed, ptr_op_widen_plus_unsigned): New.
      	* range-op.h (ptr_op_widen_mult_signed, ptr_op_widen_mult_unsigned,
      	ptr_op_widen_plus_signed, ptr_op_widen_plus_unsigned): New
      
      Co-Authored-By: default avatarAndrew MacLeod <amacleod@redhat.com>
      03c6ba86
    • Tamar Christina's avatar
      middle-end: Revert can_special_div_by_const changes [PR108583] · 2246d576
      Tamar Christina authored
      This reverts the changes for the CAN_SPECIAL_DIV_BY_CONST hook.
      
      gcc/ChangeLog:
      
      	PR target/108583
      	* doc/tm.texi (TARGET_VECTORIZE_CAN_SPECIAL_DIV_BY_CONST): Remove.
      	* doc/tm.texi.in: Likewise.
      	* explow.cc (round_push, align_dynamic_address): Revert previous patch.
      	* expmed.cc (expand_divmod): Likewise.
      	* expmed.h (expand_divmod): Likewise.
      	* expr.cc (force_operand, expand_expr_divmod): Likewise.
      	* optabs.cc (expand_doubleword_mod, expand_doubleword_divmod): Likewise.
      	* target.def (can_special_div_by_const): Remove.
      	* target.h: Remove tree-core.h include
      	* targhooks.cc (default_can_special_div_by_const): Remove.
      	* targhooks.h (default_can_special_div_by_const): Remove.
      	* tree-vect-generic.cc (expand_vector_operation): Remove hook.
      	* tree-vect-patterns.cc (vect_recog_divmod_pattern): Remove hook.
      	* tree-vect-stmts.cc (vectorizable_operation): Remove hook.
      2246d576
    • Sandra Loosemore's avatar
      Docs: Fix typo in previous commit · 8536c091
      Sandra Loosemore authored
      gcc/ChangeLog:
      	* doc/install.texi2html: Fix issue number typo in comment.
      8536c091
  3. Mar 12, 2023
    • Gaius Mulley's avatar
      [PR modula2/109089] implementation of boolean should be C++/C bool · 431c0669
      Gaius Mulley authored
      
      
      [PR modula2/109089].  This patch implements BOOLEAN using bool
      (boolean_type_node) thoughout cc1gm2.  The patch also includes a
      patched version of the bootstrap tool mc.
      
      gcc/ChangeLog:
      
      	* doc/gm2.texi (Elementary data types): Equivalence BOOLEAN with
      	bool.
      
      gcc/m2/ChangeLog:
      
      	PR modula2/109089
      	* gm2-compiler/M2GCCDeclare.mod (DeclareKnownType): Import.
      	* gm2-gcc/gcc-consolidation.h (stdbool.h): Include.
      	* gm2-gcc/init.h (defined): Change block start.
      	* gm2-gcc/m2block.cc: Change FALSE to false, change TRUE to true.
      	* gm2-gcc/m2block.h: Change int to bool.
      	* gm2-gcc/m2builtins.cc: Ditto.
      	* gm2-gcc/m2builtins.h: Ditto.
      	* gm2-gcc/m2convert.cc: Change FALSE to false, TRUE to true and
      	int to bool.
      	* gm2-gcc/m2convert.h: Change int to bool.
      	* gm2-gcc/m2decl.cc: Change int to bool.
      	* gm2-gcc/m2decl.h: Change int to bool.
      	* gm2-gcc/m2expr.cc: Change FALSE to false, TRUE to true and
      	int to bool.
      	* gm2-gcc/m2expr.h: Change int to bool.
      	* gm2-gcc/m2statement.cc: Change FALSE to false, TRUE to true and
      	int to bool.
      	* gm2-gcc/m2statement.h: Change int to bool.
      	* gm2-gcc/m2top.cc: Change int to bool.
      	* gm2-gcc/m2top.h: Change int to bool.
      	* gm2-gcc/m2tree.cc: Change int to bool.
      	* gm2-gcc/m2tree.h: Change int to bool.
      	* gm2-gcc/m2type.cc: Change int to bool.
      	* gm2-gcc/m2type.h: Change int to bool.
      	* gm2-lang.cc (convert_loc): Call convert_to_integer for BOOLEAN_TYPE.
      	* gm2-libs/Builtins.def (isfinitef): Change return value from
      	BOOLEAN to INTEGER.
      	(isfinite): Ditto.
      	(isfinitel): Ditto.
      	* gm2-libs/Builtins.mod (isfinitef): Change return value from
      	BOOLEAN to INTEGER.
      	(isfinite): Ditto.
      	(isfinitel): Ditto.
      	* mc-boot/GASCII.cc: Rebuild.
      	* mc-boot/GASCII.h: Rebuild.
      	* mc-boot/GArgs.cc: Rebuild.
      	* mc-boot/GArgs.h: Rebuild.
      	* mc-boot/GAssertion.cc: Rebuild.
      	* mc-boot/GAssertion.h: Rebuild.
      	* mc-boot/GBreak.cc: Rebuild.
      	* mc-boot/GBreak.h: Rebuild.
      	* mc-boot/GCOROUTINES.h: Rebuild.
      	* mc-boot/GCmdArgs.cc: Rebuild.
      	* mc-boot/GCmdArgs.h: Rebuild.
      	* mc-boot/GDebug.cc: Rebuild.
      	* mc-boot/GDebug.h: Rebuild.
      	* mc-boot/GDynamicStrings.cc: Rebuild.
      	* mc-boot/GDynamicStrings.h: Rebuild.
      	* mc-boot/GEnvironment.cc: Rebuild.
      	* mc-boot/GEnvironment.h: Rebuild.
      	* mc-boot/GFIO.cc: Rebuild.
      	* mc-boot/GFIO.h: Rebuild.
      	* mc-boot/GFormatStrings.cc: Rebuild.
      	* mc-boot/GFormatStrings.h: Rebuild.
      	* mc-boot/GFpuIO.cc: Rebuild.
      	* mc-boot/GFpuIO.h: Rebuild.
      	* mc-boot/GIO.cc: Rebuild.
      	* mc-boot/GIO.h: Rebuild.
      	* mc-boot/GIndexing.cc: Rebuild.
      	* mc-boot/GIndexing.h: Rebuild.
      	* mc-boot/GM2Dependent.cc: Rebuild.
      	* mc-boot/GM2Dependent.h: Rebuild.
      	* mc-boot/GM2EXCEPTION.cc: Rebuild.
      	* mc-boot/GM2EXCEPTION.h: Rebuild.
      	* mc-boot/GM2LINK.h: Rebuild.
      	* mc-boot/GM2RTS.cc: Rebuild.
      	* mc-boot/GM2RTS.h: Rebuild.
      	* mc-boot/GMemUtils.cc: Rebuild.
      	* mc-boot/GMemUtils.h: Rebuild.
      	* mc-boot/GNumberIO.cc: Rebuild.
      	* mc-boot/GNumberIO.h: Rebuild.
      	* mc-boot/GPushBackInput.cc: Rebuild.
      	* mc-boot/GPushBackInput.h: Rebuild.
      	* mc-boot/GRTExceptions.cc: Rebuild.
      	* mc-boot/GRTExceptions.h: Rebuild.
      	* mc-boot/GRTco.h: Rebuild.
      	* mc-boot/GRTentity.h: Rebuild.
      	* mc-boot/GRTint.cc: Rebuild.
      	* mc-boot/GRTint.h: Rebuild.
      	* mc-boot/GSArgs.cc: Rebuild.
      	* mc-boot/GSArgs.h: Rebuild.
      	* mc-boot/GSFIO.cc: Rebuild.
      	* mc-boot/GSFIO.h: Rebuild.
      	* mc-boot/GSYSTEM.h: Rebuild.
      	* mc-boot/GSelective.h: Rebuild.
      	* mc-boot/GStdIO.cc: Rebuild.
      	* mc-boot/GStdIO.h: Rebuild.
      	* mc-boot/GStorage.cc: Rebuild.
      	* mc-boot/GStorage.h: Rebuild.
      	* mc-boot/GStrCase.cc: Rebuild.
      	* mc-boot/GStrCase.h: Rebuild.
      	* mc-boot/GStrIO.cc: Rebuild.
      	* mc-boot/GStrIO.h: Rebuild.
      	* mc-boot/GStrLib.cc: Rebuild.
      	* mc-boot/GStrLib.h: Rebuild.
      	* mc-boot/GStringConvert.cc: Rebuild.
      	* mc-boot/GStringConvert.h: Rebuild.
      	* mc-boot/GSysExceptions.h: Rebuild.
      	* mc-boot/GSysStorage.cc: Rebuild.
      	* mc-boot/GSysStorage.h: Rebuild.
      	* mc-boot/GTimeString.cc: Rebuild.
      	* mc-boot/GTimeString.h: Rebuild.
      	* mc-boot/GUnixArgs.h: Rebuild.
      	* mc-boot/Galists.cc: Rebuild.
      	* mc-boot/Galists.h: Rebuild.
      	* mc-boot/Gdecl.cc: Rebuild.
      	* mc-boot/Gdecl.h: Rebuild.
      	* mc-boot/Gdtoa.h: Rebuild.
      	* mc-boot/Gerrno.h: Rebuild.
      	* mc-boot/Gkeyc.cc: Rebuild.
      	* mc-boot/Gkeyc.h: Rebuild.
      	* mc-boot/Gldtoa.h: Rebuild.
      	* mc-boot/Glibc.h: Rebuild.
      	* mc-boot/Glibm.h: Rebuild.
      	* mc-boot/Glists.cc: Rebuild.
      	* mc-boot/Glists.h: Rebuild.
      	* mc-boot/GmcComment.cc: Rebuild.
      	* mc-boot/GmcComment.h: Rebuild.
      	* mc-boot/GmcComp.cc: Rebuild.
      	* mc-boot/GmcComp.h: Rebuild.
      	* mc-boot/GmcDebug.cc: Rebuild.
      	* mc-boot/GmcDebug.h: Rebuild.
      	* mc-boot/GmcError.cc: Rebuild.
      	* mc-boot/GmcError.h: Rebuild.
      	* mc-boot/GmcFileName.cc: Rebuild.
      	* mc-boot/GmcFileName.h: Rebuild.
      	* mc-boot/GmcLexBuf.cc: Rebuild.
      	* mc-boot/GmcLexBuf.h: Rebuild.
      	* mc-boot/GmcMetaError.cc: Rebuild.
      	* mc-boot/GmcMetaError.h: Rebuild.
      	* mc-boot/GmcOptions.cc: Rebuild.
      	* mc-boot/GmcOptions.h: Rebuild.
      	* mc-boot/GmcPreprocess.cc: Rebuild.
      	* mc-boot/GmcPreprocess.h: Rebuild.
      	* mc-boot/GmcPretty.cc: Rebuild.
      	* mc-boot/GmcPretty.h: Rebuild.
      	* mc-boot/GmcPrintf.cc: Rebuild.
      	* mc-boot/GmcPrintf.h: Rebuild.
      	* mc-boot/GmcQuiet.cc: Rebuild.
      	* mc-boot/GmcQuiet.h: Rebuild.
      	* mc-boot/GmcReserved.cc: Rebuild.
      	* mc-boot/GmcReserved.h: Rebuild.
      	* mc-boot/GmcSearch.cc: Rebuild.
      	* mc-boot/GmcSearch.h: Rebuild.
      	* mc-boot/GmcStack.cc: Rebuild.
      	* mc-boot/GmcStack.h: Rebuild.
      	* mc-boot/GmcStream.cc: Rebuild.
      	* mc-boot/GmcStream.h: Rebuild.
      	* mc-boot/Gmcflex.h: Rebuild.
      	* mc-boot/Gmcp1.cc: Rebuild.
      	* mc-boot/Gmcp1.h: Rebuild.
      	* mc-boot/Gmcp2.cc: Rebuild.
      	* mc-boot/Gmcp2.h: Rebuild.
      	* mc-boot/Gmcp3.cc: Rebuild.
      	* mc-boot/Gmcp3.h: Rebuild.
      	* mc-boot/Gmcp4.cc: Rebuild.
      	* mc-boot/Gmcp4.h: Rebuild.
      	* mc-boot/Gmcp5.cc: Rebuild.
      	* mc-boot/Gmcp5.h: Rebuild.
      	* mc-boot/GnameKey.cc: Rebuild.
      	* mc-boot/GnameKey.h: Rebuild.
      	* mc-boot/GsymbolKey.cc: Rebuild.
      	* mc-boot/GsymbolKey.h: Rebuild.
      	* mc-boot/Gtermios.h: Rebuild.
      	* mc-boot/Gtop.cc: Rebuild.
      	* mc-boot/Gvarargs.cc: Rebuild.
      	* mc-boot/Gvarargs.h: Rebuild.
      	* mc-boot/Gwlists.cc: Rebuild.
      	* mc-boot/Gwlists.h: Rebuild.
      	* mc-boot/Gwrapc.h: Rebuild.
      	* mc/decl.mod (doBoolC): New procedure.
      	(doBaseC): Call doBoolC.
      	* mc/keyc.mod: Import useBool.
      	(genBool): New procedure.
      	(genDefs): Call genBool.
      	* mc/mcOptions.def (useBool): New procedure.
      	* mc/mcOptions.mod (useBool): New procedure.
      	(useBoolType): New variable.
      	(optionIs): Assign useBoolType to TRUE.
      
      gcc/testsuite/ChangeLog:
      
      	PR modula2/109089
      	* gm2/pimlib/run/pass/limittests.mod: Rewritten to reflect
      	the external definitions of isfinite.
      
      Signed-off-by: default avatarGaius Mulley <gaiusmod2@gmail.com>
      431c0669
    • Gerald Pfeifer's avatar
      libstdc++: Move www.graphviz.org to https · fa0ecd22
      Gerald Pfeifer authored
      libstdc++-v3/ChangeLog:
      
      	* doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
      	to https.
      	* doc/html/manual/documentation_hacking.html: Regenerate.
      fa0ecd22
    • Sandra Loosemore's avatar
      Docs: Clean up description of asan-kernel-mem-intrinsic-prefix. · f56ed5b3
      Sandra Loosemore authored
      gcc/ChangeLog:
      	* doc/invoke.texi (Optimize Options):  Add markup to
      	description of asan-kernel-mem-intrinsic-prefix, and clarify
      	wording slightly.
      f56ed5b3
    • Jonathan Yong's avatar
      gcc/testsuite/gcc.dg: Fix LLP64 targets · 1dced435
      Jonathan Yong authored
      
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/builtins-69.c: Use (long )*regex pattern to
      	allow long long instead of just long.
      	* gcc.dg/pr80163.c: Use __INTPTR_TYPE__ for LLP64 tagets.
      
      Signed-off-by: default avatarJonathan Yong <10walls@gmail.com>
      1dced435
    • Jonathan Yong's avatar
      gcc.c-torture/compile/103818.c: Enable for llp64 too · 9f3214a5
      Jonathan Yong authored
      
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.c-torture/compile/103818.c: Enable test for llp64.
      
      Signed-off-by: default avatarJonathan Yong <10walls@gmail.com>
      9f3214a5
    • GCC Administrator's avatar
      Daily bump. · ed65cebf
      GCC Administrator authored
      ed65cebf
    • Gerald Pfeifer's avatar
      doc: Drop a redundant link to AVR-LibC · 1be72408
      Gerald Pfeifer authored
      gcc/ChangeLog:
      
      	* doc/extend.texi (Named Address Spaces): Drop a redundant link
      	to AVR-LibC.
      1be72408
    • Jeff Law's avatar
      Fwd: [PATCHJ]: Bugzilla 88860 - Clarify online manual infelicities · d9922e4b
      Jeff Law authored
      gcc/
      	PR web/88860
      	* doc/extend.texi: Clarify Attribute Syntax a bit.
      d9922e4b
    • Cupertino Miranda's avatar
      Re: [PATCH 2/2] Corrected pr25521.c target matching. · 23ff4645
      Cupertino Miranda authored
      gcc/testsuite:
      	* gcc.dg/pr25521.c: Skip for !const_volatile_readonly_section
      	targets.  Adjust expected output.
      
      	* lib/target-supports.exp
      	(check_effective_target_const_volatile_readonly_section): New
      23ff4645