Browse Source

* support little endian in getFPSCR/setFPSCR

git-svn-id: trunk@30211 -
Jonas Maebe 10 years ago
parent
commit
e3f451066b
1 changed files with 12 additions and 4 deletions
  1. 12 4
      rtl/powerpc64/mathu.inc

+ 12 - 4
rtl/powerpc64/mathu.inc

@@ -31,14 +31,22 @@ const
 function getFPSCR : DWord; assembler; nostackframe;
 function getFPSCR : DWord; assembler; nostackframe;
 asm
 asm
   mffs f0
   mffs f0
-  stfd f0, -12(r1)
-  lwz r3, -8(r1)
+  stfd f0, -16(r1)
+{$ifdef FPC_BIG_ENDIAN}
+  lwz r3, -12(r1)
+{$else}
+  lwz r3, -16(r1)
+{$endif}
 end;
 end;
 
 
 procedure setFPSCR(newFPSCR : DWord); assembler; nostackframe;
 procedure setFPSCR(newFPSCR : DWord); assembler; nostackframe;
 asm
 asm
-  stw r3, -8(r1)
-  lfd f0, -12(r1)
+{$ifdef FPC_BIG_ENDIAN}
+  stw r3, -12(r1)
+{$else}
+  stw r3, -16(r1)
+{$endif}
+  lfd f0, -16(r1)
   mtfsf 255, f0
   mtfsf 255, f0
 end;
 end;