florian
b4b4896f7f
* ensure result is set
2025-03-01 22:33:11 +01:00
florian
2679972f38
* factor out TRVCpuAsmOptimizer.OptPass1SLTIU
2025-03-01 22:24:13 +01:00
Michaël Van Canneyt
0df9da502b
* Correct errors like "then;" . Fixes issue #41171
2025-03-01 20:49:54 +01:00
florian
2ef405b3e5
* avoid that not explicitly as vectors marked arrays end up in registers where they are handled not properly
2025-02-28 22:15:16 +01:00
Nikolay Nikolov
4ac20ba523
+ added tf_no_pic_supported to the WASI platforms
2025-02-28 15:12:21 +02:00
Nikolay Nikolov
d1dbbc0a35
+ also handle system_wasm32_wasip1threads in the compiler anywhere system_wasm32_wasip1 is handled
2025-02-28 15:12:21 +02:00
Nikolay Nikolov
51035eb0f4
+ added system_wasm32_wasip1threads to systems_internal_sysinit
2025-02-28 15:12:20 +02:00
Nikolay Nikolov
698e16a12d
+ added system_wasm32_wasip1threads to systems_wasm
2025-02-28 15:12:20 +02:00
Nikolay Nikolov
b9098d8c5f
+ register the wasip1threads target in the compiler
2025-02-28 15:12:20 +02:00
Nikolay Nikolov
55d3d1447c
* increased string size of tsysteminfo.shortname in order to fit 'wasip1threads'
2025-02-28 15:12:20 +02:00
Nikolay Nikolov
bf0c724d80
* regen makefiles
2025-02-28 15:12:20 +02:00
Nikolay Nikolov
ab3a10eaed
* WASI renamed WASIp1 in ppudump
2025-02-28 15:12:20 +02:00
Nikolay Nikolov
924c917276
* fixed compilation of ppudump
2025-02-28 15:12:20 +02:00
Nikolay Nikolov
4340d03ba9
+ compiler support for a new target: wasip1threads
2025-02-28 15:12:19 +02:00
Nikolay Nikolov
32c1f78dc1
* wasi renamed wasip1 in the compiler help screen
2025-02-28 15:12:19 +02:00
Nikolay Nikolov
251ca6b658
* ifdef on wasip1 when setting the source OS info to wasip1
2025-02-28 15:12:19 +02:00
Nikolay Nikolov
12c494cc0f
* update makefiles
2025-02-28 15:12:19 +02:00
Nikolay Nikolov
59ab80bbb0
+ add WASI as extra define for the wasip1 target
2025-02-28 15:12:19 +02:00
Nikolay Nikolov
5a32b7159e
* system_wasm32_wasi_info renamed system_wasm32_wasip1_info
2025-02-28 15:12:19 +02:00
Nikolay Nikolov
2bc965ee28
* the name string of the WASI target changed from 'The WebAssembly System Interface (WASI)' to 'The WebAssembly System Interface Preview 1 (WASI 0.1)'
2025-02-28 15:12:19 +02:00
Nikolay Nikolov
e20466ffd1
* system_wasm32_wasi renamed system_wasm32_wasip1
2025-02-28 15:12:19 +02:00
florian
70591f6449
* factor out TRVCpuAsmOptimizer.OptPass1Andi
2025-02-27 22:55:35 +01:00
J. Gareth "Curious Kit" Moreton
83c9b17ec5
* x86: Fixed oversight in LeaLea2LeaLea optimisations where bad code is
...
generated if the intermediate register appears in the first reference
2025-02-27 21:25:23 +00:00
Michaël Van Canneyt
d86e726e87
* Invoke helper also needs generic ids
2025-02-27 17:36:43 +01:00
florian
fd72ed8c56
* applied fix for #41161 as proposed by Pierre
2025-02-26 22:40:26 +01:00
florian
831a46eb2f
+ more sext.b usage
2025-02-25 22:50:14 +01:00
Nikolay Nikolov
fa384956d6
+ define EOL_ONE_CHAR for the WASI platform
2025-02-25 13:18:44 +02:00
Nikolay Nikolov
76d155d872
- removed wasm32 from the NO_NATIVE_COMPILER_CPU_LIST
2025-02-25 09:50:05 +02:00
Nikolay Nikolov
9b2726fe31
* fix compilation of ppudump
2025-02-25 09:25:10 +02:00
Nikolay Nikolov
d35a2f53e7
* the FPC_WASM_SATURATING_FLOAT_TO_INT_CONVERSIONS define shortened to FPC_WASM_SATURATING_FLOAT_TO_INT
...
* increased the max string length of ttargetswitchinfo.define in order to fit the new define
2025-02-25 09:20:01 +02:00
Nikolay Nikolov
0c939ac6c6
+ WebAssembly: added support for using saturating (non-trapping) float-to-int conversion instructions via the new target switch SATURATINGFLOATINGTOINT
2025-02-25 09:08:55 +02:00
Nikolay Nikolov
671a36c823
* fixed WebAssembly goto in case statement crash with internal error 2021011801
2025-02-25 08:22:26 +02:00
Nikolay Nikolov
4b757dd360
* On WebAssembly, when calling a function, first generate code for evaluating
...
all the parameters, and only after that, push them on the stack. This avoids
problems with our 'goto' support.
2025-02-25 07:29:36 +02:00
Nikolay Nikolov
e237da95d2
* most of tcgcallparanode.secondcallparan's code was moved into two new methods:
...
secondcallparan_do_secondpass and secondcallparan_after_secondpass. These are
protected methods, meant to be called in secondcallparan's descendants, to
provide alternative parameter handling algorithms (needed for WebAssembly). No
functional changes.
2025-02-25 07:21:13 +02:00
florian
b2f5f6ac7d
+ RiscV32: use sext.b if available
2025-02-24 23:05:49 +01:00
J. Gareth "Curious Kit" Moreton
4648f967bd
* x86: Fixed bug in "MovMovMov2MovMovMov" optimisation where a register wasn't properly tracked
2025-02-24 15:32:21 +00:00
Nikolay Nikolov
79b240ec81
* WebAssembly goto support: skip unused labels in resolve_labels_via_state_machine. Fixes #41093
2025-02-24 16:57:26 +02:00
Nikolay Nikolov
7c44300136
* WebAssembly: fixed type conversion from pointer to qword (fixes bug #41092 )
2025-02-24 10:48:18 +02:00
florian
e219b24aec
* RiscV64: make use of sext.h instruction
2025-02-23 23:11:01 +01:00
Pierre Muller
e749c81040
Disable limitation of nonlocal setting for LLVM compiler
2025-02-23 09:22:10 +00:00
florian
da6c0e919b
+ RiscV: rv32gcb
2025-02-22 21:57:52 +01:00
Pierre Muller
665b019ef3
Fix ld.lld options for i386-freebsd target
2025-02-22 14:22:16 +01:00
Pierre Muller
13a5cdb8fa
Try to avoid clang error on global labels inside .cfi_start/.cfi_end pairs
2025-02-22 02:05:10 +01:00
florian
fecd25bac1
* fix typo
...
* properly pass zba, zbb, zbs to march
2025-02-21 22:47:44 +01:00
florian
4664e510e6
* RiscV: handle more instructions in taicpu.spilling_get_operation_type
2025-02-20 23:05:52 +01:00
florian
8e45bb133d
+ RV64GCB CPU type
2025-02-20 22:41:35 +01:00
florian
d842d822ff
* RiscV64: make use of zext.w instruction if available
2025-02-19 22:44:03 +01:00
florian
4427392d56
* RiscV: fix AddiAddi2Addi optimization
2025-02-17 22:35:15 +01:00
Pierre Muller
389c927061
Allow to use ld64.lld if -XLL option is used
2025-02-17 15:06:52 -06:00
Karoly Balogh
0730e86c9d
m68k: refactor - use the new CPUM68K_HAS_TSTAREG capability where applicable
2025-02-17 12:03:24 +01:00