public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Add unresolvedOnIA32.
@ 2007-11-28 23:25 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2007-11-28 23:25 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  ee243016c11937ddbfb0ba23e0f6f4376708998a (commit)
       via  a4318dcbb637d8132ead4c532eb8b10b916ab3b4 (commit)
       via  a0aa5a60c75b9b6320004d377fa2eac17897aa5e (commit)
       via  a3e8d9a0e3d86f29829fa744f2654f03f500340c (commit)
       via  bfbd92b051f6da2597be8f50b1623c447a8f1023 (commit)
      from  74d6f72347b4ddd28315728a507de7215f3d11c0 (commit)

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

- Log -----------------------------------------------------------------
commit ee243016c11937ddbfb0ba23e0f6f4376708998a
Author: Andrew Cagney <cagney@redhat.com>
Date:   Wed Nov 28 18:18:19 2007 -0500

    Add unresolvedOnIA32.
    
    frysk-core/frysk/testbed/ChangeLog
    2007-11-28  Andrew Cagney  <cagney@redhat.com>
    
    	* TestRegs.java (testGeneralRegistersPresent()): Rename
    	testDefaultRegistersPresent.
    
    frysk-sys/frysk/junit/ChangeLog
    2007-11-28  Andrew Cagney  <cagney@redhat.com>
    
    	* TestCase.java (unresolvedOnIA32(int)): New.

commit a4318dcbb637d8132ead4c532eb8b10b916ab3b4
Author: Andrew Cagney <cagney@redhat.com>
Date:   Wed Nov 28 17:59:19 2007 -0500

    Rename Registers.getDefaultRegisterGroup to getGeneralRegisterGroup.
    
    frysk-core/frysk/hpd/ChangeLog
    2007-11-28  Andrew Cagney  <cagney@redhat.com>
    
    	* RegsCommand.java: Update; Registers .getDefaultRegisterGroup
    	renamed to getGeneralRegisterGroup.
    
    frysk-core/frysk/isa/ChangeLog
    2007-11-28  Andrew Cagney  <cagney@redhat.com>
    
    	* TestRegisters.java (testGeneralRegisterGroup()): Rename
    	testDefaultRegisterGroup.
    	* Registers.java (getGeneralRegisterGroup()): Rename
    	getDefaultRegisterGroup.
    
    frysk-core/frysk/testbed/ChangeLog
    2007-11-28  Andrew Cagney  <cagney@redhat.com>
    
    	* RegsCase.java (testGeneralRegisters()): Rename
    	testDefaultRegisters.

commit a0aa5a60c75b9b6320004d377fa2eac17897aa5e
Author: Andrew Cagney <cagney@redhat.com>
Date:   Wed Nov 28 17:45:05 2007 -0500

    Split integer, floating-point, and vector tests.
    
    frysk-core/frysk/testbed/ChangeLog
    2007-11-28  Andrew Cagney  <cagney@redhat.com>
    
    	* RegsCase.java (testDefaultRegisters()): New.
    	(testFloatRegisters()): New; unresolved on IA32 and X86-64.
    	(testVectorRegisters()): New; ditto.
    	(checkRegisterGroup()): New.
    	(Values.get(Register)): New.

commit a3e8d9a0e3d86f29829fa744f2654f03f500340c
Author: Andrew Cagney <cagney@redhat.com>
Date:   Wed Nov 28 17:20:04 2007 -0500

    Add IA-32 floating-point and vector register test values.
    
    frysk-core/frysk/isa/ChangeLog
    2007-11-28  Andrew Cagney  <cagney@redhat.com>
    
    	* X87Registers.java (FSW): Fix typo in name.
    	* TestRegisters.java (testGetGroupNames()): Fix group order.
    	(testAllRegistersGroup()): Delete.
    	* IA32Registers.java (REGS_GROUP): Fix name.
    
    frysk-core/frysk/testbed/ChangeLog
    2007-11-28  Andrew Cagney  <cagney@redhat.com>
    
    	* RegsCase.java (IA32): Add floating-point and vector registers.

