From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id DE1F03858D3C for ; Tue, 10 Jan 2023 23:53:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DE1F03858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30ANol0s001703 for ; Tue, 10 Jan 2023 23:53:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : references : date : in-reply-to : message-id : content-type : mime-version; s=corp-2022-7-12; bh=ymE2wew8V/XPN4bkXTpZxxTjn3FSANVjDqPYtAwoP+k=; b=rJrktD0F1DYOMNVzk5aPt+HPXBHBFNT8wrIvWmtOEARX3tG592y1F84TwntPu9JIP632 XPfBBt+RqzBcksr3T7gVk5Xvv1s2XDbJPTDeTIl9xpxsoAyiSOCd0Owkb7WUtoUHuS6n YCP5IdeEpGj7jx5jcMyvEUgDgt3T4lBtjZVRMiTwge9z7/8FlLjTMsx0K18uNacKkrFf kqHtOcHZ3c/Zc4tfLB1jsXa/KcUBPlrp44Vj3K0jAaYc14EjXFpzbZXPj/eh7nuua5vl Mfce2nBacNYt81ooW7KVpMp1a8ig028F/CluQnNhRHoa1dG1/Lkj7BvKxfkCj1e2T4P1 QQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3my0scemxx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 10 Jan 2023 23:53:43 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 30AMvMUl013757 for ; Tue, 10 Jan 2023 23:53:42 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n1ff2e5a0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 10 Jan 2023 23:53:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EkHc1a/CgXs6nkm0jpMlske46NdIKh4olMAhfneX73A8BVAlYzkI1hplO+zNG+MDg4k75yFrtYF2iS1nALYRXvvME6cae7oxjTdmeiCUyVcBciTH/sa8z58KeSi2L7b2XvGLqa0x7xpjodnn3C5GXEF8Q+3FqISVXk1QtH75QlgFXawPLYSx9cxVWb4EfjoQTgKR4IzSByv5US97SBEVcV8ijWhz+J95mEV1XKddEKe5Uwj47R4DP8PfUETaS/iy7j+qveyRfyd/LJtUtMxinkj/ekOgaSPxZI1XwBocEHEcsj3ensB/EIs03OoajYIShItLZ9B7WlCv2SC5qPHV6w== 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=ymE2wew8V/XPN4bkXTpZxxTjn3FSANVjDqPYtAwoP+k=; b=XE+1Z8KUU9RWT6sGeJ2N9QbUfo20LUl7D08knMVroWggwtQOv8RUnNT11d0ppNT03fThL2969TUDj0Ib/SXbPHeYDEr76RnC3IraP+AJjhcd0rEnWaZsQquYiauYQJW2GEFelFIgqWpgoiCeeIn2QJWyU1aTIEtnfn0nhtOEaba1st0iezf9XWNJ/UOMNtNsddGxqexoz5BFZ119vYu0P6yfhn0xlw7F/cvpCBtQMcc9pAzHPNh9HyerAQBLrssMTumSTKljlE+VgHDfA7TEFMY9hH1EiThypf3tVVKFnkXVinrmuGaiFTiVJ8Gt0KIMA4u2Vz8z5Ev5kNkBWIMx9w== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ymE2wew8V/XPN4bkXTpZxxTjn3FSANVjDqPYtAwoP+k=; b=dbCqjEYVsD2LdRWJNPDZNuSVBklA6DodS+C08wDy/MYqIeyx/3xrg9WIZXXFrOlSZngz9CuPuNw8/MDXp3GnPVBUD95EtHwrgsrHJHA0wxoF/Oh61MhiwzolMbXnucR6CDqipYGd+DSSwb+mYKp97rCyxLZfyrXEOuBt+PNbeqc= Received: from BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) by PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Tue, 10 Jan 2023 23:53:40 +0000 Received: from BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::3cd3:9bef:83f:5a85]) by BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::3cd3:9bef:83f:5a85%3]) with mapi id 15.20.6002.009; Tue, 10 Jan 2023 23:53:40 +0000 From: "Jose E. Marchesi" To: David Faust Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH v2] bpf: correct bpf_print_operand for floats [PR108293] References: <87sfgi1zim.fsf@oracle.com> <20230110191202.8641-1-david.faust@oracle.com> Date: Wed, 11 Jan 2023 00:57:39 +0100 In-Reply-To: <20230110191202.8641-1-david.faust@oracle.com> (David Faust's message of "Tue, 10 Jan 2023 11:12:02 -0800") Message-ID: <87o7r6x7rg.fsf@oracle.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Content-Type: text/plain X-ClientProxiedBy: FR0P281CA0109.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a8::9) To BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2888:EE_|PH0PR10MB5777:EE_ X-MS-Office365-Filtering-Correlation-Id: 537a39cc-289c-4463-a9ff-08daf365e5cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Xvw9DpCSN05d10QSVE75ECaVpjr+PUiGJh7jfLkNaJmV8GVTHAJIGEYdC2KRHJgbBYv/8mZ6DoI6+qza5knqcAOccbEWODovajRQ3QdidaE1Qk9BzaPguFk5Jhn2ElaLLx1mLXCKXKLKt0cIhTBvJoPMKvS+PRTiHiQwf69M93ZY0yv7/j5n2u8dRqVDuSAQBZcNuDN7gYjDAII1I02jzc45ISxbqtUYW/jvPXsoVrSzgn7wuzO/nS3L9Gi0mhlDVBv1+DIZ+rZEgXvW5HZZ3OHrInk/QhL5mXh9Kj8aXy6oc31smKp2ON3JmZMEkROn/FMBnpfh1H/9BZNwMRcQr5uZmvUcuZ2lrIGT4dimleW7qs+2zgksJlQVavH95b49gUFCyOo1KdQMB88+6/frv7QyVe+VuiqhiwE22OB1KNtWoCjtqXJbP7TCGyFXIlyjGs9UYSNZ+ajwfKmHRsxkZjKI8LTmLwML//2TDxxp/iZ3gB8dPYh4U/dZpAlIdDqBaYuXIpEv2gUPMzU6hWB2jFdiK7xUhyrinlY+wsNa2wbbYTQtV2j2lOCOXgI2rcYuu8qEtS6R844fi+qiHtYFzFGJTxT6HfWoXmXpMCAgUZns6lrklGFJ2CVKvwnkxo+51vxgmdxRfRPuBOfvEypl7s4P9u3gXDujzNAd8gc29aw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB2888.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(376002)(136003)(39860400002)(396003)(451199015)(84970400001)(2616005)(26005)(8936002)(186003)(6486002)(6512007)(6506007)(6862004)(41300700001)(83380400001)(66476007)(66556008)(8676002)(4326008)(66946007)(2906002)(5660300002)(478600001)(38100700002)(37006003)(86362001)(6636002)(36756003)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Kp2KoVHw6nMLnXwCC67qgmf+HrJRXwIDw44SpMxCsVwc46gA4HOAQNfQm/27?= =?us-ascii?Q?QqOn7kGkjmSL6+TkgChBCPov4goOwosIiebOCpAHDj/052hdj3TdPcJkAHBT?= =?us-ascii?Q?sF3o4Oi6lhViPW9lJWniIj1wlyaypgQGixrsFLuBg35v4tUIlOkfkH4ERzGI?= =?us-ascii?Q?s1qf3bVh3uu7h26GquO8dd1Et71vfUxtCaz4K7xZ3XU5icyMqPWhZkjZX0Tr?= =?us-ascii?Q?1driZP9b1Yex3g8ZyDTrhBa2eXvGwLj8yfTKFErrskxnWLzbNNbTjwWssMiG?= =?us-ascii?Q?6A2Qw4KcTyn683odwyb1xvCmWwjBxw7HjctBQfIkF31eEDbNqmBTd618Qzs0?= =?us-ascii?Q?xsm0y9LEUYxtUEUriyRf6tvYINgJB8O/3XORzDAZJxrNEViT1I0VZrfG+21H?= =?us-ascii?Q?hjiboqtN/s8Sy0tF/rYQe4MfBBgYNbrPJtLAaAz876MdgQSsv0I809wdn0aq?= =?us-ascii?Q?ZknS7hrVhYpU0O3rESq7j1v1cuhd3iHxuQtgyR2M9AP9Su+uj1TSe2YWbbQM?= =?us-ascii?Q?dzmM84g6HEFa0lnpfwle314fXoe8WP74WKIApGdo+eNwTmVrYZvouc+y0Nk8?= =?us-ascii?Q?bLmh+bysrlPYj7uc4DzfXuOTsF6hIiJCYbvDZ/xOJzSxOp+CK9ybi5oeTpRj?= =?us-ascii?Q?a3NEwRjmR2MZ+ceJqpv4yAwh0KoZkZTho48XBP9XwUKkRpWaa5Hxv+EEpR3H?= =?us-ascii?Q?oOyNd5CKJjc7Hc7UToURJg5AaXCOBDqVa93H4oiKeUAZ1jXZeVswMjKXaBeZ?= =?us-ascii?Q?h4H4czHdu9cyT4ECiYaQ01pGCB9XeL0eGfMTP6Y9/9HssLaCTTNusWVL1wfk?= =?us-ascii?Q?AN8QmUGBCmTUhluq2BLEMydhiSX45HgZFdsVZLvvVRPgyR0K6TnC6PmyTYfH?= =?us-ascii?Q?PdIeioGAj+wcOo/52cJQGmIW+HrtaJXIHmTcISQEkQlh+jqe9rZCLNGw8Aae?= =?us-ascii?Q?x9QHuWJhkMGBoeBMbcpxNODyP/Llq3qCuUqibMeJmCHNlODDYe0TxLgyIHVe?= =?us-ascii?Q?s/6f+/ioGL48xUcvSC5hd4RwJaZsbW9vCMTNXkDkmewqYVGm/xDs0iRYAvoy?= =?us-ascii?Q?TrbAqeD2xA2Ittb/dnvRvGlrMEPKjseSe3pgELnAIYDmjRONLLCQS0+Ks6vy?= =?us-ascii?Q?vQ4L8EAXFz0FtXixX9a5SR9HkQSBrjai5xkIPoFWIOsUBm+EU9+UFF8gSD6I?= =?us-ascii?Q?pz0Mibwtz5ORqxTKBK0tLQ/uDBi8LDHwXDktkYmd6nwB21J7JCZhuvek2TwG?= =?us-ascii?Q?u1cLJJ3KMYoA8tBQYBDPku4IS8P6dNG0xyrWHBrLXhM9UjrjMUvc0dHaR003?= =?us-ascii?Q?aRk3RK5/mpIsa3gNSghxufFEnPQ7ePR3WP+uNEpKef2RaPFZaY4vBijwboJ/?= =?us-ascii?Q?62JDRxTBXdyXTKoaAtOjGUNvD5x2G3QAWirT6SNXotURdsj5z8EYpkv7CZfg?= =?us-ascii?Q?khLVX6vIB1z2DGhAOu6hUTe0PnouiMUb1dOm04uGZQoakvVV8H5gHv0PLWho?= =?us-ascii?Q?xyC2u6TcoBunH7thb1PtkcZgzNXjFTv5wFXOIOp7rMphyor89b+MA3gceeZL?= =?us-ascii?Q?en6/K93HulBBv5d4v9IGhN0/nHWe5gIhS9v9SshbdRD21y0q9PT1ryhWapR6?= =?us-ascii?Q?rg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 2in91pXq11TDfsIY4osgY6Pd0fpC+4tpqLsazMiCX1WBJA62+/5X8CbZ1JneDf5DP1a5MEEB/RUu2owKcpsR6iPdRcoFX0T9WdvKuQpEiaFgVp/Vzn4S08j2TVXd1sUP7TsSZ2Sc2VEHnFnGMoBRfwmY2C9v3fn73XUbcUWMSgLwrJEE1U7mk9d3em5zfrLFgtIj83a0wfqL1dRI/0VtfBT4yXIzhtB5lD9gpAkjA8fRRQkClxGNobHaFtvmHSLtpVil3x2DjhS64mxErafgAbdhUsF/n/1UdUNEnSeT+lkMTnsp5ZXGwg+JtDRXcd1oWjjVUOLG4TsskJ+YO9xxYnT7DMX95laCLSF9rPC0itCgSKkLmxqBs0tCWEwKy9GVSd4QMz2exYfeEBf3RKd3BA64shkjPipqY8EJ2pMUsbVyFRvtO+2F/ALmGzhhwBJYGqvmll/fPXxsDFDT4RX3UHapvRxFa0AH6d9Pz5DsWrdt36yyL5xW2h9vfYLCtowA/CWhsAqW5V+15U++lBw4Qv+iL7AvKBKwRISpr7v4jqq+POQYb8UlazneLPLu1Uf2q8de+LIcFnIMbBHgka5tsBgbY3QIIZ/mT6lgb8gfsJzRakbdpLQxXN7ohIpoGHSPREX0d+a60nThfFa0PZwOT4uNh+v7aEr+8ZDM7ftgn/YkdLxq8AmH3px2bZoH2oL64YHV9sCcKdgJqlxGTAuPzGnO39rUqmUcE64j3aUnA8RRdAE03lM9WVWYCPDyFt3m X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 537a39cc-289c-4463-a9ff-08daf365e5cc X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2888.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 23:53:40.2738 (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: h57FTKUkkoxg99M3NcrBKBSqqD5pI8xIS3dWvfwBCbzBPSy7OGyqjn06PqFtFjFswVZCvSlXoyb1q34FE85HjoLwWeMchel4BO5FWwh82r8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB5777 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-10_09,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 suspectscore=0 phishscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100161 X-Proofpoint-GUID: AWazJmeOuaW-nZnYeTk4NQxgpERwDY6q X-Proofpoint-ORIG-GUID: AWazJmeOuaW-nZnYeTk4NQxgpERwDY6q X-Spam-Status: No, score=-12.1 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,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,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: > Hi Jose, > > As we discussed on IRC, since we don't currently define > TARGET_SUPPORTS_WIDE_INT it is safer to keep the handling for VOIDmode > CONST_DOUBLEs. My current understanding is that it may be needed if the > host is a 32-bit platform. > > I also added a gcc_unreachable () as you pointed out. V2 below. > Tested with bpf-unknown-none on x86_64 host, no known regressions. > > WDYT? OK for master. Thanks! > > Thanks, > David > > --- > > [Changes from v1: > - Keep handling for VOIDmode CONST_DOUBLE, just in case. > - Add a gcc_unreachable () if `op` is none of VOIDmode, SFmode, > nor DFmode. ] > > The existing logic in bpf_print_operand was only correct for integral > CONST_DOUBLEs, and emitted garbage for floating point modes. Fix it so > floating point mode operands are correctly handled. > > PR target/108293 > > gcc/ > > * config/bpf/bpf.cc (bpf_print_operand): Correct handling for > floating point modes. > > gcc/testsuite/ > > * gcc.target/bpf/double-1.c: New test. > * gcc.target/bpf/double-2.c: New test. > * gcc.target/bpf/float-1.c: New test. > --- > gcc/config/bpf/bpf.cc | 34 ++++++++++++++++++++----- > gcc/testsuite/gcc.target/bpf/double-1.c | 12 +++++++++ > gcc/testsuite/gcc.target/bpf/double-2.c | 12 +++++++++ > gcc/testsuite/gcc.target/bpf/float-1.c | 12 +++++++++ > 4 files changed, 64 insertions(+), 6 deletions(-) > create mode 100644 gcc/testsuite/gcc.target/bpf/double-1.c > create mode 100644 gcc/testsuite/gcc.target/bpf/double-2.c > create mode 100644 gcc/testsuite/gcc.target/bpf/float-1.c > > diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc > index 2aeaeaf309b..576a1fe8eab 100644 > --- a/gcc/config/bpf/bpf.cc > +++ b/gcc/config/bpf/bpf.cc > @@ -880,13 +880,35 @@ bpf_print_operand (FILE *file, rtx op, int code ATTRIBUTE_UNUSED) > output_address (GET_MODE (op), XEXP (op, 0)); > break; > case CONST_DOUBLE: > - if (CONST_DOUBLE_HIGH (op)) > - fprintf (file, HOST_WIDE_INT_PRINT_DOUBLE_HEX, > - CONST_DOUBLE_HIGH (op), CONST_DOUBLE_LOW (op)); > - else if (CONST_DOUBLE_LOW (op) < 0) > - fprintf (file, HOST_WIDE_INT_PRINT_HEX, CONST_DOUBLE_LOW (op)); > + if (GET_MODE (op) == VOIDmode) > + { > + if (CONST_DOUBLE_HIGH (op)) > + fprintf (file, HOST_WIDE_INT_PRINT_DOUBLE_HEX, > + CONST_DOUBLE_HIGH (op), CONST_DOUBLE_LOW (op)); > + else if (CONST_DOUBLE_LOW (op) < 0) > + fprintf (file, HOST_WIDE_INT_PRINT_HEX, CONST_DOUBLE_LOW (op)); > + else > + fprintf (file, HOST_WIDE_INT_PRINT_DEC, CONST_DOUBLE_LOW (op)); > + } > else > - fprintf (file, HOST_WIDE_INT_PRINT_DEC, CONST_DOUBLE_LOW (op)); > + { > + long vals[2]; > + real_to_target (vals, CONST_DOUBLE_REAL_VALUE (op), GET_MODE (op)); > + vals[0] &= 0xffffffff; > + vals[1] &= 0xffffffff; > + if (GET_MODE (op) == SFmode) > + fprintf (file, "0x%08lx", vals[0]); > + else if (GET_MODE (op) == DFmode) > + { > + /* Note: real_to_target puts vals in target word order. */ > + if (WORDS_BIG_ENDIAN) > + fprintf (file, "0x%08lx%08lx", vals[0], vals[1]); > + else > + fprintf (file, "0x%08lx%08lx", vals[1], vals[0]); > + } > + else > + gcc_unreachable (); > + } > break; > default: > output_addr_const (file, op); > diff --git a/gcc/testsuite/gcc.target/bpf/double-1.c b/gcc/testsuite/gcc.target/bpf/double-1.c > new file mode 100644 > index 00000000000..200f1bd18f8 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/bpf/double-1.c > @@ -0,0 +1,12 @@ > +/* { dg-do compile } */ > +/* { dg-options "-mlittle-endian" } */ > + > +double f; > +double a() { f = 1.0; return 1.0; } > +double b() { f = 2.0; return 2.0; } > +double c() { f = 2.0; return 3.0; } > +double d() { f = 3.0; return 3.0; } > + > +/* { dg-final { scan-assembler-times "lddw\t%r.,0x3ff0000000000000" 2 } } */ > +/* { dg-final { scan-assembler-times "lddw\t%r.,0x4000000000000000" 3 } } */ > +/* { dg-final { scan-assembler-times "lddw\t%r.,0x4008000000000000" 3 } } */ > diff --git a/gcc/testsuite/gcc.target/bpf/double-2.c b/gcc/testsuite/gcc.target/bpf/double-2.c > new file mode 100644 > index 00000000000..d04ddd0c575 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/bpf/double-2.c > @@ -0,0 +1,12 @@ > +/* { dg-do compile } */ > +/* { dg-options "-mbig-endian" } */ > + > +double f; > +double a() { f = 1.0; return 1.0; } > +double b() { f = 2.0; return 2.0; } > +double c() { f = 2.0; return 3.0; } > +double d() { f = 3.0; return 3.0; } > + > +/* { dg-final { scan-assembler-times "lddw\t%r.,0x3ff0000000000000" 2 } } */ > +/* { dg-final { scan-assembler-times "lddw\t%r.,0x4000000000000000" 3 } } */ > +/* { dg-final { scan-assembler-times "lddw\t%r.,0x4008000000000000" 3 } } */ > diff --git a/gcc/testsuite/gcc.target/bpf/float-1.c b/gcc/testsuite/gcc.target/bpf/float-1.c > new file mode 100644 > index 00000000000..05ed7bb651d > --- /dev/null > +++ b/gcc/testsuite/gcc.target/bpf/float-1.c > @@ -0,0 +1,12 @@ > +/* { dg-do compile } */ > +/* { dg-options "-mlittle-endian" } */ > + > +float f; > +float a() { f = 1.0; return 1.0; } > +float b() { f = 2.0; return 2.0; } > +float c() { f = 2.0; return 3.0; } > +float d() { f = 3.0; return 3.0; } > + > +/* { dg-final { scan-assembler-times "lddw\t%r.,0x3f800000" 2 } } */ > +/* { dg-final { scan-assembler-times "lddw\t%r.,0x40000000" 3 } } */ > +/* { dg-final { scan-assembler-times "lddw\t%r.,0x40400000" 3 } } */