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 CBA4B3858D33 for ; Tue, 10 Jan 2023 19:17:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CBA4B3858D33 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 (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30AJ3nCG012267 for ; Tue, 10 Jan 2023 19:17:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=w5MGdCTJpNiwwDDxvWfI9e7N3mVfG/4T1iATW04ggF0=; b=YuRewGTsPpeK/+6m4HL4wM0F8j4olIgeIswhOMix3+usrzZmZ1fM8ReffW4+khZUnZBw gpdOLIll/X+mSaJNKw50+X2wLCIJXg5yHPrTOwcE4LwQAERh3IYPeaGYXzQGex2OVrsG YrjT3wSOqZI/gDlHlGM2HN/vGtRZBv5e5/yvM4lNNJKEpmHdS1+u6E5zSpgFsNW/ENDs FpI+UX7M7x6q7n3Npxb/7VYWjuQHsE+wPNgTmDvZ1CFGuBPA/sNZFXXPUkX2NYRjdYoj LicJUkb+UE6qW95rqwlsYpTfUCOwbQipU37aJDazQgdt7Zz9A3opSDb41+34E7X6ZlpU 9g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n1cbq895d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 10 Jan 2023 19:17:19 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 30AIXYs6020893 for ; Tue, 10 Jan 2023 19:17:18 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2105.outbound.protection.outlook.com [104.47.58.105]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3n1ddbj0gm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 10 Jan 2023 19:17:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YF2bBuSXulGVGkbUg8B1JIslPEV1NfCVujG70J2BxXykxsDKTaO41fnf+86Z05TAhgVztopH3crcXs6wM/EjutrE/oPCteemg6wBCwACRFATtdj0PCC6B1SM8ZJEFixIN+u+IRYuSHkFBYrvbwKpilXjh7EiFa6GkHDwdZRnFJiB8JQXAD1l2nyPU7/qSBBjSRqx/HZRcUD9G5tB1kuLes6zPD9WpvpED//7vaT6w8n6x8wvx3AKkZMGEWvJLNOdc46o63gYUmuidaxPu3/DgbMRQiN3FSdaF4eJvSxNcK0TSrU+oifcfZ2WOPYMjzYeZIrm7ggULruXtMTarVEqhw== 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=w5MGdCTJpNiwwDDxvWfI9e7N3mVfG/4T1iATW04ggF0=; b=ZZRlDNmXY5w6Ml7SeWKT+Q13r2EwCk6nGmRe6t4np5Ccfbipm2AhdMhZHER5QXoNJJowF0DAsSSDWzpUuf8Ivxbo+Ipb3mztTVs5kRzBTbI9wb7UvMUvJifhuQXuQXqVZDBLRqEeyq8sEBUbdqfq6vGNKZszbiarhGq8luFkLywsn3BpshT8FjmWE7bTZpsoDzZaa04skGsZvv+bbYpk4qb8bk6mt0QDVGb3QQcphXHpibvzYdIecthLcfnywH9rFLbpo3DdPsKDTu72xIM/R7yvsmOIJe2E9rumSNrah93CecR0HCsoqt3kgtl4vM5B+iG69C/SA9sNatfpee4tEg== 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=w5MGdCTJpNiwwDDxvWfI9e7N3mVfG/4T1iATW04ggF0=; b=L3ODzfXtw8Ia0JM6NKrwWW9fXIHGW3qhZET+nZlYkydLL12mANTkOWiYqghFyrW6+1qCynOWmvzPrk28XZLLiW4OOzlIz37EKc9mwJQVuM7TuaTqrq7sWvX/WN33xL1PVNCbqZa6uohjIjSgQItEWNm9AWfCRXERlp+0Iwh1g6k= Received: from MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) by BN0PR10MB5111.namprd10.prod.outlook.com (2603:10b6:408:123::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.11; Tue, 10 Jan 2023 19:12:15 +0000 Received: from MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::6b7d:5afd:3d9e:e5aa]) by MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::6b7d:5afd:3d9e:e5aa%6]) with mapi id 15.20.6002.012; Tue, 10 Jan 2023 19:12:15 +0000 From: David Faust To: jose.marchesi@oracle.com Cc: gcc-patches@gcc.gnu.org Subject: [PATCH v2] bpf: correct bpf_print_operand for floats [PR108293] Date: Tue, 10 Jan 2023 11:12:02 -0800 Message-Id: <20230110191202.8641-1-david.faust@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <87sfgi1zim.fsf@oracle.com> References: <87sfgi1zim.fsf@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: DM6PR02CA0131.namprd02.prod.outlook.com (2603:10b6:5:1b4::33) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB3213:EE_|BN0PR10MB5111:EE_ X-MS-Office365-Filtering-Correlation-Id: 6ce684e4-25ce-4887-c9b8-08daf33e959f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EdGI8HX4k/hXCdsW4e2zTRvAeVtnN1Ds804sOhHsdCIcTK3AaLziBsjueRsDgHi3GazeyzAlmUqwvCoaSu+vLNJq3MIybr9W8wFf/q9qvRw4sS9M9usxhfkFKWQGkQhWAzTANJDD5DdGF8StzroP6PxwWQK5n47AwX+BPi99VXUAw32A4b2XFIv1yDS2/b9aHy1fhwALNuLm660XZSlZkQgaBuBHTPwUD5QZ/hdfE+aTi+zXAgPDFdZI625VS+K7QB5uLDOuZRRarY7f6dgt9tQYw0HgjZ1711tKqLId9BsNoeoFKMpenjlEytz+CjWSpYMHOlpqnViIWA12+LNcFbigKYfq+Bp2O+0dBsO3bI+aF7f18Y2SLg2+5rqC/fy2Kw5oMVh49aiafgFImpOnrywZgUpW9LQaDTO14mABiJQ1JBFRkgB4vjkSdgzuPfniPQgPtrWGsssYeDH4+GpxgIJu+jTh3c1MrBNCCy8YtBTseLrZvOEm3V2M/bazr1n6mWtipDQiUxDEvfwPRc/XxSTqH8BOqrQPVp76FLtyIkLLRenPjVE1Md0MhWMo/SFAuMB5+LvaYz/6mI7gnbcful9nlt/tFcmY3un6FtBi8pIgq6OyS1H9rhpBWxjydhxD1/47xmhDfwUDEi93/y1FUuvWaw4ft1904M6OcAat1iM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR10MB3213.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(136003)(366004)(376002)(396003)(451199015)(2616005)(5660300002)(44832011)(1076003)(478600001)(316002)(26005)(186003)(6512007)(6486002)(41300700001)(4326008)(66476007)(8676002)(66556008)(6636002)(66946007)(34206002)(83380400001)(8936002)(36756003)(86362001)(37006003)(6506007)(38100700002)(84970400001)(6666004)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EAMqFrd3Qpbh2peLx+iVRRoah31XMDjmDYl+g1DARXNb4EWSmq3IpOFP4rN4?= =?us-ascii?Q?gjbTuC6afa/jiWxSBHAa3KbL/3IvGS1ZUWFebFYVv6dKDyw0a6NK7lBg4I7W?= =?us-ascii?Q?WxhbLAwF9uXf9T+qtoeG7LuL3jNgyeh3YtRSBaeF4RYTT6xhRR2nHOyfS6Xj?= =?us-ascii?Q?7gYKgvjQ+4GlrN8AE7Df+kyvlNXpoH6vGGBL9607UipwPWOgo609ad3SF1ut?= =?us-ascii?Q?7UJqkxX/QkhGXidMo0PEAJ/zlkbCyS6j64qijdaE9y497JVGRyrgYftHVKXe?= =?us-ascii?Q?5PPqQ7xWoAhX3D+RD+drAE0aSmMFfrGjZwoYurODpmvDHRDVLbmKna9VKURD?= =?us-ascii?Q?g1PqnYlWXPbIp8zlq+8Wng1GsDNDTwLrLI1cl+gyXtOG25fZ15iaq9cJClw4?= =?us-ascii?Q?4RNikLV7s1114b0SItajVMKu2wW913lKYPMouK5aAUPN8ZpzSiBxCFvV5EBx?= =?us-ascii?Q?5Rz0AyYGFlThnP/y+nZHRHHdXB7zJ5EPS+N+ZzufGWWSdVKJtka0P5dG7/Hg?= =?us-ascii?Q?KG1ilZfhhrgci5M+CF5XaejK9dJtR1ku/BAQhItOIvB30TxFMLZPK7qjkFP1?= =?us-ascii?Q?a6Wm6tCcadr1hIUxIkykJ3SWE+3oNXaj6wa5nG3ocf2snRzqeBYlsJxqXiOX?= =?us-ascii?Q?yAi8dXeT5ORe1eEoPN0rQisVjj+fE6ZFSURbdXnq0ITcmDRd+wQ0Lta4xLrQ?= =?us-ascii?Q?8PKkKr+FAsScTe7vbeYNAOPbBNMGWEoenoldjQyMCLRM4bP1ddRcFQT4krqM?= =?us-ascii?Q?yV5ISJjTeKVLrsii009Rqrb2+YV4JZ+nbdKrhTSAkfHfAW0Hl9cFO1COsEo3?= =?us-ascii?Q?vs7tNwcFggX5LXTnR57KIjDbZZvsXPNAgk4t22FvRPwgc93Fcl0UOGKlDL+6?= =?us-ascii?Q?yaAbx6czQnkIYuJGDdJaOgj9ct2hG3rGdZvoP1fkLJue/ChRYFwAeAv+m+y4?= =?us-ascii?Q?3WlnW9n3rcE1IWB+v2k1Vgufcrfcts5dc4m1scy7eSB7xpJxengxK+SZnSCN?= =?us-ascii?Q?PGLQ6yM3ISBVEfMPpuu4FNoYEWnFECG0OsiOSN/DhlfQKDeaQ5Azi9Ct3Nge?= =?us-ascii?Q?GlbKMQEfy5Smez83pwsljF5Yn0tAkC964p0KY00I9hMZJ2pyiVdkFivXKI97?= =?us-ascii?Q?QsQlNpMhMH9NvHMZ2RYywmtF5hMD00JPl8+CmVx98XUMcCb2mxNAFYqf0BiL?= =?us-ascii?Q?tDRcDGlxKMowaREnlK/3E1+SjWz2hoMhDJiUnPZEZKG7L367NdTuIWcDW3LD?= =?us-ascii?Q?veOI4JCPK2tn+NxbZRmCLs3Gg6Yn84szPi1UpdB2dO28per7x7Y7wyqZWvEk?= =?us-ascii?Q?EtVUQSzNhH6vYoSEbKitMPiNAgdlLBRjgJORiJ1ZjLszeesBktDyj1Hvjg5N?= =?us-ascii?Q?5vf5653g+Mth8fHhSmSN3LOUdg9wq2rDMpLAFPUFiW7WE5xM5D3ZkkBJbfwd?= =?us-ascii?Q?dWUe00CKleDn2f9oTKE9EgC3D1HCCDEMCOkcHcUJb4xsqVP+7QGQ2QoaG31V?= =?us-ascii?Q?T1tQfzXbfG+zE4+lV2lfPcqYH5JY7hGVL73dFjrj/4W/SDZ993gUd4JJpYhT?= =?us-ascii?Q?dw/4MoRK4WZzp1CP46gT7MbLGlTARnWZ5RswP8Sf?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: K+br3sFFfk2uI9v4ktnWQ57FMZouiuezlrZYijyJUGkwVRneM8vRfTOhrL3DBdzaQ9+EMTJxuYP2yYP6ELS9apNrwKl3eyurNcmUjwBErkf63RlfcNQDGZCOiZKpGHqL7HDqfAtruPpqcgpvf4PnVhf36V0bghNm3or/f0I86swP6TTUU5SIyrHb8bNlK3S5GMb3aDCjO41tXaMy4FnTyCr1qQSb1s/AjWjPbaaGnVcLvGvKa62VVYD9fyis3ixb8xiFvTMcKodVkxO5pUQ8BDvzYu/1mhciafVS9yMT9ws3nB+CGgtrxlN2Gyn9YLNPjuqyODMca0MOyo12TmED4KeKUv/uAM29bXr0HbYBxRvCT+K+3Ax8QqLnUHjJyq18bRgIRDme+6Jg72kWrfK2Kw1GJb/8kNi+V9mjkF7F5OHMl9FP1jxECmn1JLuk882NA8S0g8bf7xRha/yzev6NEYJJ3dqY41DHgcyjwcISp5YvTM1/Rj6RSowEkLL0Fo/LUXgCmkh4fbfvSamStAsJgNI8j6GfcYCRpmvYnpYhITq83qD4IoYPv3Zzfe9JPpEaqgYdtwYHFbRS5VCmMvJsGdo5PQLXYBzEV6xZ6HqVja/2OdU5xDiDAK4JtZktLl3dxZpiGFIoipnlkFZJMjgsxrdpns1cxfoQiFx9Rvf8lobMvJrfiCfvlr5vl5hnrClFnxPSOGIFFbOeXgoZ0WziW3PtdWcAlFNrU87ajSG7b790NcWrG+cP10Bch7LE+fBf X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ce684e4-25ce-4887-c9b8-08daf33e959f X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 19:12:15.2020 (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: gtL1+FGq5phqUzhV7HWfL3C5ZYJpBFI7/O2JsvY7NDS72bzJfjTaMyCXKLQt1MB04Tkky+Hc1xU36tqdZoccAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5111 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_08,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 phishscore=0 suspectscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100126 X-Proofpoint-ORIG-GUID: GDYd5Djy4DsXcjs878uOUmZo_okHyiyF X-Proofpoint-GUID: GDYd5Djy4DsXcjs878uOUmZo_okHyiyF X-Spam-Status: No, score=-13.2 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? 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 } } */ -- 2.39.0