From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id 09D363858C30; Thu, 2 Feb 2023 19:53:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 09D363858C30 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1675367587; bh=N9IYriXs9DrRPTuH12wednRNiEd/fQQR40k4jAIcngU=; h=From:To:Subject:Date:From; b=bkMkphBt07yYJObV2rn7Nn2GVyV8jak2ay1RuNe+K+4dqi+Eaz84vh+t15xK2ajjB X0iWNON/u8McJTIcejWEuvRFW2NIpxC+vjWvGqqhtpkl96G44u1yGgpAOe/7z6Y9V7 5HAx5CtmYQ+G2dPpxIELkh4+GXtWCu/CUTipsaro= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Michael Meissner To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/meissner/heads/dmf008)] PowerPC: Make -mcpu=future enable -mblock-ops-vector-pair. X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/dmf008 X-Git-Oldrev: 52dfcc1c2f0e656032058aa2cd29e1a98fe3c063 X-Git-Newrev: 3708f3b413cdb62036ebcdf4f8721ad74852cfbd Message-Id: <20230202195307.09D363858C30@sourceware.org> Date: Thu, 2 Feb 2023 19:53:07 +0000 (GMT) List-Id: https://gcc.gnu.org/g:3708f3b413cdb62036ebcdf4f8721ad74852cfbd commit 3708f3b413cdb62036ebcdf4f8721ad74852cfbd Author: Michael Meissner Date: Thu Feb 2 14:17:19 2023 -0500 PowerPC: Make -mcpu=future enable -mblock-ops-vector-pair. This patch enables generating load and store vector pair instructions when doing certain memory copy operations when -mcpu=future is used. In doing tests on power10, it was determined that using these instructions were problematical in a few cases, so we disabled generating them by default. This patch re-enabled generating these instructions if -mcpu=future is used. The patches have been tested on the following platforms. I added the patches for PR target/107299 that I submitted on November 2nd before doing the builds so that GCC would build on systems using IEEE 128-bit long double. * https://gcc.gnu.org/pipermail/gcc-patches/2022-November/604834.html There were no regressions with doing bootstrap builds and running the regression tests: 1) Power10 LE using --with-cpu=power10 --with-long-double-format=ieee; 2) Power10 LE using --with-cpu=power10 --with-long-double-format=ibm; 3) Power9 LE using --with-cpu=power9 --with-long-double-format=ibm; and 4) Power8 BE using --with-cpu=power8 (both 32-bit & 64-bit tested). Can I check this patch into the GCC 13 master branch? 2023-02-02 Michael Meissner gcc/ * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS): Add -mblock-ops-vector-pair. (POWERPC_MASKS): Likewise. Diff: --- gcc/config/rs6000/rs6000-cpus.def | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def index deb4ea1c980..b9a4d9ad76e 100644 --- a/gcc/config/rs6000/rs6000-cpus.def +++ b/gcc/config/rs6000/rs6000-cpus.def @@ -88,6 +88,7 @@ /* Flags for a potential future processor that may or may not be delivered. */ #define ISA_FUTURE_MASKS (ISA_3_1_MASKS_SERVER \ + | OPTION_MASK_BLOCK_OPS_VECTOR_PAIR \ | OPTION_MASK_FUTURE) /* Flags that need to be turned off if -mno-power9-vector. */ @@ -125,6 +126,7 @@ /* Mask of all options to set the default isa flags based on -mcpu=. */ #define POWERPC_MASKS (OPTION_MASK_ALTIVEC \ + | OPTION_MASK_BLOCK_OPS_VECTOR_PAIR \ | OPTION_MASK_CMPB \ | OPTION_MASK_CRYPTO \ | OPTION_MASK_DFP \