public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Get i386 vector-register test working.
@ 2007-11-29 22:56 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2007-11-29 22:56 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  bc17c29140bb51887ead83de19154ff381a04dac (commit)
      from  5cc85271b84eb2fd9816e0a169e285cb8f200987 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit bc17c29140bb51887ead83de19154ff381a04dac
Author: Andrew Cagney <cagney@toil.yyz.redhat.com>
Date:   Thu Nov 29 17:52:58 2007 -0500

    Get i386 vector-register test working.
    
    frysk-core/frysk/pkglibdir/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* funit-regs.S (x87fxregs): Data section.
    	(main) [__i386__]: Restore fxregs.
    
    frysk-core/frysk/proc/dead/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* TestCoreRegs.java (testFloatRegisters())
    	(testVectorRegisters()): New; mark as unresolved.
    
    frysk-core/frysk/proc/live/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* TestCoreRegs.java (testFloatRegisters())
    	(testVectorRegisters()): New; mark as unresolved.
    
    frysk-core/frysk/stack/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* TestRegs.java (testFloatRegisters())
    	(testVectorRegisters()): New; mark as unresolved, bugs 4911 and
    	5195.
    
    frysk-core/frysk/testbed/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* RegsCase.java (testVectorRegisters()): Remove unresolved.
    	(testFloatRegisters()): Ditto.
    	(isa()): Make protected.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/pkglibdir/ChangeLog         |    3 +
 frysk-core/frysk/pkglibdir/funit-regs.S      |  161 +++++++++++++++++++++++++-
 frysk-core/frysk/proc/dead/ChangeLog         |    3 +
 frysk-core/frysk/proc/dead/TestCoreRegs.java |   18 +++
 frysk-core/frysk/proc/live/ChangeLog         |    3 +
 frysk-core/frysk/proc/live/TestRegs.java     |   16 +++
 frysk-core/frysk/stack/ChangeLog             |    4 +
 frysk-core/frysk/stack/TestRegs.java         |   18 +++
 frysk-core/frysk/testbed/ChangeLog           |    4 +
 frysk-core/frysk/testbed/RegsCase.java       |   70 +++++------
 10 files changed, 259 insertions(+), 41 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/pkglibdir/ChangeLog b/frysk-core/frysk/pkglibdir/ChangeLog
index 0c70fe5..2365a3c 100644
--- a/frysk-core/frysk/pkglibdir/ChangeLog
+++ b/frysk-core/frysk/pkglibdir/ChangeLog
@@ -4,6 +4,9 @@
 
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* funit-regs.S (x87fxregs): Data section.
+	(main) [__i386__]: Restore fxregs.
+
 	* funit-regs.S (main): Jump to the known symbol "crash".
 
 2007-11-28 Teresa Thomas <tthomas@redhat.com>
diff --git a/frysk-core/frysk/pkglibdir/funit-regs.S b/frysk-core/frysk/pkglibdir/funit-regs.S
index bda1800..d4418a2 100644
--- a/frysk-core/frysk/pkglibdir/funit-regs.S
+++ b/frysk-core/frysk/pkglibdir/funit-regs.S
@@ -48,6 +48,10 @@
 
 #if defined __i386__
 	
+	// floating-point and vector registers
+	mov $fxregs, %eax
+	fxrstor (%eax)
+
 	mov $0x7eb03efc, %eax
 	mov $0x35a322a0, %ebx
 	mov $0x7f198cab, %ecx
@@ -55,12 +59,15 @@
 	mov $0x1bc5daed, %esi
 	mov $0x457319f3, %edi
 	mov $0xcbfed73c, %ebp
-	// eip
 	// %eflags
 	mov $0x93d4a6ed, %esp
 	
 #elif defined __x86_64__
 
+	// floating-point and vector registers
+	//mov $fxregs, %rax
+	//fxrstor (%rax)
+
         mov $0x837bb4e2d8209ca3, %rax
         mov $0x16d196be91fb2b92, %rdx
         mov $0x2b9f5c8f2d8cc8f9, %rcx
@@ -80,6 +87,7 @@
 
 #endif
 
+	// Jumping to crash sets the instruction-pointer
 	JUMP(crash)
 
 	MAIN_EPILOGUE(0)
@@ -90,9 +98,158 @@
 
 .global crash
 crash:
