From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: test_x86_emulator Date: Wed, 16 Apr 2014 10:32:41 +0100 Message-ID: <534E4E39.50105@gmail.com> References: <1396967094-29484-1-git-send-email-dslutz@verizon.com> <1396967094-29484-2-git-send-email-dslutz@verizon.com> <53458CB40200007800007598@nat28.tlf.novell.com> <534592D7.2020805@terremark.com> <534652300200007800007727@nat28.tlf.novell.com> <53475944.3060100@terremark.com> <5347B9BD0200007800007DDB@nat28.tlf.novell.com> <5347D8C4.8080500@terremark.com> <5347F7A10200007800007F74@nat28.tlf.novell.com> <5347E4B1.3080505@terremark.com> <534822E202000078000080AC@nat28.tlf.novell.com> <5348292B.5000102@terremark.com> <534BAD0F0200007800008407@nat28.tlf.novell.com> <534C1AF0.3060707@terremark.com> <534CF2950200007800008C62@nat28.tlf.novell.com> <534D4108.2020100@terremark.com> <534E5AE40200007800009550@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <534E5AE40200007800009550@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: Don Slutz , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org Jan Beulich wrote: > x86: fix instruction emulator test's xgetbv constraints > > The "A" constraint, while documented up to gcc4.5 as "The a and d > registers, as a pair (for instructions that return half the result in > one and half in the other)," never really behaved that (natural) way, > but always meant (and is now also documented so) %eax_or_ %edx (%rax > _or_ %rdx on x86-64) unless the operand was wide enough to require both > (i.e. more than 32 bits on ix86 and more than 64 bits on x86-64). > > Interestingly something internal to the compiler changed between4.4 > and4.5 to actually expose the difference - up to gcc4.4 I was unable > to construct a case where, when only the low half of the result is > actually looked at, the result would be considered to be in %edx/%rdx > (and %eax/%rax would be treated as unmodified by the instruction). > > Signed-off-by: Jan Beulich Acked-by: Keir Fraser