commit bfbd92b051f6da2597be8f50b1623c447a8f1023
Author: Andrew Cagney <cagney@redhat.com>
Date:   Wed Nov 28 13:35:41 2007 -0500

    Add floating-point and vector registers to frysk.testbed.TestRegs.
    
    frysk-core/frysk/isa/ChangeLog
    2007-11-28  Andrew Cagney  <cagney@redhat.com>
    
    	* Registers.java (getVectorRegisterGroup()): New.
    	(getFloatRegisterGroup()): New.
    	(getDefaultRegisterGroup()): Make concrete.
    	(getAllRegistersGroup()): Make concrete.
    	* IA32Registers.java (REGS_GROUP): Rename GENERAL.
    	(ALL_GROUP): Delete.
    	(getDefaultRegisterGroup()): Delete.
    	(getAllRegistersGroup()): Delete.
    	(SEGMENT_GROUP): Rename SEGMENT.
    	* X8664Registers.java (REGS_GROUP): Rename GENERAL.
    	(ALL_GROUP): Delete.
    	(getDefaultRegisterGroup()): Delete.
    	(getAllRegistersGroup()): Delete.
    	* X87Registers.java (FLOAT32_GROUP): Rename FLOAT32.
    	(FLOAT64_GROUP): Rename FLOAT64.
    	(VECTOR32_GROUP): Rename VECTOR32.
    	(VECTOR64_GROUP): Rename VECTOR64.
    	* TestRegisters.java: Update.
    	(testAllRegisterGroup()): Change to fail.
    
    frysk-core/frysk/testbed/ChangeLog
    2007-11-27  Andrew Cagney  <cagney@redhat.com>
    
    	* RegsCase.java (testAccessRegisterRead()): Remove unresolved on
    	X86-64, bug 5195.
    	* TestRegs.java (testFloatRegistersPresent()): New.
    	(testVectorRegistersPresent()): New.

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

Summary of changes:
 frysk-core/frysk/hpd/ChangeLog           |    5 +
 frysk-core/frysk/hpd/RegsCommand.java    |    2 +-
 frysk-core/frysk/isa/ChangeLog           |   32 +++++++
 frysk-core/frysk/isa/IA32Registers.java  |   47 +++-------
 frysk-core/frysk/isa/Registers.java      |   23 ++++-
 frysk-core/frysk/isa/TestRegisters.java  |   18 ++---
 frysk-core/frysk/isa/X8664Registers.java |   33 +++-----
 frysk-core/frysk/isa/X87Registers.java   |   14 ++--
 frysk-core/frysk/testbed/ChangeLog       |   21 +++++
 frysk-core/frysk/testbed/RegsCase.java   |  143 +++++++++++++++++++++++++++---
 frysk-core/frysk/testbed/TestRegs.java   |   12 ++-
 frysk-sys/frysk/junit/ChangeLog          |    4 +
 frysk-sys/frysk/junit/TestCase.java      |   13 ++-
 13 files changed, 271 insertions(+), 96 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/hpd/ChangeLog b/frysk-core/frysk/hpd/ChangeLog
index 79e9b2b..5043737 100644
--- a/frysk-core/frysk/hpd/ChangeLog
+++ b/frysk-core/frysk/hpd/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-28  Andrew Cagney  <cagney@redhat.com>
+
+	* RegsCommand.java: Update; Registers .getDefaultRegisterGroup
+	renamed to getGeneralRegisterGroup.
+
 2007-11-27  Teresa Thomas  <tthomas@redhat.com>
 	
 	* EvalCommands.java (Printer..print): Remove type printing
