Explorar o código

* merged changes to systemh.inc/compproc.inc from r22289/r22290/r22310

git-svn-id: trunk@22349 -
Jonas Maebe %!s(int64=13) %!d(string=hai) anos
pai
achega
f2e1ec2771
Modificáronse 2 ficheiros con 13 adicións e 1 borrados
  1. 8 0
      rtl/java/jcompproc.inc
  2. 5 1
      rtl/java/jsystemh.inc

+ 8 - 0
rtl/java/jcompproc.inc

@@ -451,6 +451,14 @@ function fpc_shr_qword(value,shift : qword) : qword; compilerproc;
 function fpc_shl_int64(value,shift : int64) : int64; compilerproc;
 function fpc_shr_int64(value,shift : int64) : int64; compilerproc;
 {$endif  FPC_INCLUDE_SOFTWARE_SHIFT_INT64}
+
+
+function fpc_popcnt_byte(AValue : Byte): Byte;compilerproc;
+function fpc_popcnt_word(AValue : Word): Word;compilerproc;
+function fpc_popcnt_dword(AValue : DWord): DWord;compilerproc;
+function fpc_popcnt_qword(AValue : QWord): QWord;compilerproc;
+
+
 {$ifndef FPUNONE}
 function fpc_abs_real(d : ValReal) : ValReal;compilerproc;
 function fpc_arctan_real(d : ValReal) : ValReal;compilerproc;{$ifdef MATHINLINE}inline;{$endif}

+ 5 - 1
rtl/java/jsystemh.inc

@@ -354,7 +354,7 @@ function SarInt64(Const AValue : Int64;const Shift : Byte = 1): Int64; [external
 {$endif}
 
 {$ifdef FPC_HAS_INTERNAL_BSR}
-{$if defined(cpui386) or defined(cpux86_64)}
+{$if defined(cpui386) or defined(cpux86_64) or defined(cpuarm)}
 {$define FPC_HAS_INTERNAL_BSR_BYTE}
 {$define FPC_HAS_INTERNAL_BSR_WORD}
 {$define FPC_HAS_INTERNAL_BSR_DWORD}
@@ -408,6 +408,10 @@ function BsrQWord(Const AValue : QWord): cardinal;[internproc:fpc_in_bsr_x];
 function BsrQWord(Const AValue : QWord): cardinal;{$ifdef SYSTEMINLINE}inline;{$endif}
 {$endif FPC_HAS_INTERNAL_BSR_QWORD}
 
+function PopCnt(Const AValue: Byte): Byte;[internproc:fpc_in_popcnt_x];
+function PopCnt(Const AValue: Word): Word;[internproc:fpc_in_popcnt_x];
+function PopCnt(Const AValue : DWord): DWord;[internproc:fpc_in_popcnt_x];
+function PopCnt(Const AValue : QWord): QWord;[internproc:fpc_in_popcnt_x];
 
 {$ifndef FPUNONE}
 { float math routines }