From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com [IPv6:2607:f8b0:4864:20::c30]) by sourceware.org (Postfix) with ESMTPS id CBD4B384A01A for ; Fri, 8 Jan 2021 14:43:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CBD4B384A01A Received: by mail-oo1-xc30.google.com with SMTP id x23so2430142oop.1 for ; Fri, 08 Jan 2021 06:43:59 -0800 (PST) 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=hwJEjepzwzg5fDaoUtuZ+zlbNa/EfMuiqZWHwcczFpU=; b=PxhJl0tNEOy3s0o2Gg32u4jdjIe8xERx769yu/1RgDLlOGLJQWcgdXtc1ibP51wFfi eCjTxh7Zu/wYyDHiD1NE0LyXCw6fLMlJSG48MBrQQQg/IDXZt9bWP6iLiHQ+KgRwFaKU FCpTR12ujfxfQUBKooDRDGH7TtKL/z4g7aSq0eCErBG1WW9/3eOb+bNDK3EZC1lQD4fp HQXdNsiAL4Lu9dxlSMYK2aQNgjDOKpoKl/VHOH3MoacGFcDWE9UY67SEv/pQ1H8CmkE5 PFi6RPaYldrbMKUD7Lu9iOES2+V+pWa1ku3PlJsrekVUe91NdaJwyMgJb4aOw+OSTkUl SN+A== X-Gm-Message-State: AOAM5304Z+WvzGqqAy+he7ILRtxZU6zJvsygm7xU3rRg9ctiWc10UGzs bgkjcft54uFAeeDjs3wjxxvHWiDqMAe5yE9ltqc= X-Google-Smtp-Source: ABdhPJxS7zd8qa0thm6stasWSZz5zqj5hrufIDnXPIokGN2Yu+c9PyGopozkozQGBmuEWoNaIZiQZ0tI8593Bzaehy0= X-Received: by 2002:a4a:d4cd:: with SMTP id r13mr4531841oos.35.1610117039270; Fri, 08 Jan 2021 06:43:59 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: "H.J. Lu" Date: Fri, 8 Jan 2021 06:43:23 -0800 Message-ID: Subject: Re: [PATCH] x86-64: Use R10 and R11 for profiling large model with PIC To: Uros Bizjak Cc: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="0000000000002c5c8f05b8649649" X-Spam-Status: No, score=-3036.6 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, 08 Jan 2021 14:44:01 -0000 --0000000000002c5c8f05b8649649 Content-Type: text/plain; charset="UTF-8" On Fri, Jan 8, 2021 at 6:31 AM Uros Bizjak wrote: > > On Fri, Jan 8, 2021 at 2:28 PM H.J. Lu wrote: > > > > On Fri, Jan 8, 2021 at 4:50 AM H.J. Lu wrote: > > > > > > On Fri, Jan 8, 2021 at 1:24 AM Uros Bizjak wrote: > > > > > > > > > Since R10 is preserved when calling mcount, R10 can be used a scratch > > > > > register to call mcount in large model. > > > > > > > > Please mention that R10 can be used as a static chain registers and is > > > > preserved when calling mcount for nested functions. > > > > > > > > > gcc/ > > > > > > > > > > PR target/98482 > > > > > * config/i386/i386.c (x86_function_profiler): Use R10 to call > > > > > mcount in large model. Sorry for large model with PIC. > > > > > > > > > > gcc/testsuite/ > > > > > > > > > > PR target/98482 > > > > > * gcc.target/i386/pr98482-1.c: New test. > > > > > * gcc.target/i386/pr98482-1.c: Likewise. > > > > > > > > OK with comment fixes. > > > > > > > > Thanks, > > > > Uros. > > > > > > > > + case CM_LARGE: > > > > + /* NB: R10 can be used as a scratch register here since > > > > + R10 is preserved when calling mcount. */ > > > > > > > > Also mention that R10 can be used as a static chain register and is > > > > preserved when calling mcount for nested functions. > > > > > > > > + fprintf (file, "1:\tmovabsq\t$%s, %%r10\n\tcall\t*%%r10\n", > > > > + mcount_name); > > > > + break; > > > > > > This is the patch I am checking in. > > > > > > > For NO_PROFILE_COUNTERS targets, R11 is a scratch register. We can use > > R10 and R11 to call mcount in large model with PIC. > > > > OK for master? > > + fprintf (file, "\tmovabsq\t$%s@PLTOFF, %%r11\n", > + mcount_name); > > Please put mcount_name in the same line (and please do the same for > case CM_MEDIUM_PIC). Fixed. > OK with the above fixes. > > Thanks, > Uros. Here is the updated patch I am checking in. Thanks. -- H.J. --0000000000002c5c8f05b8649649 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-x86-64-Use-R10-and-R11-for-profiling-large-model-wit.patch" Content-Disposition: attachment; filename="0001-x86-64-Use-R10-and-R11-for-profiling-large-model-wit.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kjoe2d7e0 RnJvbSBhOWI1YzEyNjNjYWRhMmUwYjNkNTlhYThhNjViOGJiYzg0MTc3NWYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IEZyaSwgOCBKYW4gMjAyMSAwNToyMDoxOSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIHg4Ni02NDog VXNlIFIxMCBhbmQgUjExIGZvciBwcm9maWxpbmcgbGFyZ2UgbW9kZWwgd2l0aCBQSUMKCkZvciBO T19QUk9GSUxFX0NPVU5URVJTIHRhcmdldHMsIFIxMSBpcyBhIHNjcmF0Y2ggcmVnaXN0ZXIuICBX ZSBjYW4gdXNlClIxMCBhbmQgUjExIHRvIGNhbGwgbWNvdW50IGluIGxhcmdlIG1vZGVsIHdpdGgg UElDLgoKZ2NjLwoKCVBSIHRhcmdldC85ODQ4MgoJKiBjb25maWcvaTM4Ni9pMzg2LmMgKHg4Nl9m dW5jdGlvbl9wcm9maWxlcik6IFVzZSBSMTAgYW5kIFIxMQoJdG8gY2FsbCBtY291bnQgaW4gbGFy Z2UgbW9kZWwgd2l0aCBQSUMgZm9yIE5PX1BST0ZJTEVfQ09VTlRFUlMKCXRhcmdldHMuCgpnY2Mv dGVzdHN1aXRlLwoKCVBSIHRhcmdldC85ODQ4MgoJKiBnY2MudGFyZ2V0L2kzODYvcHI5ODQ4Mi0y LmM6IFVwZGF0ZWQuCi0tLQogZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyAgICAgICAgICAgICAgICAg ICAgfCAxMiArKysrKysrKysrLS0KIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTg0 ODItMi5jIHwgIDMgKystCiAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyBiL2djYy9jb25m aWcvaTM4Ni9pMzg2LmMKaW5kZXggZDMwNjg0NjJmY2QuLmQzNWFmMzdhNDljIDEwMDY0NAotLS0g YS9nY2MvY29uZmlnL2kzODYvaTM4Ni5jCisrKyBiL2djYy9jb25maWcvaTM4Ni9pMzg2LmMKQEAg LTIwODA2LDEyICsyMDgwNiwyMCBAQCB4ODZfZnVuY3Rpb25fcHJvZmlsZXIgKEZJTEUgKmZpbGUs IGludCBsYWJlbG5vIEFUVFJJQlVURV9VTlVTRUQpCiAJCSAgICAgICBtY291bnRfbmFtZSk7CiAJ ICAgICAgYnJlYWs7CiAJICAgIGNhc2UgQ01fTEFSR0VfUElDOgorI2lmZGVmIE5PX1BST0ZJTEVf Q09VTlRFUlMKKwkgICAgICBmcHJpbnRmIChmaWxlLCAiMTpcdG1vdmFic3FcdCRfR0xPQkFMX09G RlNFVF9UQUJMRV8tMWIsICUlcjExXG4iKTsKKwkgICAgICBmcHJpbnRmIChmaWxlLCAiXHRsZWFx XHQxYiglJXJpcCksICUlcjEwXG4iKTsKKwkgICAgICBmcHJpbnRmIChmaWxlLCAiXHRhZGRxXHQl JXIxMSwgJSVyMTBcbiIpOworCSAgICAgIGZwcmludGYgKGZpbGUsICJcdG1vdmFic3FcdCQlc0BQ TFRPRkYsICUlcjExXG4iLCBtY291bnRfbmFtZSk7CisJICAgICAgZnByaW50ZiAoZmlsZSwgIlx0 YWRkcVx0JSVyMTEsICUlcjEwXG4iKTsKKwkgICAgICBmcHJpbnRmIChmaWxlLCAiXHRjYWxsXHQq JSVyMTBcbiIpOworI2Vsc2UKIAkgICAgICBzb3JyeSAoInByb2ZpbGluZyAlPC1tY21vZGVsPWxh cmdlJT4gd2l0aCBQSUMgaXMgbm90IHN1cHBvcnRlZCIpOworI2VuZGlmCiAJICAgICAgYnJlYWs7 CiAJICAgIGNhc2UgQ01fU01BTExfUElDOgogCSAgICBjYXNlIENNX01FRElVTV9QSUM6Ci0JICAg ICAgZnByaW50ZiAoZmlsZSwgIjE6XHRjYWxsXHQqJXNAR09UUENSRUwoJSVyaXApXG4iLAotCQkg ICAgICAgbWNvdW50X25hbWUpOworCSAgICAgIGZwcmludGYgKGZpbGUsICIxOlx0Y2FsbFx0KiVz QEdPVFBDUkVMKCUlcmlwKVxuIiwgbWNvdW50X25hbWUpOwogCSAgICAgIGJyZWFrOwogCSAgICBk ZWZhdWx0OgogCSAgICAgIHg4Nl9wcmludF9jYWxsX29yX25vcCAoZmlsZSwgbWNvdW50X25hbWUp OwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5ODQ4Mi0yLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjk4NDgyLTIuYwppbmRleCBhZWQzY2E0 YjZmZi4uMGVlMTQyZGIxMmMgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L3ByOTg0ODItMi5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTg0 ODItMi5jCkBAIC0yLDggKzIsOSBAQAogLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQg bWZlbnRyeSB9ICovCiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBmcGljIH0gKi8K IC8qIHsgZGctb3B0aW9ucyAiLWZwaWMgLWZwcm9maWxlIC1tZmVudHJ5IC1PMiAtbWNtb2RlbD1s YXJnZSIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJtb3ZhYnNxXHRcXFwk X19mZW50cnlfX0BQTFRPRkYsICVyMTFcblx0YWRkcVx0JXIxMSwgJXIxMFxuXHRjYWxsXHRcXCol cjEwIiB9IH0gKi8KIAogdm9pZAogZnVuYyAodm9pZCkKIHsKLX0gLyogeyBkZy1tZXNzYWdlICJz b3JyeSwgdW5pbXBsZW1lbnRlZDogcHJvZmlsaW5nICctbWNtb2RlbD1sYXJnZScgd2l0aCBQSUMg aXMgbm90IHN1cHBvcnRlZCIgfSAqLworfQotLSAKMi4yOS4yCgo= --0000000000002c5c8f05b8649649--