diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-07-03 10:58:53 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-07-03 10:58:53 +0200 |
| commit | d56464d01d2c0c6e0c9723ecc57e18fb6d39e8b1 (patch) | |
| tree | 630814e07d4aff888de4fd8a80c0d9096cbda39b | |
| parent | accbbe83e24f4f8671dad7230270a30008bf17f8 (diff) | |
| download | box64-d56464d01d2c0c6e0c9723ecc57e18fb6d39e8b1.tar.gz box64-d56464d01d2c0c6e0c9723ecc57e18fb6d39e8b1.zip | |
[ARM64_DYNAREC] Added unused LRCPC emitters
| -rw-r--r-- | src/dynarec/arm64/arm64_emitter.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/dynarec/arm64/arm64_emitter.h b/src/dynarec/arm64/arm64_emitter.h index 680647b4..e41d9df8 100644 --- a/src/dynarec/arm64/arm64_emitter.h +++ b/src/dynarec/arm64/arm64_emitter.h @@ -2488,4 +2488,14 @@ int convert_bitmask(uint64_t bitmask); //SHA256 hash update (part 2) #define SHA256H2(Vd, Vn, Vm) EMIT(SHA256H2_gen(Vm, Vn, Vd)) +// LRCPC extension + +#define LDAPR_gen(sz, Rn, Rt) ((sz)<<30 | 0b111<<27 | 1<<23 | 1<<21 | 0b11111<<16 | 1<<15 | 0b100<<12 | (Rn)<<5 | (Rt)) +#define LDAPRx(Rt, Rn) EMIT(LDAPR_gen(0b11, Rn, Rt)) +#define LDAPRw(Rt, Rn) EMIT(LDAPR_gen(0b10, Rn, Rt)) +#define LDAPRxw(Rt, Rn) EMIT(LDAPR_gen(0b10+rex.w, Rn, Rt)) +#define LDAPRz(Rt, Rn) EMIT(LDAPR_gen(rex.is32bits?0b10:0b11, Rn, Rt)) +#define LDAPRH(Rt, Rn) EMIT(LDAPR_gen(0b01, Rn, Rt)) +#define LDAPRB(Rt, Rn) EMIT(LDAPR_gen(0b00, Rn, Rt)) + #endif //__ARM64_EMITTER_H__ |