aarch64: fix android build

This commit is contained in:
nillerusr
2022-06-19 15:07:41 +03:00
parent 57bb27e443
commit 2e7fa2dfc8
28 changed files with 2446 additions and 86 deletions
+2 -2
View File
@@ -1215,7 +1215,7 @@ FORCEINLINE int RoundFloatToInt(float f)
};
flResult = __fctiw( f );
return pResult[1];
#elif defined (__arm__) || defined (__arm64__)
#elif defined (__arm__) || defined (__aarch64__)
return (int)(f + 0.5f);
#else
#error Unknown architecture
@@ -1247,7 +1247,7 @@ FORCEINLINE unsigned long RoundFloatToUnsignedLong(float f)
Assert( pIntResult[1] >= 0 );
return pResult[1];
#else // !X360
#if defined(__arm__) || defined(__arm64__)
#if defined(__arm__) || defined(__aarch64__)
return (unsigned long)(f + 0.5f);
#elif defined( PLATFORM_WINDOWS_PC64 )
uint nRet = ( uint ) f;
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -42,7 +42,7 @@ public:
Polyhedron_IndexedLine_t *pLines;
Polyhedron_IndexedLineReference_t *pIndices;
Polyhedron_IndexedPolygon_t *pPolygons;
unsigned short iVertexCount;
unsigned short iLineCount;
unsigned short iIndexCount;
@@ -53,10 +53,10 @@ public:
Vector Center( void );
};
class CPolyhedron_AllocByNew final : public CPolyhedron
class CPolyhedron_AllocByNew : public CPolyhedron
{
public:
void Release( void ) override;
virtual void Release( void );
static CPolyhedron_AllocByNew *Allocate( unsigned short iVertices, unsigned short iLines, unsigned short iIndices, unsigned short iPolygons ); //creates the polyhedron along with enough memory to hold all it's data in a single allocation
private:
+14 -1
View File
@@ -8,7 +8,7 @@
#if defined( _X360 )
#include <xboxmath.h>
#elif defined(__arm__) || defined(__arm64__)
#elif defined(__arm__) || defined(__aarch64__)
#include "sse2neon.h"
#else
#include <xmmintrin.h>
@@ -1787,6 +1787,18 @@ FORCEINLINE fltx4 LoadAlignedSIMD( const VectorAligned & pSIMD )
return SetWToZeroSIMD( LoadAlignedSIMD(pSIMD.Base()) );
}
#ifdef __SANITIZE_ADDRESS__
static __attribute__((no_sanitize("address"))) fltx4 LoadUnalignedSIMD( const void *pSIMD )
{
return _mm_loadu_ps( reinterpret_cast<const float *>( pSIMD ) );
}
static __attribute__((no_sanitize("address"))) fltx4 LoadUnaligned3SIMD( const void *pSIMD )
{
return _mm_loadu_ps( reinterpret_cast<const float *>( pSIMD ) );
}
#else
FORCEINLINE fltx4 LoadUnalignedSIMD( const void *pSIMD )
{
return _mm_loadu_ps( reinterpret_cast<const float *>( pSIMD ) );
@@ -1796,6 +1808,7 @@ FORCEINLINE fltx4 LoadUnaligned3SIMD( const void *pSIMD )
{
return _mm_loadu_ps( reinterpret_cast<const float *>( pSIMD ) );
}
#endif
/// replicate a single 32 bit integer value to all 4 components of an m128
FORCEINLINE fltx4 ReplicateIX4( int i )
+1 -1
View File
@@ -23,7 +23,7 @@
#include "tier0/dbg.h"
#include "mathlib/math_pfns.h"
#ifdef __arm__
#if defined (__arm__) || defined(__aarch64__)
#include "sse2neon.h"
#endif