-#if defined __i386__ || defined __x86_64__
+#if defined __i386__
 	mov 0, %eax
+#elif defined __x86_64__
+	mov 0, %rax
 #else
 	LOAD_IMMED_WORD(REG0, 0)
 	STORE(REG0, REG0)
 #endif
+
+#if defined __i386__ || defined __x86_64__
+.data
+fxregs:
+	// FCW
+	.byte 0x71, 0x1e
+        // FSW 0x47e4
+        .byte 0, 0 // .byte 0xe4, 0x47
+        // FTW 0xc9
+        .byte 0 // .byte 0xc9
+	.fill 1, 1, 0
+        // FOP 0x1e8f
+        .byte 0, 0 // .byte 0x8f, 0x1e
+        // RIP 0x99af236679d5eeff
+        .byte 0, 0, 0, 0 // .byte 0xff, 0xee, 0xd5, 0x79
+        .byte 0, 0, 0, 0 // .byte 0x66, 0x23, 0xaf, 0x99
+        // RDP 0x6988a565d0acd7b0
+        .byte 0, 0, 0, 0 // .byte 0xb0, 0xd7, 0xac, 0xd0
+        .byte 0, 0, 0, 0 // .byte 0x65, 0xa5, 0x88, 0x69
+	// MXCSR
+	.fill 4, 1, 0
+	// MXCSR_MASK
+	.fill 4, 1, 0
+	// ST0 0xa7367289dc779dba0bd9
+        .byte 0xd9, 0x0b, 0xba, 0x9d
+        .byte 0x77, 0xdc, 0x89, 0x72
+	.byte 0x36, 0xa7
+	.fill 6, 1, 0
+        // ST1 0x64abfe452c2a5b8d0eb1
+        .byte 0xb1, 0x0e, 0x8d, 0x5b
+        .byte 0x2a, 0x2c, 0x45, 0xfe
+        .byte 0xab, 0x64
+	.fill 6, 1, 0
+        // ST2 0xb829e094740ce9d53a04
+        .byte 0x4, 0x3a, 0xd5, 0xe9
+        .byte 0xc, 0x74, 0x94, 0xe0
+        .byte 0x29, 0xb8
+	.fill 6, 1, 0
+        // ST3 0x4bd27ebf86294a4a48f8
+        .byte 0xf8, 0x48, 0x4a, 0x4a
+        .byte 0x29, 0x86, 0xbf, 0x7e
+        .byte 0xd2, 0x4b
+	.fill 6, 1, 0
+        // ST4 0xb96a6b1dabba9af1fa66
+        .byte 0x66, 0xfa, 0xf1, 0x9a
+        .byte 0xba, 0xab, 0x1d, 0x6b
+        .byte 0x6a, 0xb9
+	.fill 6, 1, 0
+        // ST5 0x87d05c0a1e9c9bb98ebc
+        .byte 0xbc, 0x8e, 0xb9, 0x9b
+        .byte 0x9c, 0x1e, 0xa, 0x5c
+	.byte 0xd0, 0x87
+	.fill 6, 1, 0
+        // ST6 0x5a0f14dcf87c56690b5f
+        .byte 0x5f, 0xb, 0x69, 0x56
+	.byte 0x7c, 0xf8, 0xdc, 0x14
+	.byte 0xf, 0x5a
+	.fill 6, 1, 0
+        // ST7 0x1f12ae5ec49479a8cb19
+        .byte 0x19, 0xcb, 0xa8, 0x79
+	.byte 0x94, 0xc4, 0x5e, 0xae
+	.byte 0x12, 0x1f
+	.fill 6, 1, 0
+    // vector registers
+        // XMM0 0x47beb912e3bfa457d6af5267b3fec23b
+        .byte 0x3b, 0xc2, 0xfe, 0xb3
+	.byte 0x67, 0x52, 0xaf, 0xd6
+	.byte 0x57, 0xa4, 0xbf, 0xe3
+	.byte 0x12, 0xb9, 0xbe, 0x47
+        // XMM1 0x7ce95f1c2fe254e2cac9b22bf43f73c5
+        .byte 0xc5, 0x73, 0x3f, 0xf4
+	.byte 0x2b, 0xb2, 0xc9, 0xca
+	.byte 0xe2, 0x54, 0xe2, 0x2f
+	.byte 0x1c, 0x5f, 0xe9, 0x7c
+        // XMM2 0x566b1b326d658a3365678d130362a6b5
+        .byte 0xb5, 0xa6, 0x62, 0x3
+	.byte 0x13, 0x8d, 0x67, 0x65
+	.byte 0x33, 0x8a, 0x65, 0x6d
+	.byte 0x32, 0x1b, 0x6b, 0x56
+        // XMM3 0x20801ada9126df05d6927e0847fa8f07
+        .byte 0x7, 0x8f, 0xfa, 0x47
+	.byte 0x8, 0x7e, 0x92, 0xd6
+	.byte 0x5, 0xdf, 0x26, 0x91
+	.byte 0xda, 0x1a, 0x80, 0x20
+        // XMM4 0x2304fff624579bbddc74a7df4d34cfd9
+        .byte 0xd9, 0xcf, 0x34, 0x4d
+	.byte 0xdf, 0xa7, 0x74, 0xdc
+	.byte 0xbd, 0x9b, 0x57, 0x24
+	.byte 0xf6, 0xff, 0x4, 0x23
+        // XMM5 0x58afb31bf2d2b4a33512eefc0d1f5fc4
+        .byte 0xc4, 0x5f, 0x1f, 0xd
+	.byte 0xfc, 0xee, 0x12, 0x35
+	.byte 0xa3, 0xb4, 0xd2, 0xf2
+	.byte 0x1b, 0xb3, 0xaf, 0x58
+        // XMM6 0x5caa454b2a0c2975df1df97f8d180e93
+        .byte 0x93, 0xe, 0x18, 0x8d
+	.byte 0x7f, 0xf9, 0x1d, 0xdf
+	.byte 0x75, 0x29, 0xc, 0x2a
+	.byte 0x4b, 0x45, 0xaa, 0x5c
+        // XMM7 0x2147b54a26ac605b98ef6a2f2da97f57
+        .byte 0x57, 0x7f, 0xa9, 0x2d
+	.byte 0x2f, 0x6a, 0xef, 0x98
+	.byte 0x5b, 0x60, 0xac, 0x26
+	.byte 0x4a, 0xb5, 0x47, 0x21
+        // XMM8 0x59f29cf0c8c06a32cfbcf982d29b2622
+        .byte 0x22, 0x26, 0x9b, 0xd2
+	.byte 0x82, 0xf9, 0xbc, 0xcf
+	.byte 0x32, 0x6a, 0xc0, 0xc8
+	.byte 0xf0, 0x9c, 0xf2, 0x59
+        // XMM9 0x20105410d22c027c7ff7fd949673caad
+        .byte 0xad, 0xca, 0x73, 0x96
+	.byte 0x94, 0xfd, 0xf7, 0x7f
+	.byte 0x7c, 0x2, 0x2c, 0xd2
+	.byte 0x10, 0x54, 0x10, 0x20
+        // XMM10 0xf618933912ad69c1b184ef8159ce5708
+        .byte 0x8, 0x57, 0xce, 0x59
+	.byte 0x81, 0xef, 0x84, 0xb1
+	.byte 0xc1, 0x69, 0xad, 0x12
+	.byte 0x39, 0x93, 0x18, 0xf6
+        // XMM11 0x856c8d779d6ed06a4bdadc488a3e1989
+        .byte 0x89, 0x19, 0x3e, 0x8a
+	.byte 0x48, 0xdc, 0xda, 0x4b
+	.byte 0x6a, 0xd0, 0x6e, 0x9d
+	.byte 0x77, 0x8d, 0x6c, 0x85
+        // XMM12 0xf232c4e489f81468c534d0627b8f373
+        .byte 0x73, 0xf3, 0xb8, 0x27
+	.byte 0x6, 0x4d, 0x53, 0x8c
+	.byte 0x46, 0x81, 0x9f, 0x48
+	.byte 0x4e, 0x2c, 0x23, 0xf
+        // XMM13 0x117c5a8df5f87761027e19798ad84b0
+        .byte 0xb0, 0x84, 0xad, 0x98
+	.byte 0x97, 0xe1, 0x27, 0x10
+	.byte 0x76, 0x87, 0x5f, 0xdf
+	.byte 0xa8, 0xc5, 0x17, 0x1
+        // XMM15 0xea03fbb7498f45fc918621ffe21d2f53
+        .byte 0x53, 0x2f, 0x1d, 0xe2
+	.byte 0xff, 0x21, 0x86, 0x91
+	.byte 0xfc, 0x45, 0x8f, 0x49
+	.byte 0xb7, 0xfb, 0x3, 0xea
+        // XMM15 0xfc6683d958a95180c6226f27a78b2c5a
+        .byte 0x5a, 0x2c, 0x8b, 0xa7
+	.byte 0x27, 0x6f, 0x22, 0xc6
+	.byte 0x80, 0x51, 0xa9, 0x58
+	.byte 0xd9, 0x83, 0x66, 0xfc
+	// some padding
+	.fill 512, 1, 0
+#endif
diff --git a/frysk-core/frysk/proc/dead/ChangeLog b/frysk-core/frysk/proc/dead/ChangeLog
index cb18b1c..bf2c6bd 100644
--- a/frysk-core/frysk/proc/dead/ChangeLog
+++ b/frysk-core/frysk/proc/dead/ChangeLog
@@ -1,5 +1,8 @@
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* TestCoreRegs.java (testFloatRegisters())
+	(testVectorRegisters()): New; mark as unresolved.
+	
 	* TestCoreRegs.java: New.
 
 2007-11-29  Phil Muldoon  <pmuldoon@redhat.com>
