summaryrefslogtreecommitdiff
path: root/rtl
diff options
context:
space:
mode:
authorsergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-10-28 14:31:36 +0000
committersergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-10-28 14:31:36 +0000
commit2b33a17f89cee2dd87078c977bcefed68cea8769 (patch)
tree561f4d491824d5e164dfb810f25c556c1aa81102 /rtl
parent991e7ca0b3c2c4542f8b7a733336f1033356cfcd (diff)
downloadfpc-2b33a17f89cee2dd87078c977bcefed68cea8769.tar.gz
* Handle "SarInt64" always as internal procedure, introduced virtual method tinlinenode.first_sar that by default converts it into call to "fpc_sarint64" unless target CPU is 64-bit. This provides a point to insert target-specific optimizations.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25876 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl')
-rw-r--r--rtl/inc/systemh.inc4
-rw-r--r--rtl/java/jsystemh.inc4
2 files changed, 2 insertions, 6 deletions
diff --git a/rtl/inc/systemh.inc b/rtl/inc/systemh.inc
index 1102c2e7bf..cfc0d2c661 100644
--- a/rtl/inc/systemh.inc
+++ b/rtl/inc/systemh.inc
@@ -938,12 +938,10 @@ function SarLongint(Const AValue : Longint;Shift : Byte): Longint;[internproc:fp
function SarLongint(Const AValue : Longint;const Shift : Byte = 1): Longint;
{$endif FPC_HAS_INTERNAL_SAR_DWORD}
-{$ifdef FPC_HAS_INTERNAL_SAR_QWORD}
function SarInt64(Const AValue : Int64): Int64;[internproc:fpc_in_sar_x];
function SarInt64(Const AValue : Int64;Shift : Byte): Int64;[internproc:fpc_in_sar_x_y];
-{$else FPC_HAS_INTERNAL_SAR_QWORD}
+{$ifndef FPC_HAS_INTERNAL_SAR_QWORD}
function fpc_SarInt64(Const AValue : Int64;const Shift : Byte): Int64;compilerproc;
-function SarInt64(Const AValue : Int64;const Shift : Byte = 1): Int64; [external name 'FPC_SARINT64'];
{$endif FPC_HAS_INTERNAL_SAR_QWORD}
{$ifdef FPC_HAS_INTERNAL_BSF}
diff --git a/rtl/java/jsystemh.inc b/rtl/java/jsystemh.inc
index 25b5157391..87f387ecaa 100644
--- a/rtl/java/jsystemh.inc
+++ b/rtl/java/jsystemh.inc
@@ -334,12 +334,10 @@ function SarLongint(Const AValue : Longint;Shift : Byte): Longint;[internproc:fp
function SarLongint(Const AValue : Longint;const Shift : Byte = 1): Longint;
{$endif FPC_HAS_INTERNAL_SAR_DWORD}
-{$ifdef FPC_HAS_INTERNAL_SAR_QWORD}
function SarInt64(Const AValue : Int64): Int64;[internproc:fpc_in_sar_x];
function SarInt64(Const AValue : Int64;Shift : Byte): Int64;[internproc:fpc_in_sar_x_y];
-{$else FPC_HAS_INTERNAL_SAR_QWORD}
+{$ifndef FPC_HAS_INTERNAL_SAR_QWORD}
function fpc_SarInt64(Const AValue : Int64;const Shift : Byte): Int64;compilerproc;
-function SarInt64(Const AValue : Int64;const Shift : Byte = 1): Int64; [external name 'fpc_sarint64'];
{$endif FPC_HAS_INTERNAL_SAR_QWORD}
{$ifdef FPC_HAS_INTERNAL_BSF}