Browse Source

+ new file for llvm intrinsics (using external compilerprocs)

git-svn-id: trunk@31407 -
Jonas Maebe 10 years ago
parent
commit
e2da416270
3 changed files with 23 additions and 0 deletions
  1. 1 0
      .gitattributes
  2. 4 0
      rtl/inc/compproc.inc
  3. 18 0
      rtl/inc/llvmintr.inc

+ 1 - 0
.gitattributes

@@ -8706,6 +8706,7 @@ rtl/inc/int64.inc svneol=native#text/plain
 rtl/inc/intres.inc svneol=native#text/plain
 rtl/inc/iso7185.pp svneol=native#text/pascal
 rtl/inc/lineinfo.pp svneol=native#text/plain
+rtl/inc/llvmintr.inc svneol=native#text/plain
 rtl/inc/lnfodwrf.pp svneol=native#text/plain
 rtl/inc/lstrings.pp svneol=native#text/plain
 rtl/inc/macpas.pp svneol=native#text/plain

+ 4 - 0
rtl/inc/compproc.inc

@@ -784,3 +784,7 @@ function fpc_hugeptr_cmp_normalized_be(p1, p2: HugePointer): Boolean; compilerpr
 function fpc_hugeptr_cmp_normalized_a(p1, p2: HugePointer): Boolean; compilerproc;
 function fpc_hugeptr_cmp_normalized_ae(p1, p2: HugePointer): Boolean; compilerproc;
 {$endif cpui8086}
+
+{$ifdef cpullvm}
+{$i llvmintr.inc}
+{$endif cpullvm}

+ 18 - 0
rtl/inc/llvmintr.inc

@@ -0,0 +1,18 @@
+{
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 2015 Jonas Maebe
+
+    This file contains declarations for LLVM intrinsics
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+
+
+procedure llvm_memcpy64(dest, source: pointer; len: qword; align: cardinal; isvolatile: boolean); compilerproc; external name 'llvm.memcpy.p0i8.p0i8.i64';
+