Commit Graph

28461 Commits

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