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 61A0C3858C78 for ; Tue, 10 Jan 2023 09:55:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 61A0C3858C78 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 (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30A9p2sv015662 for ; Tue, 10 Jan 2023 09:55:15 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=9WRyqVvqjNLdyIK2Wcf/u/l3GAY48XsHit0WqklTwCI=; b=sXZy4k3F1boUGARhhlxJttPdzjBke0lmmpWgc32aECePwl2JWILvoWs8N4M/Egjj60iB YO/H3CPPDt8F4s/XBVup5Sd15sNZZHZ5q6Jj9LigGBNigAlFGE5qqX5eBwJZZ35YvDX+ 0JiHUpy6SYsX1AQTGTWHYQshF8OpSJflE21+OnL8PdmoAv7i3SyYnSq28NhHyzAoPXrf pkZd0QUD4TE8QR8MGiyQN0/jG7w3+HUHFNJU8KnvAoxpHr/P6UrL6aggSwgBuyLFLnEX L87IpXNp1aLe7OI02zkN4ta68M0hJ26vyt+GqtcfQoNNwgzjZfGpyS+yrEeaUaP8XctM YA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mxyh3msfs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 10 Jan 2023 09:55:15 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 30A9TMBG040245 for ; Tue, 10 Jan 2023 09:55:14 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2171.outbound.protection.outlook.com [104.47.57.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3n15e9112n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 10 Jan 2023 09:55:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UM/iCUJnLixs1yHMXP0CNf3/naraH7y33ZAxbE6efTcCDUb4ICkIXda5NbepnFi0MvnzPvSNCY894cvUW9/Z5sGGcXOjgzT/WcECSHqljlOWfJ5nK7UiGhIg9MUplvElbi03M6JcEPe+YsBBwXEcqzQqRrv8ovWqbfQ+/ou51tjjUrXFy0J2s6FQIwXy7GLRWCmycrdH855rStdxjTtMRqwGSuHUembyHWdQgcsOxsgUrYno+ktviublfsiNw47PurxWAad7yHKqD/g2+Az9uL3V1ZwDVnNU3AtcYUFUFeQUhVcAtxcuNXflDgtObvjK7P6xNbtDwIcGH2JXGlchVw== 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=9WRyqVvqjNLdyIK2Wcf/u/l3GAY48XsHit0WqklTwCI=; b=XkyNODN/xPANuBOlDRckPyB/Uph4asVKPIDYyRmquoHR5KZkd3UPUBWXibXEBrEh2gYvXko493+IalgypdTGSP/302jilPCkpuZ4GTkRfSn0eG9bQYwBcGnkgeCXKULC044Ox+SlkTOpIdgGtCZarnHVpM3L50rUREf93EA94wDrDik74JifSEgi7/o3QFr7WJcj6ThI4n4OZZM/yoCSIk9DZEilAsQIcp6FfZCXqG2xLt+xRwCQSYY93U+6yTiqNCIBVp9nm44dVC2mxTH/ySIMLwCYPWSfddSQf9Esi+AWN/5DnmIHU3HP5RSYNl6sW25/TTr1pgD1kHhDPDjhAg== 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=9WRyqVvqjNLdyIK2Wcf/u/l3GAY48XsHit0WqklTwCI=; b=KvbXYH7pG0IU0wzprf+hajH9Wf5xFDr+M7xDgb/HPcjlNF55XqJDF/a1S1w3M4oXyPQnnqNT633Rqx/QSVscZwbj50X3co/t2zOlumP1OnO7Xd2C4aCW8A9AupKVIAXCaNNCGQVLQMVkq7CDEstfgZ7HeSfPl0LfPRPTY3MZlHY= Received: from BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) by PH0PR10MB4710.namprd10.prod.outlook.com (2603:10b6:510:3e::17) 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 09:55:12 +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 09:55:12 +0000 From: "Jose E. Marchesi" To: David Faust Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] bpf: correct bpf_print_operand for floats [PR108293] References: <20230109224045.13453-1-david.faust@oracle.com> Date: Tue, 10 Jan 2023 10:59:13 +0100 In-Reply-To: <20230109224045.13453-1-david.faust@oracle.com> (David Faust's message of "Mon, 9 Jan 2023 14:40:45 -0800") Message-ID: <87sfgi1zim.fsf@oracle.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Content-Type: text/plain X-ClientProxiedBy: AM0P190CA0024.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::34) To BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2888:EE_|PH0PR10MB4710:EE_ X-MS-Office365-Filtering-Correlation-Id: 59da7236-6591-4604-6d77-08daf2f0c450 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RTWYn2JpeWQUz7uUpcTW7Mvu/rbEm009IUC8tcviE1aXFn6pM/3j5PzKhz0rUsUciIIIeIVoDVSRlJJeT9Izzzh3Pk/ZXo9blq2jjk4R/NHfW9gt/GTOHnll1BOArNyk8B/efp4FPVB9PMQ0rokpqi+JblLblVOotWsg6d8AhPRqjaMoOn3iPOsZ90OCFhkWWCFSJ7kEmWrXjkurexdvlRoM/oe7LRFTrGQ7+WK6vNxOATf2ocCunuxP2JVV+xyusPv3S2fZvT/jcXJXiSWdL6Dg3xn6r5ZRa2fFhDr7LPO6kEI07NkItuiIAqQUtgtQlmERAsty3h7VKa+ACTpG4CS23J7TIXNxwFzH+TMen7w0+nEG4cxbV3NTN3XBVqxXTi7Qw+Mo9QmbuYO5p6EvSy8YpJ0z7KyrOi2b1C4XPl5WEA9bArBeA9Suo9wftjzlslP055BPuHXtNqsUPuoeGuPy54Lgtxs5RvxxFjsgGdHa5txvFAlkiliaUJOQ9Y+9QTPvjRkUtrCGZqTiKE1FCKYWsbO5AyHKLxUyWEIYUD93r/5QYN4o6vWRW0qT04EYMTZLfnen+k5xnQEl0cWZ4XzNp2IPRPEkaubvTSwngTrzSzLELUSuNa84UrSNwOkhc9+wv2djqlbuX8e0oAf1Zg== 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)(346002)(39860400002)(396003)(376002)(366004)(136003)(451199015)(2616005)(6512007)(5660300002)(26005)(186003)(478600001)(316002)(6486002)(41300700001)(4326008)(66476007)(66556008)(66946007)(8676002)(6636002)(6862004)(83380400001)(8936002)(86362001)(36756003)(37006003)(6506007)(38100700002)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Vy7qBoq5OJTFuNoXYW4vQMeX7GK/edoAH8pAOe5VpoSlQqBs0ya878KOjML0?= =?us-ascii?Q?psiiKuH3JT5q5sbHKb8rSgomPh7Z/cVq8pcK1xCRTWUFADWH7IiyxAwjHNLI?= =?us-ascii?Q?516lzSDEwkglf6spKTiNekPRAx8AHV6dwRarJHUX29KPj1ADU0fSr4iwUXyt?= =?us-ascii?Q?H2PI9nbEfi3NC9l+x3SnxviEqTHt3fCgDLwORpIgnEThmoYX+4LhLQinfWUw?= =?us-ascii?Q?lkGCoGYg9057F9g5a4+JEYaz+yVxEo0GozCUrm8rQti0N07DYVpMDtwX8vXy?= =?us-ascii?Q?HAxb3r8xGbSqy32OYlSt4UkH8llG7QO3o6MSHGRQuwArcO4ZAYSAfLc2jMFM?= =?us-ascii?Q?LPcH8bKKV8GWmw3jJ4K2HjTNstA+acXt2ZiINIR+cNK2PpceZ9rhJ2gIe0g4?= =?us-ascii?Q?Dxx5eWC5PRZGOv/0WRiBjwoymRpDMHkWBJ5iE9IT9Uyclqy8yq9uQxil/2oI?= =?us-ascii?Q?+B6zuxBgCyjMtHpr43lG9PqioqIvlH+gVwX5KIxuszQSOwvLzttb6H4k/8Rk?= =?us-ascii?Q?Zbs45pTOlJWOolt8H/whuPQV7sevNM9gqqpsXFvSryd+xmHyI6ixfg6Ojvw2?= =?us-ascii?Q?gCr4oyUalmTtMCL2aezXgcY/cT8xZohFYnFwDYBlsPL7r04XdzOIPSzzNGKW?= =?us-ascii?Q?C8ISSxX+MfsGB8+zeQ4bpcK+wIBZlVoOOOz9v0HnxBO0LuPmHL8IBl7HMSmO?= =?us-ascii?Q?SNmohdcjdIkvA+0aD8nfsHrCoZWUPBF1hRa8PCtxTQs06wbzZV4X0g8pCzpY?= =?us-ascii?Q?Gudv0sPJJ7gsqVTLZM4xxz0XfWxdH3q7Bt1hA2GwkLCsxEuihzVEz8lG4TnB?= =?us-ascii?Q?K3Pqbt1KM+ZMbqsT9DAl+vF67WHDrHA1jm098XAHWOmzSXEhMAyouaqfmFJi?= =?us-ascii?Q?r1vTBjLDCnBiBEY0U0CFT1gd9pMAjdBxzwu9ZpfGXEoaPGmb0E1GRLhwQCdh?= =?us-ascii?Q?Fljo+6eD3FGTaADhZ1V7WYHmLUs5roHV3cvP4vYk4dXeO7pNROjtcTF6/ysu?= =?us-ascii?Q?0uwiR8d7NKUs+8iuXLo6ySY32BghsrDcepJdo5xz6Vq4JAsz5I/JauZ7aOtG?= =?us-ascii?Q?rDh3DV/kd4u/bkcmuuZdbCFdkh3CEi6QkkVLwUbFR+ctCmlNR3AcssRfCtD+?= =?us-ascii?Q?mq0NQSeN/9hoXx5l9ASGiSmiDciLOG8EcmRGrz3NAMfjjmG9injzTUgHaMCB?= =?us-ascii?Q?P10ufMeFIeY8GvzppoXRu5YGih1GXll5/1lTfmvt+do2j8nJZjZ7D7TNvRjh?= =?us-ascii?Q?4H/S11JDygX90GZRfUujt13C7R+dJ+tDhWmmUA5Qj16qqTa48sQMb8/Z5u1S?= =?us-ascii?Q?cMORUq3pdlNR1Cz7so2n96AvMG2NOQ+G82qg4NUz8Ycupwy+muo0/2GZzTTs?= =?us-ascii?Q?2vuz5XBC/TRUUC5pS+nWLtJEtQbYwllG/l5t2iCup7Sb0bh0a0QlSSodGkBy?= =?us-ascii?Q?yQBabAv4Rkp/LaazzZpQaSG3bCxpw00RbxlLW4V98m5ktXjuo0aX06nLLL4w?= =?us-ascii?Q?yfd7M26fJGuCCNV3MZ86kunTl90ZsgNhtXORDvOjlEYVXScHQvDNzeYWq7Xh?= =?us-ascii?Q?9t2EPk32hYfcnheXgK4+GMxAsJwuQAVV/wng/Ehox0SrQ2X4evcaOfwSVJ9y?= =?us-ascii?Q?qg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: unUmqoF8DoXIEtAWZlZbZvW/bkRvhyL9Lc//lPGYrIoxu2XO9Vybqn6bK+Wo5LYRdtGgS5qdf3p/CP560VSzmHUf/gnbbfE7vzfGF35AHww6OOX8S08cEckYaupt65h4mvrv8ANxotOfyxUaJ/l8gQsUVAkPAuB9FmyHzSZCq6JeSNQbpewzshNhYbf8XLdC/cnaqqJewJoW+3VLoifKsHDRucIuPW0WPReehD4Gkdc7L58s0ZIrLwZUlCSLoMQebK/WAw1pQfAglFIWkp0cRajnR5SzqJ9Zd8AHKhOYNgt/XW3HkwmbuQ9Xh3Cgu5q5/DrAUsNOB7IwTBysqbXyFXZ3+3ytVv37TCPuJJeaSEokFdRZwci8bjzNzyeJ5OkRi6Tj5Cb0is1PtdUzCAmhbe0LLwioYygSwReR/SyYlqxGx57Aad93grcFW2saZApb9A0gpqfM4eAIqF9RNgN+BVKCCbegdB+WRT+QFwx0RhKC+fl61j1BJwo9Xs2Y1kNHvPLJOe+EDHjxjLySbuW6sL9+pLHLlHMVHX8y3e5WR9v1swave7+z9Vly1+6rBweUe/u1LRK9NqDwXhkR8HX16DGNowY72WcxrT1WhTrbsSkovevafVgaXy+bu4/eigk/9llX4q5dHbRbkyIUqYHm5ilgSpiJNYCeYBYb2vOcXvmBufcEDdw2vVGhkmyrlyRRElK2T6TjJmGmRKFW3BhIxqq9JjJK0pNsZVmSKv/88cw0Tt3JOWQr7T4n1a1NAxbX X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 59da7236-6591-4604-6d77-08daf2f0c450 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2888.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 09:55:12.8368 (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: Wcg4qrOa056tXYyS+yjTHF8P7RDaIgxbTy52VYPjcWpwz/6eF60lh0AjxnZboouqOUEMPAskAMK9KnlfsaKyEi6dtP93zyyLtvMIJdGQcxA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4710 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_03,2023-01-10_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100058 X-Proofpoint-GUID: Mbsxm7hFT_bkV-QQVXEUx9pUc0epi7i4 X-Proofpoint-ORIG-GUID: Mbsxm7hFT_bkV-QQVXEUx9pUc0epi7i4 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 David. Thanks for the patch. > diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc > index 2aeaeaf309b..9dde3944e9c 100644 > --- a/gcc/config/bpf/bpf.cc > +++ b/gcc/config/bpf/bpf.cc > @@ -880,13 +880,20 @@ 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)); > - 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]); > + } > break; > default: > output_addr_const (file, op); Do we want a gcc_unreachable in case the mode of `op' is not SFmode nor DFmode? > 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 } } */