diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-09-06 21:41:35 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-09-06 21:41:35 +0000 |
commit | 81611fc5b51d07e1bc20e486ad4c700c9d109868 (patch) | |
tree | c88ec26eb2719125f4093315d082863213054482 /rtl | |
parent | 071039a231bbebd0c24035574964b72e24e7f3e0 (diff) | |
download | fpc-81611fc5b51d07e1bc20e486ad4c700c9d109868.tar.gz |
* merged changes to systemh.inc/compproc.inc from r22289/r22290/r22310
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@22349 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl')
-rw-r--r-- | rtl/java/jcompproc.inc | 8 | ||||
-rw-r--r-- | rtl/java/jsystemh.inc | 6 |
2 files changed, 13 insertions, 1 deletions
diff --git a/rtl/java/jcompproc.inc b/rtl/java/jcompproc.inc index 93eb724dec..5594a59b4c 100644 --- a/rtl/java/jcompproc.inc +++ b/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} diff --git a/rtl/java/jsystemh.inc b/rtl/java/jsystemh.inc index 9d1fc29b17..ccc85e0a19 100644 --- a/rtl/java/jsystemh.inc +++ b/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 } |