mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-11-22 05:45:38 +00:00
dep/vixl: Fix ARM32 build
This commit is contained in:
parent
890f3fcf5d
commit
5bf9e1d655
|
@ -27,10 +27,10 @@
|
|||
#ifndef VIXL_AARCH32_ASSEMBLER_AARCH32_H_
|
||||
#define VIXL_AARCH32_ASSEMBLER_AARCH32_H_
|
||||
|
||||
#include "assembler-base-vixl.h"
|
||||
#include "../assembler-base-vixl.h"
|
||||
|
||||
#include "aarch32/instructions-aarch32.h"
|
||||
#include "aarch32/location-aarch32.h"
|
||||
#include "instructions-aarch32.h"
|
||||
#include "location-aarch32.h"
|
||||
|
||||
namespace vixl {
|
||||
namespace aarch32 {
|
||||
|
@ -113,20 +113,6 @@ class Assembler : public internal::AssemblerBase {
|
|||
#elif defined(VIXL_INCLUDE_TARGET_T32_ONLY)
|
||||
USE(isa_);
|
||||
VIXL_ASSERT(isa == T32);
|
||||
#endif
|
||||
}
|
||||
explicit Assembler(size_t capacity, InstructionSet isa = kDefaultISA)
|
||||
: AssemblerBase(capacity),
|
||||
isa_(isa),
|
||||
first_condition_(al),
|
||||
it_mask_(0),
|
||||
has_32_dregs_(true),
|
||||
allow_unpredictable_(false),
|
||||
allow_strongly_discouraged_(false) {
|
||||
#if defined(VIXL_INCLUDE_TARGET_A32_ONLY)
|
||||
VIXL_ASSERT(isa == A32);
|
||||
#elif defined(VIXL_INCLUDE_TARGET_T32_ONLY)
|
||||
VIXL_ASSERT(isa == T32);
|
||||
#endif
|
||||
}
|
||||
Assembler(byte* buffer, size_t capacity, InstructionSet isa = kDefaultISA)
|
||||
|
@ -214,7 +200,7 @@ class Assembler : public internal::AssemblerBase {
|
|||
VIXL_ASSERT(literal->IsManuallyPlaced());
|
||||
literal->SetLocation(this, GetCursorOffset());
|
||||
literal->MarkBound();
|
||||
GetBuffer()->EnsureSpaceFor(literal->GetSize());
|
||||
VIXL_ASSERT(GetBuffer()->HasSpaceFor(literal->GetSize()));
|
||||
GetBuffer()->EmitData(literal->GetDataAddress(), literal->GetSize());
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ extern "C" {
|
|||
#include <stdint.h>
|
||||
}
|
||||
|
||||
#include "globals-vixl.h"
|
||||
#include "../globals-vixl.h"
|
||||
|
||||
|
||||
namespace vixl {
|
||||
|
|
|
@ -33,8 +33,8 @@ extern "C" {
|
|||
|
||||
#include <iomanip>
|
||||
|
||||
#include "aarch32/constants-aarch32.h"
|
||||
#include "aarch32/operands-aarch32.h"
|
||||
#include "constants-aarch32.h"
|
||||
#include "operands-aarch32.h"
|
||||
|
||||
// Microsoft Visual C++ defines a `mvn` macro that conflicts with our own
|
||||
// definition.
|
||||
|
|
|
@ -34,9 +34,9 @@ extern "C" {
|
|||
#include <algorithm>
|
||||
#include <ostream>
|
||||
|
||||
#include "code-buffer-vixl.h"
|
||||
#include "utils-vixl.h"
|
||||
#include "aarch32/constants-aarch32.h"
|
||||
#include "../code-buffer-vixl.h"
|
||||
#include "../utils-vixl.h"
|
||||
#include "constants-aarch32.h"
|
||||
|
||||
#if defined(__arm__) && !defined(__SOFTFP__)
|
||||
#define HARDFLOAT __attribute__((noinline, pcs("aapcs-vfp")))
|
||||
|
|
|
@ -36,9 +36,9 @@ extern "C" {
|
|||
#include <iomanip>
|
||||
#include <list>
|
||||
|
||||
#include "invalset-vixl.h"
|
||||
#include "pool-manager.h"
|
||||
#include "utils-vixl.h"
|
||||
#include "../invalset-vixl.h"
|
||||
#include "../pool-manager.h"
|
||||
#include "../utils-vixl.h"
|
||||
|
||||
#include "constants-aarch32.h"
|
||||
#include "instructions-aarch32.h"
|
||||
|
|
|
@ -28,15 +28,15 @@
|
|||
#ifndef VIXL_AARCH32_MACRO_ASSEMBLER_AARCH32_H_
|
||||
#define VIXL_AARCH32_MACRO_ASSEMBLER_AARCH32_H_
|
||||
|
||||
#include "code-generation-scopes-vixl.h"
|
||||
#include "macro-assembler-interface.h"
|
||||
#include "pool-manager-impl.h"
|
||||
#include "pool-manager.h"
|
||||
#include "utils-vixl.h"
|
||||
#include "../code-generation-scopes-vixl.h"
|
||||
#include "../macro-assembler-interface.h"
|
||||
#include "../pool-manager-impl.h"
|
||||
#include "../pool-manager.h"
|
||||
#include "../utils-vixl.h"
|
||||
|
||||
#include "aarch32/assembler-aarch32.h"
|
||||
#include "aarch32/instructions-aarch32.h"
|
||||
#include "aarch32/operands-aarch32.h"
|
||||
#include "assembler-aarch32.h"
|
||||
#include "instructions-aarch32.h"
|
||||
#include "operands-aarch32.h"
|
||||
|
||||
namespace vixl {
|
||||
|
||||
|
@ -272,20 +272,6 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface {
|
|||
true);
|
||||
#else
|
||||
USE(allow_macro_instructions_);
|
||||
#endif
|
||||
}
|
||||
explicit MacroAssembler(size_t size, InstructionSet isa = kDefaultISA)
|
||||
: Assembler(size, isa),
|
||||
available_(r12),
|
||||
current_scratch_scope_(NULL),
|
||||
pool_manager_(4 /*header_size*/,
|
||||
4 /*alignment*/,
|
||||
4 /*buffer_alignment*/),
|
||||
generate_simulator_code_(VIXL_AARCH32_GENERATE_SIMULATOR_CODE),
|
||||
pool_end_(NULL) {
|
||||
#ifdef VIXL_DEBUG
|
||||
SetAllowMacroInstructions( // NOLINT(clang-analyzer-optin.cplusplus.VirtualCall)
|
||||
true);
|
||||
#endif
|
||||
}
|
||||
MacroAssembler(byte* buffer, size_t size, InstructionSet isa = kDefaultISA)
|
||||
|
@ -490,8 +476,7 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface {
|
|||
|
||||
void EnsureEmitFor(uint32_t size) {
|
||||
EnsureEmitPoolsFor(size);
|
||||
VIXL_ASSERT(GetBuffer()->HasSpaceFor(size) || GetBuffer()->IsManaged());
|
||||
GetBuffer()->EnsureSpaceFor(size);
|
||||
VIXL_ASSERT(GetBuffer()->HasSpaceFor(size));
|
||||
}
|
||||
|
||||
bool AliasesAvailableScratchRegister(Register reg) {
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#ifndef VIXL_AARCH32_OPERANDS_AARCH32_H_
|
||||
#define VIXL_AARCH32_OPERANDS_AARCH32_H_
|
||||
|
||||
#include "aarch32/instructions-aarch32.h"
|
||||
#include "instructions-aarch32.h"
|
||||
|
||||
namespace vixl {
|
||||
namespace aarch32 {
|
||||
|
|
|
@ -135,7 +135,7 @@ void Label::EmitPoolObject(MacroAssemblerInterface* masm) {
|
|||
MacroAssembler* macro_assembler = static_cast<MacroAssembler*>(masm);
|
||||
|
||||
// Add a new branch to this label.
|
||||
macro_assembler->GetBuffer()->EnsureSpaceFor(kMaxInstructionSizeInBytes);
|
||||
VIXL_ASSERT(macro_assembler->GetBuffer()->HasSpaceFor(kMaxInstructionSizeInBytes));
|
||||
ExactAssemblyScopeWithoutPoolsCheck guard(macro_assembler,
|
||||
kMaxInstructionSizeInBytes,
|
||||
ExactAssemblyScope::kMaximumSize);
|
||||
|
@ -145,7 +145,7 @@ void Label::EmitPoolObject(MacroAssemblerInterface* masm) {
|
|||
void RawLiteral::EmitPoolObject(MacroAssemblerInterface* masm) {
|
||||
Assembler* assembler = static_cast<Assembler*>(masm->AsAssemblerBase());
|
||||
|
||||
assembler->GetBuffer()->EnsureSpaceFor(GetSize());
|
||||
VIXL_ASSERT(assembler->GetBuffer()->HasSpaceFor(GetSize()));
|
||||
assembler->GetBuffer()->EmitData(GetDataAddress(), GetSize());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue