From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from xry111.site (xry111.site [89.208.246.23]) by sourceware.org (Postfix) with ESMTPS id 075183858D1E for ; Sat, 9 Sep 2023 07:03:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 075183858D1E Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=xry111.site Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=xry111.site DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xry111.site; s=default; t=1694243022; bh=mekiEMy3KcZZmtTfDe0Jd9XqQMnQxEUG+vcf+4Wq1Is=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=dsR8k5sxCr/1LBui4qMGI3dQ/B/Q4nn9UDBiSa8j0Ve+QoPKsgNl/zX00nUJxg/3K TlkaRRu8aVikZ8oyTKFJNBbb+fheWCKd/DZpbai7OXcInVGrhcsrgRKsdqqXX13rO8 yGtXeUtbPr1F6tcK5omG4pBereoktyvhZYW20Whg= Received: from localhost.localdomain (xry111.site [IPv6:2001:470:683e::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-384)) (Client did not present a certificate) (Authenticated sender: xry111@xry111.site) by xry111.site (Postfix) with ESMTPSA id 65D4E659C0; Sat, 9 Sep 2023 03:03:41 -0400 (EDT) Message-ID: Subject: Pushed: [PATCH v2] LoongArch: Use LSX and LASX for block move From: Xi Ruoyao To: chenglulu , gcc-patches@gcc.gnu.org Cc: Chenghui Pan , i@xen0n.name, xuchenghua@loongson.cn Date: Sat, 09 Sep 2023 15:03:40 +0800 In-Reply-To: References: <20230907161407.27338-2-xry111@xry111.site> Content-Type: multipart/mixed; boundary="=-t8Hg7XZGzGKuWhJF3sGf" User-Agent: Evolution 3.48.4 MIME-Version: 1.0 X-Spam-Status: No, score=-6.3 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,LIKELY_SPAM_FROM,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-t8Hg7XZGzGKuWhJF3sGf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Pushed r14-3818 with test cases added. The pushed patch is attached. On Sat, 2023-09-09 at 14:10 +0800, chenglulu wrote: >=20 > =E5=9C=A8 2023/9/8 =E4=B8=8A=E5=8D=8812:14, Xi Ruoyao =E5=86=99=E9=81=93: > > gcc/ChangeLog: > >=20 > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0* config/loongarch/loon= garch.h (LARCH_MAX_MOVE_PER_INSN): > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Define to the maximum a= mount of bytes able to be loaded or > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0stored with one machine= instruction. > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0* config/loongarch/loon= garch.cc (loongarch_mode_for_move_size): > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0New static function. > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0(loongarch_block_move_s= traight): Call > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0loongarch_mode_for_move= _size for machine_mode to be moved. > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0(loongarch_expand_block= _move): Use LARCH_MAX_MOVE_PER_INSN > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0instead of UNITS_PER_WO= RD. > > --- > >=20 > > Bootstrapped and regtested on loongarch64-linux-gnu, with PR110939 patc= h > > applied, the "lib_build_self_spec =3D %<..." line in t-linux commented = out > > (because it's silently making -mlasx in BOOT_CFLAGS ineffective, Yujie > > is working on a proper fix), and BOOT_CFLAGS=3D"-O3 -mlasx".=C2=A0 Ok f= or trunk? >=20 > I think test cases need to be added here. >=20 > Otherwise OK, thanks! /* snip */ --=20 Xi Ruoyao School of Aerospace Science and Technology, Xidian University --=-t8Hg7XZGzGKuWhJF3sGf Content-Disposition: attachment; filename="v2-0001-LoongArch-Use-LSX-and-LASX-for-block-move.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="v2-0001-LoongArch-Use-LSX-and-LASX-for-block-move.patch"; charset="UTF-8" RnJvbSAzNWFkYzU0YjU1YWExOTlmMTdlMmM4NGUzODI3OTJlNDI0YjYxNzFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBYaSBSdW95YW8gPHhyeTExMUB4cnkxMTEuc2l0ZT4KRGF0ZTog VHVlLCA1IFNlcCAyMDIzIDIxOjAyOjM4ICswODAwClN1YmplY3Q6IFtQQVRDSCB2Ml0gTG9vbmdB cmNoOiBVc2UgTFNYIGFuZCBMQVNYIGZvciBibG9jayBtb3ZlCgpnY2MvQ2hhbmdlTG9nOgoKCSog Y29uZmlnL2xvb25nYXJjaC9sb29uZ2FyY2guaCAoTEFSQ0hfTUFYX01PVkVfUEVSX0lOU04pOgoJ RGVmaW5lIHRvIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBieXRlcyBhYmxlIHRvIGJlIGxvYWRlZCBv cgoJc3RvcmVkIHdpdGggb25lIG1hY2hpbmUgaW5zdHJ1Y3Rpb24uCgkqIGNvbmZpZy9sb29uZ2Fy Y2gvbG9vbmdhcmNoLmNjIChsb29uZ2FyY2hfbW9kZV9mb3JfbW92ZV9zaXplKToKCU5ldyBzdGF0 aWMgZnVuY3Rpb24uCgkobG9vbmdhcmNoX2Jsb2NrX21vdmVfc3RyYWlnaHQpOiBDYWxsCglsb29u Z2FyY2hfbW9kZV9mb3JfbW92ZV9zaXplIGZvciBtYWNoaW5lX21vZGUgdG8gYmUgbW92ZWQuCgko bG9vbmdhcmNoX2V4cGFuZF9ibG9ja19tb3ZlKTogVXNlIExBUkNIX01BWF9NT1ZFX1BFUl9JTlNO CglpbnN0ZWFkIG9mIFVOSVRTX1BFUl9XT1JELgoKZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CgoJ KiBnY2MudGFyZ2V0L2xvb25nYXJjaC9tZW1jcHktdmVjLTEuYzogTmV3IHRlc3QuCgkqIGdjYy50 YXJnZXQvbG9vbmdhcmNoL21lbWNweS12ZWMtMi5jOiBOZXcgdGVzdC4KCSogZ2NjLnRhcmdldC9s b29uZ2FyY2gvbWVtY3B5LXZlYy0zLmM6IE5ldyB0ZXN0LgotLS0KIGdjYy9jb25maWcvbG9vbmdh cmNoL2xvb25nYXJjaC5jYyAgICAgICAgICAgICB8IDIyICsrKysrKysrKysrKysrKy0tLS0KIGdj Yy9jb25maWcvbG9vbmdhcmNoL2xvb25nYXJjaC5oICAgICAgICAgICAgICB8ICAzICsrKwogLi4u L2djYy50YXJnZXQvbG9vbmdhcmNoL21lbWNweS12ZWMtMS5jICAgICAgIHwgMTEgKysrKysrKysr KwogLi4uL2djYy50YXJnZXQvbG9vbmdhcmNoL21lbWNweS12ZWMtMi5jICAgICAgIHwgMTIgKysr KysrKysrKwogLi4uL2djYy50YXJnZXQvbG9vbmdhcmNoL21lbWNweS12ZWMtMy5jICAgICAgIHwg IDYgKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbG9vbmdhcmNo L21lbWNweS12ZWMtMS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2xvb25nYXJjaC9tZW1jcHktdmVjLTIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9sb29uZ2FyY2gvbWVtY3B5LXZlYy0zLmMKCmRpZmYgLS1naXQgYS9n Y2MvY29uZmlnL2xvb25nYXJjaC9sb29uZ2FyY2guY2MgYi9nY2MvY29uZmlnL2xvb25nYXJjaC9s b29uZ2FyY2guY2MKaW5kZXggNjY5ODQxNDI4MWUuLjUwOWVmMmI5N2YxIDEwMDY0NAotLS0gYS9n Y2MvY29uZmlnL2xvb25nYXJjaC9sb29uZ2FyY2guY2MKKysrIGIvZ2NjL2NvbmZpZy9sb29uZ2Fy Y2gvbG9vbmdhcmNoLmNjCkBAIC01MTkxLDYgKzUxOTEsMjAgQEAgbG9vbmdhcmNoX2Z1bmN0aW9u X29rX2Zvcl9zaWJjYWxsICh0cmVlIGRlY2wgQVRUUklCVVRFX1VOVVNFRCwKICAgcmV0dXJuIHRy dWU7CiB9CiAKK3N0YXRpYyBtYWNoaW5lX21vZGUKK2xvb25nYXJjaF9tb2RlX2Zvcl9tb3ZlX3Np emUgKEhPU1RfV0lERV9JTlQgc2l6ZSkKK3sKKyAgc3dpdGNoIChzaXplKQorICAgIHsKKyAgICBj YXNlIDMyOgorICAgICAgcmV0dXJuIFYzMlFJbW9kZTsKKyAgICBjYXNlIDE2OgorICAgICAgcmV0 dXJuIFYxNlFJbW9kZTsKKyAgICB9CisKKyAgcmV0dXJuIGludF9tb2RlX2Zvcl9zaXplIChzaXpl ICogQklUU19QRVJfVU5JVCwgMCkucmVxdWlyZSAoKTsKK30KKwogLyogRW1pdCBzdHJhaWdodC1s aW5lIGNvZGUgdG8gbW92ZSBMRU5HVEggYnl0ZXMgZnJvbSBTUkMgdG8gREVTVC4KICAgIEFzc3Vt ZSB0aGF0IHRoZSBhcmVhcyBkbyBub3Qgb3ZlcmxhcC4gICovCiAKQEAgLTUyMjAsNyArNTIzNCw3 IEBAIGxvb25nYXJjaF9ibG9ja19tb3ZlX3N0cmFpZ2h0IChydHggZGVzdCwgcnR4IHNyYywgSE9T VF9XSURFX0lOVCBsZW5ndGgsCiAKICAgZm9yIChkZWx0YV9jdXIgPSBkZWx0YSwgaSA9IDAsIG9m ZnMgPSAwOyBvZmZzIDwgbGVuZ3RoOyBkZWx0YV9jdXIgLz0gMikKICAgICB7Ci0gICAgICBtb2Rl ID0gaW50X21vZGVfZm9yX3NpemUgKGRlbHRhX2N1ciAqIEJJVFNfUEVSX1VOSVQsIDApLnJlcXVp cmUgKCk7CisgICAgICBtb2RlID0gbG9vbmdhcmNoX21vZGVfZm9yX21vdmVfc2l6ZSAoZGVsdGFf Y3VyKTsKIAogICAgICAgZm9yICg7IG9mZnMgKyBkZWx0YV9jdXIgPD0gbGVuZ3RoOyBvZmZzICs9 IGRlbHRhX2N1ciwgaSsrKQogCXsKQEAgLTUyMzEsNyArNTI0NSw3IEBAIGxvb25nYXJjaF9ibG9j a19tb3ZlX3N0cmFpZ2h0IChydHggZGVzdCwgcnR4IHNyYywgSE9TVF9XSURFX0lOVCBsZW5ndGgs CiAKICAgZm9yIChkZWx0YV9jdXIgPSBkZWx0YSwgaSA9IDAsIG9mZnMgPSAwOyBvZmZzIDwgbGVu Z3RoOyBkZWx0YV9jdXIgLz0gMikKICAgICB7Ci0gICAgICBtb2RlID0gaW50X21vZGVfZm9yX3Np emUgKGRlbHRhX2N1ciAqIEJJVFNfUEVSX1VOSVQsIDApLnJlcXVpcmUgKCk7CisgICAgICBtb2Rl ID0gbG9vbmdhcmNoX21vZGVfZm9yX21vdmVfc2l6ZSAoZGVsdGFfY3VyKTsKIAogICAgICAgZm9y ICg7IG9mZnMgKyBkZWx0YV9jdXIgPD0gbGVuZ3RoOyBvZmZzICs9IGRlbHRhX2N1ciwgaSsrKQog CWxvb25nYXJjaF9lbWl0X21vdmUgKGFkanVzdF9hZGRyZXNzIChkZXN0LCBtb2RlLCBvZmZzKSwg cmVnc1tpXSk7CkBAIC01MzI2LDggKzUzNDAsOCBAQCBsb29uZ2FyY2hfZXhwYW5kX2Jsb2NrX21v dmUgKHJ0eCBkZXN0LCBydHggc3JjLCBydHggcl9sZW5ndGgsIHJ0eCByX2FsaWduKQogCiAgIEhP U1RfV0lERV9JTlQgYWxpZ24gPSBJTlRWQUwgKHJfYWxpZ24pOwogCi0gIGlmICghVEFSR0VUX1NU UklDVF9BTElHTiB8fCBhbGlnbiA+IFVOSVRTX1BFUl9XT1JEKQotICAgIGFsaWduID0gVU5JVFNf UEVSX1dPUkQ7CisgIGlmICghVEFSR0VUX1NUUklDVF9BTElHTiB8fCBhbGlnbiA+IExBUkNIX01B WF9NT1ZFX1BFUl9JTlNOKQorICAgIGFsaWduID0gTEFSQ0hfTUFYX01PVkVfUEVSX0lOU047CiAK ICAgaWYgKGxlbmd0aCA8PSBhbGlnbiAqIExBUkNIX01BWF9NT1ZFX09QU19TVFJBSUdIVCkKICAg ICB7CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xvb25nYXJjaC9sb29uZ2FyY2guaCBiL2djYy9j b25maWcvbG9vbmdhcmNoL2xvb25nYXJjaC5oCmluZGV4IDNmYzlkYzQzYWIxLi43ZTM5MTIwNTU4 MyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9sb29uZ2FyY2gvbG9vbmdhcmNoLmgKKysrIGIvZ2Nj L2NvbmZpZy9sb29uZ2FyY2gvbG9vbmdhcmNoLmgKQEAgLTExODEsNiArMTE4MSw5IEBAIHR5cGVk ZWYgc3RydWN0IHsKICAgIGxlYXN0IHR3aWNlLiAgKi8KICNkZWZpbmUgTEFSQ0hfTUFYX01PVkVf T1BTX1NUUkFJR0hUIChMQVJDSF9NQVhfTU9WRV9PUFNfUEVSX0xPT1BfSVRFUiAqIDIpCiAKKyNk ZWZpbmUgTEFSQ0hfTUFYX01PVkVfUEVSX0lOU04gXAorICAoSVNBX0hBU19MQVNYID8gMzIgOiAo SVNBX0hBU19MU1ggPyAxNiA6IFVOSVRTX1BFUl9XT1JEKSkKKwogLyogVGhlIGJhc2UgY29zdCBv ZiBhIG1lbWNweSBjYWxsLCBmb3IgTU9WRV9SQVRJTyBhbmQgZnJpZW5kcy4gIFRoZXNlCiAgICB2 YWx1ZXMgd2VyZSBkZXRlcm1pbmVkIGV4cGVyaW1lbnRhbGx5IGJ5IGJlbmNobWFya2luZyB3aXRo IENTaUJFLgogKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9sb29uZ2Fy Y2gvbWVtY3B5LXZlYy0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbG9vbmdhcmNoL21l bWNweS12ZWMtMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44ZDlm ZWRjOWU0ZgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9sb29u Z2FyY2gvbWVtY3B5LXZlYy0xLmMKQEAgLTAsMCArMSwxMSBAQAorLyogeyBkZy1kbyBjb21waWxl IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tYWJpPWxwNjRkIC1tYXJjaD1sYTQ2NCAtbW5v LXN0cmljdC1hbGlnbiIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz ICJ4dnN0IiAyIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJc dHZzdCIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAic3Rc XC5kfHN0cHRyXFwuZCIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyAic3RcXC53fHN0cHRyXFwudyIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyAic3RcXC5oIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzICJzdFxcLmIiIDEgfSB9ICovCisKK2V4dGVybiBjaGFyIGFbXSwgYltdOwor dm9pZCB0ZXN0KCkgeyBfX2J1aWx0aW5fbWVtY3B5KGEsIGIsIDk1KTsgfQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2xvb25nYXJjaC9tZW1jcHktdmVjLTIuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9sb29uZ2FyY2gvbWVtY3B5LXZlYy0yLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjZiMjhiODg0ZGIwCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2xvb25nYXJjaC9tZW1jcHktdmVjLTIuYwpAQCAt MCwwICsxLDEyIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICIt TzIgLW1hYmk9bHA2NGQgLW1hcmNoPWxhNDY0IC1tbm8tc3RyaWN0LWFsaWduIiB9ICovCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInh2c3QiIDIgfSB9ICovCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgIlx0dnN0IiAxIH0gfSAqLworLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzdFxcLmR8c3RwdHJcXC5kIiAxIH0gfSAqLwor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzdFxcLnd8c3RwdHJcXC53IiAx IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzdFxcLmgiIDEg fSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInN0XFwuYiIgMSB9 IH0gKi8KKwordHlwZWRlZiBjaGFyIF9fYXR0cmlidXRlX18gKCh2ZWN0b3Jfc2l6ZSAoMzIpLCBh bGlnbmVkICgzMikpKSB2ZWM7CitleHRlcm4gdmVjIGFbXSwgYltdOwordm9pZCB0ZXN0KCkgeyBf X2J1aWx0aW5fbWVtY3B5KGEsIGIsIDk1KTsgfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2xvb25nYXJjaC9tZW1jcHktdmVjLTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9sb29uZ2FyY2gvbWVtY3B5LXZlYy0zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjIzM2VkMjE1MDc4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2xvb25nYXJjaC9tZW1jcHktdmVjLTMuYwpAQCAtMCwwICsxLDYgQEAKKy8q IHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWFyY2g9bGE0NjQg LW1hYmk9bHA2NGQgLW1zdHJpY3QtYWxpZ24iIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci1ub3QgInZzdCIgfSB9ICovCisKK2V4dGVybiBjaGFyIGFbXSwgYltdOwordm9pZCB0 ZXN0KCkgeyBfX2J1aWx0aW5fbWVtY3B5KGEsIGIsIDE2KTsgfQotLSAKMi40Mi4wCgo= --=-t8Hg7XZGzGKuWhJF3sGf--