Commit Graph

177 Commits

Author SHA1 Message Date
Nicolas Kruse ebb3b89e69 math functions extended for vector. switched acos function. 2025-11-17 08:33:29 +01:00
Nicolas Kruse 700d46e404 Compiler performance improved, caching added for get_stencil_code function 2025-11-14 22:47:59 +01:00
Nicolas 20a8dcd1a2 Single argument functions do not need a dummy argument anymore 2025-11-14 17:28:05 +01:00
Nicolas 0c2f2812db caching for stencil_database.get_relocations added 2025-11-14 16:23:51 +01:00
Nicolas ab589449a3 Added _ADD_ABS_LO12_NC relocation for ARM; fixed addend for R_386_PC32 and R_386_32; fixed get_return_function_type and strip_function to work with stencils that do the passing on call not at the end 2025-11-14 11:12:36 +01:00
Nicolas 0f464d74a5 ENTRY_POINT output in runner fixed 2025-11-14 11:12:36 +01:00
Nicolas b037e4e3fb get_42 test function updated 2025-11-14 11:12:36 +01:00
Nicolas 0242e32713 Patching offset fixed in Patch aux function loop, debug prints removed 2025-11-14 11:12:36 +01:00
Nicolas ee4d22265c python pow function fixed and changed to musl implementation 2025-11-14 11:12:36 +01:00
Nicolas 5b77ce236f atan2 python function fixed 2025-11-14 11:12:36 +01:00
Nicolas 8413eecdd4 debugging printfs added 2025-11-14 11:12:36 +01:00
Nicolas 6416df1335 allowing branching in stencils by patching all passing-on-jump instructions and stripping only the last jump instruction if its the last instruction in the function 2025-11-11 15:54:11 +01:00
Nicolas f345d02120 fixed aux function alignment in get_aux_function_mem_layout 2025-11-11 09:11:12 +01:00
Nicolas b8613f3d98 alignment of section fixed 2025-11-10 20:08:17 +01:00
Nicolas 9f211dfda3 selection of default architecture changed from system to current process (new function detect_process_arch added) 2025-11-10 20:06:48 +01:00
Nicolas aa0c75afc6 x64 32 bit support added 2025-11-09 16:28:39 +01:00
Nicolas b6242e12d7 index error in the aarch64 fix solved 2025-11-07 16:37:20 +01:00
Nicolas 7c77c42b80 issue with wrong results on aarch64 fixed, by guarding registers for the write op 2025-11-07 16:37:20 +01:00
Nicolas Kruse 8572d44bf9 tests for inverse trig and log functions added 2025-11-07 16:37:20 +01:00
Nicolas Kruse d1935a34f8 inverse trig functions and log, exp and pow function added 2025-11-07 16:37:20 +01:00
Nicolas Kruse e0c4bd5280 ci: logging extended and docker image switched 2025-11-07 16:37:20 +01:00
Nicolas Kruse 24e19dca35 get_op_after_last_call_in_function fixed 2025-11-07 16:37:20 +01:00
Nicolas Kruse f97d21e42c code style fixed and type hints in get_binaries.py fixed 2025-11-07 16:37:20 +01:00
Nicolas Kruse b7e2ab1fbd Fix of _LDST64_ABS_LO12_NC relocation 2025-11-07 16:37:20 +01:00
Nicolas Kruse 358838cb33 New patch instruction for absolut addresses added PATCH_OBJECT_ABS 2025-11-07 16:37:20 +01:00
Nicolas aeeddc2164 debug prints cleaned up 2025-11-07 16:37:20 +01:00
Nicolas 8dc629b6e4 c code updated with discrete type conversions 2025-11-07 16:37:20 +01:00
Nicolas ed6bb1bc52 aarch64 relocation support for objects added and is working 2025-11-07 16:37:20 +01:00
Nicolas 73d32a07b1 Patching constants for aux functions fixed 2025-11-01 13:42:50 +01:00
Nicolas Kruse 20f880feae sin, cos and tan added 2025-11-01 00:42:15 +01:00
Nicolas 926bb9f85f extract code tool updated to output addresses in
hex and some fixes and aarch64 deactivated
2025-10-31 19:06:50 +01:00
Nicolas e8a73c088e Compiler rewritten for aarch64 support 2025-10-31 16:56:51 +01:00
Nicolas 0ff43e62ab fix for allowing different jump/call instruction lengths 2025-10-30 14:01:55 +01:00
Nicolas a9b52bcf24 Cross compilation for aarch64-runner added 2025-10-30 12:08:13 +01:00
Nicolas Kruse f60df09fa7 patch command updated for arm support 2025-10-29 22:53:40 +01:00
Nicolas Kruse 7584b316fc Docstrings added and updated 2025-10-28 23:16:04 +01:00
Nicolas Kruse a971b98f2d ruff config added for replacing flake8, code style und naming changes 2025-10-26 22:35:47 +01:00
Nicolas Kruse 6445ac9724 relocation patching for constants is fixed, tests added 2025-10-26 22:26:12 +01:00
Nicolas Kruse ac6854ff9b test stencils and aux functions added, including test 2025-10-26 16:08:45 +01:00
Nicolas Kruse fb4df412ce extract_code tool: added patching of function call relocations 2025-10-26 15:19:38 +01:00
Nicolas Kruse 501bd5bee3 example generation to track down sqrt issue 2025-10-26 14:08:09 +01:00
Nicolas Kruse e400eff2b0 compiler: Added patching for aux functions 2025-10-26 12:37:44 +01:00
Nicolas Kruse df84b61a7b vector type added, sqrt and ge/le added; type hints improved 2025-10-25 21:36:31 +02:00
Nicolas Kruse cb1447f125 refactoring API generics 2025-10-24 00:41:34 +02:00
Nicolas Kruse a8280f8d2d vector typing advanced 2025-10-24 00:35:41 +02:00
Nicolas Kruse 38a0959c82 Merge branch 'main' into vector_feature 2025-10-23 17:31:58 +02:00
Nicolas Kruse f61591a6ca Changed cpfloat, cpint etc. to generic variable[float] etc. 2025-10-23 17:23:12 +02:00
Nicolas Kruse db7216d0b6 partial vector implementation added 2025-10-23 12:49:30 +02:00
Nicolas Kruse ba4531ee69 support for stencils using heap stored constants added 2025-10-23 23:24:57 +02:00
Nicolas Kruse 1277369f06 fast c pow function integrated including unit test 2025-10-20 22:25:13 +02:00
Nicolas Kruse 51f6eb1538 Code rearranged and split to different files 2025-10-19 23:24:14 +02:00
Nicolas Kruse c55ae827d7 specific tipe hints for read_value added 2025-10-19 22:48:39 +02:00
Nicolas Kruse 067e4f32eb iif function added with test 2025-10-19 22:48:52 +02:00
Nicolas Kruse 47375a2f3c pow and cast partially implemented 2025-10-18 23:26:35 +02:00
Nicolas Kruse 140d1f0f9f code clean up 2025-10-18 23:21:31 +02:00
Nicolas Kruse 8106cd671f missing #define LOG(...) in runmem.c added 2025-10-18 23:20:15 +02:00
Nicolas Kruse 79f1fc80a9 code style fixed 2025-10-18 23:20:27 +02:00
Nicolas Kruse 52f5b28017 full type hints added 2025-10-18 23:20:49 +02:00
Nicolas Kruse 0e36b672d8 changed logging in runmem to be optional: ENABLE_BASIC_LOGGING and ENABLE_LOGGING 2025-10-18 23:10:40 +02:00
Nicolas 9cb2db7d4e changed test_compile for reading all result variables instead of a fixed memory region 2025-10-14 23:04:20 +02:00
Nicolas b5e6130eb8 patching of subfunction fixed and types for // aligned to python standard 2025-10-14 22:59:51 +02:00
Nicolas 1ea7ee9fdb typing fixed 2025-10-13 22:58:52 +02:00
Nicolas 7d5990e2b2 added bool support 2025-10-13 22:58:55 +02:00
Nicolas Kruse ddbbf59368 allocation corrected 2025-10-12 23:24:50 +02:00
Nicolas Kruse 702322ec0d fix4 2025-10-12 23:24:34 +02:00
Nicolas Kruse b0e7900d83 aux_function_lengths corrected 2025-10-12 23:24:56 +02:00
Nicolas Kruse 0356b5846d ALLOCATE_DATA fixed 2025-10-12 23:23:59 +02:00
Nicolas Kruse 37283e850d fixed copy code for aux 2025-10-12 23:23:31 +02:00
Nicolas Kruse 3d80fa43d6 fix3 2025-10-12 23:23:47 +02:00
Nicolas Kruse c4ca95bd61 fix 2025-10-12 23:22:52 +02:00
Nicolas Kruse bfbe2a290a rel_entr_point initialized 2025-10-12 23:22:58 +02:00
Nicolas Kruse c6d55924f7 END_PROG name fixed 2025-10-12 23:22:12 +02:00
Nicolas Kruse 54ccdfe867 sub functions added 2025-10-12 23:21:34 +02:00
Nicolas c551fd1f2e adding get_sub_functions 2025-10-12 23:13:33 +02:00
Nicolas 228daf5c9e update 2025-10-12 22:22:30 +02:00
Nicolas Kruse 3509608f7c code clean up 2025-10-11 22:53:55 +02:00
Nicolas Kruse 1501cc71a8 marker removed 2025-10-10 23:22:16 +02:00
Nicolas Kruse b674aecd38 test_start_end_function adjusted 2025-10-10 23:09:27 +02:00
Nicolas Kruse 6cbfdfdaf3 florr division fixed 2025-10-09 22:54:11 +02:00
Nicolas Kruse 3485584e5e refactored names 2025-10-09 22:50:24 +02:00
Nicolas Kruse 60aa550ec7 small changes 2025-10-09 22:46:06 +02:00
Nicolas 45c7fa5b3b file names adjusted 2025-10-08 22:59:51 +02:00
Nicolas 5723fc0085 stencil db doc strings added 2025-10-08 22:58:12 +02:00
Nicolas 8ff1a37e43 var type in read_data_mem changed 2025-10-08 22:47:25 +02:00
Nicolas ff1f3992d6 gcc parameter "naked" added 2025-10-08 22:47:49 +02:00
Nicolas 37dfabfdf7 test5 2025-10-08 22:21:33 +02:00
Nicolas 6b5bc0e28a warninf for pointer conversion fixed 2025-10-07 23:24:22 +02:00
Nicolas ffc48e4bb7 test3 2025-10-07 23:24:46 +02:00
Nicolas 6810c9dd0a upd2 2025-10-07 23:23:14 +02:00
Nicolas a6f881ab34 ci updated 2025-10-07 23:21:53 +02:00
Nicolas a15bfc295e generic mingw version 2025-10-07 23:20:51 +02:00
Nicolas c7c3ad3553 win stancils added 2025-10-07 23:20:43 +02:00
Nicolas a965ab607e ms_abi added 2025-10-07 23:13:18 +02:00
Nicolas 7fd0bb543e marker fixed 2025-10-07 22:59:24 +02:00
Nicolas ba3c56647d nop instuction byte reversed, optimisation added 2025-10-07 22:58:04 +02:00
Nicolas 59f3b162de test 2025-10-07 22:56:04 +02:00
Nicolas 23be1b1cae explicit conversion to int added 2025-10-05 23:10:00 +02:00
Nicolas ac148da25b runmem fixed 2025-10-05 23:10:38 +02:00
Nicolas e38821165e test 2025-10-05 23:09:43 +02:00
Nicolas 3cbbd0d0d3 fixed int / int division 2025-10-04 23:20:25 +02:00