From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id 0634B3858282; Mon, 4 Mar 2024 23:41:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0634B3858282 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1709595715; bh=kbOk0X8qc6zxde++DKQjSczRyoH1IO/M58zT8GXohOc=; h=From:To:Subject:Date:From; b=UsnYlCwc33Tf62T5fm7KCuULpnF2+18hkLDX8a7DLvFW0D2xRTtNpP8yxKZRpL5tp 2o6kggoMIgVMbBlvjYwkF+Xcc+ser0lTunWCVtJV2/IO6AviDJ9V1WKw1Vc1EjSjTH W650b3lB6Wd2DvahZE89PMeb1hx8dJq0pWwZJ4cs= 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/work161-dmf)] Use vector pair load/store for memcpy with -mcpu=future X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/work161-dmf X-Git-Oldrev: c31c862376c33f3e59907ffab0e4a7a71909ec44 X-Git-Newrev: 23a6bda12e8690dfb52a8a4a41bc422ab2c2b1d2 Message-Id: <20240304234155.0634B3858282@sourceware.org> Date: Mon, 4 Mar 2024 23:41:54 +0000 (GMT) List-Id: https://gcc.gnu.org/g:23a6bda12e8690dfb52a8a4a41bc422ab2c2b1d2 commit 23a6bda12e8690dfb52a8a4a41bc422ab2c2b1d2 Author: Michael Meissner Date: Mon Mar 4 14:53:19 2024 -0500 Use vector pair load/store for memcpy with -mcpu=future In the development for the power10 processor, GCC did not enable using the load vector pair and store vector pair instructions when optimizing things like memory copy. This patch enables using those instructions if -mcpu=future is used. 2024-03-04 Michael Meissner gcc/ * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Enable using load vector pair and store vector pair instructions for memory copy operations. (POWERPC_MASKS): Make the bit for enabling using load vector pair and store vector pair operations set and reset when the PowerPC processor is changed. 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 77170915615..8da1d560e49 100644 --- a/gcc/config/rs6000/rs6000-cpus.def +++ b/gcc/config/rs6000/rs6000-cpus.def @@ -92,6 +92,7 @@ /* Flags for a potential future processor that may or may not be made. */ #define ISA_FUTURE_MASKS_SERVER (ISA_POWER11_MASKS_SERVER \ + | OPTION_MASK_BLOCK_OPS_VECTOR_PAIR \ | OPTION_MASK_FUTURE) /* Flags that need to be turned off if -mno-vsx. */ @@ -123,6 +124,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 \