From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id BC5273858404; Mon, 23 Jan 2023 21:18:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BC5273858404 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1674508717; bh=mWtCifyKlMvpgLue3zrNi3vWgtozuFOv8oVwr5am+wo=; h=From:To:Subject:Date:From; b=yVy06In9NAOdmHFeOHLyfyYY5nshCWXR6spq3ZPrKM4o4BnyGMUIfVsWpdiP5W+mg p9tW/SHbAJnfJ+TIlfqMATyJXsenJbA9PBActreDwy7FY7ziG3Rb9tWUVDicY3aSe+ /gphbOaAC4WKsC4Q6EqICBMnW+LtDCqXB99QPMoQ= 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/dmf007)] 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/dmf007 X-Git-Oldrev: f953537eb3c7e2d291a8ef5afbdc6c03b27ad491 X-Git-Newrev: c25146c236da9f141f33743bb953764cb6ef6295 Message-Id: <20230123211837.BC5273858404@sourceware.org> Date: Mon, 23 Jan 2023 21:18:37 +0000 (GMT) List-Id: https://gcc.gnu.org/g:c25146c236da9f141f33743bb953764cb6ef6295 commit c25146c236da9f141f33743bb953764cb6ef6295 Author: Michael Meissner Date: Fri Jan 20 18:54:33 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-10-20 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 \