From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by sourceware.org (Postfix) with ESMTPS id 9181E385771B for ; Thu, 5 Oct 2023 15:45:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9181E385771B Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-52bd9ddb741so2015277a12.0 for ; Thu, 05 Oct 2023 08:45:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696520746; x=1697125546; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=c9tp+9MliOf1PqEktXv3jnkNwdU2EkFNevK8bHIBkug=; b=mQUVAQ+2fhdiDkG/OqMn77RKcFtEmMqY5egC/qQslSXn0KRo7K2iP+gFaTfClMgt5t 3MmFXOnTLql+1sw8+9xMwH5umNj4jzQ2D/e2qNiJ/mLMhcxrnBCsbwd34PNlYyaA5Z7w 1ZxAfjGmCo3PfnHZRukOs+UyNi4MJKgZ+mfpIBG8V0RTZg8qW6HSMIwFaT3wZzto1sw6 gIb/GLof8JAyz+Jy6t/mNSBSFvrl0w9wri2/yN8Cx+qR25EKpQLRLEmHYWO2r6e4MBY+ JbGz9uFcugnYmyyEGZ6wrgaPY6apU6fv9qNV2l+FRr7gllIFw68mqY2ujMb55gIgdJw4 usFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696520746; x=1697125546; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=c9tp+9MliOf1PqEktXv3jnkNwdU2EkFNevK8bHIBkug=; b=ThamUf4QhaiyHBNTfQaNMPTMIWxDTPt9GGIQ92HAy7nmywCs/v4CTCqfvE3bWA1Apd tbh/1xeWXxS5GCDjvGPG2R8I7ZTqu0bChiHc8zx/mYRjMMa+p5XBT3LmnJRr6Su8FqcF 8RyN918zx+OYafa0xydvG1Ckliy7HqaktO1whQF/PLNvOHLHw/oOLo4PJihdPOwcuMsZ rvNczYz0CHYaKI6+Y5tTVtrpDaxe3KNsfG2AKy08kU1R+MBDMrrCT+Oi0YXBwTH0+EDM ih/bGMRWwEw1lpItMQVGYqOHKT2NRll4vokoI1+HBGO+GkuVc9PO4HNY2fnReVJxXwBE Qy0A== X-Gm-Message-State: AOJu0YychSmVRsub8dqS3nIu9qGIDfSHcFaQEvMn3mvt0gt6jOcunbI3 G0AmERxDe/0/+H8tKkqOA2BiXZlBzGNmeqC4FlDptR9tbBF54Q== X-Google-Smtp-Source: AGHT+IFpYv5rrxrQFKJVl0YO3ANlTb7UXJrTHdLf5Itzs11NgBbbdjODw2/1leMDnj/0J44WONIHBtA1LIgi0lyyxNE= X-Received: by 2002:aa7:cfd6:0:b0:530:9bea:ed5e with SMTP id r22-20020aa7cfd6000000b005309beaed5emr4847358edy.14.1696520745736; Thu, 05 Oct 2023 08:45:45 -0700 (PDT) MIME-Version: 1.0 From: Uros Bizjak Date: Thu, 5 Oct 2023 17:45:34 +0200 Message-ID: Subject: [COMMITTED] i386: Improve memory copy from named address space [PR111657] To: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="00000000000067d39f0606fa047a" X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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: --00000000000067d39f0606fa047a Content-Type: text/plain; charset="UTF-8" The stringop strategy selection algorithm falls back to a libcall strategy when it exhausts its pool of available strategies. The memory area copy function (memcpy) is not available from the system library for non-default address spaces, so the compiler emits the most trivial byte-at-a-time copy loop instead. The compiler should instead emit an optimized copy loop as a fallback for non-default address spaces. PR target/111657 gcc/ChangeLog: * config/i386/i386-expand.cc (alg_usable_p): Reject libcall strategy for non-default address spaces. (decide_alg): Use loop strategy as a fallback strategy for non-default address spaces. gcc/testsuite/ChangeLog: * gcc.target/i386/pr111657.c: New test. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. --00000000000067d39f0606fa047a Content-Type: text/plain; charset="US-ASCII"; name="p.diff.txt" Content-Disposition: attachment; filename="p.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lndcmsnj0 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2LWV4cGFuZC5jYyBiL2djYy9jb25maWcv aTM4Ni9pMzg2LWV4cGFuZC5jYwppbmRleCBlNDJmZjI3YzZlZi4uOWE5ODgzNDcyMDAgMTAwNjQ0 Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2LWV4cGFuZC5jYworKysgYi9nY2MvY29uZmlnL2kz ODYvaTM4Ni1leHBhbmQuY2MKQEAgLTgzMjAsNiArODMyMCwxMSBAQCBhbGdfdXNhYmxlX3AgKGVu dW0gc3RyaW5nb3BfYWxnIGFsZywgYm9vbCBtZW1zZXQsIGJvb2wgaGF2ZV9hcykKIHsKICAgaWYg KGFsZyA9PSBub19zdHJpbmdvcCkKICAgICByZXR1cm4gZmFsc2U7CisgIC8qIEl0IGlzIG5vdCBw b3NzaWJsZSB0byB1c2UgYSBsaWJyYXJ5IGNhbGwgaWYgd2UgaGF2ZSBub24tZGVmYXVsdAorICAg ICBhZGRyZXNzIHNwYWNlLiAgV2UgY2FuIGRvIGJldHRlciB0aGFuIHRoZSBnZW5lcmljIGJ5dGUt YXQtYS10aW1lCisgICAgIGxvb3AsIHVzZWQgYXMgYSBmYWxsYmFjay4gICovCisgIGlmIChhbGcg PT0gbGliY2FsbCAmJiBoYXZlX2FzKQorICAgIHJldHVybiBmYWxzZTsKICAgaWYgKGFsZyA9PSB2 ZWN0b3JfbG9vcCkKICAgICByZXR1cm4gVEFSR0VUX1NTRSB8fCBUQVJHRVRfQVZYOwogICAvKiBB bGdvcml0aG1zIHVzaW5nIHRoZSByZXAgcHJlZml4IHdhbnQgYXQgbGVhc3QgZWRpIGFuZCBlY3g7 CkBAIC04NDk0LDggKzg0OTksMTIgQEAgZGVjaWRlX2FsZyAoSE9TVF9XSURFX0lOVCBjb3VudCwg SE9TVF9XSURFX0lOVCBleHBlY3RlZF9zaXplLAogCWdjY19hc3NlcnQgKGFsZyAhPSBsaWJjYWxs KTsKICAgICAgIHJldHVybiBhbGc7CiAgICAgfQorCisgIC8qIFRyeSB0byB1c2Ugc29tZSByZWFz b25hYmxlIGZhbGxiYWNrIGFsZ29yaXRobS4gIE5vdGUgdGhhdCBmb3IKKyAgICAgbm9uLWRlZmF1 bHQgYWRkcmVzcyBzcGFjZXMgd2UgZGVmYXVsdCB0byBhIGxvb3AgaW5zdGVhZCBvZgorICAgICBh IGxpYmNhbGwuICAqLwogICByZXR1cm4gKGFsZ191c2FibGVfcCAoYWxncy0+dW5rbm93bl9zaXpl LCBtZW1zZXQsIGhhdmVfYXMpCi0JICA/IGFsZ3MtPnVua25vd25fc2l6ZSA6IGxpYmNhbGwpOwor CSAgPyBhbGdzLT51bmtub3duX3NpemUgOiBoYXZlX2FzID8gbG9vcCA6IGxpYmNhbGwpOwogfQog CiAvKiBEZWNpZGUgb24gYWxpZ25tZW50LiAgV2Uga25vdyB0aGF0IHRoZSBvcGVyYW5kIGlzIGFs cmVhZHkgYWxpZ25lZCB0byBBTElHTgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvcHIxMTE2NTcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByMTEx NjU3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmZlNTRmY2FlOGNj Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHIxMTE2 NTcuYwpAQCAtMCwwICsxLDkgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9w dGlvbnMgIi1PMiAtZmR1bXAtcnRsLWV4cGFuZCAtbW5vLXNzZSIgfSAqLworCitzdHJ1Y3QgYSB7 IGxvbmcgYXJyWzMwXTsgfTsKKworX19zZWdfZ3Mgc3RydWN0IGEgbTsKK3ZvaWQgYmFyIChzdHJ1 Y3QgYSAqZHN0KSB7ICpkc3QgPSBtOyB9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXJ0bC1kdW1w LW5vdCAibGliY2FsbCIgImV4cGFuZCIgfSB9ICovCg== --00000000000067d39f0606fa047a--