From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb2a.google.com (mail-yb1-xb2a.google.com [IPv6:2607:f8b0:4864:20::b2a]) by sourceware.org (Postfix) with ESMTPS id 4C5B43858D1E for ; Mon, 20 Feb 2023 22:21:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4C5B43858D1E 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-yb1-xb2a.google.com with SMTP id a20so1154895ybj.8 for ; Mon, 20 Feb 2023 14:21:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=PANLRGfhkUX6znNnLAOfJP6tgNvAJJ4q8bM8259ZyAg=; b=ZeOGSp2GFwFw2tnhrH50FOGesunG7iH4PvIKAKEB+Q18falx7LLcEw/CDlGGHyyfZW 6EbRST2aYd4XlSHiqvLmTBWogG4nY1YcdCTJPAvMxPT7qVIZyJcs76XFDK+p/vtuNygm gPNEWqz2rLIYhCnnzM06VvLgVONJ4ypbQitUxQi93qn1gYJf0tm1YQ8CbjL1pOWI1HMz u6yBjcK4RtxicVdgTDZYC+yXq5DXMKirtzQSArmOP39lEnKxV4nkDnSxaWdo2o5E104W wybCCAA/hJ/AFFYKQ3H5hrEpsxnoQwJdlRtk+1ZDpbQ2hKuyH4R4qp3EL9AQshFUHdgC 6nkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=PANLRGfhkUX6znNnLAOfJP6tgNvAJJ4q8bM8259ZyAg=; b=bJHCRkc7TJtwx9TxX8NRZqKSBfRF6VTyLD5sByQU3FtTK9H4CYEGu9GBkN9GF4zgOG RvOMblRy6bGmLMDdrKwGwP59KX5IEmnBR1t6zAZt5bWpbsrZ+3BQjHjE+ofaFBd2X8hz VVoV4hkp2I9SkVuRHBVrBmz+voRVafmyRoz1VAiCUz+l9wl3midTvuP1NHQKoeXYEKQV neSz3M0GXrVqs4vUTo0iajPKqMnd7ZOqXaSP0EyVzQD6pQxLq2atEj0PM2tkgGNzEC+F 8v/V8VX66qr/2VS+hREdJCx4rv8kUYxWPYtoQf6i0imjUCtUrAppTfqzZ80jwbb5iq9n ROFA== X-Gm-Message-State: AO0yUKXNHmsamV4S+lkpd1nZGrbuxhxEEMfWEkSCv5qs0DEJ6IVSFeg2 ASf2/TDzafKflmm142nlCnb/MGD/pbqHf3W546dD2x6DWZr0xQ== X-Google-Smtp-Source: AK7set/dUO6/1ECpi7XHmOUXo9N5pHT8CRJ9naA9Lavm58kF1S7nHZsMX1yJO0+u/x+xAsZTb203mLX9cBWCNul3ibQ= X-Received: by 2002:a5b:58d:0:b0:80b:9566:d574 with SMTP id l13-20020a5b058d000000b0080b9566d574mr10117ybp.83.1676931700318; Mon, 20 Feb 2023 14:21:40 -0800 (PST) MIME-Version: 1.0 From: Uros Bizjak Date: Mon, 20 Feb 2023 23:21:29 +0100 Message-ID: Subject: [PATCH] i386: Introduce general_x64constmem_operand predicate To: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="0000000000004fa0fa05f5291628" X-Spam-Status: No, score=-7.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.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --0000000000004fa0fa05f5291628 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Instructions that use high-part QImode registers can not be encoded with REX prefix. To avoid REX prefix, operand constraints allow only legacy QImode registers, immediates and constant memory operands. The patch introduces matching predicate, so invalid operands are not combined into instruction RTX only to be later fixed up by reload pass. 2023-02-20 Uro=C5=A1 Bizjak gcc/ChangeLog: * config/i386/predicates.md (general_x64constmem_operand): New predicate. * config/i386/i386.md (*cmpqi_ext_1): Use nonimm_x64constmem_operand. (*cmpqi_ext_3): Use general_x64constmem_operand. (*addqi_ext_1): Ditto. (*testqi_ext_1): Ditto. (*andqi_ext_1): Ditto. (*andqi_ext_1_cc): Ditto. (*qi_ext_1): Ditto. (*xorqi_ext_1_cc): Ditto. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Pushed to master. Uros. --0000000000004fa0fa05f5291628 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_leddttrd0 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2Lm1kIGIvZ2NjL2NvbmZpZy9pMzg2L2kz ODYubWQKaW5kZXggNjM4MmNmYmNlMjEuLjhlYmIxMmJlMmM5IDEwMDY0NAotLS0gYS9nY2MvY29u ZmlnL2kzODYvaTM4Ni5tZAorKysgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5tZApAQCAtMTQ1Niw3 ICsxNDU2LDcgQEAgKGRlZmluZV9pbnNuICIqY21wPG1vZGU+X21pbnVzXzEiCiAoZGVmaW5lX2lu c24gIipjbXBxaV9leHQ8bW9kZT5fMSIKICAgWyhzZXQgKHJlZyBGTEFHU19SRUcpCiAJKGNvbXBh cmUKLQkgIChtYXRjaF9vcGVyYW5kOlFJIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiUUJjLG0i KQorCSAgKG1hdGNoX29wZXJhbmQ6UUkgMCAibm9uaW1tX3g2NGNvbnN0bWVtX29wZXJhbmQiICJR QmMsbSIpCiAJICAoc3VicmVnOlFJCiAJICAgICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4CiAJICAgICAg KG1hdGNoX29wZXJhbmQgMSAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiICJRLFEiKQpAQCAtMTUw MSw3ICsxNTAxLDcgQEAgKGRlZmluZV9pbnNuICIqY21wcWlfZXh0PG1vZGU+XzMiCiAJICAgICAg KG1hdGNoX29wZXJhbmQgMCAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiICJRLFEiKQogCSAgICAg IChjb25zdF9pbnQgOCkKIAkgICAgICAoY29uc3RfaW50IDgpKSAwKQotCSAgKG1hdGNoX29wZXJh bmQ6UUkgMSAiZ2VuZXJhbF9vcGVyYW5kIiAiUW5CYyxtIikpKV0KKwkgIChtYXRjaF9vcGVyYW5k OlFJIDEgImdlbmVyYWxfeDY0Y29uc3RtZW1fb3BlcmFuZCIgIlFuQmMsbSIpKSldCiAgICJpeDg2 X21hdGNoX2NjbW9kZSAoaW5zbiwgQ0Ntb2RlKSIKICAgImNtcHtifVx0eyUxLCAlaDB8JWgwLCAl MX0iCiAgIFsoc2V0X2F0dHIgImlzYSIgIiosbm94NjQiKQpAQCAtNjY4Myw3ICs2NjgzLDcgQEAg KGRlZmluZV9pbnNuICIqYWRkcWlfZXh0PG1vZGU+XzEiCiAJICAgICAgICAobWF0Y2hfb3BlcmFu ZCAxICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIjAsMCIpCiAJCShjb25zdF9pbnQgOCkKIAkJ KGNvbnN0X2ludCA4KSkgMCkKLQkgICAgKG1hdGNoX29wZXJhbmQ6UUkgMiAiZ2VuZXJhbF9vcGVy YW5kIiAiUW5CYyxtIikpIDApKQorCSAgICAobWF0Y2hfb3BlcmFuZDpRSSAyICJnZW5lcmFsX3g2 NGNvbnN0bWVtX29wZXJhbmQiICJRbkJjLG0iKSkgMCkpCiAgICAoY2xvYmJlciAocmVnOkNDIEZM QUdTX1JFRykpXQogICAiLyogRklYTUU6IHdpdGhvdXQgdGhpcyBMUkEgY2FuJ3QgcmVsb2FkIHRo aXMgcGF0dGVybiwgc2VlIFBSODI1MjQuICAqLwogICAgcnR4X2VxdWFsX3AgKG9wZXJhbmRzWzBd LCBvcGVyYW5kc1sxXSkiCkBAIC05OTAxLDcgKzk5MDEsNyBAQCAoZGVmaW5lX2luc24gIip0ZXN0 cWlfZXh0PG1vZGU+XzEiCiAJICAgICAgICAobWF0Y2hfb3BlcmFuZCAwICJpbnQyNDhfcmVnaXN0 ZXJfb3BlcmFuZCIgIlEsUSIpCiAJCShjb25zdF9pbnQgOCkKIAkJKGNvbnN0X2ludCA4KSkgMCkK LQkgICAgKG1hdGNoX29wZXJhbmQ6UUkgMSAiZ2VuZXJhbF9vcGVyYW5kIiAiUW5CYyxtIikpCisJ ICAgIChtYXRjaF9vcGVyYW5kOlFJIDEgImdlbmVyYWxfeDY0Y29uc3RtZW1fb3BlcmFuZCIgIlFu QmMsbSIpKQogCSAgKGNvbnN0X2ludCAwKSkpXQogICAiaXg4Nl9tYXRjaF9jY21vZGUgKGluc24s IENDTk9tb2RlKSIKICAgInRlc3R7Yn1cdHslMSwgJWgwfCVoMCwgJTF9IgpAQCAtMTA2MDIsNyAr MTA2MDIsNyBAQCAoZGVmaW5lX2luc24gIiphbmRxaV9leHQ8bW9kZT5fMSIKIAkgICAgICAgICht YXRjaF9vcGVyYW5kIDEgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiMCwwIikKIAkJKGNvbnN0 X2ludCA4KQogCQkoY29uc3RfaW50IDgpKSAwKQotCSAgICAobWF0Y2hfb3BlcmFuZDpRSSAyICJn ZW5lcmFsX29wZXJhbmQiICJRbkJjLG0iKSkgMCkpCisJICAgIChtYXRjaF9vcGVyYW5kOlFJIDIg ImdlbmVyYWxfeDY0Y29uc3RtZW1fb3BlcmFuZCIgIlFuQmMsbSIpKSAwKSkKICAgIChjbG9iYmVy IChyZWc6Q0MgRkxBR1NfUkVHKSldCiAgICIvKiBGSVhNRTogd2l0aG91dCB0aGlzIExSQSBjYW4n dCByZWxvYWQgdGhpcyBwYXR0ZXJuLCBzZWUgUFI4MjUyNC4gICovCiAgICBydHhfZXF1YWxfcCAo b3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFdKSIKQEAgLTEwNjIyLDcgKzEwNjIyLDcgQEAgKGRlZmlu ZV9pbnNuICIqYW5kcWlfZXh0PG1vZGU+XzFfY2MiCiAJICAgICAgICAobWF0Y2hfb3BlcmFuZCAx ICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIjAsMCIpCiAJCShjb25zdF9pbnQgOCkKIAkJKGNv bnN0X2ludCA4KSkgMCkKLQkgICAgKG1hdGNoX29wZXJhbmQ6UUkgMiAiZ2VuZXJhbF9vcGVyYW5k IiAiUW5CYyxtIikpCisJICAgIChtYXRjaF9vcGVyYW5kOlFJIDIgImdlbmVyYWxfeDY0Y29uc3Rt ZW1fb3BlcmFuZCIgIlFuQmMsbSIpKQogCSAgKGNvbnN0X2ludCAwKSkpCiAgICAoc2V0ICh6ZXJv X2V4dHJhY3Q6U1dJMjQ4CiAJICAobWF0Y2hfb3BlcmFuZCAwICJpbnQyNDhfcmVnaXN0ZXJfb3Bl cmFuZCIgIitRLFEiKQpAQCAtMTEzNDUsNyArMTEzNDUsNyBAQCAoZGVmaW5lX2luc24gIio8Y29k ZT5xaV9leHQ8bW9kZT5fMSIKIAkgICAgICAgIChtYXRjaF9vcGVyYW5kIDEgImludDI0OF9yZWdp c3Rlcl9vcGVyYW5kIiAiMCwwIikKIAkJKGNvbnN0X2ludCA4KQogCQkoY29uc3RfaW50IDgpKSAw KQotCSAgICAobWF0Y2hfb3BlcmFuZDpRSSAyICJnZW5lcmFsX29wZXJhbmQiICJRbkJjLG0iKSkg MCkpCisJICAgIChtYXRjaF9vcGVyYW5kOlFJIDIgImdlbmVyYWxfeDY0Y29uc3RtZW1fb3BlcmFu ZCIgIlFuQmMsbSIpKSAwKSkKICAgIChjbG9iYmVyIChyZWc6Q0MgRkxBR1NfUkVHKSldCiAgICIo IVRBUkdFVF9QQVJUSUFMX1JFR19TVEFMTCB8fCBvcHRpbWl6ZV9mdW5jdGlvbl9mb3Jfc2l6ZV9w IChjZnVuKSkKICAgIC8qIEZJWE1FOiB3aXRob3V0IHRoaXMgTFJBIGNhbid0IHJlbG9hZCB0aGlz IHBhdHRlcm4sIHNlZSBQUjgyNTI0LiAgKi8KQEAgLTExNDczLDcgKzExNDczLDcgQEAgKGRlZmlu ZV9pbnNuICIqeG9ycWlfZXh0PG1vZGU+XzFfY2MiCiAJICAgICAgICAobWF0Y2hfb3BlcmFuZCAx ICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIjAsMCIpCiAJCShjb25zdF9pbnQgOCkKIAkJKGNv bnN0X2ludCA4KSkgMCkKLQkgICAgKG1hdGNoX29wZXJhbmQ6UUkgMiAiZ2VuZXJhbF9vcGVyYW5k IiAiUW5CYyxtIikpCisJICAgIChtYXRjaF9vcGVyYW5kOlFJIDIgImdlbmVyYWxfeDY0Y29uc3Rt ZW1fb3BlcmFuZCIgIlFuQmMsbSIpKQogCSAgKGNvbnN0X2ludCAwKSkpCiAgICAoc2V0ICh6ZXJv X2V4dHJhY3Q6U1dJMjQ4CiAJICAobWF0Y2hfb3BlcmFuZCAwICJpbnQyNDhfcmVnaXN0ZXJfb3Bl cmFuZCIgIitRLFEiKQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L3ByZWRpY2F0ZXMubWQg Yi9nY2MvY29uZmlnL2kzODYvcHJlZGljYXRlcy5tZAppbmRleCA3YjNkYjBjYzg1MS4uYjRkOWFi NDBhYjkgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9wcmVkaWNhdGVzLm1kCisrKyBiL2dj Yy9jb25maWcvaTM4Ni9wcmVkaWNhdGVzLm1kCkBAIC0xMTYsNiArMTE2LDEzIEBAIChkZWZpbmVf cHJlZGljYXRlICJub25pbW1feDY0Y29uc3RtZW1fb3BlcmFuZCIKIAkgICAgKGlvciAobm90ICht YXRjaF90ZXN0ICJUQVJHRVRfNjRCSVQiKSkKIAkJIChtYXRjaF90ZXN0ICJjb25zdGFudF9hZGRy ZXNzX3AgKFhFWFAgKG9wLCAwKSkiKSkpKSkKIAorOzsgTWF0Y2ggZ2VuZXJhbCBvcGVyYW5kLCBi dXQgZXhjbHVkZSBub24tY29uc3RhbnQgYWRkcmVzc2VzIGZvciB4ODZfNjQuCisoZGVmaW5lX3By ZWRpY2F0ZSAiZ2VuZXJhbF94NjRjb25zdG1lbV9vcGVyYW5kIgorICAoaW9yIChtYXRjaF9vcGVy YW5kIDAgIm5vbm1lbW9yeV9vcGVyYW5kIikKKyAgICAgICAoYW5kIChtYXRjaF9vcGVyYW5kIDAg Im1lbW9yeV9vcGVyYW5kIikKKwkgICAgKGlvciAobm90IChtYXRjaF90ZXN0ICJUQVJHRVRfNjRC SVQiKSkKKwkJIChtYXRjaF90ZXN0ICJjb25zdGFudF9hZGRyZXNzX3AgKFhFWFAgKG9wLCAwKSki KSkpKSkKKwogOzsgTWF0Y2ggcmVnaXN0ZXIgb3BlcmFuZHMsIGJ1dCBpbmNsdWRlIG1lbW9yeSBv cGVyYW5kcyBmb3IgVEFSR0VUX1NTRV9NQVRILgogKGRlZmluZV9wcmVkaWNhdGUgInJlZ2lzdGVy X3NzZW1lbV9vcGVyYW5kIgogICAoaWZfdGhlbl9lbHNlCg== --0000000000004fa0fa05f5291628--