mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-04 14:08:37 +00:00
stdafx: move out some uncommon includes
This commit is contained in:
parent
59d0b1da4e
commit
ab7a45aede
12 changed files with 205 additions and 203 deletions
|
|
@ -1,10 +1,12 @@
|
|||
#pragma once
|
||||
#include "Emu/SysCalls/Callback.h"
|
||||
#include "MemoryBlock.h"
|
||||
#include <vector>
|
||||
|
||||
using std::nullptr_t;
|
||||
|
||||
#define safe_delete(x) do {delete (x);(x)=nullptr;} while(0)
|
||||
#define safe_free(x) do {free(x);(x)=nullptr;} while(0)
|
||||
|
||||
enum MemoryType
|
||||
{
|
||||
Memory_PS3,
|
||||
|
|
|
|||
|
|
@ -2,6 +2,193 @@
|
|||
|
||||
#define PAGE_4K(x) (x + 4095) & ~(4095)
|
||||
|
||||
union u128
|
||||
{
|
||||
struct
|
||||
{
|
||||
u64 hi;
|
||||
u64 lo;
|
||||
};
|
||||
|
||||
u64 _u64[2];
|
||||
u32 _u32[4];
|
||||
u16 _u16[8];
|
||||
u8 _u8[16];
|
||||
|
||||
operator u64() const { return _u64[0]; }
|
||||
operator u32() const { return _u32[0]; }
|
||||
operator u16() const { return _u16[0]; }
|
||||
operator u8() const { return _u8[0]; }
|
||||
|
||||
operator bool() const { return _u64[0] != 0 || _u64[1] != 0; }
|
||||
|
||||
static u128 From128( u64 hi, u64 lo )
|
||||
{
|
||||
u128 ret = {hi, lo};
|
||||
return ret;
|
||||
}
|
||||
|
||||
static u128 From64( u64 src )
|
||||
{
|
||||
u128 ret = {0, src};
|
||||
return ret;
|
||||
}
|
||||
|
||||
static u128 From32( u32 src )
|
||||
{
|
||||
u128 ret;
|
||||
ret._u32[0] = src;
|
||||
ret._u32[1] = 0;
|
||||
ret._u32[2] = 0;
|
||||
ret._u32[3] = 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static u128 FromBit ( u32 bit )
|
||||
{
|
||||
u128 ret;
|
||||
if (bit < 64)
|
||||
{
|
||||
ret.hi = 0;
|
||||
ret.lo = (u64)1 << bit;
|
||||
}
|
||||
else if (bit < 128)
|
||||
{
|
||||
ret.hi = (u64)1 << (bit - 64);
|
||||
ret.lo = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret.hi = 0;
|
||||
ret.lo = 0;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool operator == ( const u128& right ) const
|
||||
{
|
||||
return (lo == right.lo) && (hi == right.hi);
|
||||
}
|
||||
|
||||
bool operator != ( const u128& right ) const
|
||||
{
|
||||
return (lo != right.lo) || (hi != right.hi);
|
||||
}
|
||||
|
||||
u128 operator | ( const u128& right ) const
|
||||
{
|
||||
return From128(hi | right.hi, lo | right.lo);
|
||||
}
|
||||
|
||||
u128 operator & ( const u128& right ) const
|
||||
{
|
||||
return From128(hi & right.hi, lo & right.lo);
|
||||
}
|
||||
|
||||
u128 operator ^ ( const u128& right ) const
|
||||
{
|
||||
return From128(hi ^ right.hi, lo ^ right.lo);
|
||||
}
|
||||
|
||||
u128 operator ~ () const
|
||||
{
|
||||
return From128(~hi, ~lo);
|
||||
}
|
||||
};
|
||||
|
||||
union s128
|
||||
{
|
||||
struct
|
||||
{
|
||||
s64 hi;
|
||||
s64 lo;
|
||||
};
|
||||
|
||||
u64 _i64[2];
|
||||
u32 _i32[4];
|
||||
u16 _i16[8];
|
||||
u8 _i8[16];
|
||||
|
||||
operator s64() const { return _i64[0]; }
|
||||
operator s32() const { return _i32[0]; }
|
||||
operator s16() const { return _i16[0]; }
|
||||
operator s8() const { return _i8[0]; }
|
||||
|
||||
operator bool() const { return _i64[0] != 0 || _i64[1] != 0; }
|
||||
|
||||
static s128 From64( s64 src )
|
||||
{
|
||||
s128 ret = {src, 0};
|
||||
return ret;
|
||||
}
|
||||
|
||||
static s128 From32( s32 src )
|
||||
{
|
||||
s128 ret;
|
||||
ret._i32[0] = src;
|
||||
ret._i32[1] = 0;
|
||||
ret.hi = 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool operator == ( const s128& right ) const
|
||||
{
|
||||
return (lo == right.lo) && (hi == right.hi);
|
||||
}
|
||||
|
||||
bool operator != ( const s128& right ) const
|
||||
{
|
||||
return (lo != right.lo) || (hi != right.hi);
|
||||
}
|
||||
};
|
||||
|
||||
#include <memory>
|
||||
#include <emmintrin.h>
|
||||
|
||||
//TODO: SSE style
|
||||
/*
|
||||
struct u128
|
||||
{
|
||||
__m128 m_val;
|
||||
|
||||
u128 GetValue128()
|
||||
{
|
||||
u128 ret;
|
||||
_mm_store_ps( (float*)&ret, m_val );
|
||||
return ret;
|
||||
}
|
||||
|
||||
u64 GetValue64()
|
||||
{
|
||||
u64 ret;
|
||||
_mm_store_ps( (float*)&ret, m_val );
|
||||
return ret;
|
||||
}
|
||||
|
||||
u32 GetValue32()
|
||||
{
|
||||
u32 ret;
|
||||
_mm_store_ps( (float*)&ret, m_val );
|
||||
return ret;
|
||||
}
|
||||
|
||||
u16 GetValue16()
|
||||
{
|
||||
u16 ret;
|
||||
_mm_store_ps( (float*)&ret, m_val );
|
||||
return ret;
|
||||
}
|
||||
|
||||
u8 GetValue8()
|
||||
{
|
||||
u8 ret;
|
||||
_mm_store_ps( (float*)&ret, m_val );
|
||||
return ret;
|
||||
}
|
||||
};
|
||||
*/
|
||||
|
||||
|
||||
struct MemInfo
|
||||
{
|
||||
u64 addr;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue