Declare compiler intrinsics with proper symbol names
All checks were successful
All checks were successful
This commit is contained in:
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
#include <xtos.hh>
|
#include <xtos.hh>
|
||||||
|
|
||||||
|
#include XTOS_ARCH_HEADER(rtl, intrin.hh)
|
||||||
|
|
||||||
#include <rtl/atomic.hh>
|
#include <rtl/atomic.hh>
|
||||||
#include <rtl/bitmap.hh>
|
#include <rtl/bitmap.hh>
|
||||||
#include <rtl/dispatch.hh>
|
#include <rtl/dispatch.hh>
|
||||||
|
|||||||
17
xtoskrnl/includes/rtl/amd64/intrin.hh
Normal file
17
xtoskrnl/includes/rtl/amd64/intrin.hh
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
/**
|
||||||
|
* PROJECT: ExectOS
|
||||||
|
* COPYRIGHT: See COPYING.md in the top level directory
|
||||||
|
* FILE: xtoskrnl/includes/rtl/amd64/intrin.hh
|
||||||
|
* DESCRIPTION: Compiler intrinsic support routines
|
||||||
|
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __XTOSKRNL_RTL_AMD64_INTRIN_HH
|
||||||
|
#define __XTOSKRNL_RTL_AMD64_INTRIN_HH
|
||||||
|
|
||||||
|
#include <xtos.hh>
|
||||||
|
|
||||||
|
|
||||||
|
/* Forward declarations enforcing the XTAPI calling convention and preserving the raw unmangled symbol names */
|
||||||
|
|
||||||
|
#endif /* __XTOSKRNL_RTL_AMD64_INTRIN_HH */
|
||||||
23
xtoskrnl/includes/rtl/i686/intrin.hh
Normal file
23
xtoskrnl/includes/rtl/i686/intrin.hh
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/**
|
||||||
|
* PROJECT: ExectOS
|
||||||
|
* COPYRIGHT: See COPYING.md in the top level directory
|
||||||
|
* FILE: xtoskrnl/includes/rtl/i686/intrin.hh
|
||||||
|
* DESCRIPTION: Compiler intrinsic support routines
|
||||||
|
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __XTOSKRNL_RTL_I686_INTRIN_HH
|
||||||
|
#define __XTOSKRNL_RTL_I686_INTRIN_HH
|
||||||
|
|
||||||
|
#include <xtos.hh>
|
||||||
|
|
||||||
|
|
||||||
|
/* Forward declarations enforcing the XTAPI calling convention and preserving the raw unmangled symbol names */
|
||||||
|
XTCLINK XTAPI LONGLONG _alldiv(IN LONGLONG Dividend, IN LONGLONG Divisor) XTSYMBOL("__alldiv");
|
||||||
|
XTCLINK XTAPI LONGLONG _alldvrm(IN LONGLONG Dividend, IN LONGLONG Divisor, OUT PLONGLONG Remainder) XTSYMBOL("__alldvrm");
|
||||||
|
XTCLINK XTAPI LONGLONG _allrem(IN LONGLONG Dividend, IN LONGLONG Divisor) XTSYMBOL("__allrem");
|
||||||
|
XTCLINK XTAPI ULONGLONG _aulldiv(IN ULONGLONG Dividend, IN ULONGLONG Divisor) XTSYMBOL("__aulldiv");
|
||||||
|
XTCLINK XTAPI ULONGLONG _aulldvrm(IN ULONGLONG Dividend, IN ULONGLONG Divisor, OUT PULONGLONG Remainder) XTSYMBOL("__aulldvrm");
|
||||||
|
XTCLINK XTAPI ULONGLONG _aullrem(IN ULONGLONG Dividend, IN ULONGLONG Divisor) XTSYMBOL("__aullrem");
|
||||||
|
|
||||||
|
#endif /* __XTOSKRNL_RTL_I686_INTRIN_HH */
|
||||||
@@ -9,7 +9,6 @@
|
|||||||
#include <xtos.hh>
|
#include <xtos.hh>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Divides a 64-bit signed integer by a 64-bit signed integer.
|
* Divides a 64-bit signed integer by a 64-bit signed integer.
|
||||||
*
|
*
|
||||||
@@ -24,7 +23,7 @@
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTCLINK
|
XTCLINK
|
||||||
XTCDECL
|
XTAPI
|
||||||
LONGLONG
|
LONGLONG
|
||||||
_alldiv(IN LONGLONG Dividend,
|
_alldiv(IN LONGLONG Dividend,
|
||||||
IN LONGLONG Divisor)
|
IN LONGLONG Divisor)
|
||||||
@@ -50,7 +49,7 @@ _alldiv(IN LONGLONG Dividend,
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTCLINK
|
XTCLINK
|
||||||
XTCDECL
|
XTAPI
|
||||||
LONGLONG
|
LONGLONG
|
||||||
_alldvrm(IN LONGLONG Dividend,
|
_alldvrm(IN LONGLONG Dividend,
|
||||||
IN LONGLONG Divisor,
|
IN LONGLONG Divisor,
|
||||||
@@ -73,7 +72,7 @@ _alldvrm(IN LONGLONG Dividend,
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTCLINK
|
XTCLINK
|
||||||
XTCDECL
|
XTAPI
|
||||||
LONGLONG
|
LONGLONG
|
||||||
_allrem(IN LONGLONG Dividend,
|
_allrem(IN LONGLONG Dividend,
|
||||||
IN LONGLONG Divisor)
|
IN LONGLONG Divisor)
|
||||||
@@ -99,7 +98,7 @@ _allrem(IN LONGLONG Dividend,
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTCLINK
|
XTCLINK
|
||||||
XTCDECL
|
XTAPI
|
||||||
ULONGLONG
|
ULONGLONG
|
||||||
_aulldiv(IN ULONGLONG Dividend,
|
_aulldiv(IN ULONGLONG Dividend,
|
||||||
IN ULONGLONG Divisor)
|
IN ULONGLONG Divisor)
|
||||||
@@ -125,11 +124,11 @@ _aulldiv(IN ULONGLONG Dividend,
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTCLINK
|
XTCLINK
|
||||||
XTCDECL
|
XTAPI
|
||||||
ULONGLONG
|
ULONGLONG
|
||||||
_aulldvrm(ULONGLONG Dividend,
|
_aulldvrm(IN ULONGLONG Dividend,
|
||||||
ULONGLONG Divisor,
|
IN ULONGLONG Divisor,
|
||||||
PULONGLONG Remainder)
|
OUT PULONGLONG Remainder)
|
||||||
{
|
{
|
||||||
/* Call the internal unsigned division routine to compute both quotient and remainder */
|
/* Call the internal unsigned division routine to compute both quotient and remainder */
|
||||||
return RTL::Math::DivideUnsigned64(Dividend, Divisor, Remainder);
|
return RTL::Math::DivideUnsigned64(Dividend, Divisor, Remainder);
|
||||||
@@ -149,7 +148,7 @@ _aulldvrm(ULONGLONG Dividend,
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTCLINK
|
XTCLINK
|
||||||
XTCDECL
|
XTAPI
|
||||||
ULONGLONG
|
ULONGLONG
|
||||||
_aullrem(IN ULONGLONG Dividend,
|
_aullrem(IN ULONGLONG Dividend,
|
||||||
IN ULONGLONG Divisor)
|
IN ULONGLONG Divisor)
|
||||||
|
|||||||
Reference in New Issue
Block a user