From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id F3D34385189C; Tue, 15 Nov 2022 01:00:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F3D34385189C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1668474006; bh=EeQWiI3r6GBaUedX7UbLtaNiAoACKlfOtIFAp7mMuxo=; h=From:To:Subject:Date:From; b=iDR1n04cpbRn9ESNUfO/4ZzbgrsFOA0ZRIGSSYF3AKxI1H9TBp8ije+qNdg5/y6Op j6rQRJEysbe1I8M6uOvE/nwTM92w01KApdjiMcgOlPamU4bOfa19oSVIKM+9JS9mAV DnjTomsFbmFaqD55/q9OrH5v+sTsL0L0iJ824u7w= 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: a2e1c0fa8dc467907ef551d8c6e03baf2c5f99d5 X-Git-Newrev: c99944842efc1a3324c49e67e66367d6c794f3cd Message-Id: <20221115010005.F3D34385189C@sourceware.org> Date: Tue, 15 Nov 2022 01:00:05 +0000 (GMT) List-Id: https://gcc.gnu.org/g:c99944842efc1a3324c49e67e66367d6c794f3cd commit c99944842efc1a3324c49e67e66367d6c794f3cd 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.