[SCM] master: Fixing tests for PowerPC64, mainly float pointer regs test.

jflavio@sourceware.org jflavio@sourceware.org
Wed Dec 5 10:15:00 GMT 2007


The branch, master has been updated
       via  aeabc3f897c851589dc688578f78450cd3210277 (commit)
      from  0e8076d9ad47b55a7451b014124cd9b2428a8bfe (commit)

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

- Log -----------------------------------------------------------------
commit aeabc3f897c851589dc688578f78450cd3210277
Author: Jose Flavio Aguilar Paulino <joseflavio@gmail.com>
Date:   Wed Dec 5 08:15:48 2007 -0200

    Fixing tests for PowerPC64, mainly float pointer regs test.

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

Summary of changes:
 frysk-core/frysk/pkglibdir/funit-frameless.S |    8 +-
 frysk-core/frysk/pkglibdir/funit-location.S  |    6 +--
 frysk-core/frysk/pkglibdir/funit-regs.S      |   78 +++++++++++++++++++++++++-
 3 files changed, 82 insertions(+), 10 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/pkglibdir/funit-frameless.S b/frysk-core/frysk/pkglibdir/funit-frameless.S
index 0fade7b..0ba5712 100644
--- a/frysk-core/frysk/pkglibdir/funit-frameless.S
+++ b/frysk-core/frysk/pkglibdir/funit-frameless.S
@@ -50,10 +50,10 @@
 	MOV(REG0, REG1)
 	FRAMELESS_ADJ_RETURN (REG1)
 	NO_OP ; NO_OP
-#if !defined __powerpc__
+
 	LOAD_IMMED_WORD(REG0, .L1)
 	JUMP(bar)				// _stepFramelessEntry_
-#endif
+
 .L1: 
 	NO_OP ; NO_OP				// _stepFramelessReturn_
 	JUMP_REG(REG1)			
@@ -62,10 +62,10 @@
 	
 	FUNCTION_BEGIN(main, 0)
 	MAIN_PROLOGUE(0)
-#if !defined __powerpc__
+
 	LOAD_IMMED_WORD(REG0, .L2)
 	JUMP(foo)
-#endif
+
 .L2:	
 	NO_OP
 	MAIN_EPILOGUE(0)
diff --git a/frysk-core/frysk/pkglibdir/funit-location.S b/frysk-core/frysk/pkglibdir/funit-location.S
index 31e1f60..e7021b8 100644
--- a/frysk-core/frysk/pkglibdir/funit-location.S
+++ b/frysk-core/frysk/pkglibdir/funit-location.S
@@ -45,11 +45,7 @@ MAIN_PROLOGUE(0)
 LOAD_IMMED_WORD (REG0, 0)
 LOAD_IMMED_WORD (REG1, 987)
 
-#if defined __powerpc__
-#warning PowerPC do not support load a LABEL into a Register as a immediate
-#else
-	LOAD_IMMED_WORD (REG2, memory)
-#endif
+LOAD_IMMED_WORD (REG2, memory)
 
 STORE (REG0, REG0)   				// To crash program
 
diff --git a/frysk-core/frysk/pkglibdir/funit-regs.S b/frysk-core/frysk/pkglibdir/funit-regs.S
index 6bc5edb..d9b8690 100644
--- a/frysk-core/frysk/pkglibdir/funit-regs.S
+++ b/frysk-core/frysk/pkglibdir/funit-regs.S
@@ -89,7 +89,45 @@
 
 #elif defined __powerpc64__
 
-        LOAD_IMMED_WORD( 0, 0x0000000000000000) //This Reg is always Zero
+	// Setting FP values, need gpr1 for loading them
+
+	LOAD_IMMED_WORD(1, ppc_fp_values)
+	lfd   0,   0(1)		;
+	lfd   1,   8(1)		;
+	lfd   2,  16(1)		;
+	lfd   3,  24(1)		;
+	lfd   4,  32(1)		;
+	lfd   5,  40(1)		;
+	lfd   6,  48(1)		;
+	lfd   7,  56(1)		;
+	lfd   8,  64(1)		;
+	lfd   9,  72(1)		;
+	lfd  10,  80(1)		;
+	lfd  11,  88(1)		;
+	lfd  12,  96(1)		;
+	lfd  13, 104(1)		;
+	lfd  14, 112(1)		;
+	lfd  15, 120(1)		;
+	lfd  16, 128(1)		;
+	lfd  17, 136(1)		;
+	lfd  18, 144(1)		;
+	lfd  19, 152(1)		;
+	lfd  20, 160(1)		;
+	lfd  21, 168(1)		;
+	lfd  22, 176(1)		;
+	lfd  23, 184(1)		;
+	lfd  24, 192(1)		;
+	lfd  25, 200(1)		;
+	lfd  26, 208(1)		;
+	lfd  27, 216(1)		;
+	lfd  28, 224(1)		;
+	lfd  29, 232(1)		;
+	lfd  30, 240(1)		;
+	lfd  31, 248(1)		;
+	
+	// Setting General Purpose Registers
+			
+        LOAD_IMMED_WORD( 0, 0x0000000000000000) // This Reg is always Zero
         LOAD_IMMED_WORD( 1, 0x514c159c25c27735)
         LOAD_IMMED_WORD( 2, 0x674b6064cdf97685)
         LOAD_IMMED_WORD( 3, 0x808ac01e8911f56c)
