From patchwork Mon Oct 18 15:04:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qing Zhao X-Patchwork-Id: 46352 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D2FE1385780E for ; Mon, 18 Oct 2021 15:07:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D2FE1385780E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1634569636; bh=mgBUCSdHUx02yM9WtSIEGnQ1D90gHn6j67eHU0WRaV4=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=s4NBpDWXsUDkygL4VGXdQB0vuoNqBpoXetxegmt4kZLWjpIb2sK+pBXThmVV8I3hN E7LzfKF4JuJwOv5SxnFLwBQ0a+xONwaE3vu+eoGsSW/Eri8m9bNMLZnot1UyVaOXxE bIWxezFmpzoUL5xeBjKtcZLqLF6kepSM1kMuAq1c= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 21B433858437 for ; Mon, 18 Oct 2021 15:04:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 21B433858437 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19IE7XDX000982; Mon, 18 Oct 2021 15:04:47 GMT Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3brnmf4k16-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 18 Oct 2021 15:04:44 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 19IEpSso049144; Mon, 18 Oct 2021 15:04:43 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by userp3030.oracle.com with ESMTP id 3bqkuvk5fk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 18 Oct 2021 15:04:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g6xd7NLLYyfgCsMHvi5APEfduZaBpdcnMiT/2WyWL+WpZMRcGHh7OdxKYe4z5ga5QJTAazK/bwyFb0k4X1xr+APZVd6dhjVHAiyjYdpsGTfWCfb/dh725lYsbT4FVRUi0wRCw/Ryy/LQYHHMp9PtwkXTFPrQtu8A9hSD5PNPapWric67os4UeLUHesTIvMmK3v3dcW4hnlBUhSqgWGgZWvUUcBYzqBlcIqslkPG8P5+cPf/bKEZA5Vc7S0sPbjLaZjYodhAk6Vay26N6+Jlj/MLyJ6IkGM22cvvaKbRDsEOtiaHeYGSM23OBscnyqu2RXk4QgyMkfndYbfxriCa33w== 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=mgBUCSdHUx02yM9WtSIEGnQ1D90gHn6j67eHU0WRaV4=; b=N0VyXIOucNmx/a2ynOdjq2qtgmlHRkUcSUHnZHa5hDqekGwEq6WVOpM5RuWvoiV7l1YxlusEyvm7BhdzCYeIG4ODogwO/xuwPm/YcGQPZsVAUyBajw9PzSPTg8YHoFIKJATNG/2hVQBhCzrLg/3U8qxdkGXIY8wYYDRfmcAH9uOpoAOSThevgalpWUeYajf9VDzjeOtS/Jbes4OxdZnU6VMg1b1rRJ+9gOoBQhVO0o7gLW15GOeSd+KpybrJHYSLRGY9pgQZpW8KV2VgPLU2fdpqQUNenMItFXEyHa9PGYBWoUQ5/G/j41fb2IwVr1Kxur3mvlCXA01rMSLpZ2YMiA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CH0PR10MB4859.namprd10.prod.outlook.com (2603:10b6:610:da::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.18; Mon, 18 Oct 2021 15:04:40 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8dd2:f5a2:23e8:1a7c]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8dd2:f5a2:23e8:1a7c%8]) with mapi id 15.20.4608.018; Mon, 18 Oct 2021 15:04:40 +0000 To: Richard Biener , Jakub Jelinek Subject: [Patch][PR102281]do not add BUILTIN_CLEAR_PADDING for variables that are gimple registers. Thread-Topic: [Patch][PR102281]do not add BUILTIN_CLEAR_PADDING for variables that are gimple registers. Thread-Index: AQHXxDF5t0PMtrpWYk+aTuZAPphuWg== Date: Mon, 18 Oct 2021 15:04:40 +0000 Message-ID: <89606056-4D5A-467B-A824-9163D882C35A@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4d68546b-98d9-4c8e-304e-08d992489c2b x-ms-traffictypediagnostic: CH0PR10MB4859: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7AD4QAeEpW3DxnEJ/YNlMIx5EcLwgEDLUPKGFQERJz4zbxNzdt5lYa+/GERjJGuW9AuZuSqVRbvcuL/c+eEe+OmYA6i/9m3AxMTMrMsF7/WobHILGdxD0hx4vW5KUP3bNxCgr3vUSDh5UM2CtNSdYC11F/qtvI+7gnmwhXNAscJ9KTh3h+n0fcjJAnE8yvJPyf53J/paYvmMzlrnsgmNx5dKWH2E9g1cg2MFaNXlZTvBpkIXrPr2dDfaEW0q9mSR+QqFwBRWfZs8nGJ56HFYduoPMC3I91BhmM2YR/hQwY6TyEVJQ4galzn3PQa8ec8FU4Ak6ff/z+tlYRnSACgYuwZ9WbsMjyW2KN5JAFtP3vBQpcel0saPd4Is9VwY/f9iMofDiyJEA/uJ0hv6AeMvsJ6mkgBWT2FRUt6lPcViP1AepnoKUXsvY3DQahb4302UMYqCGpxjgrPOMdx2PWNtwUYkus1KuqH2iEsJR6MogHLp7SCGe0bz7CcEB5ieWlpFksyL2MfGsdnuU6XJJfEVbtNvZf2Lg8bg4OVddWDnXzqPcV50xwaL1QKrs865TZLnWycbGkJv8wkDQKxwZeRtrxf1Rwnwi+sbLwD/2pQsW1JRMXgfX13FmsA+fL/WyVp8RVbJpeT0znZc1XqxhPZtsYIfCMXkya1O5/s/MubeQ8huAojMN+6zAE5o3CJrT39kwkSxlHj3BTn+cWeatSyTmmM5y3hR0jFOfDxvw7xbJjlqXirHg9Awh1HJ64sb8FXRXIlTciSck5Fza5gQjLvmG8bF0Lj4mb61FiwSQ9+/V4/+GbwsipwLAHwJ6SDO43vGw2SrrEK47nZeNq6Sia34CWdk5Jnm6SU2/UaDrhnizJ4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(8936002)(64756008)(66476007)(110136005)(86362001)(2616005)(8676002)(5660300002)(71200400001)(44832011)(66446008)(66556008)(2906002)(316002)(6486002)(83380400001)(508600001)(33656002)(6512007)(38070700005)(186003)(38100700002)(966005)(36756003)(122000001)(6506007)(66946007)(4326008)(91956017)(53546011)(76116006)(4001150100001)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: RN/Hzjr4U3au3DBs7pnBIDbBgiyf8mfPJ/THMNLcieXeU20xdU7RlZ/rMLFSGtKQrp3DEsi97UgYmywfQdnCqRBYChhRHYl06EwsmXFi9qdXPzTSll/cAcg2eYQefdefEBFdHVmefroJYdCzayhPF+kCd8wVdMn9RE7LT1ecDHXv1QbzeattWRe/bEWA57d8LXlSuc5ah1WZQzjBREuDue3IffVD0ZHM8RdN0wIni7j//rP85rgGXa04NIq+hIlqL7Zg+96oI63kTA42Gld6QUgiztzK3u3yro9MuY5SSfxrQ+EdZ2t14iIbexMCf54R3ismW+VnpbQNwagPrGh/w68JGVCBvCb+mQ4ForcwdHV2chEoE/68K5sG32VF1mWbuk0C3txbGV2+HLaVsMv2HRtPKhSxVWCXM/60KZmQvLT6rJKVOllVRHF2FOtvUHmYaolM++ybQv141uar3k8OBPfQRpB8BaucPMk6CLJZDJswTEUnvlC4aEukAPhsApDSG63Sn/qWMUjH9zA1JS4BwzIeMUrkja/uftfk1A9snB5ws5Uh8NlzRX/yK9Vy8pNQJSmlKOmsuyjJqG94YhZmZzeHlsF+h3yP1EqJde453LD2L+PtB3gSfY9jXkfDJ5cVX8kDcSCULhelue7cX4DvWS2epCVorTkwvTpHCYeTmFgEr3TCPoyZf/DtYDABnCsNq4B3Pfbm24chkrsShLtKLLBlsNQm9TvQt3UI7vn22wiNBv3a3nT8ZXlCBvyj0ovYlLMkgai+Dyi7V97dQuMcrDCUN7vSSE1tN7fPwR/uladZ0PCA6efGlcjTRz2vYSUrXuvp+XdaiAeY4Cl+BBfZ1CHtEJwfkY6hiq5wjJeltjreswR3QgML6Y4Tnk/ZTqx7AmU2ivb+GGosxui57BQmJAe4BPPkashQwFU8FNnu8lEHruobfUvrMjnkxvYMzAb9U462h0Y1BdovRAl6sUCGsxSIWkLRydgG/6YDXL0e7DsIFUChh5fklvcCIhoAm1ch6yNW9FfrTzqsu6kbQKUT11BUNGlI3bAB/NFAjqBsVUjdMK+3rC3877TwOCuQYX7oCNQ8fuWRFYvwO1EoiPh0y48RRQenBZcf95WgoSB3BdrpLg9mgGkKWGdZOIHAsY6tOt1dP/cjqtFgh8EX9VFafyD88wARdkBnF8u0P6BNTEcAf8Aq5XPpNbqeZ1wPONYtxXsC5fluChppGBAo/IYs1U/S9Dd6tbzpgAialuLQD63aSsVh7n8LUpY+KQdPHt4+ZH/ucZRkDgF/5h4XP9T5zsTiSJfDOOvA+CxkVJ0j4Z0OxSL33fjq6gvcxgU2Xhm9/NmZfyXybHwhuhEeuPIpBx8AcXndbw/i4Mc8RqV+Hv0= x-ms-exchange-transport-forked: True Content-ID: <08E4DECE316B4E43A0D074A1AEC210F7@namprd10.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d68546b-98d9-4c8e-304e-08d992489c2b X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Oct 2021 15:04:40.4375 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2Jk6g6iXf7v8wa1gXzPsjQGyjR3714JNfpmiRRZDhAzFexhCNxywWTIqK0CsPpFLmnJKQJonivRjt0igr3rkRA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4859 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10141 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 malwarescore=0 bulkscore=0 phishscore=0 adultscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2109230001 definitions=main-2110180092 X-Proofpoint-GUID: xevyS3BQT70CHSnZo8t4zlR_HMB2gO1i X-Proofpoint-ORIG-GUID: xevyS3BQT70CHSnZo8t4zlR_HMB2gO1i X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Qing Zhao via Gcc-patches From: Qing Zhao Reply-To: Qing Zhao Cc: gcc-patches Nick Alcock via Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Hi, PR102281 -ftrivial-auto-var-init=zero causes ice https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102281 Exposed multiple issues in the current padding clearing implementation of -ftrivial-auto-var-init: A. should check is_gimple_reg before adding the call to __builtin_clear_padding; (correctness) B. should check whether a type has padding before adding this call; (more efficient) C. For long double/Complex long double variables, if they are explicitly initialzied, should clear their padding during RTL phase when the variable is spilled into stack. in the fix to this bug, A is a must, B is better to add in. C is not needed, can be fixed in another bug, I have created a new PR 102781 to record this issue and will fix it later is needed. The patch for this Bug includes A + B. I have tested the patch on X86 and aarch64, bootstrapped and regression testing. Okay for trunk? Thanks. Qing. ============================= From ca78d82d7fe9064c0dcae845d1e4df34601fc083 Mon Sep 17 00:00:00 2001 From: Qing Zhao Date: Sat, 16 Oct 2021 17:15:23 +0000 Subject: [PATCH] PR 102281 (-ftrivial-auto-var-init=zero causes ice) Do not add call to __BUILTIN_CLEAR_PADDING when a variable is a gimple register or it might not have padding. gcc/ChangeLog: 2021-10-16 qing zhao * gimplify.c (gimplify_decl_expr): Do not add call to __BUILTIN_CLEAR_PADDING when a variable is a gimple register or it might not have padding. (gimplify_init_constructor): Likewise. gcc/testsuite/ChangeLog: 2021-10-16 qing zhao * c-c++-common/pr102281.c: New test. * gcc.target/i386/auto-init-2.c: Adjust testing case. * gcc.target/i386/auto-init-4.c: Likewise. * gcc.target/i386/auto-init-6.c: Likewise. * gcc.target/aarch64/auto-init-6.c: Likewise. --- gcc/gimplify.c | 19 ++++++++++++++++--- gcc/testsuite/c-c++-common/pr102281.c | 15 +++++++++++++++ .../gcc.target/aarch64/auto-init-6.c | 4 ++-- gcc/testsuite/gcc.target/i386/auto-init-2.c | 2 +- gcc/testsuite/gcc.target/i386/auto-init-4.c | 10 ++++------ gcc/testsuite/gcc.target/i386/auto-init-6.c | 7 ++++--- 6 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 gcc/testsuite/c-c++-common/pr102281.c diff --git a/gcc/gimplify.c b/gcc/gimplify.c index d8e4b139349..82968017cd9 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -1954,8 +1954,14 @@ gimplify_decl_expr (tree *stmt_p, gimple_seq *seq_p) pattern initialization. In order to make the paddings as zeroes for pattern init, We should add a call to __builtin_clear_padding to clear the - paddings to zero in compatiple with CLANG. */ - if (flag_auto_var_init == AUTO_INIT_PATTERN) + paddings to zero in compatiple with CLANG. + We cannot insert this call if the variable is a gimple register + since __BUILTIN_CLEAR_PADDING assumes the variable is in memory. + As a result, if a long double/Complex long double variable will + spilled into stack later, its padding is 0XFE. */ + if (flag_auto_var_init == AUTO_INIT_PATTERN + && !is_gimple_reg (decl) + && clear_padding_type_may_have_padding_p (TREE_TYPE (decl))) gimple_add_padding_init_for_auto_var (decl, is_vla, seq_p); } } @@ -5388,8 +5394,15 @@ gimplify_init_constructor (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, initialize paddings of object always to zero regardless of INIT_TYPE. Note, we will not insert this call if the aggregate variable has be completely cleared already or it's initialized - with an empty constructor. */ + with an empty constructor. We cannot insert this call if the + variable is a gimple register since __BUILTIN_CLEAR_PADDING assumes + the variable is in memory. As a result, if a long double/Complex long + double variable will be spilled into stack later, its padding cannot + be cleared with __BUILTIN_CLEAR_PADDING. we should clear its padding + when it is spilled into memory. */ if (is_init_expr + && !is_gimple_reg (object) + && clear_padding_type_may_have_padding_p (type) && ((AGGREGATE_TYPE_P (type) && !cleared && !is_empty_ctor) || !AGGREGATE_TYPE_P (type)) && is_var_need_auto_init (object)) diff --git a/gcc/testsuite/c-c++-common/pr102281.c b/gcc/testsuite/c-c++-common/pr102281.c new file mode 100644 index 00000000000..bfe9b08524b --- /dev/null +++ b/gcc/testsuite/c-c++-common/pr102281.c @@ -0,0 +1,15 @@ +/* PR102281 */ +/* { dg-do compile } */ +/* { dg-options "-ftrivial-auto-var-init=zero" } */ +long _mm_set_epi64x___q0; +__attribute__((__vector_size__(2 * sizeof(long)))) long long _mm_set_epi64x() { + return (__attribute__((__vector_size__(2 * sizeof(long)))) long long){ + _mm_set_epi64x___q0}; +} + +float _mm_set1_ps___F; +__attribute__((__vector_size__(4 * sizeof(float)))) float +__attribute___mm_set1_ps() { + return (__attribute__((__vector_size__(4 * sizeof(float)))) float){ + _mm_set1_ps___F}; +} diff --git a/gcc/testsuite/gcc.target/aarch64/auto-init-6.c b/gcc/testsuite/gcc.target/aarch64/auto-init-6.c index 27c16b33678..0456c66f496 100644 --- a/gcc/testsuite/gcc.target/aarch64/auto-init-6.c +++ b/gcc/testsuite/gcc.target/aarch64/auto-init-6.c @@ -1,6 +1,6 @@ /* Verify pattern initialization for complex type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern" } */ _Complex long double result; @@ -15,4 +15,4 @@ _Complex long double foo() return result; } -/* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe\\\]\\\) repeated x16" 3 "expand" } } */ +/* { dg-final { scan-assembler-times "word\t-16843010" 14 } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-2.c b/gcc/testsuite/gcc.target/i386/auto-init-2.c index e22930ae89b..0c59c62dacf 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-2.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-2.c @@ -29,7 +29,7 @@ void foo() return; } -/* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe" 2 "expand" } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe" 1 "expand" } } */ /* { dg-final { scan-rtl-dump-times "0xfffffffffffffefe" 1 "expand" } } */ /* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 2 "expand" { target lp64 } } } */ /* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 3 "expand" { target lp64 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-4.c b/gcc/testsuite/gcc.target/i386/auto-init-4.c index 7b46c74a073..1803dd45842 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-4.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-4.c @@ -1,6 +1,6 @@ /* Verify pattern initialization for floating point type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -march=x86-64 -mtune=generic -msse" } */ long double result; @@ -14,8 +14,6 @@ long double foo() return result; } -/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 1 "expand" { target { ! ia32 } } } } */ -/* { dg-final { scan-rtl-dump-times "\\\[0xfefefefefefefefe\\\]" 1 "expand" { target { ! ia32 } } } } */ -/* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe\\\]\\\) repeated x16" 1 "expand" { target { ! ia32 } } } } */ -/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 2 "expand" { target ia32 } } } */ -/* { dg-final { scan-rtl-dump-times "\\\[0xfefefefefefefefe\\\]" 2 "expand" { target ia32 } } } */ + +/* { dg-final { scan-assembler-times "long\t-16843010" 5 { target { ! ia32 } } } } */ +/* { dg-final { scan-assembler-times "long\t-16843010" 3 { target { ia32 } } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-6.c b/gcc/testsuite/gcc.target/i386/auto-init-6.c index f75081edce4..339f8bc2966 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-6.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-6.c @@ -1,6 +1,6 @@ /* Verify pattern initialization for complex type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -march=x86-64 -mtune=generic -msse" } */ _Complex long double result; @@ -15,5 +15,6 @@ _Complex long double foo() return result; } -/* { dg-final { scan-rtl-dump-times "\\\[0xfefefefefefefefe\\\]" 1 "expand" } } */ -/* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe\\\]\\\) repeated x16" 2 "expand" } } */ +/* { dg-final { scan-assembler-times "long\t-16843010" 10 { target { ! ia32 } } } } */ +/* { dg-final { scan-assembler-times "long\t-16843010" 6 { target { ia32 } } } } */ +