{"id":2223796,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2223796/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/CAFULd4a+z7URmqt3MADwiEo+jXZJUY1F9My9dub+vVhOBok6Pg@mail.gmail.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.1/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<CAFULd4a+z7URmqt3MADwiEo+jXZJUY1F9My9dub+vVhOBok6Pg@mail.gmail.com>","date":"2026-04-16T08:42:01","name":"[pushed] i386/testsuite: Fix pr90178.c test failure for 32-bit targets","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"331d1418d5f7cd292b733d547d0ce0566b444c93","submitter":{"id":808,"url":"http://patchwork.ozlabs.org/api/1.1/people/808/?format=json","name":"Uros Bizjak","email":"ubizjak@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/CAFULd4a+z7URmqt3MADwiEo+jXZJUY1F9My9dub+vVhOBok6Pg@mail.gmail.com/mbox/","series":[{"id":500110,"url":"http://patchwork.ozlabs.org/api/1.1/series/500110/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=500110","date":"2026-04-16T08:42:01","name":"[pushed] i386/testsuite: Fix pr90178.c test failure for 32-bit targets","version":1,"mbox":"http://patchwork.ozlabs.org/series/500110/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2223796/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2223796/checks/","tags":{},"headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=HyA8eQpa;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=HyA8eQpa","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","sourceware.org; spf=pass smtp.mailfrom=gmail.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=209.85.208.169"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fxBNq5DVvz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 18:43:07 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id AB8804BA23DB\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 08:43:05 +0000 (GMT)","from mail-lj1-f169.google.com (mail-lj1-f169.google.com\n [209.85.208.169])\n by sourceware.org (Postfix) with ESMTPS id 47A034BA23E0\n for <gcc-patches@gcc.gnu.org>; Thu, 16 Apr 2026 08:42:15 +0000 (GMT)","by mail-lj1-f169.google.com with SMTP id\n 38308e7fff4ca-38be5e86918so81124851fa.3\n for <gcc-patches@gcc.gnu.org>; Thu, 16 Apr 2026 01:42:15 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org AB8804BA23DB","OpenDKIM Filter v2.11.0 sourceware.org 47A034BA23E0"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 47A034BA23E0","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 47A034BA23E0","ARC-Seal":["i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1776328935; cv=pass;\n b=Xh7BFo+PGJVQ+xgrOhPFKBMNuQtkynxeucnBq0E85wOW+2NHaX5O/UN5wCNIa8bFPikxPG35qZ6u1ZLw0G46OwwlX3f5DOWL/W6OhDc0FLGCP79Mx1hgrCmXfE75iuvyeS6i18e7FhLmUJ7TRX3lz0dPTfgbzZq1zJZxU8dv3bk=","i=1; a=rsa-sha256; t=1776328933; cv=none;\n d=google.com; s=arc-20240605;\n b=NAPzFtHu3mSt4LGdgNCqwjvYb1kaOwPW+9OGqXDt0ZBCi8QVDg6eyjX3ID4Ol5aqcC\n FILHShxnBU62adTRF4jIL4Vvy5NLBBcyQgIO0ILd88aBD7PrxF4KEbn8kmJUs0OXCXEu\n xANC5U6g5j1YD/gG1C4FrhfCfmAq2uq1kACKmPKe1RHLkgJGENhpT3COE69Io1WQQliZ\n SpyApw6YVosBuFNySh/szgPPmHXMsae2xYpKfw3uz2I1BRuLFeHnKB8Jm5tGBFjMNUzU\n EWu8LmZj+DpdWw9m/fBAZ45birxY0icYv/HZQEzWqi6a3n01o3jh9tVa80nvW3lCbJ1D\n Bxrg=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776328935; c=relaxed/simple;\n bh=uaopPZkuM8CpVn/Uwd4r0b4GcPVMttB3C5kg8c/RNLs=;\n h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;\n b=TTDmOT++S66CrICP4hqS1NLnnlxVAocDnhDUKxB9LHAI3BNQJGCMMWK3zLT1zxGMEsCt8zHb4JxN4WYk990116S3qyt6f8xR+qT10DW+F3SFB7zZPVVnzj0Yb+pR+WQWk0K9fkRErWDMMIYn5fn79Yk/HAw9zpgo3wja8LGkpNI=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=to:subject:message-id:date:from:mime-version:dkim-signature;\n bh=TeVUmUqEoOb4lu6m31sqbKsKqFDyu0T3lXNUjn3DZgk=;\n fh=XNn3asQvIblazGK92GBt13dVv+YmGV3pBS0JC29ZQco=;\n b=gvupXNbSuAOX+eqUdEBKB4rSEBgfEr7FiorKX5cmauAmruQBKXaAxZWBtkvFwtOwtr\n PvDvGi+X8NTm9V0X0O/lwUfZCrK5cxEJNBELKLkxPTOoP9b/gLTQnYv6OagY2KLXnzy9\n DAYePFldRC7+XFeP7X+//Vr5x9CGa73d9j+Q7ItePJILNCPRgaR9NKG46YJ81roxo3vV\n huzu/Y5isI7bNOJcYa03blKQLpxD2bXXSfR3Sh/Cl2Smr+PtEOuyJ5R7iB87mJ07YQWw\n 4Y3uYg0vS+uVaxsu3Uytq3QYq07/zsz0+pWGZ6MwC5lYS1afFVP+0LeXilz4kQ/Fu9pc\n 9+9w==; darn=gcc.gnu.org"],"ARC-Authentication-Results":["i=2; server2.sourceware.org","i=1; mx.google.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776328933; x=1776933733; darn=gcc.gnu.org;\n h=to:subject:message-id:date:from:mime-version:from:to:cc:subject\n :date:message-id:reply-to;\n bh=TeVUmUqEoOb4lu6m31sqbKsKqFDyu0T3lXNUjn3DZgk=;\n b=HyA8eQpaTt2+nK0GPA/U41FR2L1r0nSKKgOdZdZ+uCd5pIfcl4qes1PoC+WS1JP6qD\n yi7oO3Y589+kvtaVEpiVnNtrJ2Zs4vGs8yEOB5bAxLko+/iXjrCXbqn9A526UYzd6dbG\n eMwfcYVXYdQmOvY/OIpAKg7T+XRqVblS9Hy9x49dDIFIhrg15C3+GNWjw2H8VMZX00uQ\n EhVqBSUTGs+Fvg/2/oOvcQ3ugq3sgMiyZ2YBc8vyWA2M3IZ7mMoAKyNfN1o7TTK0ory+\n ocRfzPcdTXVZpeXO2tXZIyRgrRN4MUHX8ImIf0CZT/OAIVa0uv279ybeH/kj7gUOa3OJ\n Mssg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776328933; x=1776933733;\n h=to:subject:message-id:date:from:mime-version:x-gm-gg\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=TeVUmUqEoOb4lu6m31sqbKsKqFDyu0T3lXNUjn3DZgk=;\n b=BWeApf1lRQG7kkgPLoHioGDwMdXWnR+yrKetdz3y230iepNlJNm2P4SZIBD+MYzv+a\n i1x1fLiDcFIIaoFSwEeIB9y20bI8WwgidaDIr8Z6axYi+XHRMh44VKrgUHVmBg21VBik\n k9lyp3juvjUDyMEiZvR6KiR3q2psJvpXyH33LuM5IwBQbPm5ItSHc9lRUdxvaDhe0Bow\n BW2Z5rqhpKF4v+6Cwcuuxtg1idUl4Xdxq3b0eGCcxup+GHl2wvAwSkqAwWeM4b1CoOap\n W0+6qaj4RmSaIT3MeTZPNjQnBpstMve9+8MIL0GgezNAGDK73Jgp9JAX8zGzuJsB4etm\n MzPw==","X-Gm-Message-State":"AOJu0Yy4rUgJHQeDpm/YUx3PhKYYa+58zndPmXvdLum/Yfa1rQ7hfjo4\n 3nA8E1PaFS+8NHl0Qwx4BNkdOmoXT4selpgJM/r9kBKhYkoJqXhqz1/PCuN30sKvR4KgRxlWWUx\n RbdqKx9TFYsNxS2BIOWATGUOfta58wYexnPw0dUw=","X-Gm-Gg":"AeBDieuGrPfm4HqTZZxyY3Ro413qJ6/gG9yU/xAt+i5fCGRnZ7ThKOd9HuggJ7JSNyN\n jckpW2Fv85V0G0vL2T635iDReG96znSF1GNSZ95BzM47vrnZiKXsbbrvGVd33u5KWp//afxi0ov\n DRKCElSUjd58NSclRqUO+oB9uMSTzwCOAyVoauOdNnM7eEdEp57IECndeY33zDDWrxytQp/OJQU\n ZsE73UYGKNe3vGf0TuhD0SIe7IaZxZ8uO8XRDLD5eVVJZOpaEOJ16GpD4T8EhDfTg/NO/eVA6Q2\n scZrIJo9Yn6K2/uIkbnsOa/pTcezd26N+GS05Od0RpP4tVDmrzWyCg+ojqQiMISQSgVfr+MZRvi\n 296jOnYLjwXY9WhaMkiZcTS0fSFO8oQeW+Csd4mdf/PBtJg==","X-Received":"by 2002:a2e:8a89:0:b0:38e:58c7:ccb with SMTP id\n 38308e7fff4ca-38e58c72cd5mr64281621fa.7.1776328933143; Thu, 16 Apr 2026\n 01:42:13 -0700 (PDT)","MIME-Version":"1.0","From":"Uros Bizjak <ubizjak@gmail.com>","Date":"Thu, 16 Apr 2026 10:42:01 +0200","X-Gm-Features":"AQROBzC_cht0RTZvK79W3_OQuo8hGUTRsyBayEcj-MB91HYNHctO0mnB2_NljwQ","Message-ID":"\n <CAFULd4a+z7URmqt3MADwiEo+jXZJUY1F9My9dub+vVhOBok6Pg@mail.gmail.com>","Subject":"[pushed] i386/testsuite: Fix pr90178.c test failure for 32-bit\n targets","To":"\"gcc-patches@gcc.gnu.org\" <gcc-patches@gcc.gnu.org>","Content-Type":"multipart/mixed; boundary=\"000000000000109f74064f8fcf72\"","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"},"content":"The testcase counts occurrences of `xorl %eax, %eax` to detect whether\nthere is only one terminal basic block.  This approach is brittle because\nit depends on register allocation decisions, which differ between targets.\n\nOn x86_64, IRA creates the following sequence:\n\n   11: NOTE_INSN_BASIC_BLOCK 3\n    6: ax:DI=0\n      REG_EQUAL 0\n   48: pc=L38\n   ...\n   38: L38:\n   41: NOTE_INSN_BASIC_BLOCK 8\n   40: use ax:DI\n\nThis sequence is reordered in bbro pass to:\n\n   30: L30:\n   11: NOTE_INSN_BASIC_BLOCK 7\n   63: {ax:DI=0;clobber flags:CC;}\n      REG_UNUSED flags:CC\n   60: use ax:DI\n   48: simple_return\n\nOn x86_32, IRA zeroes %ecx, which is later copied to %eax in\nthe terminal basic block:\n\n   12: NOTE_INSN_BASIC_BLOCK 3\n    7: cx:SI=0\n      REG_EQUAL 0\n   45: pc=L36\n   ...\n   36: L36:\n   39: NOTE_INSN_BASIC_BLOCK 7\n   37: ax:SI=cx:SI\n   38: use ax:SI\n\nThis sequence is reordered in bbro pass to:\n\n   28: L28:\n   12: NOTE_INSN_BASIC_BLOCK 7\n   69: {cx:SI=0;clobber flags:CC;}\n      REG_UNUSED flags:CC\n   71: ax:SI=cx:SI\n      REG_DEAD cx:SI\n   72: use ax:SI\n   73: NOTE_INSN_EPILOGUE_BEG\n   74: bx:SI=[sp:SI++]\n      REG_CFA_ADJUST_CFA sp:SI=sp:SI+0x4\n      REG_CFA_RESTORE bx:SI\n   75: si:SI=[sp:SI++]\n      REG_CFA_ADJUST_CFA sp:SI=sp:SI+0x4\n      REG_CFA_RESTORE si:SI\n   76: simple_return\n\nAfter the bbro pass, zero is not propagated from %ecx to %eax, so the final\nassembly does not contain `xorl %eax, %eax`:\n\n.L5:\n        xorl    %ecx, %ecx\n        ...\n        movl    %ecx, %eax\n        ret\n\nThe test uses `xorl %eax, %eax` as a proxy for detecting multiple terminal\nbasic blocks, which is brittle because it depends on register allocation.\nInstead, simply count `ret` instructions, which directly reflects the\nnumber of terminal basic blocks and does not depend on register allocation.\n\ngcc/testsuite/ChangeLog:\n\n    * gcc.target/i386/pr90178.c: Scan for 2 `ret` instructions.\n\nTested on x86_64 {,-m32}.\n\nUros.","diff":"diff --git a/gcc/testsuite/gcc.target/i386/pr90178.c b/gcc/testsuite/gcc.target/i386/pr90178.c\nindex e9fea04fb14..2d132de41cc 100644\n--- a/gcc/testsuite/gcc.target/i386/pr90178.c\n+++ b/gcc/testsuite/gcc.target/i386/pr90178.c\n@@ -11,4 +11,4 @@ find_ptr (int* mem, int sz, int val)\n   return 0;\n }\n \n-/* { dg-final { scan-assembler-times \"xorl\\[\\\\t \\]*\\\\\\%eax,\\[\\\\t \\]*%eax\" 1 } } */\n+/* { dg-final { scan-assembler-times \"ret\" 2 } } */\n","prefixes":["pushed"]}