From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 0BD85382EF23 for ; Mon, 5 Dec 2022 02:53:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0BD85382EF23 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670208795; x=1701744795; h=from:to:cc:subject:date:message-id; bh=uIyUWGq+EWRxS7Ln8tNyH9ji3vwWEYJyFHdMNXDhlZI=; b=Z2uIxCf1hCa/9vkzYIDFODRkNrOBVnruKK8h50p89adUpMWGaBk4lkx7 Z/zMUPhmNcpNltYZkVGxfB1Cd1lDudR06KjJeJRGg3iXQMcsUZRL5NkGq J9VHrQkWuOS5FSvTVDTqcMXhliD6CnLrNid2rcVlkv1KZbehYF709tlnn UEczeM5I/wzj+tUoYbwoj7ljVrvT21/TBb7NNV9dtfio+SFCMj38JsSI0 vckwFfExJK0hCvLsdrcTVD/o0h/E42DMykXMj5WFWNJtbfkhhq2UqLSLe CJyheemDHms1851NqQmle7OmMc/vwidWMBxuQbbpvNacCLPm2FtCFFMgf w==; X-IronPort-AV: E=McAfee;i="6500,9779,10551"; a="303868844" X-IronPort-AV: E=Sophos;i="5.96,218,1665471600"; d="scan'208";a="303868844" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Dec 2022 18:53:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10551"; a="623335453" X-IronPort-AV: E=Sophos;i="5.96,218,1665471600"; d="scan'208";a="623335453" Received: from shvmail03.sh.intel.com ([10.239.245.20]) by orsmga006.jf.intel.com with ESMTP; 04 Dec 2022 18:53:11 -0800 Received: from shliclel320.sh.intel.com (shliclel320.sh.intel.com [10.239.240.127]) by shvmail03.sh.intel.com (Postfix) with ESMTP id 17BE41005672; Mon, 5 Dec 2022 10:53:11 +0800 (CST) From: Haochen Jiang To: binutils@sourceware.org Cc: jbeulich@suse.com, hjl.tools@gmail.com Subject: [PATCH] x86: Remove unnecessary vex.w check for xh_mode in disassembler Date: Mon, 5 Dec 2022 10:53:11 +0800 Message-Id: <20221205025311.73743-1-haochen.jiang@intel.com> X-Mailer: git-send-email 2.18.1 X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 all, For all the xh_mode usage in table, they are all using %XH, which will print "{bad}" while EVEX.W=1. This makes this vex.w check unnecessary. Another reason for removing this check is because xh_mode with broadcast usage should not indicate the vex.w bit. Instead it should be handled by a W table entry. BRs, Haochen opcodes/ChangeLog: * i386-dis.c (OP_E_memory): Remove vex.w check for xh_mode. --- opcodes/i386-dis.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index e43666af84..e778e91920 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -12206,24 +12206,19 @@ OP_E_memory (instr_info *ins, int bytemode, int sizeflag) { if (bytemode == xh_mode) { - if (ins->vex.w) - oappend (ins, "{bad}"); - else + switch (ins->vex.length) { - switch (ins->vex.length) - { - case 128: - oappend (ins, "{1to8}"); - break; - case 256: - oappend (ins, "{1to16}"); - break; - case 512: - oappend (ins, "{1to32}"); - break; - default: - abort (); - } + case 128: + oappend (ins, "{1to8}"); + break; + case 256: + oappend (ins, "{1to16}"); + break; + case 512: + oappend (ins, "{1to32}"); + break; + default: + abort (); } } else if (bytemode == q_mode -- 2.18.1