Commit Graph

72131 Commits

Author SHA1 Message Date
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