dep/vixl: Fix ARM32 build

This commit is contained in:
Stenzek 2024-06-29 22:44:53 +10:00
parent 890f3fcf5d
commit 5bf9e1d655
No known key found for this signature in database
8 changed files with 25 additions and 54 deletions

View File

@ -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());
}

View File

@ -32,7 +32,7 @@ extern "C" {
#include <stdint.h>
}
#include "globals-vixl.h"
#include "../globals-vixl.h"
namespace vixl {

View File

@ -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.

View File

@ -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")))

View File

@ -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"

View File

@ -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) {

View File

@ -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 {

View File

@ -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());
}
}