This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH v3 00/10] x86: operand size handling improvements
- From: Jan Beulich <JBeulich at suse dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Cc: "H.J. Lu" <hjl dot tools at gmail dot com>
- Date: Fri, 27 Dec 2019 09:11:46 +0000
- Subject: [PATCH v3 00/10] x86: operand size handling improvements
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
- 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-SenderADCheck; bh=fxTwlLVX5CbppuzXGtUqtUdcWspY7OSeBIguf5zLEls=; b=iBuYWYAaY4FPq+u++SttbBX8XLVJL66qSZPnkeYWkm/vGIC8tV606ENDx0RFQF53dsnZ3l93qk/54wfzpOaWIv2rwGfNnfIC7YqSRcg2eAzm5ZjCoABeqi9chg0ghiOQxjpFgfMGOP9BGscj2wYoAdC/wy0GdDI9GIOvFXu17hrmnwEOwaCx4lwj7kaNA8irbDSH9+HkxXhWGQKk7n3dc/rBamFUgXOahfcw2xZrIx1jk/xKqF6CRWmwmjyMwiIKugJ6z6IzUIuZ5jR0DYzYLQjiNQJxu44Bf3cd6GDb7ZC+T8sRWURIPwSZjlLTzFu52hy8fHVLL4crdhY5+6fldA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cvoQTvRnNP+PTK3zJJzSFzycrQU9EUQMBk8yEWf4z2TA4kMIo/3nwgrpVwmDT+pidUTDA9GRVT7BQ9O2z1Jwy8pH5E97iPkaDjJyl/wwk623l7eKWO3/eTgpAp0416dYwgPDYmBAZRPRYbsD8IRL6hA4+HsoCYLBlFhC08RD+AJ/Bx100h7KmSgXYEREwA2xmgvye/Iu1soEIsBUeRw6OCk0zRaj8/+ksfjPvH4vk5nRsTq8qlrG0HzGkvCCaCc6hHZgoKvIRtEo60EL/1Q/qJPS4aZM6EbR2bDdtYkqOVvmd3gZxqoOdf7AOu310NmJi6DkxIdZyY3saD9mFWT3xA==
Not the least in order to make sure the main change here is fine
for both Linux and gcc, but also because of the need / desire to
have sufficient testsuite coverage (which by itself has pointed
out further issues addressed by this series), it has taken me
several years to finally get this set of changes ready. The main
goal is better consistency in the handling of insn operands, i.e.
in particular less unexpected behavior when deducing how things
would behave from observations with one (set of) insn(s) or
operand(s) towards other constructs.
1: x86: improve handling of insns with ambiguous operand sizes
2: x86: replace adhoc ambiguous operand checking for CRC32
3: x86: move certain MOVSX/MOVZX tests
4: x86: replace adhoc ambiguous operand checking for MOVSX/MOVZX
5: x86-64: also support MOVSXD with 16-bit destination
6: x86: correct VFPCLASSP{S,D} operand size handling
7: x86: drop further pointless/bogus DefaultSize
8: x86-64: also diagnose far returns / IRET with ambiguous operand size
9: x86-64: honor vendor specifics for near RET
10: x86-64: Intel64 adjustments for insns dealing with far pointers
v3 addresses prior comments and adds 4 new patches.
If in doubt this goes on top of previously submitted, still
un-approved patches:
https://sourceware.org/ml/binutils/2019-11/msg00349.html
https://sourceware.org/ml/binutils/2019-12/msg00247.html
Jan