From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd2f.google.com (mail-io1-xd2f.google.com [IPv6:2607:f8b0:4864:20::d2f]) by sourceware.org (Postfix) with ESMTPS id 6F9CB3857C40 for ; Fri, 24 Jul 2020 02:27:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6F9CB3857C40 Received: by mail-io1-xd2f.google.com with SMTP id e64so8360313iof.12 for ; Thu, 23 Jul 2020 19:27:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=x5lUzA7vs4G8qXA9xdoE/onxP4erZ7lJcm1dbDBhTuA=; b=ngvsW1reV9cv7k50AnrzN+ht70QP87QPK1PToS0VgpfaED0Z4Bmk5enTaLAK/18pya 6+0gRjS3xVVf7a7bEFk6qUkhLi/mUX/SCQcQ6HMCagtCId8mb+sKoo9OkMo7STloWszC hmvyZ47AUjZe6/3oUiqCiE3Lq3JokWHXgLdctt38xkqCEpufqZp6EiYsjK0VdntO5lwo WXtYIvPbvrCH4b0ZpR6p8uTOkiHeCcXHXDuaMHX7Pf0Nza3VxPehV9jHl7LowWZoEYKT rF2Gm4keDByr9nsJ5E1dkPU6ElQDw1+CcmVPdCpbn7QLFZ9Oy16DgtIFRjHlnq2ugqko vgXA== X-Gm-Message-State: AOAM532MJQuzJRXy3DWhm7L8GQft9p5w7NjlvFwf8CqWIro2XEE/gpOU 6g7xrg/8zmE3cxamip+lwZJtqrYQFFMWzF6nJao= X-Google-Smtp-Source: ABdhPJzKT4gxAD4dcQsAwieLX7fAkOaVRIiuNX1vwu5NfDwtUQB0nvuGpgA+Kxih7XnoWRbK83TKuMothzzzndMRrmY= X-Received: by 2002:a05:6638:1187:: with SMTP id f7mr8336899jas.58.1595557626801; Thu, 23 Jul 2020 19:27:06 -0700 (PDT) MIME-Version: 1.0 References: <546f1c1e-73f3-aa20-a3be-b7bae03fff55@gmail.com> <9a4b7855-2576-348d-f580-b19d0f09d828@gmail.com> In-Reply-To: From: "H.J. Lu" Date: Thu, 23 Jul 2020 19:26:30 -0700 Message-ID: Subject: Re: committed] correct memcmp expansion of constant representations containing embedded nuls (PR 95189) To: Martin Sebor Cc: Rainer Orth , Martin Sebor via Gcc-patches Content-Type: multipart/mixed; boundary="000000000000908a1305ab26b5e3" X-Spam-Status: No, score=-9.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jul 2020 02:27:08 -0000 --000000000000908a1305ab26b5e3 Content-Type: text/plain; charset="UTF-8" On Thu, Jul 23, 2020 at 4:50 PM Martin Sebor wrote: > > On 7/23/20 2:18 PM, H.J. Lu wrote: > > On Thu, Jul 23, 2020 at 1:14 PM Martin Sebor via Gcc-patches > > wrote: > >> > >> On 7/22/20 2:23 AM, Rainer Orth wrote: > >>> Hi Martin, > >>> > >>>> I have committed this change in r11-2231 after Jeff approved it > >>>> off list last Thursday. > >>> > >>> the new gcc.target/i386/memcpy-pr95886.c test FAILs on 32-bit x86 > >>> (i386-pc-solaris2.11): > >>> > >>> +FAIL: gcc.target/i386/memcpy-pr95886.c scan-rtl-dump-times expand "const_int 1976943448883713" 1 > >>> +FAIL: gcc.target/i386/memcpy-pr95886.c scan-rtl-dump-times expand "const_int 576467370915332609" 1 > >>> +FAIL: gcc.target/i386/memcpy-pr95886.c scan-rtl-dump-times expand "const_int 578431098682540545" 1 > >>> +FAIL: gcc.target/i386/memcpy-pr95886.c scan-rtl-dump-times expand "const_int 578437695685198337" 1 > >>> +FAIL: gcc.target/i386/memcpy-pr95886.c scan-rtl-dump-times expand "const_int 578437695685198337" 1 > >>> +FAIL: gcc.target/i386/memcpy-pr95886.c scan-rtl-dump-times expand "const_int 578437695752110593" 1 > >>> +FAIL: gcc.target/i386/memcpy-pr95886.c scan-rtl-dump-times expand "const_int 578437695752306689" 1 > >>> +FAIL: gcc.target/i386/memcpy-pr95886.c scan-rtl-dump-times expand "const_int 578437695752307200" 1 > >>> +FAIL: gcc.target/i386/memcpy-pr95886.c scan-rtl-dump-times expand "const_int 578437695752307201" 2 > >> > >> Thanks for letting me know. The test looks for patterns that are > >> apparently LP64-specific so I restricted it to just that data model. > >> > > > > Shouldn't it also work for x32? > > I would expect the optimization to work on any target that does > the piecemeal copy, including x32. But you probably meant if > the test should pass as is on x32. Possibly yes, but I didn't > check. > > A better test would exercise the solution at least on all three > i386 targets. It could probably be done fairly simply by reducing > the sizes of the arrays, or by using the large arrays only on LP64 > or whatever makes the difference and figuring out the right magic > target selector to use in the dg- directives. Here is the patch I am checking in. -- H.J. --000000000000908a1305ab26b5e3 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Restrict-PR-middle-end-95886-x86-test-to-ia32.patch" Content-Disposition: attachment; filename="0001-Restrict-PR-middle-end-95886-x86-test-to-ia32.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kczlpeiy0 RnJvbSAyM2RhZjczODZiMDdjNzhiNzkyMjNhMDBhODVjOGIwMDJhNWE2N2UzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgMjMgSnVsIDIwMjAgMTk6MTQ6MDYgLTA3MDAKU3ViamVjdDogW1BBVENIXSBSZXN0cmlj dCBQUiBtaWRkbGUtZW5kLzk1ODg2IHg4NiB0ZXN0IHRvICFpYTMyCgpTaW5jZSBnY2MudGFyZ2V0 L2kzODYvbWVtY3B5LXByOTU4ODYuYyByZXF1aXJlcyA2NC1iaXQgcmVnaXN0ZXIsIHJlc3RyaWN0 Cml0IHRvICFpYTMyLgoKCVBSIG1pZGRsZS1lbmQvOTU4ODYKCSogZ2NjLnRhcmdldC9pMzg2L21l bWNweS1wcjk1ODg2LmM6IFJlc3RyaWN0IHRlc3QgdG8gIWlhMzIuCi0tLQogZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvbWVtY3B5LXByOTU4ODYuYyB8IDUgKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvbWVtY3B5LXByOTU4ODYuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L21lbWNweS1wcjk1ODg2LmMKaW5kZXggZGRmZGZkMmJjNzguLjA2OTkx NDYyOTZhIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9tZW1jcHkt cHI5NTg4Ni5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L21lbWNweS1wcjk1 ODg2LmMKQEAgLTEsNyArMSw2IEBACiAvKiBQUiBtaWRkbGUtZW5kLzk1ODg2IC0gc3Vib3B0aW1h bCBtZW1jcHkgd2l0aCBlbWJlZGRlZCB6ZXJvIGJ5dGVzCi0gICB7IGRnLWRvIGNvbXBpbGUgfQot ICAgeyBkZy1vcHRpb25zICItTzIgLVdhbGwgLWZkdW1wLXJ0bC1leHBhbmQiIH0KLSAgIHsgZGct cmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGxwNjQgfSAqLworICAgeyBkZy1kbyBjb21waWxlIHsg dGFyZ2V0IHsgISBpYTMyIH0gfSB9CisgICB7IGRnLW9wdGlvbnMgIi1PMiAtV2FsbCAtZmR1bXAt cnRsLWV4cGFuZCIgfSAqLwogCiBjb25zdCBjaGFyIGExMjM0NTY3ODkwWzEwXSA9IHsgMSwgMiwg MywgNCwgNSwgNiwgNywgOCwgOSB9OwogCi0tIAoyLjI2LjIKCg== --000000000000908a1305ab26b5e3--