public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] emulator: simple ALU tests
@ 2013-01-04 14:17 Avi Kivity
  2013-01-09 20:32 ` Marcelo Tosatti
  0 siblings, 1 reply; 2+ messages in thread
From: Avi Kivity @ 2013-01-04 14:17 UTC (permalink / raw)
  To: Marcelo Tosatti, Gleb Natapov; +Cc: kvm

Signed-off-by: Avi Kivity <avi.kivity@gmail.com>
---
 x86/emulator.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/x86/emulator.c b/x86/emulator.c
index c39027a..a128e13 100644
--- a/x86/emulator.c
+++ b/x86/emulator.c
@@ -863,6 +863,31 @@ static void test_ltr(volatile uint16_t *mem)
     report("ltr", str() == tr && (*trp & busy_mask));
 }
 
+static void test_simplealu(u32 *mem)
+{
+    *mem = 0x1234;
+    asm("or %1, %0" : "+m"(*mem) : "r"(0x8001));
+    report("or", *mem == 0x9235);
+    asm("add %1, %0" : "+m"(*mem) : "r"(2));
+    report("add", *mem == 0x9237);
+    asm("xor %1, %0" : "+m"(*mem) : "r"(0x1111));
+    report("xor", *mem == 0x8326);
+    asm("sub %1, %0" : "+m"(*mem) : "r"(0x26));
+    report("sub", *mem == 0x8300);
+    asm("clc; adc %1, %0" : "+m"(*mem) : "r"(0x100));
+    report("adc(0)", *mem == 0x8400);
+    asm("stc; adc %1, %0" : "+m"(*mem) : "r"(0x100));
+    report("adc(0)", *mem == 0x8501);
+    asm("clc; sbb %1, %0" : "+m"(*mem) : "r"(0));
+    report("sbb(0)", *mem == 0x8501);
+    asm("stc; sbb %1, %0" : "+m"(*mem) : "r"(0));
+    report("sbb(1)", *mem == 0x8500);
+    asm("and %1, %0" : "+m"(*mem) : "r"(0xfe77));
+    report("and", *mem == 0x8400);
+    asm("test %1, %0" : "+m"(*mem) : "r"(0xf000));
+    report("test", *mem == 0x8400);
+}
+
 int main()
 {
 	void *mem;
@@ -889,6 +914,7 @@ int main()
 		     : "memory");
 	report("mov reg, r/m (1)", t2 == 0x123456789abcdef);
 
+	test_simplealu(mem);
 	test_cmps(mem);
 	test_scas(mem);
 
-- 
1.8.0.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] emulator: simple ALU tests
  2013-01-04 14:17 [PATCH] emulator: simple ALU tests Avi Kivity
@ 2013-01-09 20:32 ` Marcelo Tosatti
  0 siblings, 0 replies; 2+ messages in thread
From: Marcelo Tosatti @ 2013-01-09 20:32 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Gleb Natapov, kvm

On Fri, Jan 04, 2013 at 04:17:04PM +0200, Avi Kivity wrote:
> Signed-off-by: Avi Kivity <avi.kivity@gmail.com>
> ---
>  x86/emulator.c | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)

Applied, thanks.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-01-10 13:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-04 14:17 [PATCH] emulator: simple ALU tests Avi Kivity
2013-01-09 20:32 ` Marcelo Tosatti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox