- Mar 14, 2023
-
-
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.
-
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.
-
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.
-
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.
-
Nandni Jamnadas authored
* gcc/doc/extend.texi: Documentation on 142 SIMD Built-ins for 220 SIMD instructions.
-
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.
-
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. -
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. -
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:Mary Bennett <mary.bennett@embecosm.com>
-
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:Mary Bennett <mary.bennett@embecosm.com>
-
Nandni Jamnadas authored
* gcc/config/riscv/riscv.md: Changed the use of pointer (P) mode to single integer (SI) mode. Signed-off-by:Nandni Jamnadas <nandni.jamnadas@embecosm.com>
-
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:Nandni Jamnadas <nandni.jamnadas@embecosm.com>
-
- Mar 13, 2023
-
-
Jeremy Bennett authored
Files changed: * README: Add CORE-V preamble. Signed-off-by:Jeremy Bennett <jeremy.bennett@embecosm.com>
-
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.
-
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. -
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.
-
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.
-
Jonathan Wakely authored
libstdc++-v3/ChangeLog: * doc/Makefile.am: Add comment referring to documentation. * doc/Makefile.in: Regenerate.
-
Jonathan Wakely authored
libstdc++-v3/ChangeLog: * doc/html/*: Regenerate.
-
Jonny Grant authored
libstdc++-v3/ChangeLog: * doc/xml/faq.xml: Update copyright year.
-
Jonathan Wakely authored
Reported by Jonny Grant. libstdc++-v3/ChangeLog: * include/bits/allocator.h: Fix typo in comment.
-
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.
-
GCC Administrator authored
-
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...
-
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.
-
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. -
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.
-
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:Richard Sandiford <richard.sandiford@arm.com>
-
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:Andrew MacLeod <amacleod@redhat.com>
-
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.
-
Sandra Loosemore authored
gcc/ChangeLog: * doc/install.texi2html: Fix issue number typo in comment.
-
- Mar 12, 2023
-
-
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:Gaius Mulley <gaiusmod2@gmail.com>
-
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.
-
Sandra Loosemore authored
gcc/ChangeLog: * doc/invoke.texi (Optimize Options): Add markup to description of asan-kernel-mem-intrinsic-prefix, and clarify wording slightly.
-
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:Jonathan Yong <10walls@gmail.com>
-
Jonathan Yong authored
gcc/testsuite/ChangeLog: * gcc.c-torture/compile/103818.c: Enable test for llp64. Signed-off-by:Jonathan Yong <10walls@gmail.com>
-
GCC Administrator authored
-
Gerald Pfeifer authored
gcc/ChangeLog: * doc/extend.texi (Named Address Spaces): Drop a redundant link to AVR-LibC.
-
Jeff Law authored
gcc/ PR web/88860 * doc/extend.texi: Clarify Attribute Syntax a bit.
-
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
-