| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* [LA64_DYNAREC] Refactor register mapping
* [LA64_DYNAREC] Fix typo
* [LA64_DYNAREC] Remapping xSavedSP to fp ($r22)
* [LA64_DYNAREC] Fix VPCLMULQDQ x3 and x4 issue
* [LA64_DYNAREC] Fix typo
* [LA64_DYNAREC] Fix typo
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fix 66.0F.F3 PSLLQ
Fix VEX.66.0F.7E VMOVD not zero-extend
Fix Vex.66.0F.3A.06 VPERM2F128/VPERM2I128
Fix Vex.66.0F.3A.0D VBLENDPD
Fix VEX.66.0F.3A.18/38 VINSERTF128/VINSERTI128 when q0 == q1 or q0 == q2
Fix VEX.66.0F.3A.21 VINSERTPS fix u8 get pos
Fix VEX.66.0F.3A.40 VDPPS Fix VREPLVEIxy emit when vex.l
Fix VEX.66.0F.38.0C VPERMILPS
Fix VEX.66.0F.38.2B VPACKUSDW
Fix VEX.66.0F.38.93 VGATHERQPD
|
| |
|
|
| |
VPTEST
VTESTPD, VTESTPS
|
| |
|
|
|
|
|
|
|
| |
* add cpuext.frecipe for LoongArch V1.1
* Fix VFRSQRTE in sse op RSQRTPS/RSQRTSS
* Fix VFRECIPE in sse op RCPPS/RCPSS
* V{MAX,MIN}{PD,PS,SD,SS}
* VRCPPS,VRCPSS
* VRSQRTPS,VRSQRTSS
* VSQRT{PD,PS,SD,SS}
|
| | |
|
| |
|
|
| |
* VF{MADD,MSUB,NMADD,NMSUB}{132,213,231}{PD,PS,SD,SS}
* VFM{ADDSUB,SUBADD}{132,213,231}{PD,PS}
|
| |
|
|
|
|
|
|
|
| |
Shuf/Permute ops.
VSHUFPS, VSHUFPD
VPSHUFD, VPSHUFQ, VPSHUFB, VPSHUFLW, VPSHUFHW
VPERMQ, VPERMD
VPERMPD, VPERMPS
VPERMILPD, VPERMILPS
VPERM2F128, VPERM2I128
|
| |
|
|
|
| |
* VEX.0f VMOVMSKPS
* VEX.66.0f VMOVMSKPD/VPMOVMSKB/VMASKMOVDQU
* VEX.66.0f.38 VMASKMOVPS/VMASKMOVPD/VPMASKMOVD/VPMASKMOVQ
|
| |
|
|
|
|
|
|
|
| |
* basic infra for avx
* some basic ops for avx
VMOVDQU/VMOVDQA/VMOVUPS/VMOVAPS/VMOVUPD/VMOVAPD
VZEROUPPER/VZEROALL
VMOVD/VMOVSD/VMOVSS
VINSERTF128/VINSERTI128/VEXTRACTF128/VEXTRACTI128
VBROADCASTSS/VBROADCASTSD/VBROADCASTF128
|
| |
|
| |
Co-authored-by: phorcys <phorcys02@126.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
fix 0F.5D/5F MINPS/MAXPS fix unordered.
fix 66.0F.5D/5F MINPD/MAXPD fix unordered.
66.0F.3A.08/09/0A ROUNDPS/ROUNDPD/ROUNDSS
66.0F.3A.0C/0D BLENDPS/BLENDPD
66.0F.3A.21 INSERTPS
66.0F.C2 CMPPD
printer add VFCMP.cond.s/d, vbitsel.v:
Co-authored-by: phorcys <phorcys02@126.com>
|
| | |
|
| |
|
|
|
| |
* [LA64_DYNAREC] Added more opcodes
* fix
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Replaced some tabs with spaces
* Fixed some signedness warnings
* Added more debug info
* Fixed an improper alignment
* [WRAPPEDWAYLAND] Added return statements to wrappers
* [EMU] [AVX] Fixed some issues
* [ARM DYNAREC] Fixed some minor warnings
* [ARM DYNAREC] Removed unused macro arguments
* [EMU] Fixed a noisy warning
* [ARM DYNAREC] Removed "empty body" warnings
* [EMU] Fixed an opcode in dynarec, non-cosim builds
* [LA64 DYNAREC] Minor warning fixes
* [LA64 DYNAREC] Fixed empty body warnings
* [LA64 DYNAREC] Added parenthesis around assignments in if statements
* [LA64 DYNAREC] Fixed missing parenthesis in macro definitions
* [RV64 DYNAREC] Fixed minor warnings
* [RV64 DYNAREC] Fixed wrong/missing parentheses
* [WRAPPER] Fixed the WaylandClient callback signatures
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fixed SHUFPS again
* Added 0F 28 MOVAPS opcode
* Added 0F 2E/2F [U]COMISS opcodes
* Added F3 0F 5A CVTSS2SD opcode
* Added 66 0F 7E MOVD opcode
* Added 66 0F 28 MOVAPD opcode
* fastnan handling
* Added F3 0F 5D MINSS opcode
* Added F3 0F 5F MAXSS opcode
* Added F3 0F C2 CMPSS opcode
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added 0F BF MOVSX opcode
* Added F7 /5 IMUL opcode
* Added 86 XCHG opcode
* Added 66 0F PADDQ opcode
* Added 0F C6 SHUFPS opcode
* Added 66 0F 69 PUNPCKHWD opcode
* Added 66 0F DB PAND opcode
* Test
* Review
* Review
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added B4..B7 MOV opcode
* Added 66 81,83 /5 SUB opcode
* Added 30 XOR opcode
* Added F0 01 LOCK ADD opcode
* Added 66 81,83 /0 ADD opcode
* Added 66 39 CMP opcode
* Added 66 0F D6 MOVQ opcode
* Added 0F 57 XORPS opcode
* Fix
* Added 66 0F 61 opcode
|
| |
|
|
|
|
|
|
|
|
|
| |
* Use ROTR
* Added more opcodes to the printer
* Added even more opcode to the printer
* Fixed typos
* More
|
| |
|
|
|
| |
* [LA64_DYNAREC] Added more SSE/SSE2 instructions
* [LA64_DYNAREC] Added more SSE/SSE2 instructions
|
| | |
|
| | |
|
| |
|
|
| |
printer (#1332)
|
| |
|
|
|
|
|
|
|
|
|
| |
* Added 90..97 NOP/XCHG opcodes
* More instructions and fixes to the emitter and printer
* Added F0 0F C1 LOCK XADD opcode
* Fix
* Fix
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [LA64_DYNAREC] Added F7 /2 NOT opcode
* [LA64_DYNAREC] Added 09 OR opcode
* [LA64_DYNAREC] Added 64 MOVSXD opcode
* [LA64_DYNAREC] Added more instructions to the emitter and printer, and fixed typos
* Remove unused code
* [LA64_DYNAREC] Added D3 /4 /6 SHL opcode
* [LA64_DYNAREC] Added 0D OR opcode
* [LA64_DYNAREC] Fixed a bug when LBT is present
* Revert
|
| |
|
|
|
|
|
| |
* [LA64_DYNAREC] Added bitmanip instructions to emitter and printer
* [LA64_DYNAREC] Utilizing bitmanip instructions because they're great
* Review
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#1319)
* Made printer slightly better
* [SIGNAL] Fixed a typo
* Removed useless comma
* Another typo
* Keep'em in order
* Added more opcodes and more fixes
* A big fix of GOCOND macro
* [LA64_DYNAREC] Added E8 CALL opcode
* [LA64_DYNAREC] Added C6 MOV opcode
* [LA64_DYNAREC] Added 39 CMP opcode
* [LA64_DYNAREC] Added 0F 1F NOP opcode
* BEWARE: shift instructions are NOT sign-extended!
* More fixes
* Try to be safe
* Fixed printer
* Fixed emitter & printer for B, briing superhexagon back
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [LA64_DYNAREC] Added C1 /5 SHR opcode
* [LA64_DYNAREC] Added C1 /7 SAR opcode
* [LA64_DYNAREC] Added D1 /7 SAR opcode
* [LA64_DYNAREC] Added D1 /5 SHR opcode
* [LA64_DYNAREC] Added FF /4 JMP opcode
* [LA64_DYNAREC] Added 66 0F 1F NOP opcode
* [LA64_DYNAREC] Added B8..BF MOV opcodes
* [LA64_DYNAREC] Added C7 MOV opcode
* [LA64_DYNAREC] Added 0F 05 SYSCALL opcode
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#1307)
* [LA64_DYNAREC] Added 70-7F Jcc opcodes and some fixes too
* [LA64_DYNAREC] Added more instructions to the printer and made the format prettier
* Make LBT truely optional
* Do not test LBT in CI
* Format
* Optimize
* Fixed printer format
* Fixed CLEAR_FLAGS macro
* Fixed xMASK
* Use $r22 ($sp) in the prolog/epilog for better semantics
* Fixed la64_next
|
| |
|
|
|
|
|
|
|
| |
* Fixed printer name mapping
* Fixed emit_sub32c
* Remove a useless macro
* Added 85 TEST opcode
|
| |
|
|
|
| |
* [LONGAARCH] More renamed arch to LA64
* [LONGAARCH_DYNAREC] Added 00...05 and 28...2D opcodes
|
|
|
way it's more generic (and sorry about that late minute change)
|