| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | [RV64_DYNAREC] Added MMX handling to `fpu_{push,pop}cache` for vector (#2858) | Yang Liu | 2025-07-30 | 1 | -5/+28 | |
| | | ||||||
| * | [LA64_DYNAREC] Add la64 avx int cmp ops. (#2856) | phorcys | 2025-07-29 | 4 | -7/+146 | |
| | | | | | VCMP{EQ,GT}{B,W,D,Q} VCOMISS, VUCOMISS, VCOMISD, VUCOMISD | |||||
| * | [RV64][LA64] Added partial FLUSHTO0 support (#2855) | Yang Liu | 2025-07-29 | 3 | -7/+123 | |
| | | | | | | | | | | | | * [RV64][LA64] Removed obselete TODOs * more * more * more * more | |||||
| * | [ARM+4_DYNAREC] Another fix for STMXCSR opcode when using SSE_FLUSHTO0 | ptitSeb | 2025-07-29 | 1 | -1/+1 | |
| | | ||||||
| * | [ARM+4_DYNAREC] Fixed (V)[LD/ST]MXCSR opcodes when using SSE_FLUSHTO0 | ptitSeb | 2025-07-29 | 2 | -35/+35 | |
| | | ||||||
| * | [LA64_DYNAREC] Add la64 avx float cmp ops. (#2854) | phorcys | 2025-07-29 | 5 | -17/+132 | |
| | | | | VCMPPD,VCMPPS,VCMPSD,VCMPSS | |||||
| * | [LA64_DYNAREC] Add la64 avx float ops part 3. (#2845) | phorcys | 2025-07-29 | 8 | -30/+408 | |
| | | | | | | | | | | * 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} | |||||
| * | [DYNAREC] Fixed an issue introduced with ↵ | ptitSeb | 2025-07-26 | 2 | -23/+49 | |
| | | | | | 48ae536d95390b98add016866948e91522943730 and properly address the underlying issue | |||||
| * | [LA64_DYNAREC] Fixed some issue with ADD/SUB x64 eflags when using LBT extension | ptitSeb | 2025-07-24 | 1 | -10/+10 | |
| | | ||||||
| * | Some handling of case where signal numbers differs between native and x64 ↵ | ptitSeb | 2025-07-23 | 5 | -11/+12 | |
| | | | | | archs (not complete, missing sigset conversions) | |||||
| * | [RV64_DYNAREC][LA64_DYNAREC] Simplified defered flags handling and limited ↵ | Yang Liu | 2025-07-23 | 4 | -56/+39 | |
| | | | | | case where UpdateFlags is actualy called (#2844) | |||||
| * | [LA64_DYNAREC] Add la64 avx float ops VDPP{S,D}, VH{ADD,SUB}{PS,PD} (#2842) | phorcys | 2025-07-23 | 6 | -4/+191 | |
| | | ||||||
| * | [LA64_DYNAREC] Add la64 avx float arith ops, part 1. (#2840) | phorcys | 2025-07-22 | 5 | -0/+385 | |
| | | | | | * V{ADD,SUB,MUL,DIV}{PD,PS,SD,SS} * VADDSUB{PD,PS} | |||||
| * | [LA64_DYNAREC] Add la64 avx FMA insts. (#2838) | phorcys | 2025-07-22 | 4 | -1/+473 | |
| | | | | | * VF{MADD,MSUB,NMADD,NMSUB}{132,213,231}{PD,PS,SD,SS} * VFM{ADDSUB,SUBADD}{132,213,231}{PD,PS} | |||||
| * | [LA64_DYNAREC] add la64 avx pack/unpack ops, part5. (#2837) | phorcys | 2025-07-21 | 3 | -32/+340 | |
| | | | | | | | INSERT/EXTRACT/BROADCAST/GATHER ops. VEXTRACTPS,VINSERTPS VBROADCAST{SD,SS}, VPBROADCAST{B,W,D,Q,I128} VPGATHER{DD,DQ,QD,QQ,DPD,DPS,QPD,QPS} | |||||
| * | [DYNAREC] Consolidate access to native register in signal and register ↵ | ptitSeb | 2025-07-21 | 4 | -266/+280 | |
| | | | | | mapping acrross all 3 supported dynarec archs | |||||
| * | [DYNACACHE]LA64] Enabled dynacache for LA64 (#2836) | Yang Liu | 2025-07-21 | 5 | -32/+92 | |
| | | | | | | * [DYNACACHE]LA64] Enabled dynacache for LA64 * review | |||||
| * | [LA64_DYNAREC] add la64 avx pack/unpack ops, part4. (#2830) | phorcys | 2025-07-21 | 8 | -16/+288 | |
| | | | | | | | | | | Shuf/Permute ops. VSHUFPS, VSHUFPD VPSHUFD, VPSHUFQ, VPSHUFB, VPSHUFLW, VPSHUFHW VPERMQ, VPERMD VPERMPD, VPERMPS VPERMILPD, VPERMILPS VPERM2F128, VPERM2I128 | |||||
| * | [LA64_DYNAREC] Add la64 avx pack/unpack ops , part 3 blend ops. (#2824) | phorcys | 2025-07-20 | 2 | -3/+228 | |
| | | | | | | | VBLENDPD, VBLENDPS VPBLENDW, VPBLENDD, VPBLENDVB VBLENDVPD, VBLENDVPS VPALIGNR | |||||
| * | [DYNAREC] Change an error to warning, when entering FillBlock64 and ↵ | ptitSeb | 2025-07-19 | 1 | -4/+3 | |
| | | | | | current_helper is not cleaned up | |||||
| * | [LA64_DYNAREC] Add la64 avx pack/unpack ops , part 2. (#2823) | phorcys | 2025-07-18 | 3 | -2/+74 | |
| | | | | | VUNPCK{LPS,LPD,HPS,HPD} VPUNPCK{LBW,LWD,LDQ,LQDQ,HBW,HWD,HDQ,HQDQ} | |||||
| * | [LA64_DYNAREC] Add la64 avx pack/unpack ops , part 1. (#2818) | phorcys | 2025-07-17 | 3 | -1/+88 | |
| | | | | | | | VPACKSSWB VPACKSSDW VPACKUSWB VPACKUSDW | |||||
| * | [ARM64_DYNAREC] Added 64/65 F3 0F 7F opcode | ptitSeb | 2025-07-16 | 1 | -0/+21 | |
| | | ||||||
| * | [ARM64_DYNAREC] Small optim on (V/F)COMI(SS/SD) opcodes | ptitSeb | 2025-07-16 | 9 | -28/+48 | |
| | | ||||||
| * | [ARM64_DYNAREC] Fixed a residual issue with xmm unneeded handling when ↵ | ptitSeb | 2025-07-15 | 1 | -1/+1 | |
| | | | | | unloading xmm9-xmm15 registers | |||||
| * | [LA64_DYNAREC] Add la64 avx arith ops, part2. (#2816) | phorcys | 2025-07-15 | 4 | -0/+307 | |
| | | | | | | * VEX.66.0F VPMADDWD,VPSADBW * VEX.66.0F.38 VPH{ADD,SUB}{W,D,SW}, VPABS{B,W,D} VPMADDUBSW,VPMULHRSW, * VEX.66.0F.3A VMPSADBW | |||||
| * | [LA64_DYNAREC] Optimized PMADDUBSW opcodes (#2817) | Yang Liu | 2025-07-15 | 2 | -25/+18 | |
| | | ||||||
| * | [LA64_DYNAREC] Add la64 avx arith ops , part 1. (#2814) | phorcys | 2025-07-14 | 3 | -6/+357 | |
| | | | | | | | | | Add 1:1 avx arith ops. * VP{ADD,SUB}{B,W,D,Q,SB,SW,USB,USW} * VPMUL{DQ,,HW,HUW,Lw,LD,LUDQ} * V{MAX,MIN}{UB,UW,UD,SB,SW,SD} * VAVG{B,W} * VSIGN{B,W,D} | |||||
| * | [LA64_DYNAREC] Fix la64 VMASKMOVPS,VMOVHPD. (#2811) | phorcys | 2025-07-14 | 3 | -8/+8 | |
| | | | | | * fix la64 VMASKMOVPS,VMOVHPD. * fix arm64 VMASKMOVPS,VMASKMOVPD op memo operand order. | |||||
| * | Merge remote-tracking branch 'refs/remotes/origin/main' | ptitSeb | 2025-07-14 | 8 | -64/+407 | |
| |\ | ||||||
| | * | [LA64_DYNAREC] Add la64 avx shift ops. (#2806) | phorcys | 2025-07-14 | 3 | -1/+205 | |
| | | | | | | | | | * VEX.66.0f VPSRLW/VPSRLDVPSRLQ/VPSRAW/VPSRAD/VPSLLW/VPSLLD/VPSLLQ * VEX.66.0f.3a VPSRLVD/VPSRLVQ/VPSRAVDVPSLLVD/VPSLLVQ | |||||
| | * | [LA64_DYNAREC] Optimized some SSE shift opcodes (#2813) | Yang Liu | 2025-07-14 | 1 | -58/+38 | |
| | | | ||||||
| | * | [LA64_DYNAREC] Add la64 avx BMI2 shift ops. (#2807) | phorcys | 2025-07-14 | 5 | -5/+164 | |
| | | | | | | | | | | | * VEX.66.0f.38 SHLX * VEX.f2.0f.38 SHRX * VEX.f3.0f.38 SARX | |||||
| * | | Improved Volatile Metadata handling | ptitSeb | 2025-07-14 | 2 | -2/+2 | |
| |/ | ||||||
| * | [ARM64_DYNAREC] Added 0F 00 /0 opcode | ptitSeb | 2025-07-12 | 1 | -1/+21 | |
| | | ||||||
| * | [LA64_DYNAREC] Add la64 avx shift ops with imm operand. (#2805) | phorcys | 2025-07-11 | 2 | -0/+175 | |
| | | | | | | | VEX.128/256 66.0F shift imm ops: * 71 VPSRLW/VPSRAW/VPSLLW * 72 VPSRLD/VPSRAD/VPSLLD * 73 VPSRLQ/VPSLLQ/VPSRLDQ/VPSLLDQ | |||||
| * | [LA64_DYNAREC] Fix/Opt la64 avx movsx/movzx ops. (#2804) | phorcys | 2025-07-11 | 1 | -126/+34 | |
| | | | | | | | Use vext2xv to opt movsx/movzx. For VEX.128 bw,wd,dq ops, use vsllwil(latency 2) instead of vext2xv (latency 3) Old imp use xvsllwil is wrong, because xvsllwil operate on per 128bits channel. But MOVSX/MOVZX VEX.256 ops only read src operand from low 128bits. | |||||
| * | [ARM64_DYNAREC] Simplified defered flags handling and limited case where ↵ | ptitSeb | 2025-07-10 | 9 | -42/+15 | |
| | | | | | UpdateFlags is actualy called (could be simplified more) (TODO on RV64 and LA64) | |||||
| * | [RCFILE] Fixed profile per lib/dll that was using default instead of curent ↵ | ptitSeb | 2025-07-09 | 4 | -0/+7 | |
| | | | | | env for non defined values | |||||
| * | [ARM64_DYNAREC] Removed fastpath for (V)MINPD/MAXPD as it's too inexact | ptitSeb | 2025-07-09 | 2 | -32/+14 | |
| | | ||||||
| * | [ARM64_DYNAREC] Fined tuned UD value for BSR/BSF | ptitSeb | 2025-07-09 | 2 | -4/+6 | |
| | | ||||||
| * | [ARM64_DYNAREC] Fixed rare sideeffect of 32bits cmpxchg opcode | ptitSeb | 2025-07-09 | 2 | -2/+4 | |
| | | ||||||
| * | [ARM64_DYNAREC] Better handling of shift 0 for rcl/rct 16bits | ptitSeb | 2025-07-09 | 1 | -0/+2 | |
| | | ||||||
| * | [LA64_DYNAREC] Fix la64 avx->sse same reg migration. (#2801) | phorcys | 2025-07-09 | 1 | -1/+3 | |
| | | | | | | In current code, if an avx reg writed reg is used by following sse inst. A VLD would emitted by sse_get_reg, causing prev avx inst writed content lose. Skip sse_get_reg's VLD emit, when reg content is already load/changed in prev avx inst. | |||||
| * | [LA64_DYNAREC] Opt/fix la64 avx mov ops. (#2800) | phorcys | 2025-07-09 | 3 | -15/+6 | |
| | | | | | | | * opt VEX.66.0F.D6 VMOVD * opt VEX.F2.0F.10 VMOSD * opt VEX.F3.0F.10 VMOVSS * opt/fix VEX.F3.0F.7E VMOVD | |||||
| * | [LA64_DYNAREC] Add la64 avx bitwise ops. (#2780) | phorcys | 2025-07-09 | 7 | -33/+305 | |
| | | | | | | | | * avx VEX.66.0F 54/55/56/57 VANDPD/VANDNPD/VORPD/VXORPD * avx VEX.0F 54/55/56/57 VANDPS/VANDNPS/VORPS/VXORPS * avx VEX.66.0F DB/DF/EB/EF VPAND/VPANDN/VPOR/VPXOR * bmi1 VEX.0F38 F2 ANDN * bmi2 VEX.F2.0F3A F0 RORX | |||||
| * | [LA64_DYNAREC] Fix VEX.0f.17 VMOVHPS, one break missing. (#2798) | phorcys | 2025-07-05 | 1 | -0/+1 | |
| | | ||||||
| * | [ARM64_DYNAREC] Small cosmetic change in indirect_lookup | ptitSeb | 2025-07-03 | 1 | -2/+4 | |
| | | ||||||
| * | [ARM64_DYNAREC] Added unused LRCPC emitters | ptitSeb | 2025-07-03 | 1 | -0/+10 | |
| | | ||||||
| * | [DYNAREC] Fixed a potential issue where defered flags are not computed/reset ↵ | ptitSeb | 2025-07-02 | 4 | -4/+5 | |
| | | | | | on internal jump | |||||