From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id 00214384F6D3; Thu, 17 Nov 2022 21:54:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 00214384F6D3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1668722060; bh=zBe+ua43A7LjA6Rm79o1X7LVrz5OuJfOY9alkK/1mP4=; h=From:To:Subject:Date:From; b=OMmXurCDPB60X2whi2ITc+EdN9W12Uyhk0k5JzBrdCZTU4Mclu5qmBPUnVCjUEMMU LGVVGg6qLk3SpG+CCxQgaL6PqKFL3Kknpn5qlm9mfY5j2yp0R/BsITfXQvgONGGSNm fcYAnMF4fcn6DYBOV8BWxYl0oR1QGBuqI6ujNR3k= 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/dmf004)] Update ChangeLog.meissner. X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/dmf004 X-Git-Oldrev: 65b1ab1e15183dc06bc00e0ad0ae546731ed513b X-Git-Newrev: 351194afe0231d20d1321bf24446b2a0dfdc688f Message-Id: <20221117215420.00214384F6D3@sourceware.org> Date: Thu, 17 Nov 2022 21:54:19 +0000 (GMT) List-Id: https://gcc.gnu.org/g:351194afe0231d20d1321bf24446b2a0dfdc688f commit 351194afe0231d20d1321bf24446b2a0dfdc688f Author: Michael Meissner Date: Mon Nov 14 19:59:48 2022 -0500 Update ChangeLog.meissner. 2022-11-14 Michael Meissner gcc/ * ChangeLog.meissner: Update. Diff: --- gcc/ChangeLog.meissner | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner index 3fa2264624b..df595d768f6 100644 --- a/gcc/ChangeLog.meissner +++ b/gcc/ChangeLog.meissner @@ -1,3 +1,26 @@ +==================== Dmf004 branch, patch #20. + +Use lxvl and stxvl for small variable memcpy moves. + +This patch adds support to generate inline code for block copy with a variable +size if the size is 16 bytes or less. If the size is more than 16 bytes, just +call memcpy. + +To handle variable sizes, I found we need DImode versions of the two insns for +copying memory (cpymem and ). + +2022-11-14 Michael Meissner + +gcc/ + + * config/rs6000/rs6000-string.cc (expand_block_move): Add support for + using lxvl and stxvl to move up to 16 bytes inline without calling + memcpy. + * config/rs6000/rs6000.md (cpymem): Expand cpymemsi to also + provide cpymemdi to handle DImode sizes as well as SImode sizes. + (movmem): Expand movmemsi to also provide movmemdi to handle + DImode sizes as well as SImode sizes. + ==================== Dmf004 branch, patch #17. Support load/store vector with right length.