diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2025-02-09 02:16:22 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-08 19:16:22 +0100 |
| commit | 1a01adb2efae4510c1efe46311071a4a121b206a (patch) | |
| tree | 8decdc84331a29f12924994c0c82fb2ed29fc550 /src | |
| parent | 797731e9e25c656def00350643c3cfdc6dd8e4e6 (diff) | |
| download | box64-1a01adb2efae4510c1efe46311071a4a121b206a.tar.gz box64-1a01adb2efae4510c1efe46311071a4a121b206a.zip | |
[ARM64_DYNAREC] Minor simplifications with the usage of GETEX (#2332)
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_f20f.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_f20f.c b/src/dynarec/arm64/dynarec_arm64_f20f.c index e4a64507..b62fd4d9 100644 --- a/src/dynarec/arm64/dynarec_arm64_f20f.c +++ b/src/dynarec/arm64/dynarec_arm64_f20f.c @@ -405,26 +405,14 @@ uintptr_t dynarec64_F20F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n INST_NAME("HADDPS Gx, Ex"); nextop = F8; GETGX(v0, 1); - if(MODREG) { - v1 = sse_get_reg(dyn, ninst, x1, (nextop&7)+(rex.b<<3), 0); - } else { - addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, &unscaled, 0xfff<<4, 15, rex, NULL, 0, 0); - v1 = fpu_get_scratch(dyn, ninst); - VLD128(v1, ed, fixedaddress); - } + GETEX(v1, 0, 1); VFADDPQS(v0, v0, v1); break; case 0x7D: INST_NAME("HSUBPS Gx, Ex"); nextop = F8; GETGX(v0, 1); - if(MODREG) { - v1 = sse_get_reg(dyn, ninst, x1, (nextop&7)+(rex.b<<3), 0); - } else { - addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, &unscaled, 0xfff<<4, 15, rex, NULL, 0, 0); - v1 = fpu_get_scratch(dyn, ninst); - VLD128(v1, ed, fixedaddress); - } + GETEX(v1, 0, 1); d0 = fpu_get_scratch(dyn, ninst); VUZP1Q_32(d0, v0, v1); VUZP2Q_32(v0, v0, v1); |