Skip to content

Commit

Permalink
update asmjit to latest (#62)
Browse files Browse the repository at this point in the history
  • Loading branch information
rschoene authored Aug 20, 2024
1 parent 302a951 commit 99d35be
Show file tree
Hide file tree
Showing 30 changed files with 68 additions and 70 deletions.
4 changes: 2 additions & 2 deletions include/firestarter/Environment/X86/Payload/AVX512Payload.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
namespace firestarter::environment::x86::payload {
class AVX512Payload final : public X86Payload {
public:
AVX512Payload(asmjit::x86::Features const &supportedFeatures)
: X86Payload(supportedFeatures, {asmjit::x86::Features::Id::kAVX512_F},
AVX512Payload(asmjit::CpuFeatures const &supportedFeatures)
: X86Payload(supportedFeatures, {asmjit::CpuFeatures::X86::kAVX512_F},
"AVX512", 8, 32) {}

int compilePayload(
Expand Down
4 changes: 2 additions & 2 deletions include/firestarter/Environment/X86/Payload/AVXPayload.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
namespace firestarter::environment::x86::payload {
class AVXPayload final : public X86Payload {
public:
AVXPayload(asmjit::x86::Features const &supportedFeatures)
: X86Payload(supportedFeatures, {asmjit::x86::Features::Id::kAVX}, "AVX",
AVXPayload(asmjit::CpuFeatures const &supportedFeatures)
: X86Payload(supportedFeatures, {asmjit::CpuFeatures::X86::kAVX}, "AVX",
4, 16) {}

int compilePayload(
Expand Down
4 changes: 2 additions & 2 deletions include/firestarter/Environment/X86/Payload/FMA4Payload.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ namespace firestarter::environment::x86::payload {

class FMA4Payload final : public X86Payload {
public:
FMA4Payload(asmjit::x86::Features const &supportedFeatures)
FMA4Payload(asmjit::CpuFeatures const &supportedFeatures)
: X86Payload(
supportedFeatures,
{asmjit::x86::Features::Id::kAVX, asmjit::x86::Features::Id::kFMA4},
{asmjit::CpuFeatures::X86::kAVX, asmjit::CpuFeatures::X86::kFMA4},
"FMA4", 4, 16) {}

int compilePayload(
Expand Down
4 changes: 2 additions & 2 deletions include/firestarter/Environment/X86/Payload/FMAPayload.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@
namespace firestarter::environment::x86::payload {
class FMAPayload final : public X86Payload {
public:
FMAPayload(asmjit::x86::Features const &supportedFeatures)
FMAPayload(asmjit::CpuFeatures const &supportedFeatures)
: X86Payload(supportedFeatures,
{asmjit::x86::Features::kAVX, asmjit::x86::Features::kFMA},
{asmjit::CpuFeatures::X86::kAVX, asmjit::CpuFeatures::X86::kFMA},
"FMA", 4, 16) {}

int compilePayload(
Expand Down
4 changes: 2 additions & 2 deletions include/firestarter/Environment/X86/Payload/SSE2Payload.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
namespace firestarter::environment::x86::payload {
class SSE2Payload final : public X86Payload {
public:
SSE2Payload(asmjit::x86::Features const &supportedFeatures)
: X86Payload(supportedFeatures, {asmjit::x86::Features::Id::kSSE2},
SSE2Payload(asmjit::CpuFeatures const &supportedFeatures)
: X86Payload(supportedFeatures, {asmjit::CpuFeatures::X86::kSSE2},
"SSE2", 2, 16) {}

int compilePayload(
Expand Down
10 changes: 5 additions & 5 deletions include/firestarter/Environment/X86/Payload/X86Payload.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ namespace firestarter::environment::x86::payload {
class X86Payload : public environment::payload::Payload {
private:
// we can use this to check, if our platform support this payload
asmjit::x86::Features const &_supportedFeatures;
std::list<asmjit::x86::Features::Id> featureRequests;
asmjit::CpuFeatures const &_supportedFeatures;
std::list<asmjit::CpuFeatures::X86::Id> featureRequests;

protected:
// asmjit::CodeHolder code;
Expand All @@ -48,7 +48,7 @@ class X86Payload : public environment::payload::Payload {
unsigned long long);
LoadFunction loadFunction = nullptr;

asmjit::x86::Features const &supportedFeatures() const {
asmjit::CpuFeatures const &supportedFeatures() const {
return this->_supportedFeatures;
}

Expand All @@ -60,8 +60,8 @@ class X86Payload : public environment::payload::Payload {
asmjit::x86::Gpq temp_reg2);

public:
X86Payload(asmjit::x86::Features const &supportedFeatures,
std::initializer_list<asmjit::x86::Features::Id> featureRequests,
X86Payload(asmjit::CpuFeatures const &supportedFeatures,
std::initializer_list<asmjit::CpuFeatures::X86::Id> featureRequests,
std::string name, unsigned registerSize, unsigned registerCount)
: Payload(name, registerSize, registerCount),
_supportedFeatures(supportedFeatures),
Expand Down
4 changes: 2 additions & 2 deletions include/firestarter/Environment/X86/Payload/ZENFMAPayload.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
namespace firestarter::environment::x86::payload {
class ZENFMAPayload final : public X86Payload {
public:
ZENFMAPayload(asmjit::x86::Features const &supportedFeatures)
ZENFMAPayload(asmjit::CpuFeatures const &supportedFeatures)
: X86Payload(
supportedFeatures,
{asmjit::x86::Features::Id::kAVX, asmjit::x86::Features::Id::kFMA},
{asmjit::CpuFeatures::X86::Id::kAVX, asmjit::CpuFeatures::X86::Id::kFMA},
"ZENFMA", 4, 16) {}

int compilePayload(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class BulldozerConfig final : public X86PlatformConfig {

public:
BulldozerConfig(asmjit::x86::Features const &supportedFeatures,
BulldozerConfig(asmjit::CpuFeatures const &supportedFeatures,
unsigned family, unsigned model, unsigned threads)
: X86PlatformConfig("BLD_OPTERON", 21, {1, 2, 3}, {1}, 0,
{16384, 1048576, 786432}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class HaswellConfig final : public X86PlatformConfig {

public:
HaswellConfig(asmjit::x86::Features const &supportedFeatures, unsigned family,
HaswellConfig(asmjit::CpuFeatures const &supportedFeatures, unsigned family,
unsigned model, unsigned threads)
: X86PlatformConfig("HSW_COREI", 6, {60, 61, 69, 70, 71}, {1, 2}, 0,
{32768, 262144, 1572864}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class HaswellEPConfig final : public X86PlatformConfig {

public:
HaswellEPConfig(asmjit::x86::Features const &supportedFeatures,
HaswellEPConfig(asmjit::CpuFeatures const &supportedFeatures,
unsigned family, unsigned model, unsigned threads)
: X86PlatformConfig("HSW_XEONEP", 6, {63, 79}, {1, 2}, 0,
{32768, 262144, 2621440}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class KnightsLandingConfig final : public X86PlatformConfig {

public:
KnightsLandingConfig(asmjit::x86::Features const &supportedFeatures,
KnightsLandingConfig(asmjit::CpuFeatures const &supportedFeatures,
unsigned family, unsigned model, unsigned threads)
: X86PlatformConfig("KNL_XEONPHI", 6, {87}, {4}, 0,
{32768, 524288, 236279125}, 26214400, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class NaplesConfig final : public X86PlatformConfig {

public:
NaplesConfig(asmjit::x86::Features const &supportedFeatures, unsigned family,
NaplesConfig(asmjit::CpuFeatures const &supportedFeatures, unsigned family,
unsigned model, unsigned threads)
: X86PlatformConfig("ZEN_EPYC", 23, {1, 8, 17, 24}, {1, 2}, 0,
{65536, 524288, 2097152}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class NehalemConfig final : public X86PlatformConfig {

public:
NehalemConfig(asmjit::x86::Features const &supportedFeatures, unsigned family,
NehalemConfig(asmjit::CpuFeatures const &supportedFeatures, unsigned family,
unsigned model, unsigned threads)
: X86PlatformConfig("NHM_COREI", 6, {30, 37, 23}, {1, 2}, 0,
{32768, 262144, 1572864}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class NehalemEPConfig final : public X86PlatformConfig {

public:
NehalemEPConfig(asmjit::x86::Features const &supportedFeatures,
NehalemEPConfig(asmjit::CpuFeatures const &supportedFeatures,
unsigned family, unsigned model, unsigned threads)
: X86PlatformConfig("NHM_XEONEP", 6, {26, 44}, {1, 2}, 0,
{32768, 262144, 2097152}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class RomeConfig final : public X86PlatformConfig {

public:
RomeConfig(asmjit::x86::Features const &supportedFeatures, unsigned family,
RomeConfig(asmjit::CpuFeatures const &supportedFeatures, unsigned family,
unsigned model, unsigned threads)
: X86PlatformConfig("ZEN_2_EPYC", 23, {49}, {1, 2}, 0,
{32768, 524288, 2097152}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class SandyBridgeConfig final : public X86PlatformConfig {

public:
SandyBridgeConfig(asmjit::x86::Features const &supportedFeatures,
SandyBridgeConfig(asmjit::CpuFeatures const &supportedFeatures,
unsigned family, unsigned model, unsigned threads)
: X86PlatformConfig("SNB_COREI", 6, {42, 58}, {1, 2}, 0,
{32768, 262144, 1572864}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ namespace firestarter::environment::x86::platform {
class SandyBridgeEPConfig final : public X86PlatformConfig {

public:
SandyBridgeEPConfig(asmjit::x86::Features const &supportedFeatures,
SandyBridgeEPConfig(asmjit::CpuFeatures const &supportedFeatures,
unsigned family, unsigned model, unsigned threads)
: X86PlatformConfig("SNB_XEONEP", 6, {45, 62}, {1, 2}, 0,
{32768, 262144, 2621440}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ namespace firestarter::environment::x86::platform {
class SkylakeConfig final : public X86PlatformConfig {

public:
SkylakeConfig(asmjit::x86::Features const &supportedFeatures, unsigned family,
SkylakeConfig(asmjit::CpuFeatures const &supportedFeatures, unsigned family,
unsigned model, unsigned threads)
: X86PlatformConfig("SKL_COREI", 6, {78, 94}, {1, 2}, 0,
{32768, 262144, 1572864}, 104857600, 1536, family,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace firestarter::environment::x86::platform {
class SkylakeSPConfig final : public X86PlatformConfig {

public:
SkylakeSPConfig(asmjit::x86::Features const &supportedFeatures,
SkylakeSPConfig(asmjit::CpuFeatures const &supportedFeatures,
unsigned family, unsigned model, unsigned threads)
: X86PlatformConfig("SKL_XEONEP", 6, {85}, {1, 2}, 0,
{32768, 1048576, 1441792}, 1048576000, 1536, family,
Expand Down
5 changes: 2 additions & 3 deletions include/firestarter/Environment/X86/X86CPUTopology.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ class X86CPUTopology final : public CPUTopology {
std::list<std::string> const &features() const override {
return this->featureList;
}
asmjit::x86::Features const &featuresAsmjit() const {
return this->cpuFeatures;
const asmjit::CpuFeatures& featuresAsmjit() const{
return this->cpuInfo.features();
}

std::string const &vendor() const override { return this->_vendor; }
Expand All @@ -59,7 +59,6 @@ class X86CPUTopology final : public CPUTopology {
unsigned long long *c, unsigned long long *d) const;

asmjit::CpuInfo cpuInfo;
const asmjit::x86::Features cpuFeatures;
std::list<std::string> featureList;

bool _hasRdtsc;
Expand Down
6 changes: 3 additions & 3 deletions include/firestarter/Environment/X86/X86Environment.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
#include <functional>

#define REGISTER(NAME) \
[](asmjit::x86::Features const &supportedFeatures, unsigned family, \
[](asmjit::CpuFeatures const &supportedFeatures, unsigned family, \
unsigned model, unsigned threads) -> platform::X86PlatformConfig * { \
return new platform::NAME(supportedFeatures, family, model, threads); \
}
Expand Down Expand Up @@ -81,7 +81,7 @@ class X86Environment final : public Environment {
// PlatformConfig. Add new PlatformConfig at the bottom to maintain stable
// IDs.
const std::list<std::function<platform::X86PlatformConfig *(
asmjit::x86::Features const &, unsigned, unsigned, unsigned)>>
asmjit::CpuFeatures const &, unsigned, unsigned, unsigned)>>
platformConfigsCtor = {
REGISTER(KnightsLandingConfig), REGISTER(SkylakeConfig),
REGISTER(SkylakeSPConfig), REGISTER(HaswellConfig),
Expand All @@ -94,7 +94,7 @@ class X86Environment final : public Environment {

// List of fallback PlatformConfig. Add one for each x86 extension.
const std::list<std::function<platform::X86PlatformConfig *(
asmjit::x86::Features const &, unsigned, unsigned, unsigned)>>
asmjit::CpuFeatures const &, unsigned, unsigned, unsigned)>>
fallbackPlatformConfigsCtor = {
REGISTER(SkylakeSPConfig), // AVX512
REGISTER(BulldozerConfig), // FMA4
Expand Down
2 changes: 1 addition & 1 deletion lib/asmjit
Submodule asmjit updated 221 files
10 changes: 5 additions & 5 deletions src/firestarter/Environment/X86/Payload/AVX512Payload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@ int AVX512Payload::compilePayload(
}

Builder cb(&code);
cb.addValidationOptions(
BaseEmitter::ValidationOptions::kValidationOptionAssembler |
BaseEmitter::ValidationOptions::kValidationOptionIntermediate);
cb.addDiagnosticOptions(
asmjit::DiagnosticOptions::kValidateAssembler |
asmjit::DiagnosticOptions::kValidateIntermediate );

auto pointer_reg = rax;
auto l1_addr = rbx;
Expand All @@ -118,7 +118,7 @@ int AVX512Payload::compilePayload(
FuncDetail func;
func.init(FuncSignatureT<unsigned long long, unsigned long long *,
volatile unsigned long long *, unsigned long long>(
CallConv::kIdHost),
CallConvId::kCDecl),
this->rt.environment());

FuncFrame frame;
Expand Down Expand Up @@ -201,7 +201,7 @@ int AVX512Payload::compilePayload(
<< ram_size/1024
<< ") KiB";

cb.align(kAlignCode, 64);
cb.align(AlignMode::kCode, 64);

auto Loop = cb.newLabel();
cb.bind(Loop);
Expand Down
10 changes: 5 additions & 5 deletions src/firestarter/Environment/X86/Payload/AVXPayload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ int AVXPayload::compilePayload(
}

Builder cb(&code);
cb.addValidationOptions(
BaseEmitter::ValidationOptions::kValidationOptionAssembler |
BaseEmitter::ValidationOptions::kValidationOptionIntermediate);
cb.addDiagnosticOptions(
asmjit::DiagnosticOptions::kValidateAssembler |
asmjit::DiagnosticOptions::kValidateIntermediate );

auto pointer_reg = rax;
auto l1_addr = rbx;
Expand All @@ -117,7 +117,7 @@ int AVXPayload::compilePayload(
FuncDetail func;
func.init(FuncSignatureT<unsigned long long, unsigned long long *,
volatile unsigned long long *, unsigned long long>(
CallConv::kIdHost),
CallConvId::kCDecl),
this->rt.environment());

FuncFrame frame;
Expand Down Expand Up @@ -225,7 +225,7 @@ int AVXPayload::compilePayload(
<< ram_size/1024
<< ") KiB";

cb.align(kAlignCode, 64);
cb.align(AlignMode::kCode, 64);

auto Loop = cb.newLabel();
cb.bind(Loop);
Expand Down
10 changes: 5 additions & 5 deletions src/firestarter/Environment/X86/Payload/FMA4Payload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ int FMA4Payload::compilePayload(
}

Builder cb(&code);
cb.addValidationOptions(
BaseEmitter::ValidationOptions::kValidationOptionAssembler |
BaseEmitter::ValidationOptions::kValidationOptionIntermediate);
cb.addDiagnosticOptions(
asmjit::DiagnosticOptions::kValidateAssembler |
asmjit::DiagnosticOptions::kValidateIntermediate );

auto pointer_reg = rax;
auto l1_addr = rbx;
Expand All @@ -121,7 +121,7 @@ int FMA4Payload::compilePayload(
FuncDetail func;
func.init(FuncSignatureT<unsigned long long, unsigned long long *,
volatile unsigned long long *, unsigned long long>(
CallConv::kIdHost),
CallConvId::kCDecl),
this->rt.environment());

FuncFrame frame;
Expand Down Expand Up @@ -203,7 +203,7 @@ int FMA4Payload::compilePayload(
<< ram_size/1024
<< ") KiB";

cb.align(kAlignCode, 64);
cb.align(AlignMode::kCode, 64);

auto Loop = cb.newLabel();
cb.bind(Loop);
Expand Down
10 changes: 5 additions & 5 deletions src/firestarter/Environment/X86/Payload/FMAPayload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ int FMAPayload::compilePayload(
}

Builder cb(&code);
cb.addValidationOptions(
BaseEmitter::ValidationOptions::kValidationOptionAssembler |
BaseEmitter::ValidationOptions::kValidationOptionIntermediate);
cb.addDiagnosticOptions(
asmjit::DiagnosticOptions::kValidateAssembler |
asmjit::DiagnosticOptions::kValidateIntermediate );

auto pointer_reg = rax;
auto l1_addr = rbx;
Expand All @@ -121,7 +121,7 @@ int FMAPayload::compilePayload(
FuncDetail func;
func.init(FuncSignatureT<unsigned long long, unsigned long long *,
volatile unsigned long long *, unsigned long long>(
CallConv::kIdHost),
CallConvId::kCDecl),
this->rt.environment());

FuncFrame frame;
Expand Down Expand Up @@ -204,7 +204,7 @@ int FMAPayload::compilePayload(
<< ram_size/1024
<< ") KiB";

cb.align(kAlignCode, 64);
cb.align(AlignMode::kCode, 64);

auto Loop = cb.newLabel();
cb.bind(Loop);
Expand Down
Loading

0 comments on commit 99d35be

Please sign in to comment.