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 DD4983865C33 for ; Thu, 11 Jan 2024 18:14:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DD4983865C33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DD4983865C33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1704996893; cv=pass; b=Gbgf2ChtpBx3k2+QKJygX2PCA+CoPPHcdEMg1KORjsYSaXin0++XRQ+626pmHACmUu9C2nGPlbD+bMkkLPhsrN7ZSk/1mIz9Bp4Exfng1TZpZCQvCrw66FQxn8yv8YEW/XyOnQqYa9EUm8XoJVCoYIzJMajnMZVX7/BSdC+pTVQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1704996893; c=relaxed/simple; bh=YhdtH8Efy+OT4QYBzKxEM1JVVRgnRknPpMoaYlzDOGA=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=NKGcr1QhX2SPOPz/R/FO6bY87PfVk1E3udCRvL2cJRQXzIcE+IT2XcALjhTmXZevdxSFHZX6BhXBE0qmmDd8+N5lfyZu5OFHeyXQPFqHWW0VzmbwO/FWTNPOzyEu2eGTPKQ14TvdlpROWCkyC1p/DptdAHI9S5soths0yFnf2fI= ARC-Authentication-Results: i=2; server2.sourceware.org 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 40BGmw4C017290; Thu, 11 Jan 2024 18:14:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=JDGGsIIvQbzfOsgm/A97h6JNps3+HOQWZ6IS4cEGwQA=; b=IrVDKa4TMC0I92JCePmypqh9JBbWqHYz5XK/72lP6ZOldmqTIQfy6Lx1VTAxcoUwbjxG smBziMU6oQxmKuP2mr9Mv32N5FAN935MSUXpdM6MJHZN51HqT8hiNbZygY2G0yJ+iuQ/ b5AXSxOpm4zPLFA8MJ/r3gX0OZaLNJXV45OlscDsLZzNo6U/AoWW++ywVEEs3NyQ4+0t 7qUqGVF66dF1YqP8dqCPX3HPVpsT2n0RQkpeY7oUCllwhPUPl8cBzU8ppSESw25tuas/ YSkLYlgO5eXn0S7tcaSrAtrcnRSxOH6xot49ZW28ZAXjziLDP5CKwRcbz2cWnYpF2wcS WQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vjcbkhab8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 11 Jan 2024 18:14:51 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40BI0Sxq030131; Thu, 11 Jan 2024 18:14:50 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vfutqht6e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 11 Jan 2024 18:14:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bovHnVlMxZJjHK5B6KHarKOFuRjN2F9ZRNXEpbe4mvTnJxksLoAZ35yiBqqxVeOH5nIqeGbI5i9fbpBQGjQ7AeAE0AYdi3m3Gu+3TBKsbX2cXz2Kb2OBykItPKvXWstUvzdwfS4i87QWhs2uPXbi6K9sBXvIkxgbKnVieDg3Zl7bdVgzTkforkkvd6grw3hNRKMhcdtJyHhRWA1Ab5rNxkQyvMolRtWdYOEy0TEwnLigIOF8rLlBo3zU8CwEAHZ/78iC7xI3XcFXFcm9v7e1P9pyW3bZDnHxIrOZYWBR9PtLn2d2FRpjrmpwPXn27QNCFdNLZrxl5OgMzv22dXQmQQ== 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=JDGGsIIvQbzfOsgm/A97h6JNps3+HOQWZ6IS4cEGwQA=; b=H7fr2s0mAyTXkSdxIuSdH+LHo9SKJ7eHADyMPHmIrpaaO3VC5n0k4xp3k1hUm7OOj+U3QEQruFfqklVkeqDx5Qs4mX3mGZKNlZrJNM/9o3hR+7Yx90RfLBF76jri7oAoJAVqpYbkGhhX1WIezAit6z/87YBscN3EWkNOU5Tn0UhTV3EsurjoFvvB3dbanHoAFznNlLC1U+31B5ZSY8pQxYR4CFcB070tvKDae+mC5vZJxUofzXVSfirt2VPjq4dTjuYxeIfNnEh8sCJwvvLx1CSEDy2bHSiViIxNTeRVw/hFfYhS2gueciXl0hSlusfxkTGCEIVdFOSUJS03oUf05g== 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=JDGGsIIvQbzfOsgm/A97h6JNps3+HOQWZ6IS4cEGwQA=; b=PTin8AMEOeSTQ4vY4h2O1J8IfmDtoxzNkcKSaDWzsIPOK6xpJDZRIimc8oow4A38h7oact3B4MxSDNC1M7jZrtAB8H2ZbnYVUezGy+0vLe/QTbqDjZSeLfkNuwfvhxLt3x5M4kGroYOQ8G6uGzewyv1YE5EyB5izkHO+oi0z9kw= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by SJ0PR10MB5836.namprd10.prod.outlook.com (2603:10b6:a03:3ed::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.18; Thu, 11 Jan 2024 18:14:47 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fde7:fb92:8ea1:a5ac]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fde7:fb92:8ea1:a5ac%4]) with mapi id 15.20.7159.020; Thu, 11 Jan 2024 18:14:47 +0000 Message-ID: Date: Thu, 11 Jan 2024 10:14:45 -0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH,V4 10/14] gas: synthesize CFI for hand-written asm Content-Language: en-US To: Jan Beulich Cc: binutils@sourceware.org References: <20240103071526.3846985-1-indu.bhagat@oracle.com> <20240103071526.3846985-11-indu.bhagat@oracle.com> <0ecd9240-0700-4072-91d4-ccf9bdb56071@suse.com> <055b92ae-b781-41e8-bd34-4ad68bdc5f6f@suse.com> <78b9f98f-2030-4675-af0a-8f47d195711b@oracle.com> <20b71f7f-7c8b-41fd-a85c-6887cc19e5ff@suse.com> <409f6d2d-cd7e-4822-a29a-8970655c5af0@oracle.com> <15461c7f-08eb-40a4-b24e-15df25b744e9@suse.com> From: Indu Bhagat In-Reply-To: <15461c7f-08eb-40a4-b24e-15df25b744e9@suse.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MW4PR04CA0151.namprd04.prod.outlook.com (2603:10b6:303:85::6) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|SJ0PR10MB5836:EE_ X-MS-Office365-Filtering-Correlation-Id: e94d3005-6d9e-430c-ff3d-08dc12d131f6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 12umE3EXsWESefyCBIudPbIZkUeqmSoNxfbul2tMzaMs3INadPSedwKnBjP5H3NpQFkAhL8Rq1UMdS4/E0uRHnnx5NlXIPXJMLpQihISJritfp0SN+eJZo8fu6/HyoVgN7YujO6fyfn8NtodIbKE5gBKqB3IDDLI+EIeDnelFg/QZGVfTEEWKMBJyVjEreIG4t/EDX9gWGBvMEcILuJ0g5PUfSDxNqfY1tXymHRNQzkQqpKyqTn+jP52xAxdowI+W25xhGgkCXxFv6mu4ZFYjsE7pisEwaPCZ524qe+xgcqSorN67Yss4fF+OcLoey0MWd+5pKMbWL0a4F+Kcj0Cqnk7lB5O+CNyxScjicdQMii3ofNeOxr+OiU5gjk1NIDIqVQFOValb4NNgKejzdE+zD2qEPj026kAY64YBgjr8CQ3xbiJJ9exNEXaqUyggxiCRJiZ3FjuHo9VvL+wOn9k7bqqmUOCvizTTjpKefsRO+b0M+7pehXqTqScHfAvhCVBFnjEnfdiIpMkD7eAnz0+K0DNMCJ+WknL8Np+RD0yiF7BiJ4gGM0keTqziw5bHzWVIhRZhnb6EfANPfinoLe9C/0f4efzeaY7o3CCtPPvaHKzs3rS1v+EM+iF4BdsbUjaGT+da+NrYU2v8jiAfyAH8Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2158.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(136003)(396003)(346002)(366004)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(31686004)(83380400001)(41300700001)(38100700002)(36756003)(2906002)(2616005)(6506007)(6512007)(478600001)(53546011)(66899024)(66556008)(66476007)(66946007)(6486002)(6916009)(4326008)(8676002)(316002)(8936002)(44832011)(5660300002)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TGJmdGZMUEl4bUVJU0MrNmdlUjMxNzFsNWtxUDVsMWdkdFZJci93aG83MmVF?= =?utf-8?B?T2ZHNWdVellqSWVpOXpBRTFIeE9seGhLUUdUeG5BbmwvSmlodG9TQmRqRnMw?= =?utf-8?B?MndjN3drZ25IT1B4N2VSRG1XRi9ISGEzaFpsRzJSejBLcmZkK3NDSGdvdjBT?= =?utf-8?B?UGNBMkQrbEIxdGZSSWU3bzVkMTNObEJRQTF3eDJRSWZZbWdKUG1mVWtYeHNU?= =?utf-8?B?L1hhUHprT3plWWs5NWEwaVRNd2JtT0RodnY5OVgxNWRtZ3REVHFUSnAvMEpH?= =?utf-8?B?S20wVkIxZk9oTFJQa0J4c3l2cDRUTjVobTZXT2pSYkczaWFyMUVYVEhoVlRo?= =?utf-8?B?OFR6NW1iZkxwRWc4NzRNeGJNdThQVkViTitzeTM0aW5nTDQ3cWZvaDhQRC9h?= =?utf-8?B?SjhMamVXOWJPTUZ5dDZpcTJxSTA4V25Vbkh2eTY5SzQzSHZSOVRZTm9iYmZH?= =?utf-8?B?Q3BTbkZTMTJEc3lYZlA2MlpoZXBxaHRSWTBwcFJtd05BelFjVUxhcVFwaGVy?= =?utf-8?B?VzBkMDdVWnhyU1FuUHdIU1pqNmJMcDhGT21ZK2RvRDNqOUxMQlRqVCtjMWZm?= =?utf-8?B?THNMRFd1VDZha1pleG9aTVFodUorNDFFMDdwUk1vZllqMUFFOVgvbitwYmcy?= =?utf-8?B?QnlVN1RnWlc3bThxa25XY08zYVZuUWxIRlkrTWJjYTV1czUwTXR6ajVkcGtH?= =?utf-8?B?T2llcFNpelFjZE83NUF0enBmUlBrNmlCVU5BU2lHVkpjRVBPWDJRbHdZbUFR?= =?utf-8?B?NWgwc01vTk9uNVdlMnllWnRYMlpBTmtleTJ4M0YwU2U3VjF0ck1vc1hld1Qx?= =?utf-8?B?MUR6cEZ5K3lmT1NaOWlDcmNvK0lYc3pDQk1FT2M4aDRGRXJCVTRvYm9pazlD?= =?utf-8?B?c25ndGdndEZGZ0hiMTJBZThsQlA3T2dYeFBqdXR6enNpNVozcnZkVXA1ZnFD?= =?utf-8?B?RUxGak9JaDBoQm9sTXNzdVZtamZOeTNrTHJQK1A1UTltM3hHMzZVSmYxQ1E2?= =?utf-8?B?L3JUQ3ZKcTNmMFRpRzZ4RUpHcXRuOTdpTndRZnhLOHZtZ2Y1QkE2Uk1DakZZ?= =?utf-8?B?RmkzeGRoZ3l2QmFMVVJxQVRzQ2NkMTljMXV2L0YzcUNaV3RzK2RRL095bHRp?= =?utf-8?B?ZVlwV3VqRG1GYWFPalFrUnc5aFU3T0ZwSnp2THJMRkhITlMwUFhGNGUzT2JB?= =?utf-8?B?bytqdGdZSGY3eVRvaWt6bGkzdXNOeE0wdFBnY01wdFF4V3E1QTVvNE5XUFYw?= =?utf-8?B?d3Q2YzBxODRnMnQ1MWdLeE4yWGtyOU84OU5OZ0VUYVcvTGJBZVhaL3JGRGEy?= =?utf-8?B?dTlxbFh6NUJKK05MakVmTGVUK1pENUtLMjN2T0tPY25aOWs2OVVvQVZHT2ds?= =?utf-8?B?TGZNNHo3WnAzL3B2Mi8yZ3cyaVZSVWhySHFoMFI0RkFYalN0SWlMQXpjYkRC?= =?utf-8?B?ejFJNlpaRFhxQ1B4alFEZ1lsWGpNVmxxSWczU3F3bkFtWFZPVG5RSzdsY0wy?= =?utf-8?B?VWZiSWI5aDhNdGI4YUxlUkY2elJxanNxZXUzbDZhZ01jVXZtNU0zbkIvMTE4?= =?utf-8?B?UzN6VDljZER6ekhGdS9MMXM0ekprSldGVHRSNkw3MnBtcmZWVXAzSmxDazJO?= =?utf-8?B?TnB1QTVyUjhDY0dpeWlweGxUemhLYWVNWXhSVXZDcjJWMWhBRkVrRDg5RmNj?= =?utf-8?B?dFBua3ZyeEMxNTl1djhEVS9mZW8rQUx4RFJScExySnBwWGNmVkwwZE1LWVVG?= =?utf-8?B?WTRsUGxDMHhuaVZTeEpVWjhpVzZPTUp6dGpEdnJaT0xrWDRYOXlseEdpNG9p?= =?utf-8?B?U0hCSzFmNWRSTmtleHVBZjVQdk8rMkRuWVJwZjhVZytySzZGcGY5aVZObVk5?= =?utf-8?B?c2VkTmJqMi9PYURPQWc1OVFGWkdjMTJsbE1YdC94MWMwVGgvZFltWDNENXJu?= =?utf-8?B?T1F6VHh1TS9BZUlOZ1lZSWR4Y0JhT2NLMWJ4SjhjN0ttQy9ma1lxd1p5K1hs?= =?utf-8?B?RGpBRUNtWlQxNStRU01oanBBTjk5RGRFU00weGtIMkQraStiVkFlbTVld2ds?= =?utf-8?B?WmVVUk1BZDNMbEdJTHVYbGpSSms5alQ0MWZNdmxQZkcyRXhqblgyU0lkYmRQ?= =?utf-8?B?Vit2eFIydHBHWWlONnBDSGIxRUxTTm1zN1VtZ2RreGJLcndMVHFNMUJpQ05h?= =?utf-8?Q?O6oAlGZHYZT7bl9c8sAKOCY=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: JUP9WUQRuiLoTfb7A2XaOQK9V9LVMWsFziyT2Op74veUK0GtSZZd/eVcgvPhzskRbIZpyNfMaRhHjop6nT6di2tGnFFqJ5IorYA9fjSFZxzbkD1dCUQJxCJ7M5qiQeY3PGPsBxbOF9ZBZOGd4Rxk80q2z7uaFHbIUVrS+gJPiHtnqeyOWCycbEW2Vi+7ygPwP2j5EH/+6O0rHsok1BowEB2opkSNghr0d2Hm0A2yX7LxXVraaEIdqOLlHj8FTHd+2nzCuXXjiA3K69SnlRHQQf1xXJG/ri7UjzZSqmK57lpZYBnscIuhoLr+7ys834DzKfdwLH1x5/6Y8P9a0HBf1rc653loZAeCzzimg2Obd9G8h+bVBeCaVDO7YLT6XbmP5ILLTaesDvx+pDCiD7qdleN2bE/Vw3rqkw/sCkMll+Ta7t5O7Hr8pDQflhQ+OmL/zUDIYovSGAVDEyHvIC9oSCRV63qIxkBa+EGu56tJOioGJhlIGjyLMviLcIG5Oc67yxac2r3nbwlrd1lZk6WD9pO/qaNQteeq/h2BVZe8GWHO6wtEKekePa7rW/knixPuJeYEXSmOYohAAx/ak1T+9nLJmlxII5MRXVYEJESzTco= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e94d3005-6d9e-430c-ff3d-08dc12d131f6 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2024 18:14:47.6518 (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: t9oEViMUv/eU7U0YAmhrzPWDUl3RkyIpo8SRBDOsOZXXgFuZ1fjcXow7mOydhuBQmdLAYca+smbU54uUfs2nOg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5836 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-11_09,2024-01-11_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 adultscore=0 phishscore=0 malwarescore=0 mlxlogscore=802 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401110142 X-Proofpoint-ORIG-GUID: YFZ4UopMv1ia97DNZScjgy1NyJrAzWjw X-Proofpoint-GUID: YFZ4UopMv1ia97DNZScjgy1NyJrAzWjw X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: On 1/11/24 00:13, Jan Beulich wrote: >>>>>>>>>> + case 0xc2: >>>>>>>>>> + case 0xc3: >>>>>>>>>> + if (i.tm.opcode_space != SPACE_BASE) >>>>>>>>>> + break; >>>>>>>>>> + /* Near ret. */ >>>>>>>>>> + ginsn = ginsn_new_return (insn_end_sym, true); >>>>>>>>>> + ginsn_set_where (ginsn); >>>>>>>>>> + break; >>>>>>>>> No tracking of the stack pointer adjustment? >>>>>>>> No stack unwind information for a function is relevant after the >>>>>>>> function has returned. So, tracking of stack pointer adjustment by >>>>>>>> return is not necessary. >>>>>>> What information does the "return" insn then carry, beyond it being >>>>>>> an unconditional branch (which you have a different insn for)? >>>>>>> >>>>>> "return" does not carry any more information than just the >>>>>> GINSN_TYPE_RETURN as ginsn->type. >>>>>> >>>>>> So then why support both "return" and an unconditional branch: The >>>>>> intention is to carry the semantic difference between ret and >>>>>> unconditional jump. Unconditional jumps may be to a label within >>>>>> function, and in those cases, we use it for some validation and BB >>>>>> linking when creating CFG. Return, OTOH, always indicates exit from >>>>>> function. >>>>>> >>>>>> For SCFI purposes, above is the one use. Future analyses may find other >>>>>> use-cases for an explicit return ginsn. But IMO, keeping >>>>>> GINSN_TYPE_RETURN as an explicit insn makes the overall offering cleaner. >>>>> Okay. And here you don't bother decoding operands. Hence why I'm >>>>> asking the same to be the case for (e.g.) CALL. >>>>> >>>> It seems I will need to deal with operands of RETURN insn soon. For >>>> implementing "Warn if imbalanced stack at return", we will need this info. >>> Will you? Isn't stack state_before_ the RET what matters (and hence >>> the optional immediate still doesn't matter)? >>> >> RET with operand makes this tricky. >> >> My initial thought was: >> "Balanced stack at function return" will check that the RSP at the entry >> of the function (after the call instruction) is the same as that at the >> return from the function (before the return instruction). >> >> Now if RET with operand (which tells how much stack to pop before an >> eventual return) is in effect, I do need to check the RSP value right >> before the RETURN (RETURN being the microOP/ginsn equivalent). > No, that's not how it works. RET with operand discards arguments passed > to the function (see Windows' __stdcall calling convention for an example > use). Naturally arguments are pushed_before_ the return address. Correct. Even the manual clearly says "The optional source operand specifies the number of stack bytes to be released after the return address is popped; the default is none. This operand can be used to release parameters from the stack that were passed to the called procedure and are no longer needed.". So we will not need to deal with operands of RET insn.