diff --git a/frysk-core/frysk/hpd/RegsCommand.java b/frysk-core/frysk/hpd/RegsCommand.java
index fde1767..76accb0 100644
--- a/frysk-core/frysk/hpd/RegsCommand.java
+++ b/frysk-core/frysk/hpd/RegsCommand.java
@@ -63,7 +63,7 @@ public class RegsCommand extends ParameterizedCommand {
 	    TaskData td = (TaskData) taskDataIter.next();
 	    ISA isa = td.getTask().getISA();
 	    Registers regs = RegistersFactory.getRegisters(isa);
-	    RegisterGroup selectedGroup = regs.getDefaultRegisterGroup();
+	    RegisterGroup selectedGroup = regs.getGeneralRegisterGroup();
 	    if (cmd.size() > 0) {
 		String groupName = cmd.parameter(0);
 		selectedGroup = regs.getGroup(groupName);
diff --git a/frysk-core/frysk/isa/ChangeLog b/frysk-core/frysk/isa/ChangeLog
index 09245ef..cb10669 100644
--- a/frysk-core/frysk/isa/ChangeLog
+++ b/frysk-core/frysk/isa/ChangeLog
@@ -1,3 +1,35 @@
+2007-11-28  Andrew Cagney  <cagney@redhat.com>
+
+	* TestRegisters.java (testGeneralRegisterGroup()): Rename
+	testDefaultRegisterGroup.
+	* Registers.java (getGeneralRegisterGroup()): Rename
+	getDefaultRegisterGroup.
+
+	* X87Registers.java (FSW): Fix typo in name.
+	* TestRegisters.java (testGetGroupNames()): Fix group order.
+	(testAllRegistersGroup()): Delete.
+	* IA32Registers.java (REGS_GROUP): Fix name.
+	
+	* Registers.java (getVectorRegisterGroup()): New.
+	(getFloatRegisterGroup()): New.
+	(getDefaultRegisterGroup()): Make concrete.
+	(getAllRegistersGroup()): Make concrete.
+	* IA32Registers.java (REGS_GROUP): Rename GENERAL.
+	(ALL_GROUP): Delete.
+	(getDefaultRegisterGroup()): Delete.
+	(getAllRegistersGroup()): Delete.
+	(SEGMENT_GROUP): Rename SEGMENT.
+	* X8664Registers.java (REGS_GROUP): Rename GENERAL.
+	(ALL_GROUP): Delete.
+	(getDefaultRegisterGroup()): Delete.
+	(getAllRegistersGroup()): Delete.
+	* X87Registers.java (FLOAT32_GROUP): Rename FLOAT32.
+	(FLOAT64_GROUP): Rename FLOAT64.
+	(VECTOR32_GROUP): Rename VECTOR32.
+	(VECTOR64_GROUP): Rename VECTOR64.
+	* TestRegisters.java: Update.
+	(testAllRegisterGroup()): Change to fail.
+	
 2007-11-28  Jose Flavio Aguilar Paulino <joseflavio@gmail.com>
 
 	* RegistersFactory.java: Adding Power32/64 registers to factory.
diff --git a/frysk-core/frysk/isa/IA32Registers.java b/frysk-core/frysk/isa/IA32Registers.java
index a94d053..2460ffc 100644
--- a/frysk-core/frysk/isa/IA32Registers.java
+++ b/frysk-core/frysk/isa/IA32Registers.java
@@ -116,49 +116,26 @@ public class IA32Registers extends Registers {
     public static final Register ORIG_EAX
 	= new Register("orig_eax", StandardTypes.INT32L_T);
 
-    public final static RegisterGroup GENERAL
-	= new RegisterGroup("general",
+    public final static RegisterGroup REGS_GROUP
+	= new RegisterGroup("regs",
 			    new Register[] {
 				EAX, EBX, ECX, EDX, ESI, EDI, EBP, EIP,
 				EFLAGS, ESP
 			    });
 
-    public final static RegisterGroup SEGMENT
+    public final static RegisterGroup SEGMENT_GROUP
 	= new RegisterGroup("segment",
 			    new Register[] {
 				GS, FS, ES, DS, SS, CS
 			    });
 
-    public final static RegisterGroup ALL;
-    static {
-	Register[] allRegs
-	    = new Register[GENERAL.getRegisters().length
-			   + X87Registers.FLOAT32.getRegisters().length
-			   + X87Registers.XMM32.getRegisters().length
-			   + SEGMENT.getRegisters().length];
-	int count = 0;
-	System.arraycopy(GENERAL.getRegisters(), 0, allRegs, count,
-			 GENERAL.getRegisters().length);
-	count += GENERAL.getRegisters().length;
-	System.arraycopy(X87Registers.FLOAT32.getRegisters(),
-			 0, allRegs, count,
-			 X87Registers.FLOAT32.getRegisters().length);
-	count += X87Registers.FLOAT32.getRegisters().length;
-	System.arraycopy(X87Registers.XMM32.getRegisters(),
-			 0, allRegs, count,
-			 X87Registers.XMM32.getRegisters().length);
-	count += X87Registers.XMM32.getRegisters().length;
-	System.arraycopy(SEGMENT.getRegisters(), 0, allRegs, count,
-			 SEGMENT.getRegisters().length);
-
-	ALL = new RegisterGroup("all", allRegs);
-    }
 
     IA32Registers() {
 	super (new RegisterGroup[] {
-		   GENERAL,
-		   X87Registers.FLOAT32, X87Registers.XMM32,
-		   SEGMENT, ALL
+		   REGS_GROUP,
+		   X87Registers.FLOAT32_GROUP,
+		   X87Registers.VECTOR32_GROUP,
+		   SEGMENT_GROUP,
 	       });
     }
 
@@ -171,10 +148,14 @@ public class IA32Registers extends Registers {
     }
 
     public RegisterGroup getDefaultRegisterGroup() {
-	return GENERAL;
+	return REGS_GROUP;
+    }
+
+    public RegisterGroup getFloatRegisterGroup() {
+	return X87Registers.FLOAT32_GROUP;
     }
 
-    public RegisterGroup getAllRegistersGroup() {
-	return ALL;
+    public RegisterGroup getVectorRegisterGroup() {
+	return X87Registers.VECTOR32_GROUP;
     }
 }
diff --git a/frysk-core/frysk/isa/Registers.java b/frysk-core/frysk/isa/Registers.java
index ae9ad2e..2241228 100644
--- a/frysk-core/frysk/isa/Registers.java
+++ b/frysk-core/frysk/isa/Registers.java
@@ -78,14 +78,29 @@ public abstract class Registers {
      */
     public abstract Register getStackPointer();
     /**
-     * Return the "default" register group.
+     * Return the "default" or "regs" register group.
      */
-    public abstract RegisterGroup getDefaultRegisterGroup();
+    public RegisterGroup getGeneralRegisterGroup() {
+	return getGroup("regs");
+    }
+    /**
+     * Return the "float" register group.
+     */
+    public RegisterGroup getFloatRegisterGroup() {
+	return getGroup("float");
+    }
+    /**
+     * Return the "multi-media" or vector register group.
+     */
+    public RegisterGroup getVectorRegisterGroup() {
+	return getGroup("vector");
+    }
     /**
      * Return the "all" register group.
      */
-    public abstract RegisterGroup getAllRegistersGroup();
-
+    public RegisterGroup getAllRegistersGroup() {
+	return null;
+    }
     /**
      * Return the register group; searched by NAME.
      */
diff --git a/frysk-core/frysk/isa/TestRegisters.java b/frysk-core/frysk/isa/TestRegisters.java
index 72040a2..7fc0d44 100644
--- a/frysk-core/frysk/isa/TestRegisters.java
+++ b/frysk-core/frysk/isa/TestRegisters.java
@@ -55,8 +55,8 @@ public class TestRegisters extends TestCase {
     }
 
     public void testGetGroup() {
-	assertEquals("getGroup", IA32Registers.GENERAL,
-		     regs.getGroup("general"));
+	assertEquals("getGroup", IA32Registers.REGS_GROUP,
+		     regs.getGroup("regs"));
     }
 
     public void testGetRegister() {
@@ -67,18 +67,12 @@ public class TestRegisters extends TestCase {
     public void testGetGroupNames() {
 	assertEquals("getGroupNames",
 		     new String[] {
-			 "general", "float", "xmm",
-			 "segment", "all"
+			 "regs", "float", "vector", "segment"
 		     }, regs.getGroupNames());
     }
 
-    public void testDefaultRegisterGroup() {
-	assertEquals("getDefaultRegisterGroup", IA32Registers.GENERAL,
-		     regs.getDefaultRegisterGroup());
-    }
-
-    public void testAllRegistersGroup() {
-	assertEquals("getAllRegistersGroup", IA32Registers.ALL,
-		     regs.getAllRegistersGroup());
+    public void testGeneralRegisterGroup() {
+	assertEquals("getGeneralRegisterGroup", IA32Registers.REGS_GROUP,
+		     regs.getGeneralRegisterGroup());
     }
 }
diff --git a/frysk-core/frysk/isa/X8664Registers.java b/frysk-core/frysk/isa/X8664Registers.java
index a913c6c..bac439a 100644
--- a/frysk-core/frysk/isa/X8664Registers.java
+++ b/frysk-core/frysk/isa/X8664Registers.java
@@ -127,20 +127,19 @@ public class X8664Registers extends Registers {
     public static final Register ORIG_RAX
 	= new Register("orig_rax", StandardTypes.INT64L_T);
 
-    public static final RegisterGroup GENERAL = new RegisterGroup("general",
-								  new Register[] { RAX, RDX, RCX, RBX, RSI, RDI, RBP, RSP, R8, R9,
-										   R10, R11, R12, R13, R14, R15, RIP });
-
-    public static final RegisterGroup ALL;
-    static {
-	Register[] allRegs = new Register[GENERAL.getRegisters().length];
-	System.arraycopy(GENERAL.getRegisters(), 0, allRegs, 0,
-			 GENERAL.getRegisters().length);
-	ALL = new RegisterGroup("all", allRegs);
-    }
-
+    public static final RegisterGroup REGS_GROUP
+	= new RegisterGroup("regs",
+			    new Register[] {
+				RAX, RDX, RCX, RBX, RSI, RDI, RBP, RSP, R8, R9,
+				R10, R11, R12, R13, R14, R15, RIP
+			    });
+    
     protected X8664Registers() {
-	super(new RegisterGroup[] { GENERAL, ALL });
+	super(new RegisterGroup[] {
+		  REGS_GROUP,
+		  X87Registers.FLOAT64_GROUP,
+		  X87Registers.VECTOR64_GROUP,
+	      });
     }
 
     public Register getProgramCounter() {
@@ -150,12 +149,4 @@ public class X8664Registers extends Registers {
     public Register getStackPointer() {
 	return RSP;
     }
-
-    public RegisterGroup getDefaultRegisterGroup() {
-	return GENERAL;
-    }
-
-    public RegisterGroup getAllRegistersGroup() {
-	return ALL;
-    }
 }
diff --git a/frysk-core/frysk/isa/X87Registers.java b/frysk-core/frysk/isa/X87Registers.java
index 23cb1c0..89c64ad 100644
--- a/frysk-core/frysk/isa/X87Registers.java
+++ b/frysk-core/frysk/isa/X87Registers.java
@@ -153,7 +153,7 @@ public class X87Registers {
 	= new Register("fcw", StandardTypes.INT16L_T);
     // status word
     public static final Register FSW
-	= new Register("fcw", StandardTypes.INT16L_T);
+	= new Register("fsw", StandardTypes.INT16L_T);
     // tag word
     public static final Register FTW
 	= new Register("ftw", StandardTypes.INT8L_T);
@@ -180,7 +180,7 @@ public class X87Registers {
     public static final Register MXCSR_MASK
 	= new Register("mxcsr_mask", StandardTypes.INT32L_T);
 
-    public final static RegisterGroup FLOAT32
+    public final static RegisterGroup FLOAT32_GROUP
 	= new RegisterGroup("float",
 			    new Register[] {
 				ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7,
@@ -188,7 +188,7 @@ public class X87Registers {
 				EIP, CS, DP, DS,
 				
 			    });
-    public final static RegisterGroup FLOAT64
+    public final static RegisterGroup FLOAT64_GROUP
 	= new RegisterGroup("float",
 			    new Register[] {
 				ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7,
@@ -203,14 +203,14 @@ public class X87Registers {
 				MXCSR, MXCSR_MASK
 			    });
 
-    public final static RegisterGroup XMM32
-	= new RegisterGroup("xmm",
+    public final static RegisterGroup VECTOR32_GROUP
+	= new RegisterGroup("vector",
 			    new Register[] {
 				XMM0, XMM1, XMM2, XMM3,
 				XMM4, XMM5, XMM6, XMM7,
 			    });
-    public final static RegisterGroup XMM64
-	= new RegisterGroup("xmm",
+    public final static RegisterGroup VECTOR64_GROUP
+	= new RegisterGroup("vector",
 			    new Register[] {
 				XMM0, XMM1, XMM2, XMM3,
 				XMM4, XMM5, XMM6, XMM7,
diff --git a/frysk-core/frysk/testbed/ChangeLog b/frysk-core/frysk/testbed/ChangeLog
index 56ba41e..fb84632 100644
--- a/frysk-core/frysk/testbed/ChangeLog
+++ b/frysk-core/frysk/testbed/ChangeLog
@@ -1,3 +1,24 @@
+2007-11-28  Andrew Cagney  <cagney@redhat.com>
+
+	* TestRegs.java (testGeneralRegistersPresent()): Rename
+	testDefaultRegistersPresent.
+	
+	* RegsCase.java (testGeneralRegisters()): Rename
+	testDefaultRegisters.
+	
+	* RegsCase.java (testDefaultRegisters()): New.
+	(testFloatRegisters()): New; unresolved on IA32 and X86-64.
+	(testVectorRegisters()): New; ditto.
+	(checkRegisterGroup()): New.
+	(Values.get(Register)): New.
+
+	* RegsCase.java (IA32): Add floating-point and vector registers.
+
+	* RegsCase.java (testAccessRegisterRead()): Remove unresolved on
+	X86-64, bug 5195.
+	* TestRegs.java (testFloatRegistersPresent()): New.
+	(testVectorRegistersPresent()): New.
+
 2007-11-28  Jose Flavio Aguilar Paulino <joseflavio@gmail.com>
 
 	* RegsCase.java: Add the PowerPC32 general purpose register values. 
diff --git a/frysk-core/frysk/testbed/RegsCase.java b/frysk-core/frysk/testbed/RegsCase.java
index 6521e2b..23f3fba 100644
--- a/frysk-core/frysk/testbed/RegsCase.java
+++ b/frysk-core/frysk/testbed/RegsCase.java
@@ -39,12 +39,15 @@
 
 package frysk.testbed;
 
-import java.util.Map.Entry;
+import frysk.isa.RegistersFactory;
+import frysk.isa.Registers;
+import frysk.isa.RegisterGroup;
 import frysk.isa.Register;
 import frysk.isa.IA32Registers;
 import frysk.isa.X8664Registers;
 import frysk.isa.PPC32Registers;
 import frysk.isa.PPC64Registers;
+import frysk.isa.X87Registers;
 import frysk.isa.ISA;
 import frysk.isa.ISAMap;
 import frysk.proc.Task;
@@ -68,17 +71,21 @@ public abstract class RegsCase extends TestLib {
     private Values values;
     private ByteOrder order;
     private ISA isa;
+    private Registers registers;
     public void setUp() {
 	super.setUp();
 	task = new DaemonBlockedAtSignal("funit-regs").getMainTask();
 	isa = task.getISA();
 	order = isa.order();
+	registers = RegistersFactory.getRegisters(isa);
 	if (isaValues.containsKey(isa))
 	    values = (Values)isaValues.get(isa);
     }
     public void tearDown() {
 	task = null;
 	values = null;
+	registers = null;
+	isa = null;
 	super.tearDown();
     }
 
@@ -99,19 +106,36 @@ public abstract class RegsCase extends TestLib {
 				   int start, boolean write);
     protected abstract long getRegister(Object task, Register reg);
 
-    public void testAccessRegisterRead() {
-	if(unresolvedOnx8664(5195)){
-	    return;
-	}
-	if (values == null && unresolved(0))
-	    return;
-	for (Iterator i = values.iterator(); i.hasNext(); ) {
-	    Entry entry = (Entry)i.next();
-	    Register register = (Register)entry.getKey();
-	    Value value = (Value)entry.getValue();
+    private void checkRegisterGroup(RegisterGroup registerGroup) {
+	Register[] registers = registerGroup.getRegisters();
+	for (int i = 0; i < registers.length; i++) {
+	    Register register = registers[i];
+	    Value value = (Value)values.get(register);
 	    value.checkRegister(this, register);
 	}
     }
+   
+    public void testGeneralRegisters() {
+	if(unresolvedOnx8664(5195))
+	    return;
+	checkRegisterGroup(registers.getGeneralRegisterGroup());
+    }
+
+    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());
+    }
 
     /**
      * Convert the ByteOrdered byte array to a BigInteger.
@@ -244,6 +268,9 @@ public abstract class RegsCase extends TestLib {
 	boolean containsKey(Register key) {
 	    return map.containsKey(key);
 	}
+	Value get(Register register) {
+	    return (Value)map.get(register);
+	}
 	Values put(Register register, byte[] bytes) {
 	    map.put(register, new ByteValue(register, bytes));
 	    return this;
@@ -275,6 +302,7 @@ public abstract class RegsCase extends TestLib {
      */
 
     private Values IA32 = new Values()
+    // general registers
         .put(IA32Registers.EAX, // 0x7eb03efc
              new byte[] { (byte)0xfc, 0x3e, (byte)0xb0, 0x7e })
         .put(IA32Registers.EBX, // 0x35a322a0
@@ -290,11 +318,100 @@ public abstract class RegsCase extends TestLib {
         .put(IA32Registers.EBP, // 0xcbfed73c
              new byte[] { 0x3c, (byte)0xd7, (byte)0xfe, (byte)0xcb })
         .put(IA32Registers.EFLAGS, 0x10246,
-	     1 << 21 // Mask CPUID
-	     )
+	     1 << 21) // Mask CPUID
         .put(IA32Registers.ESP, // 0x93d4a6ed
              new byte[] { (byte)0xed, (byte)0xa6, (byte)0xd4, (byte)0x93 })
  	.put(IA32Registers.EIP, "crash")
+    // floating-point registers
+	.put(X87Registers.ST0, // 0xa7367289dc779dba0bd9
+             new byte[] { (byte)0xd9,0xb,(byte)0xba,(byte)0x9d,
+                          0x77,(byte)0xdc,(byte)0x89,0x72,
+                          0x36,(byte)0xa7 })
+        .put(X87Registers.ST1, // 0x64abfe452c2a5b8d0eb1
+             new byte[] { (byte)0xb1,0xe,(byte)0x8d,0x5b,
+                          0x2a,0x2c,0x45,(byte)0xfe,
+                          (byte)0xab,0x64 })
+        .put(X87Registers.ST2, // 0xb829e094740ce9d53a04
+             new byte[] { 0x4,0x3a,(byte)0xd5,(byte)0xe9,
+                          0xc,0x74,(byte)0x94,(byte)0xe0,
+                          0x29,(byte)0xb8 })
+        .put(X87Registers.ST3, // 0x4bd27ebf86294a4a48f8
+             new byte[] { (byte)0xf8,0x48,0x4a,0x4a,
+                          0x29,(byte)0x86,(byte)0xbf,0x7e,
+                          (byte)0xd2,0x4b })
+        .put(X87Registers.ST4, // 0xb96a6b1dabba9af1fa66
+             new byte[] { 0x66,(byte)0xfa,(byte)0xf1,(byte)0x9a,
+                          (byte)0xba,(byte)0xab,0x1d,0x6b,
+                          0x6a,(byte)0xb9 })
+        .put(X87Registers.ST5, // 0x87d05c0a1e9c9bb98ebc
+             new byte[] { (byte)0xbc,(byte)0x8e,(byte)0xb9,(byte)0x9b,
+                          (byte)0x9c,0x1e,0xa,0x5c,
+                          (byte)0xd0,(byte)0x87 })
+        .put(X87Registers.ST6, // 0x5a0f14dcf87c56690b5f
+             new byte[] { 0x5f,0xb,0x69,0x56,
+                          0x7c,(byte)0xf8,(byte)0xdc,0x14,
+                          0xf,0x5a })
+        .put(X87Registers.ST7, // 0x1f12ae5ec49479a8cb19
+             new byte[] { 0x19,(byte)0xcb,(byte)0xa8,0x79,
+                          (byte)0x94,(byte)0xc4,0x5e,(byte)0xae,


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


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

only message in thread, other threads:[~2007-11-28 23:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-28 23:25 [SCM] master: Add unresolvedOnIA32 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).