From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by sourceware.org (Postfix) with ESMTPS id 074133858D33 for ; Wed, 25 Oct 2023 14:30:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 074133858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 074133858D33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::52e ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698244226; cv=none; b=miHkdeYfg6HTA+yiiKPtJRFt9E5AnTRznx8rkpnRRad7Xj38CgrK1IsJhmgHYT18Ea4UhJAicbbTjJ3sBRB5ZyHb8Zj8TtOJl76C1zb9aVZVEj6aEAiu4eMkTHe+PG63XMQ94mKK0f2qJlWkwCfq62Jn3RAoMCWdB5xabGBo1qA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698244226; c=relaxed/simple; bh=0KL7A23AXRAyJnXHlCwM0x27wyw3/C8kWh2i+d1OnAw=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=sFvCxAKdUESP/gDwGfQLLDp3gziRsWRNs06WGG3UmwieNl/cjtfJpj/GDfK6TJvwl+KFqKmi3dshll8qrz7+3LIo4hAFJRNYRYUPycNPS2hZwI27NfoWJct4q5RxF/xV82MGnYiy+FpdC3wXmvhIxsY7rqxe4dIdFnflOlOXK6M= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-53fc7c67a41so2044402a12.0 for ; Wed, 25 Oct 2023 07:30:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698244223; x=1698849023; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=+YTF0aHasTMPisbXLDEcC0fL1x5C110qPt06VKJY9M8=; b=Vn6c//fz+zM3g81cHGZFpdmFnWhvHSDrq3BXwONLefAOY0jUORfO/WW7MoGSD6MsTG u6wDmEN2ljgHc0TjVfdyY5sNaxy6yWNWatOc1x4aikbCYQlDe5A4R+UJ/atL2j0VtlMM hLqckO1Bi/u8NpXQiDeW1cDLmK1rgaVW0yVJzihl94Lnrt+1mhjEppgQXEqz3yhGFIY4 aBYuBEJk2rrcaRCuujHnTKTtTN3hcFPW2Aq+7MerQAG0sAGU9c1fwM1jIqFghhVWf9H8 xybVjQom87/dnGgDP+hU9JeYM9nOka5i0AGhHPYzjHz5cJjPsuoOCQEoeY7HIdt8P53L Cd8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698244223; x=1698849023; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=+YTF0aHasTMPisbXLDEcC0fL1x5C110qPt06VKJY9M8=; b=Ey4iYuz8C5kpw3d25Lcy20D/hRmpzwEWc6k7H109RYKVvuG0wdCAfzd3jTWmVFo2vl 2IrnqG+b6afMv/GV+Wj47hR6rX7afh/wvkUd67h3+wVoKEqKTb6cX6isIPRCVOhX+McT SOXuSCi8MVnM+wWCR0lBmK1KjPqda8YQwOxUZbMoS4ijmngmOFZNNhs9bQxr8BAamuVh eMLlD1EioSut+shPmB27B8W/cLf7HwftUmuJ3FknO9QcQ4+u/5YHtUifSjit3De1bayS R+vXC4W7jtqpp9fual64velJk1ysnL5omRO2CcYIcbNhUqOEPp/cN9woqdaCtNSa/DOX KPYQ== X-Gm-Message-State: AOJu0Yw+lteIxMz5MKHwKbNoIFXKgrJkxy3ylLS44oFiXacur7+/NSoH ir8T15biAb74CMFJXgIkHnIkb+5PE89Rmn+dsuza5tDFXORmeQ== X-Google-Smtp-Source: AGHT+IEQriXrtxiwwgOwMxUh97oTavxb8c389L9YWQf9pm3vlELT8lrzuqducigxGjAL0p6gXkWASlzlLvcad0smQt0= X-Received: by 2002:a50:c88c:0:b0:534:6b86:eda2 with SMTP id d12-20020a50c88c000000b005346b86eda2mr13784394edh.21.1698244223310; Wed, 25 Oct 2023 07:30:23 -0700 (PDT) MIME-Version: 1.0 From: Uros Bizjak Date: Wed, 25 Oct 2023 16:30:12 +0200 Message-ID: Subject: [committed] i386: Narrow test instructions with immediate operands [PR111698] To: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="000000000000ac394b06088b4b44" X-Spam-Status: No, score=-8.2 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: --000000000000ac394b06088b4b44 Content-Type: text/plain; charset="UTF-8" i386: Narrow test instructions with immediate operands [PR111698] Narrow test instructions with immediate operand that test memory location for zero. E.g. testl $0x00aa0000, mem can be converted to testb $0xaa, mem+2. Reject targets where reading (possibly unaligned) part of memory location after a large write to the same address causes store-to-load forwarding stall. PR target/111698 gcc/ChangeLog: * config/i386/x86-tune.def (X86_TUNE_PARTIAL_MEMORY_READ_STALL): New tune. * config/i386/i386.h (TARGET_PARTIAL_MEMORY_READ_STALL): New macro. * config/i386/i386.md: New peephole pattern to narrow test instructions with immediate operands that test memory locations for zero. gcc/testsuite/ChangeLog: * gcc.target/i386/pr111698.c: New test. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Uros. --000000000000ac394b06088b4b44 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_lo5uqxch0 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2LmggYi9nY2MvY29uZmlnL2kzODYvaTM4 Ni5oCmluZGV4IGU0YzFmYzZlZWYwLi40NDI2YjI3ZjRmZSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZp Zy9pMzg2L2kzODYuaAorKysgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5oCkBAIC0zMTEsNiArMzEx LDggQEAgZXh0ZXJuIHVuc2lnbmVkIGNoYXIgaXg4Nl90dW5lX2ZlYXR1cmVzW1g4Nl9UVU5FX0xB U1RdOwogI2RlZmluZSBUQVJHRVRfVVNFX1NBSEYJCWl4ODZfdHVuZV9mZWF0dXJlc1tYODZfVFVO RV9VU0VfU0FIRl0KICNkZWZpbmUgVEFSR0VUX01PVlgJCWl4ODZfdHVuZV9mZWF0dXJlc1tYODZf VFVORV9NT1ZYXQogI2RlZmluZSBUQVJHRVRfUEFSVElBTF9SRUdfU1RBTEwgaXg4Nl90dW5lX2Zl YXR1cmVzW1g4Nl9UVU5FX1BBUlRJQUxfUkVHX1NUQUxMXQorI2RlZmluZSBUQVJHRVRfUEFSVElB TF9NRU1PUllfUkVBRF9TVEFMTCBcCisJaXg4Nl90dW5lX2ZlYXR1cmVzW1g4Nl9UVU5FX1BBUlRJ QUxfTUVNT1JZX1JFQURfU1RBTExdCiAjZGVmaW5lIFRBUkdFVF9QQVJUSUFMX0ZMQUdfUkVHX1NU QUxMIFwKIAlpeDg2X3R1bmVfZmVhdHVyZXNbWDg2X1RVTkVfUEFSVElBTF9GTEFHX1JFR19TVEFM TF0KICNkZWZpbmUgVEFSR0VUX0xDUF9TVEFMTCBcCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kz ODYvaTM4Ni5tZCBiL2djYy9jb25maWcvaTM4Ni9pMzg2Lm1kCmluZGV4IGY5MGNmMWNhNzM0Li41 ZDhkNWIyZWFlNiAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYubWQKKysrIGIvZ2Nj L2NvbmZpZy9pMzg2L2kzODYubWQKQEAgLTExMTAwLDYgKzExMTAwLDU3IEBAIChkZWZpbmVfc3Bs aXQKICAgb3BlcmFuZHNbM10gPSBnZW5faW50X21vZGUgKElOVFZBTCAob3BlcmFuZHNbM10pLCBR SW1vZGUpOwogfSkKIAorOzsgTmFycm93IHRlc3QgaW5zdHJ1Y3Rpb25zIHdpdGggaW1tZWRpYXRl IG9wZXJhbmRzIHRoYXQgdGVzdAorOzsgbWVtb3J5IGxvY2F0aW9ucyBmb3IgemVyby4gIEUuZy4g dGVzdGwgJDB4MDBhYTAwMDAsIG1lbSBjYW4gYmUKKzs7IGNvbnZlcnRlZCB0byB0ZXN0YiAkMHhh YSwgbWVtKzIuICBSZWplY3Qgdm9sYXRpbGUgbG9jYXRpb25zIGFuZAorOzsgdGFyZ2V0cyB3aGVy ZSByZWFkaW5nIChwb3NzaWJseSB1bmFsaWduZWQpIHBhcnQgb2YgbWVtb3J5Cis7OyBsb2NhdGlv biBhZnRlciBhIGxhcmdlIHdyaXRlIHRvIHRoZSBzYW1lIGFkZHJlc3MgY2F1c2VzCis7OyBzdG9y ZS10by1sb2FkIGZvcndhcmRpbmcgc3RhbGwuCisoZGVmaW5lX3BlZXBob2xlMgorICBbKHNldCAo cmVnOkNDWiBGTEFHU19SRUcpCisJKGNvbXBhcmU6Q0NaCisJICAoYW5kOlNXSTI0OCAobWF0Y2hf b3BlcmFuZDpTV0kyNDggMCAibWVtb3J5X29wZXJhbmQiKQorCQkgICAgICAobWF0Y2hfb3BlcmFu ZCAxICJjb25zdF9pbnRfb3BlcmFuZCIpKQorCSAgKGNvbnN0X2ludCAwKSkpXQorICAiIVRBUkdF VF9QQVJUSUFMX01FTU9SWV9SRUFEX1NUQUxMICYmICFNRU1fVk9MQVRJTEVfUCAob3BlcmFuZHNb MF0pIgorICBbKHNldCAocmVnOkNDWiBGTEFHU19SRUcpCisJKGNvbXBhcmU6Q0NaIChtYXRjaF9k dXAgMikgKGNvbnN0X2ludCAwKSkpXQoreworICB1bnNpZ25lZCBIT1NUX1dJREVfSU5UIGl2YWwg PSBVSU5UVkFMIChvcGVyYW5kc1sxXSk7CisgIGludCBmaXJzdF9ub256ZXJvX2J5dGUsIGJpdHNp emU7CisgIHJ0eCBuZXdfYWRkciwgbmV3X2NvbnN0OworICBtYWNoaW5lX21vZGUgbmV3X21vZGU7 CisKKyAgaWYgKGl2YWwgPT0gMCkKKyAgICBGQUlMOworCisgIC8qIENsZWFyIGJpdHMgb3V0c2lk ZSBtb2RlIHdpZHRoLiAgKi8KKyAgaXZhbCAmPSBHRVRfTU9ERV9NQVNLICg8TU9ERT5tb2RlKTsK KworICBmaXJzdF9ub256ZXJvX2J5dGUgPSBjdHpfaHdpIChpdmFsKSAvIEJJVFNfUEVSX1VOSVQ7 CisKKyAgaXZhbCA+Pj0gZmlyc3Rfbm9uemVyb19ieXRlICogQklUU19QRVJfVU5JVDsKKworICBi aXRzaXplID0gc2l6ZW9mIChpdmFsKSAqIEJJVFNfUEVSX1VOSVQgLSBjbHpfaHdpIChpdmFsKTsK KworICBpZiAoYml0c2l6ZSA8PSBHRVRfTU9ERV9CSVRTSVpFIChRSW1vZGUpKQorICAgIG5ld19t b2RlID0gUUltb2RlOworICBlbHNlIGlmIChiaXRzaXplIDw9IEdFVF9NT0RFX0JJVFNJWkUgKEhJ bW9kZSkpCisgICAgbmV3X21vZGUgPSBISW1vZGU7CisgIGVsc2UgaWYgKGJpdHNpemUgPD0gR0VU X01PREVfQklUU0laRSAoU0ltb2RlKSkKKyAgICBuZXdfbW9kZSA9IFNJbW9kZTsKKyAgZWxzZQor ICAgIG5ld19tb2RlID0gREltb2RlOworCisgIGlmIChHRVRfTU9ERV9TSVpFIChuZXdfbW9kZSkg Pj0gR0VUX01PREVfU0laRSAoPE1PREU+bW9kZSkpCisgICAgRkFJTDsKKworICBuZXdfYWRkciA9 IGFkanVzdF9hZGRyZXNzIChvcGVyYW5kc1swXSwgbmV3X21vZGUsIGZpcnN0X25vbnplcm9fYnl0 ZSk7CisgIG5ld19jb25zdCA9IGdlbl9pbnRfbW9kZSAoaXZhbCwgbmV3X21vZGUpOworCisgIG9w ZXJhbmRzWzJdID0gZ2VuX3J0eF9BTkQgKG5ld19tb2RlLCBuZXdfYWRkciwgbmV3X2NvbnN0KTsK K30pCisKIDs7ICUlJSBUaGlzIHVzZWQgdG8gb3B0aW1pemUga25vd24gYnl0ZS13aWRlIGFuZCBv cGVyYXRpb25zIHRvIG1lbW9yeSwKIDs7IGFuZCBzb21ldGltZXMgdG8gUUltb2RlIHJlZ2lzdGVy cy4gIElmIHRoaXMgaXMgY29uc2lkZXJlZCB1c2VmdWwsCiA7OyBpdCBzaG91bGQgYmUgZG9uZSB3 aXRoIHNwbGl0dGVycy4KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni94ODYtdHVuZS5kZWYg Yi9nY2MvY29uZmlnL2kzODYveDg2LXR1bmUuZGVmCmluZGV4IDM2MzZhNGE5NWQ4Li45ZDA2OTlm ZjliOSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L3g4Ni10dW5lLmRlZgorKysgYi9nY2Mv Y29uZmlnL2kzODYveDg2LXR1bmUuZGVmCkBAIC02NTgsNiArNjU4LDE0IEBAIERFRl9UVU5FIChY ODZfVFVORV9OT1RfVU5QQUlSQUJMRSwgIm5vdF91bnBhaXJhYmxlIiwgbV9QRU5UIHwgbV9MQUtF TU9OVCkKICAgIGFuZCBjYW4gaGFwcGVuIGluIGNhbGxlci9jYWxsZWUgc2F2aW5nIHNlcXVlbmNl cy4gICovCiBERUZfVFVORSAoWDg2X1RVTkVfUEFSVElBTF9SRUdfU1RBTEwsICJwYXJ0aWFsX3Jl Z19zdGFsbCIsIG1fUFBSTykKIAorLyogWDg2X1RVTkVfUEFSVElBTF9NRU1PUllfUkVBRF9TVEFM TDogUmVhZGluZyAocG9zc2libGUgdW5hbGlnbmVkKSBwYXJ0IG9mCisgICBtZW1vcnkgbG9jYXRp b24gYWZ0ZXIgYSBsYXJnZSB3cml0ZSB0byB0aGUgc2FtZSBhZGRyZXNzIGNhdXNlcworICAgc3Rv cmUtdG8tbG9hZCBmb3J3YXJkaW5nIHN0YWxsLiAgKi8KK0RFRl9UVU5FIChYODZfVFVORV9QQVJU SUFMX01FTU9SWV9SRUFEX1NUQUxMLCAicGFydGlhbF9tZW1veV9yZWFkX3N0YWxsIiwKKwkgIG1f Mzg2IHwgbV80ODYgfCBtX1BFTlQgfCBtX0xBS0VNT05UIHwgbV9QUFJPIHwgbV9QNF9OT0NPTkEg fCBtX0NPUkUyCisJICAgfCBtX1NJTFZFUk1PTlQgfCBtX0dPTERNT05UIHwgbV9HT0xETU9OVF9Q TFVTIHwgbV9UUkVNT05UCisJICAgfCBtX0s2X0dFT0RFIHwgbV9BVEhMT05fSzggfCBtX0FNREZB TTEwKQorCiAvKiBYODZfVFVORV9QUk9NT1RFX1FJTU9ERTogV2hlbiBpdCBpcyBjaGVhcCwgdHVy biA4Yml0IGFyaXRobWV0aWMgdG8KICAgIGNvcnJlc3BvbmRpbmcgMzJiaXQgYXJpdGhtZXRpYy4g ICovCiBERUZfVFVORSAoWDg2X1RVTkVfUFJPTU9URV9RSU1PREUsICJwcm9tb3RlX3FpbW9kZSIs CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjExMTY5OC5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHIxMTE2OTguYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmRhNmJlNTMxYTIKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjExMTY5OC5jCkBAIC0wLDAgKzEsMTkgQEAK Ky8qIFBSIHRhcmdldC8xMTE2OTggKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tYXNtPWF0dCIg fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAidGVzdGwiIH0gfSAgKi8K KworaW50IG07CisKK19Cb29sIGZvbyAodm9pZCkKK3sKKyAgcmV0dXJuIG0gJiAweDBhMDAwMDsK K30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ0ZXN0YiIgMSB9IH0g ICovCisKK19Cb29sIGJhciAodm9pZCkKK3sKKyAgcmV0dXJuIG0gJiAweGEwYTAwMDsKK30KKwor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ0ZXN0dyIgMSB9IH0gICovCg== --000000000000ac394b06088b4b44--