diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-10-05 23:07:32 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-10-05 23:07:32 +0200 |
| commit | 289deb3655b976610aa7b7f84a9273326451337f (patch) | |
| tree | 12676dfb95d1eae932ac7d7a32053dee2de19f56 /src | |
| parent | 8d69c1783931384c1598421df7b1a36d3d564bde (diff) | |
| download | box64-289deb3655b976610aa7b7f84a9273326451337f.tar.gz box64-289deb3655b976610aa7b7f84a9273326451337f.zip | |
[DYNAREC] Added F2 0F E6 opcode
Diffstat (limited to 'src')
| -rwxr-xr-x | src/dynarec/dynarec_arm64_f20f.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_f20f.c b/src/dynarec/dynarec_arm64_f20f.c index 4064b004..e9a75a7d 100755 --- a/src/dynarec/dynarec_arm64_f20f.c +++ b/src/dynarec/dynarec_arm64_f20f.c @@ -313,6 +313,18 @@ uintptr_t dynarec64_F20F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n VFMLAQS(v0, v1, q0); break; + case 0xE6: + INST_NAME("CVTPD2DQ Gx, Ex"); + nextop = F8; + GETEX(v1, 0); + GETGX_empty(v0); + u8 = sse_setround(dyn, ninst, x1, x2, x3); + FRINTXD(v0, v1); + x87_restoreround(dyn, ninst, u8); + VFCVTNSQD(v0, v0); // convert double -> int64 + SQXTN_32(v0, v0); // convert int64 -> int32 with saturation in lower part, RaZ high part + break; + case 0xF0: INST_NAME("LDDQU Gx,Ex"); nextop = F8; |