diff --git a/frysk-core/frysk/proc/dead/TestCoreRegs.java b/frysk-core/frysk/proc/dead/TestCoreRegs.java
index 2e9deaf..a911268 100644
--- a/frysk-core/frysk/proc/dead/TestCoreRegs.java
+++ b/frysk-core/frysk/proc/dead/TestCoreRegs.java
@@ -45,6 +45,7 @@ import frysk.proc.Proc;
 import frysk.testbed.CoreFileAtSignal;
 import frysk.util.Util;
 import java.io.File;
+import frysk.isa.ISA;
 
 /**
  * Check all register values.
@@ -71,4 +72,21 @@ public class TestCoreRegs extends RegsCase {
 	return task().getRegister(register);
     }
 
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testFloatRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testFloatRegisters();
+    }
+
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testVectorRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testVectorRegisters();
+    }
 }
diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
index df11d49..ca83edc 100644
--- a/frysk-core/frysk/proc/live/ChangeLog
+++ b/frysk-core/frysk/proc/live/ChangeLog
@@ -1,5 +1,8 @@
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* TestCoreRegs.java (testFloatRegisters())
+	(testVectorRegisters()): New; mark as unresolved.
+
 	* TestRegs.java: Moved from frysk.proc.TestRegs.
 
 2007-11-27  Jose Flavio Aguilar Paulino <joseflavio@gmail.com>
diff --git a/frysk-core/frysk/proc/live/TestRegs.java b/frysk-core/frysk/proc/live/TestRegs.java
index 21c3583..2ac3697 100644
--- a/frysk-core/frysk/proc/live/TestRegs.java
+++ b/frysk-core/frysk/proc/live/TestRegs.java
@@ -41,6 +41,7 @@ package frysk.proc.live;
 
 import frysk.isa.Register;
 import frysk.testbed.RegsCase;
+import frysk.isa.ISA;
 
 /**
  * Check all register values.
@@ -57,4 +58,19 @@ public class TestRegs extends RegsCase {
 	return task().getRegister(register);
     }
 
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testFloatRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testFloatRegisters();
+    }
+
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testVectorRegisters() {
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testVectorRegisters();
+    }
 }
diff --git a/frysk-core/frysk/stack/ChangeLog b/frysk-core/frysk/stack/ChangeLog
index 3ecebc0..15ce0a1 100644
--- a/frysk-core/frysk/stack/ChangeLog
+++ b/frysk-core/frysk/stack/ChangeLog
@@ -1,5 +1,9 @@
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* TestRegs.java (testFloatRegisters())
+	(testVectorRegisters()): New; mark as unresolved, bugs 4911 and
+	5195.
+
 	* LibunwindRegisterMapFactory.java: Update; RegisterMap
 	constructor takes a String.
 	* LibunwindAddressSpace.java (accessReg(Number,byte[],boolean)):
diff --git a/frysk-core/frysk/stack/TestRegs.java b/frysk-core/frysk/stack/TestRegs.java
index 2fef4b2..c249801 100644
--- a/frysk-core/frysk/stack/TestRegs.java
+++ b/frysk-core/frysk/stack/TestRegs.java
@@ -39,6 +39,7 @@
 
 package frysk.stack;
 
+import frysk.isa.ISA;
 import frysk.isa.Register;
 import frysk.testbed.RegsCase;
 
@@ -66,4 +67,21 @@ public class TestRegs extends RegsCase {
 	return frame.getRegister(register);
     }
 
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testFloatRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testFloatRegisters();
+    }
+
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testVectorRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testVectorRegisters();
+    }
 }
diff --git a/frysk-core/frysk/testbed/ChangeLog b/frysk-core/frysk/testbed/ChangeLog
index 93defdb..2514eb5 100644
--- a/frysk-core/frysk/testbed/ChangeLog
+++ b/frysk-core/frysk/testbed/ChangeLog
@@ -1,5 +1,9 @@
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* RegsCase.java (testVectorRegisters()): Remove unresolved.
+	(testFloatRegisters()): Ditto.
+	(isa()): Make protected.
+
 	* RegsCase.java (testGeneralRegisters): Remove unresolved on
 	x86-64, bug 5195.
 
diff --git a/frysk-core/frysk/testbed/RegsCase.java b/frysk-core/frysk/testbed/RegsCase.java
index 415d549..c23ddda 100644
--- a/frysk-core/frysk/testbed/RegsCase.java
+++ b/frysk-core/frysk/testbed/RegsCase.java
@@ -110,7 +110,7 @@ public abstract class RegsCase extends TestLib {
     Values values() {
 	return values;
     }
-    ISA isa() {
+    protected ISA isa() {
 	return isa;
     }
 
@@ -133,18 +133,10 @@ public abstract class RegsCase extends TestLib {
     }
 
     public void testFloatRegisters() {
-	if (unresolvedOnIA32(4911))
-	    return;
-	if(unresolvedOnx8664(5195))
-	    return;
 	checkRegisterGroup(registers.getFloatRegisterGroup());
     }
 
     public void testVectorRegisters() {
-	if (unresolvedOnIA32(4911))
-	    return;
-	if(unresolvedOnx8664(5195))
-	    return;
 	checkRegisterGroup(registers.getVectorRegisterGroup());
     }
 
@@ -334,6 +326,22 @@ public abstract class RegsCase extends TestLib {
              new byte[] { (byte)0xed, (byte)0xa6, (byte)0xd4, (byte)0x93 })
  	.put(IA32Registers.EIP, "crash")
     // floating-point registers
+        .put(X87Registers.FCW, // 0x1e71
+             new byte[] { 0x71,0x1e })
+        .put(X87Registers.FSW, // 0x47e4
+             new byte[] { (byte)0xe4,0x47 })
+        .put(X87Registers.FTW, // 0xc9
+             new byte[] { (byte)0xc9 })
+        .put(X87Registers.FOP, // 0x1e8f
+             new byte[] { (byte)0x8f,0x1e })
+        .put(X87Registers.EIP, // 0x2fc38c68
+             new byte[] { 0x68,(byte)0x8c,(byte)0xc3,0x2f })
+        .put(X87Registers.CS, // 0x7ac9
+             new byte[] { (byte)0xc9,0x7a })
+        .put(X87Registers.DP, // 0x6d77e6d5
+             new byte[] { (byte)0xd5,(byte)0xe6,0x77,0x6d })
+        .put(X87Registers.DS, // 0x2a9f
+             new byte[] { (byte)0x9f,0x2a })
 	.put(X87Registers.ST0, // 0xa7367289dc779dba0bd9
              new byte[] { (byte)0xd9,0xb,(byte)0xba,(byte)0x9d,
                           0x77,(byte)0xdc,(byte)0x89,0x72,
@@ -366,22 +374,6 @@ public abstract class RegsCase extends TestLib {
              new byte[] { 0x19,(byte)0xcb,(byte)0xa8,0x79,
                           (byte)0x94,(byte)0xc4,0x5e,(byte)0xae,
                           0x12,0x1f })
-        .put(X87Registers.FCW, // 0xc0f1
-             new byte[] { (byte)0xf1,(byte)0xc0 })
-        .put(X87Registers.FSW, // 0x47e4
-             new byte[] { (byte)0xe4,0x47 })
-        .put(X87Registers.FTW, // 0xc9
-             new byte[] { (byte)0xc9 })
-        .put(X87Registers.FOP, // 0x1e8f
-             new byte[] { (byte)0x8f,0x1e })
-        .put(X87Registers.EIP, // 0x2fc38c68
-             new byte[] { 0x68,(byte)0x8c,(byte)0xc3,0x2f })
-        .put(X87Registers.CS, // 0x7ac9
-             new byte[] { (byte)0xc9,0x7a })
-        .put(X87Registers.DP, // 0x6d77e6d5
-             new byte[] { (byte)0xd5,(byte)0xe6,0x77,0x6d })
-        .put(X87Registers.DS, // 0x2a9f
-             new byte[] { (byte)0x9f,0x2a })
     // vector registers
         .put(X87Registers.XMM0, // 0x47beb912e3bfa457d6af5267b3fec23b
              new byte[] { 0x3b,(byte)0xc2,(byte)0xfe,(byte)0xb3,
@@ -476,6 +468,20 @@ public abstract class RegsCase extends TestLib {
                           0x5d,(byte)0xf6,0x6b,0x4 })
         .put(X8664Registers.RIP, "crash")
     // floating-point registers
+        .put(X87Registers.FCW, // 0x1e71
+             new byte[] { 0x71,0x1e })
+        .put(X87Registers.FSW, // 0x47e4
+             new byte[] { (byte)0xe4,0x47 })
+        .put(X87Registers.FTW, // 0xc9
+             new byte[] { (byte)0xc9 })
+        .put(X87Registers.FOP, // 0x1e8f
+             new byte[] { (byte)0x8f,0x1e })
+        .put(X87Registers.RIP, // 0x99af236679d5eeff
+             new byte[] { (byte)0xff,(byte)0xee,(byte)0xd5,0x79,
+                          0x66,0x23,(byte)0xaf,(byte)0x99 })
+        .put(X87Registers.RDP, // 0x6988a565d0acd7b0
+             new byte[] { (byte)0xb0,(byte)0xd7,(byte)0xac,(byte)0xd0,
+                          0x65,(byte)0xa5,(byte)0x88,0x69 })
 	.put(X87Registers.ST0, // 0xa7367289dc779dba0bd9
              new byte[] { (byte)0xd9,0xb,(byte)0xba,(byte)0x9d,
                           0x77,(byte)0xdc,(byte)0x89,0x72,
@@ -508,20 +514,6 @@ public abstract class RegsCase extends TestLib {
              new byte[] { 0x19,(byte)0xcb,(byte)0xa8,0x79,
                           (byte)0x94,(byte)0xc4,0x5e,(byte)0xae,
                           0x12,0x1f })
-        .put(X87Registers.FCW, // 0xc0f1
-             new byte[] { (byte)0xf1,(byte)0xc0 })
-        .put(X87Registers.FSW, // 0x47e4
-             new byte[] { (byte)0xe4,0x47 })
-        .put(X87Registers.FTW, // 0xc9
-             new byte[] { (byte)0xc9 })
-        .put(X87Registers.FOP, // 0x1e8f
-             new byte[] { (byte)0x8f,0x1e })
-        .put(X87Registers.RIP, // 0x99af236679d5eeff
-             new byte[] { (byte)0xff,(byte)0xee,(byte)0xd5,0x79,
-                          0x66,0x23,(byte)0xaf,(byte)0x99 })
-        .put(X87Registers.RDP, // 0x6988a565d0acd7b0
-             new byte[] { (byte)0xb0,(byte)0xd7,(byte)0xac,(byte)0xd0,
-                          0x65,(byte)0xa5,(byte)0x88,0x69 })
     // vector registers
         .put(X87Registers.XMM0, // 0x47beb912e3bfa457d6af5267b3fec23b
              new byte[] { 0x3b,(byte)0xc2,(byte)0xfe,(byte)0xb3,


hooks/post-receive
--
frysk system monitor/debugger


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-11-29 22:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-29 22:56 [SCM] master: Get i386 vector-register test working cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).