marcoonthegit
1208f4d5b9
* ported mechanism from unit activex to deal with ansi/unicode -> widestring conversion.
...
Targeted at bug #41235
2025-06-12 19:11:53 +02:00
Pierre Muller
7566679eb0
Makefile regenerated after: Fix missing braces around PREPUP_OPT
2025-06-11 10:26:16 +00:00
Pierre Muller
778dec8f67
Fix missing braces around PREPUP_OPT
2025-06-11 10:25:54 +00:00
Michaël Van Canneyt
8ab1fa256e
* FindValue more delphi-compatible in treatment of null
2025-06-10 15:51:30 +02:00
Michaël Van Canneyt
012dab8bd3
* Address error found in pas2js+test
2025-06-10 15:51:30 +02:00
Rika Ichinose
1cda7d8e36
REP MOVSB branch for x64 Move.
2025-06-09 19:42:03 +02:00
Rika Ichinose
bc59422f00
Allow shrinking small chunks.
2025-06-09 17:52:02 +02:00
J. Gareth "Curious Kit" Moreton
9d55e3aa0e
* x86: Fixed bug where XMM7 wasn't used by the register allocator
2025-06-09 15:32:35 +02:00
florian
18f2553e8e
* throw proper error if no suitable NewInstance method is found, resolves #41274
2025-06-09 15:31:38 +02:00
Rika Ichinose
a003040be1
Remove MaxKeptOSChunks (assume 1), GrowHeapSizeSmall, GrowHeapSize1.
2025-06-09 15:05:59 +02:00
Margers
a06068b4f1
Fix AOR.
2025-06-08 22:21:11 +02:00
Margers
a5fe90e392
Test instruction set AVX102.
2025-06-08 22:21:11 +02:00
Margers
d53ea44fe4
Generalize asm error message for distinct registers.
2025-06-08 22:21:11 +02:00
Margers
53cbfe3f85
Add x86 instruction set AVX102 for targets i386 and i8086.
2025-06-08 22:21:11 +02:00
Margers
45d8ffe13d
Add x86 instruction set AVX102.
2025-06-08 22:21:11 +02:00
Margers
b274091fe8
Add tmm registers.
2025-06-08 22:21:11 +02:00
Margers
a70129f394
Instruction flag AVX102.
2025-06-08 22:21:11 +02:00
Margers
1a5ca1e4bb
Instruction match tests supported register numbers. Thx to VMPSADBW.
2025-06-08 22:21:11 +02:00
Margers
5745635a71
Support ModRM 11:rrr:000. Only for TILEZERO.
2025-06-08 22:21:11 +02:00
Margers
1d72eeb2cf
Support for ymmreg_sae, ymmreg_er.
2025-06-08 22:21:11 +02:00
Margers
0b0033f53c
Support for sibmem.
2025-06-08 22:21:11 +02:00
Margers
8a836ccafc
Support for tmmreg.
2025-06-08 22:21:11 +02:00
Margers
f635354042
Allow more than 255 registers.
2025-06-08 22:21:11 +02:00
florian
8720ab7d3d
* fix rlim_t for i386 and other 32 bit CPUs supporting 64 bit fs calls
2025-06-08 14:23:58 +02:00
J. Gareth "Curious Kit" Moreton
98d8830eb7
* x86: Refactored and optimised "PostPeepholeOptLea"
2025-06-08 12:20:11 +01:00
J. Gareth "Curious Kit" Moreton
98563dd069
* x86: New post-peephole optimisation that converts 32-bit registers
...
in a LEA reference to 64-bit if the destination is 32-bit
2025-06-08 12:20:03 +01:00
Pierre Muller
71cc17d60d
Also downgrade alignment warning about variables to a note
2025-06-06 06:37:18 +00:00
Pierre Muller
f9fbbd4a88
Do not set alignment above varalignmax, as this breaks msdos/win16 targets
2025-06-06 06:30:05 +00:00
Michaël Van Canneyt
6870e68f4e
* Remove underscores from tex code
2025-06-06 08:04:16 +02:00
Pierre Muller
5c5d590abb
Downgrade warning to note for scanner_w_local_alignment_large_than_max (fixes cycle for i386-linux taeget)
2025-06-05 22:35:52 +00:00
Pierre Muller
6724e3dec8
Add tsym parameter to ttgobj.getlocal method.
...
* tgobj.pas: Change virtula method getlocal to
add tsym paramter to allow for bettter warning when
required alignment is more than localalignmax.
* hlcgobj.pas: Adapt thlcgobj.getlocal method to new ttgobj.getlocal
* ncgflw.pas: Add exceptvarsym as new parameter to getlocal methos
* jvm/tgcpu.pas: Adapt to added parameter for overloaded virtual method
* wasm32/tgcpu.pas: Same.
* llvm/tgllvm.pas: Same.
2025-06-05 12:19:57 +00:00
Pierre Muller
095ff0d96a
Add new message about local variable with excessive alignment
2025-06-05 09:48:29 +00:00
Pierre Muller
e3e1285c5d
Accept aign larger than varalignmax but issue a warning
2025-06-05 09:28:32 +00:00
Pierre Muller
4c7d6b1160
Add new warning about variable with excessive align specification
2025-06-05 09:23:20 +00:00
Rika Ichinose
cb4bcaa068
Inline AllocFixed & FreeFixed (and make friendlier to inlining).
2025-06-04 12:42:46 +03:00
Rika Ichinose
85345c54d8
Change RbTree to a FastMM-like two-level bitfield.
2025-06-04 09:04:23 +00:00
ACTom
d47fa4cf1b
Add Chinese msg file
2025-06-04 08:43:17 +00:00
Pierre Muller
c7c10bd2a4
Add check about cmpxchg16b instruction
2025-06-04 06:31:56 +00:00
Pierre Muller
e5a648817f
Do not call SysCopyFile if List[i] is empty in TBuildEngine.CmdCopyFiles
2025-06-03 20:27:33 +00:00
Pierre Muller
870a91502a
Fix compilation of dosbox_wrapper.pas
2025-06-03 05:10:13 +00:00
J. Gareth "Curious Kit" Moreton
6548dd0211
* x86: "MovMov2Mov 1" now removes the first instruction if the intermediate register is not in use afterwards.
2025-06-02 20:47:29 +02:00
Margers
4459510e5c
SSESupport SEE2Support return true allays in 64 bit mode. +More bugfixes.
2025-06-02 20:14:20 +02:00
Margers
4cbd3ab6fa
Save little of data space (12 bytes).
2025-06-02 20:14:20 +02:00
Margers
a27d35d349
Prioritize less initialization code over data.
2025-06-02 20:14:20 +02:00
Margers
eb9bc5532e
Few more functions to test x86 cpu supported instruction sets.
2025-06-02 20:14:20 +02:00
Pierre Muller
ad6e9049ed
Force usage of ld.lld for x86_64-openbsd system, because ld.bfd generates invalid executable which SIGSEGV at exit
2025-06-02 14:36:45 +02:00
Pierre Muller
71ec7a94d1
Add x86_64-openbsd to LLVM supported list
2025-06-02 14:36:45 +02:00
Pierre Muller
2ba3a9521c
Try to really compute program base address in memory.
...
Limit the number of attempt to find ELF header to 256 pages
2025-06-02 14:36:20 +02:00
Pierre Muller
51b55059af
Fix _csu_abort for i386-openbsd
2025-06-02 14:12:32 +02:00
Pierre Muller
eff8f956a1
Add _csu_abort function
2025-06-02 14:12:32 +02:00