From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2083.outbound.protection.outlook.com [40.107.22.83]) by sourceware.org (Postfix) with ESMTPS id 14AC53858D3C for ; Thu, 25 May 2023 10:26:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 14AC53858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ot03pjrvf8GAfO59NPIG4zEb7aZuRUk8t+IeQxgflJU=; b=PBtwFuBpmiITdmDEZ/mFRVWmU4InMgPRHcucH+FTp2orMwChyWVdTJ2kO8YsvjoL1dVOwxyDdk5vHTXR/PbqAYj1GrMTe+arb/YgDDYL1H9v4Mvvcq+bQwq+olDogBd2zqzf9zelZdAB1N2Jo9K0B9Z92vNDPwG72IBSNA99IuM= Received: from AS9PR04CA0049.eurprd04.prod.outlook.com (2603:10a6:20b:46a::34) by VE1PR08MB5742.eurprd08.prod.outlook.com (2603:10a6:800:1a9::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.15; Thu, 25 May 2023 10:26:04 +0000 Received: from AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:46a:cafe::38) by AS9PR04CA0049.outlook.office365.com (2603:10a6:20b:46a::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.15 via Frontend Transport; Thu, 25 May 2023 10:26:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT032.mail.protection.outlook.com (100.127.140.65) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.16 via Frontend Transport; Thu, 25 May 2023 10:26:04 +0000 Received: ("Tessian outbound 945aec65ec65:v136"); Thu, 25 May 2023 10:26:04 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 637292f3d6ac8c0d X-CR-MTA-TID: 64aa7808 Received: from d32277361583.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 56B69A87-36AC-4478-9417-ED1605353995.1; Thu, 25 May 2023 10:25:57 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d32277361583.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 25 May 2023 10:25:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QK0iFIMtq7CL/C+VGXcNW0G/yiwZZpiQ9JcKtH4CkJXlHL4swy5NI/RpAxiQs3nAt4daCve+gYk6+hcmEjRox8/6aOq6nIP7X1bKZ5OBigmGmJy9PhtHk7BJclHquVGNu/nHkvq8wOZvXLNVc4NGgu/F83dE/+/D1QIU4MXZSwfxx1hKXAK4kXBWfyCiw6lA0MTSmLd2PwYCaMhx1F3X4ijBuzn9HXaszpGtg3UGu9H+LpvFRxNacC2a02OYdijxR1l4MWFtqnu0ghEWYFd7h2/Urbc5Ixu13s1bW5bmBLyTzyopWRiMEqWhDwBb992ikYg0YIcWYdooVeR9fGOg1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ot03pjrvf8GAfO59NPIG4zEb7aZuRUk8t+IeQxgflJU=; b=IyFfsxkSxlYswRE+nBjlUmJfvi3yc4n/GYp9uQ0bRLA3gfPuhA7eelgGYbsKCk+FgtZ+LRAkTj8PzWzTdEss0YjVboWdglqu4/1xVaVi0Rnh21ugcVKHzYektELPtKZNdWYzMPwRui2YpBP+mb5KeBgptIM8uQqdAnENLg7bGpaUBbqG+IGJHPsamfyNWZKTR4yP8WC4nMIiDstIs0tJ0ahpTOhiDzwbMcojsY2gdPw8rwlaxmDTRVffZFi0ojr6ZQa0ZWJVjql5TE5EEVlVNwUckRbkAhNEb94CAQMbs1/DM3c2jm48TtDsj5xa/29jSjtcPpQgpwXY5ikrM0nQLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ot03pjrvf8GAfO59NPIG4zEb7aZuRUk8t+IeQxgflJU=; b=PBtwFuBpmiITdmDEZ/mFRVWmU4InMgPRHcucH+FTp2orMwChyWVdTJ2kO8YsvjoL1dVOwxyDdk5vHTXR/PbqAYj1GrMTe+arb/YgDDYL1H9v4Mvvcq+bQwq+olDogBd2zqzf9zelZdAB1N2Jo9K0B9Z92vNDPwG72IBSNA99IuM= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PAXPR08MB7201.eurprd08.prod.outlook.com (2603:10a6:102:20b::17) by DB9PR08MB9684.eurprd08.prod.outlook.com (2603:10a6:10:460::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Thu, 25 May 2023 10:25:54 +0000 Received: from PAXPR08MB7201.eurprd08.prod.outlook.com ([fe80::5b72:ef2:156a:296a]) by PAXPR08MB7201.eurprd08.prod.outlook.com ([fe80::5b72:ef2:156a:296a%6]) with mapi id 15.20.6433.017; Thu, 25 May 2023 10:25:53 +0000 Date: Thu, 25 May 2023 11:25:48 +0100 From: Alex Coplan To: Kyrylo Tkachov Cc: "gcc-patches@gcc.gnu.org" , "nickc@redhat.com" , Richard Earnshaw , Ramana Radhakrishnan Subject: Re: [PATCH] arm: Fix ICE due to infinite splitting [PR109800] Message-ID: References: Content-Type: multipart/mixed; boundary="mMkejvcsX6nGe1WK" Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO2P265CA0245.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:8a::17) To PAXPR08MB7201.eurprd08.prod.outlook.com (2603:10a6:102:20b::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAXPR08MB7201:EE_|DB9PR08MB9684:EE_|AM7EUR03FT032:EE_|VE1PR08MB5742:EE_ X-MS-Office365-Filtering-Correlation-Id: 4304c162-b69b-49bb-3468-08db5d0a71e0 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: iGqFaho40Bo3ZOskUb4hXIiiCjze+Sqg7SjKxKNuqr3tXwjmNs3vkJaambJ4dp3zsvt8Rz+zkrhNHx0+LqS4MS+bmXQb6yqOTTO80+GwezUdIXhaEkwY/HL9vmmVjvpxvowGmvebfPEgkCY6CW2NgU0bdXg/+xsV3/jFJ3aFiQB8JGesWl7GDtB3zjxM9Ldx9/m/hyyzKZxSfYnnuwYUyuVkNfWq6/YSE7y5baa1uVuZdyor1UYW3Na7Ot2KBGhSGiUpQSEO6Tgp0+BVKOn2JoOKSOFlBjZaEyUgQsVm+oI/1lN8g8FFOw9W+GUDnxtZdDlquid7TA2OxEOtQiB0Ibfh5vUx4xCHllOdzzyarYgWyi13jbuYBmtb5ocTNBWe+RiDzbceWAuKikcv9hk1uxCGPUtkAtJ5tEdRDQ9FrUJjmPYH+yU4C5qv7loMC9YY5r5Jv6pNm6G8Z7d+2Nb6lokKFGBp5y0ETG5mVneIFPsrQbC+V0cfjKJCuEaCuOR+/Fb7In3olCF6A2gYL6/xnOUL9NSd/QaPdHflviR095znguMzLAMwindivDYlU5T2DSbPtd9Uy96xPKycw2ks8mPVpKUXBbYngagi8DNcIcE= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7201.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(346002)(396003)(376002)(136003)(451199021)(37006003)(41300700001)(33964004)(44144004)(54906003)(6486002)(478600001)(6862004)(84970400001)(66946007)(6636002)(4326008)(316002)(6666004)(66556008)(66476007)(86362001)(235185007)(5660300002)(8676002)(8936002)(186003)(6506007)(53546011)(26005)(38100700002)(6512007)(21480400003)(2906002)(2616005)(36756003)(2700100001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9684 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 640b736e-6f84-4335-7e6c-08db5d0a6ad2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ObZXDy3US1N5EYmfXZZf7/VYO+TOMlhGhln7oKE+joW65FYUe7KZ4mVWZElW6CydFXT0Tj4HZrqsxtG+d4hZo5TD8veZgwo3VMK9DdRcBvtzwDKV5ZIr0KNe0uPKs/2qw/vyzHBQxvxa/s7d21NMAgs+fPJcf5k1LPuJ/zPVXL+ipE1VF2Rp3uw9z97gO7q0qrriA1w/I4Tt7HtKAFpshEXTLap0SqVVkr2JaA/9HrO8tZAfRhVe0YZtd4ww7nmxmkKLIQbhZIXMD4wYgLlOi11TOlbZk6YyXpPKluaYodNgkD2D8e354uDJArWWtgjTozl5lVvaMk3AWmBj/xfv8YVQow0QL6ipkQbVXrlNop9n7e4K0MGd+8kvgazyapc48WcTA4X0btBnQ7UDyQ8L1+WAxdMX6rlF1L1r/NniA3HEhSqjct8PQc+Aj3K3my9L+2I5D6o6exDzWzcwoMvx8zwKHKU9I7Gsp2kjuABdDGujAn11ZVjek93n3mP1dyOrAsvy1dLYj29Pd8+VZAtqH/wrDZ0/BekwbtIXn/JisbP3QHNCMI3AmrBeasGW3r3eMFMy9xokQRaWTTqHoG+u6AfOPwNshKObER0ZkM4Gtr0qcG8QJ+9BfOwKvPHvVCu7a58pd19q4y+xNcvl+9CxeA6x5yopxyaVPZOkjyjRshyc4Nt6skPyEyo0YSkOUF1lm3qEF19OAxqBR4cr+xgCxbh1Nx6In+RG1gzEr+zi6qsu/KF/5sbZMbIbr5cWdFH2 X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(346002)(39850400004)(136003)(396003)(451199021)(40470700004)(46966006)(36840700001)(6666004)(4326008)(6636002)(54906003)(37006003)(70586007)(6506007)(82310400005)(53546011)(316002)(40480700001)(6512007)(70206006)(26005)(107886003)(84970400001)(44144004)(33964004)(41300700001)(6486002)(478600001)(81166007)(6862004)(8676002)(8936002)(5660300002)(40460700003)(356005)(82740400003)(235185007)(2616005)(47076005)(36756003)(336012)(86362001)(21480400003)(186003)(36860700001)(2906002)(2700100001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2023 10:26:04.4163 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4304c162-b69b-49bb-3468-08db5d0a71e0 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5742 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY 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: --mMkejvcsX6nGe1WK Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Hi Kyrill, On 23/05/2023 11:14, Kyrylo Tkachov wrote: > Hi Alex, > diff --git a/gcc/testsuite/gcc.target/arm/pr109800.c b/gcc/testsuite/gcc.target/arm/pr109800.c > new file mode 100644 > index 00000000000..71d1ede13dd > --- /dev/null > +++ b/gcc/testsuite/gcc.target/arm/pr109800.c > @@ -0,0 +1,3 @@ > +/* { dg-do compile } */ > +/* { dg-options "-O2 -march=armv7-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mbig-endian -mpure-code" } */ > +double f() { return 5.0; } > > ... The arm testsuite options are kinda hard to get right with all the effective targets and multilibs and such hardcoded abi and march options tend to break in some target. > I suggest you put this testcase in gcc.target/arm/pure-code and add a dg-skip-if to skip the test if the multilib options specify a different float-abi. How about this instead: diff --git a/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c b/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c new file mode 100644 index 00000000000..d797b790232 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c @@ -0,0 +1,4 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target arm_hard_ok } */ +/* { dg-options "-O2 -march=armv7-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mbig-endian -mpure-code" } */ +double f() { return 5.0; } Full v2 patch attached. Thanks, Alex --mMkejvcsX6nGe1WK Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="patch_v2.txt" diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index cbfc4543531..40c4d848238 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -7555,7 +7555,7 @@ (define_expand "movdf" && !arm_const_double_rtx (operands[1]) && !(TARGET_VFP_DOUBLE && vfp3_const_double_rtx (operands[1]))) { - rtx clobreg = gen_reg_rtx (DFmode); + rtx clobreg = gen_reg_rtx (DImode); emit_insn (gen_no_literal_pool_df_immediate (operands[0], operands[1], clobreg)); DONE; diff --git a/gcc/config/arm/vfp.md b/gcc/config/arm/vfp.md index 60e7ba35d8b..03514acc94f 100644 --- a/gcc/config/arm/vfp.md +++ b/gcc/config/arm/vfp.md @@ -2138,7 +2138,7 @@ (define_insn "get_fpscr" (define_insn_and_split "no_literal_pool_df_immediate" [(set (match_operand:DF 0 "s_register_operand" "=w") (match_operand:DF 1 "const_double_operand" "F")) - (clobber (match_operand:DF 2 "s_register_operand" "=r"))] + (clobber (match_operand:DI 2 "s_register_operand" "=r"))] "arm_disable_literal_pool && TARGET_VFP_BASE && !arm_const_double_rtx (operands[1]) @@ -2153,8 +2153,9 @@ (define_insn_and_split "no_literal_pool_df_immediate" unsigned HOST_WIDE_INT ival = zext_hwi (buf[order], 32); ival |= (zext_hwi (buf[1 - order], 32) << 32); rtx cst = gen_int_mode (ival, DImode); - emit_move_insn (simplify_gen_subreg (DImode, operands[2], DFmode, 0), cst); - emit_move_insn (operands[0], operands[2]); + emit_move_insn (operands[2], cst); + emit_move_insn (operands[0], + simplify_gen_subreg (DFmode, operands[2], DImode, 0)); DONE; } ) diff --git a/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c b/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c new file mode 100644 index 00000000000..d797b790232 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c @@ -0,0 +1,4 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target arm_hard_ok } */ +/* { dg-options "-O2 -march=armv7-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mbig-endian -mpure-code" } */ +double f() { return 5.0; } --mMkejvcsX6nGe1WK--