From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com [IPv6:2607:f8b0:4864:20::22f]) by sourceware.org (Postfix) with ESMTPS id 29EBE386F467 for ; Fri, 8 Jan 2021 13:28:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 29EBE386F467 Received: by mail-oi1-x22f.google.com with SMTP id s2so11335473oij.2 for ; Fri, 08 Jan 2021 05:28:00 -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=jdkfVxnm77d/9FxqUIJh7ps2p/eDymp5tcJXAfvyw+M=; b=LUNXqbNO+vsvbCPiyiFhXrhMEsYU5pvsCc3Hi54DxWGXQG/6UwOyytpP4WX7bK7Wwd 5aRUwONR5bbxDw1fnstIi2S7YY7baDSiwHm9oqt/PT2yRawa4bKrWT5DqYbOUX39pmUL P8j/aMlwkTjk9fUQaQSAx4zolNXx40odC04gTP+zjFw5sUxdm2texbJrcrKOh/Tumlxb 57DxeWwiHGrks9xCuuYQoXB6su10tgyunqx9qIxEdOIKnn2DpXPzg+ju8Fy/N5CC9Eee PyALnjsNt6mE1x+K6JHVVF1t5t+MF117/Jz5let3g0bwxv1dqB5+ZMRuh8pLwcSiIEuC DIpw== X-Gm-Message-State: AOAM5309M85rTMDrXtLfKfCAKWUTviArtZtRfCpT+T4AP8Yc9EMmGm3o l8bFai3rqE3J9q503p1dMRuVhmkJugvBpEftQKY= X-Google-Smtp-Source: ABdhPJxQU8i6r1xBIbj0PZBUy/eqqoR8/au4NgrPHcrZ6VmJ9stY0bJd5HRGWKD7YmMYG1B4/e7p4xZFa2gXjigiBzg= X-Received: by 2002:aca:4d8b:: with SMTP id a133mr2344044oib.79.1610112479475; Fri, 08 Jan 2021 05:27:59 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: "H.J. Lu" Date: Fri, 8 Jan 2021 05:27:23 -0800 Message-ID: Subject: [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="00000000000063a8cc05b863864c" X-Spam-Status: No, score=-3036.2 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 13:28:01 -0000 --00000000000063a8cc05b863864c Content-Type: text/plain; charset="UTF-8" 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? Thanks. -- H.J. --00000000000063a8cc05b863864c 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_kjobas8y0 RnJvbSBiMmUwYmNjYmRiYTYzMGExZjdmOGI2MDFlMTliNzMwMmUzNzVlMjQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IEZyaSwgOCBKYW4gMjAyMSAwNToyMDoxOSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIHg4Ni02NDog VXNlIFIxMCBhbmQgUjExIGZvciBwcm9maWxpbmcgbGFyZ2UgbW9kZWwgd2l0aCBQSUMKCkZvciBO T19QUk9GSUxFX0NPVU5URVJTIHRhcmdldHMsIFIxMSBpcyBhIHNjcmF0Y2ggcmVnaXN0ZXIuICBX ZSBjYW4gdXNlClIxMCBhbmQgUjExIHRvIGNhbGwgbWNvdW50IGluIGxhcmdlIG1vZGVsIHdpdGgg UElDLgoKZ2NjLwoKCVBSIHRhcmdldC85ODQ4MgoJKiBjb25maWcvaTM4Ni9pMzg2LmMgKHg4Nl9m dW5jdGlvbl9wcm9maWxlcik6IFVzZSBSMTAgYW5kIFIxMQoJdG8gY2FsbCBtY291bnQgaW4gbGFy Z2UgbW9kZWwgd2l0aCBQSUMgZm9yIE5PX1BST0ZJTEVfQ09VTlRFUlMKCXRhcmdldHMuCgpnY2Mv dGVzdHN1aXRlLwoKCVBSIHRhcmdldC85ODQ4MgoJKiBnY2MudGFyZ2V0L2kzODYvcHI5ODQ4Mi0y LmM6IFVwZGF0ZWQuCi0tLQogZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyAgICAgICAgICAgICAgICAg ICAgfCAxMCArKysrKysrKysrCiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjk4NDgy LTIuYyB8ICAzICsrLQogMiBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyBiL2djYy9jb25maWcv aTM4Ni9pMzg2LmMKaW5kZXggZDMwNjg0NjJmY2QuLjUwMzgwODY1YWNkIDEwMDY0NAotLS0gYS9n Y2MvY29uZmlnL2kzODYvaTM4Ni5jCisrKyBiL2djYy9jb25maWcvaTM4Ni9pMzg2LmMKQEAgLTIw ODA2LDcgKzIwODA2LDE3IEBAIHg4Nl9mdW5jdGlvbl9wcm9maWxlciAoRklMRSAqZmlsZSwgaW50 IGxhYmVsbm8gQVRUUklCVVRFX1VOVVNFRCkKIAkJICAgICAgIG1jb3VudF9uYW1lKTsKIAkgICAg ICBicmVhazsKIAkgICAgY2FzZSBDTV9MQVJHRV9QSUM6CisjaWZkZWYgTk9fUFJPRklMRV9DT1VO VEVSUworCSAgICAgIGZwcmludGYgKGZpbGUsICIxOlx0bW92YWJzcVx0JF9HTE9CQUxfT0ZGU0VU X1RBQkxFXy0xYiwgJSVyMTFcbiIpOworCSAgICAgIGZwcmludGYgKGZpbGUsICJcdGxlYXFcdDFi KCUlcmlwKSwgJSVyMTBcbiIpOworCSAgICAgIGZwcmludGYgKGZpbGUsICJcdGFkZHFcdCUlcjEx LCAlJXIxMFxuIik7CisJICAgICAgZnByaW50ZiAoZmlsZSwgIlx0bW92YWJzcVx0JCVzQFBMVE9G RiwgJSVyMTFcbiIsCisJCSAgICAgICBtY291bnRfbmFtZSk7CisJICAgICAgZnByaW50ZiAoZmls ZSwgIlx0YWRkcVx0JSVyMTEsICUlcjEwXG4iKTsKKwkgICAgICBmcHJpbnRmIChmaWxlLCAiXHRj YWxsXHQqJSVyMTBcbiIpOworI2Vsc2UKIAkgICAgICBzb3JyeSAoInByb2ZpbGluZyAlPC1tY21v ZGVsPWxhcmdlJT4gd2l0aCBQSUMgaXMgbm90IHN1cHBvcnRlZCIpOworI2VuZGlmCiAJICAgICAg YnJlYWs7CiAJICAgIGNhc2UgQ01fU01BTExfUElDOgogCSAgICBjYXNlIENNX01FRElVTV9QSUM6 CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjk4NDgyLTIuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTg0ODItMi5jCmluZGV4IGFlZDNjYTRi NmZmLi4wZWUxNDJkYjEyYyAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kz ODYvcHI5ODQ4Mi0yLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5ODQ4 Mi0yLmMKQEAgLTIsOCArMiw5IEBACiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBt ZmVudHJ5IH0gKi8KIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGZwaWMgfSAqLwog LyogeyBkZy1vcHRpb25zICItZnBpYyAtZnByb2ZpbGUgLW1mZW50cnkgLU8yIC1tY21vZGVsPWxh cmdlIiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgIm1vdmFic3FcdFxcXCRf X2ZlbnRyeV9fQFBMVE9GRiwgJXIxMVxuXHRhZGRxXHQlcjExLCAlcjEwXG5cdGNhbGxcdFxcKiVy MTAiIH0gfSAqLwogCiB2b2lkCiBmdW5jICh2b2lkKQogewotfSAvKiB7IGRnLW1lc3NhZ2UgInNv cnJ5LCB1bmltcGxlbWVudGVkOiBwcm9maWxpbmcgJy1tY21vZGVsPWxhcmdlJyB3aXRoIFBJQyBp cyBub3Qgc3VwcG9ydGVkIiB9ICovCit9Ci0tIAoyLjI5LjIKCg== --00000000000063a8cc05b863864c--