@@ -345,4 +383,42 @@ fxregs:
 	.byte 0xd9, 0x83, 0x66, 0xfc
 	// some padding
 	.fill 512, 1, 0
+
+#elif defined __powerpc64__
+	.data
+	.align 8
+	ppc_fp_values:
+	.byte 0x75, 0xf9, 0x8c, 0xa5, 0xea, 0x9d, 0x46, 0x22
+	.byte 0x20, 0x53, 0xc1, 0x89, 0xe7, 0xaa, 0x9a, 0xde
+	.byte 0x3d, 0xf0, 0x9c, 0x83, 0x07, 0xb6, 0xfc, 0x56
+	.byte 0xb3, 0xb9, 0x5a, 0x2e, 0x6f, 0xbe, 0x9b, 0xf0 //fpr3
+	.byte 0x29, 0xc9, 0x16, 0x90, 0x2e, 0x8c, 0x7c, 0x07
+	.byte 0xe7, 0x4e, 0xcd, 0xc5, 0x30, 0xdc, 0x7b, 0x77
+	.byte 0x90, 0x50, 0x5e, 0x84, 0x18, 0x7b, 0x20, 0x6b
+	.byte 0x6e, 0x5a, 0xc9, 0xb6, 0x9d, 0xad, 0x58, 0x52 //fpr7
+	.byte 0x20, 0xed, 0x2a, 0x35, 0x62, 0x01, 0xd3, 0xd1
+	.byte 0xec, 0x7b, 0xa6, 0xb6, 0xd8, 0x2d, 0x28, 0x59
+	.byte 0x19, 0x08, 0xe8, 0x30, 0xb5, 0x4d, 0xa7, 0x71
+	.byte 0xba, 0x39, 0x9d, 0x51, 0x7c, 0xee, 0x2b, 0xb3 //fpr11
+	.byte 0x06, 0x01, 0xc9, 0xbf, 0x3d, 0xac, 0x15, 0x41
+	.byte 0x42, 0xef, 0x87, 0x55, 0x26, 0xd2, 0x6a, 0xc7
+	.byte 0x1d, 0xd0, 0x6c, 0x1c, 0x91, 0x32, 0xb4, 0xcb
+	.byte 0xc9, 0xb9, 0x57, 0xb3, 0xef, 0x59, 0xad, 0xf5 //fpr15
+	.byte 0xf3, 0xc5, 0x55, 0x50, 0x4f, 0x10, 0xef, 0x96
+	.byte 0x48, 0x48, 0x0d, 0xaa, 0x25, 0x66, 0x64, 0x24
+	.byte 0x60, 0x08, 0x87, 0x5d, 0x4a, 0x37, 0x30, 0x61
+	.byte 0xd1, 0x1d, 0x69, 0x87, 0x28, 0xce, 0xab, 0x86 //fpr19
+	.byte 0x84, 0xd1, 0x23, 0xc3, 0x49, 0xf2, 0x46, 0x8e
+	.byte 0x0a, 0x45, 0xfc, 0x95, 0x17, 0x34, 0x31, 0x63
+	.byte 0x19, 0xa6, 0x21, 0xd6, 0xf7, 0xd8, 0xe7, 0xb9
+	.byte 0xd4, 0x5b, 0x91, 0xce, 0xda, 0x65, 0xde, 0x9e //fpr23
+	.byte 0xb0, 0x2e, 0x40, 0x44, 0xd6, 0x80, 0x25, 0x06
+	.byte 0x04, 0x27, 0x41, 0x1a, 0xff, 0x7c, 0x47, 0x66
+	.byte 0x4f, 0x5b, 0x95, 0x5b, 0x70, 0x21, 0x7b, 0xf5
+	.byte 0xed, 0xdc, 0x0c, 0x73, 0xbb, 0x1e, 0x86, 0x99 //fpr27
+	.byte 0x47, 0x2c, 0x0c, 0x59, 0x69, 0xc0, 0xaf, 0x0a
+	.byte 0x01, 0x9c, 0x66, 0x01, 0x2a, 0x71, 0x52, 0x12
+	.byte 0xfa, 0xf3, 0x68, 0x73, 0x8b, 0xd3, 0xce, 0xc4
+	.byte 0x5e, 0xe6, 0xe7, 0x41, 0x8f, 0xe6, 0x1e, 0x98 //fpr31
+
 #endif


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



More information about the Frysk-cvs mailing list