Commit Graph

7199 Commits

Author SHA1 Message Date
Jonas Maebe
c745ae4836 AArch64 popt: don't replace registers with X/WZR
Most arithmetic/logica instructions don't support X/WZR as operand (since
you should use movk with the calculated constant in that case)

Resolves #39372
2021-10-04 20:58:05 +02:00
Yuriy Sydorov
e9d318e7e2 * x86: Fixed update of used registers in the CMOV optimizations.
This fixes a bug reported by Martin Frb in fpc-devel which is triggered
  by the recently provided test code in FPC 3.2.2 x86_64, but is hidden
  in trunk by other pipeline peephole optimizations.
2021-10-04 18:10:34 +03:00
Jonas Maebe
ab01b0ebd7 Typed constants: no internalerror on failure
Don't check whether the expression queue is empty in the destructor in case
there was an error. Also improved error messages (constant expression instead
of variable expression expected).

Resolves #39393
2021-10-03 21:46:23 +02:00
Jonas Maebe
3fb0fab410 Fix bitpacking 62/63 bit fields on 64 bit targets
As reported on the lazarus forum:
* https://forum.lazarus.freepascal.org/index.php?topic=56341.new
* https://forum.lazarus.freepascal.org/index.php/topic,56339.msg418608/topicseen.html

Also optimized nextpowerof2 in the compiler
2021-10-03 14:00:50 +02:00
Nikolay Nikolov
799cd957e6 + added WASI .o files for the tests for linking with C 2021-10-03 04:11:51 +03:00
Nikolay Nikolov
9aefda1e6a * bug fix in test taddbool.pp - it was testing longbool conversion to boolean
twice, and not testing wordbool conversion to boolean at all
2021-10-01 04:56:36 +03:00
J. Gareth "Kit" Moreton
1f19b11398 x86_64: Fix to tw8573 overflow bug under -Cg option 2021-09-29 18:32:31 +00:00
Pierre Muller
5446d53156 Update to use gitlab 2021-09-29 17:23:28 +02:00
Pierre Muller
a7ad65f884 Fix use of svnversion if ../.git does not exist 2021-09-25 17:15:35 +02:00
Jonas Maebe
fcb646bc3b obcpas: fix categories implementing protocols
Allocate the ImplementedInterfaces array for them and save to/load from ppu

Solves #39375
2021-09-25 16:15:45 +02:00
florian
5abfe21f39 + apply unary minus optimizations also to /
* test extended
2021-09-23 22:44:16 +02:00
florian
69d5d648a9 + more unary minus optimizations
* test extended
2021-09-21 23:09:33 +02:00
florian
3e760b33c7 + more unary minus optimizations
* test extended
2021-09-20 22:31:16 +02:00
florian
8cb92fd49a * simplify real expressions involving unary minus
+ test
2021-09-19 23:08:32 +02:00
florian
e2624fdaaa * fix test 2021-09-14 22:01:39 +02:00
florian
5065e4ba50 * fix code for ARM FPA, just in case ... 2021-09-13 22:55:44 +02:00
florian
9bd785c06b * fix handling of -0.0 in sse/avx code, resolves #39357 2021-09-13 22:47:26 +02:00
Yuriy Sydorov
c30ce7108e * Do not run the tzlib1 test. It is not intended for this. 2021-09-11 20:40:36 +03:00
Yuriy Sydorov
80c63fae30 * Explicitly specify DefaultRTLFileSystemCodePage for the test in order
to be independent from the current system code page.
2021-09-11 20:35:50 +03:00
Yuriy Sydorov
64812bdc60 * Modified the test to run properly on non-UTF8 systems. 2021-09-11 20:11:40 +03:00
Yuriy Sydorov
daa05f19cb * Prevent a crash of the tw2423 test on some versions of Windows. 2021-09-11 19:54:02 +03:00
Yuriy Sydorov
fca357e898 * Disabled running of the sharemem test since fpcmemdll.dll is never built. 2021-09-11 19:54:02 +03:00
Yuriy Sydorov
0567572fae * Weak externals from DLL are nor supported on Windows. 2021-09-11 19:54:02 +03:00
Yuriy Sydorov
bcaa2c9758 * Explicitly specify CP1252 for registry tests which depends on this CP. 2021-09-11 18:10:52 +03:00
Yuriy Sydorov
16d17de1ff + Added a test for a bug fixed in b96057ad. 2021-09-06 19:01:34 +03:00
florian
677f829732 * tw39323 needs to turn on range check to test what it is supposed to test 2021-09-05 23:12:34 +02:00
florian
a5f6505edc * fix range checking for zero based strings, resolves #39323 2021-09-05 21:03:31 +02:00
florian
3069d74ecc * handle constant folding correctly for <pointer>+<ord. constant>+<ord. constant>, resolves #39332 2021-09-01 21:32:27 +02:00
florian
8efae66956 * we cannot do SSA during partial writes to arrays which span multiple registers, resolves #39325 2021-09-01 09:31:50 +02:00
Sven Barth
3ce6cae11d * fix for #39310 by fixing various small issues in tabstractrecordsymtable.has_single_field:
- initialize the returned def to a safe default
  - correctly reset the found symbol for each loop
  - reset the result when descending into a record
+ added test
2021-09-01 09:31:15 +02:00
Pierre Muller
23bf243acd Add test for bug report 38973 (already fixed in trunk/main) 2021-09-01 09:29:51 +02:00
Jonas Maebe
bc84f780ee Solves #39296: x86-64 parameter zero/sign extension 2021-09-01 09:29:51 +02:00
Pierre Muller
56a8f29519 Add support for hash generation for git repository (local modifier not implemented) 2021-09-01 09:29:50 +02:00
tg74
24f33871c0 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48927 -
2021-09-01 09:29:50 +02:00
tg74
18b868bfcd working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48880 -
2021-09-01 09:29:49 +02:00
tg74
df49a3d067 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48879 -
2021-09-01 09:29:49 +02:00
tg74
da4be71fc8 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48877 -
2021-09-01 09:29:49 +02:00
tg74
f9f0f9a1d1 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48875 -
2021-09-01 09:29:49 +02:00
tg74
e6ed010e92 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48873 -
2021-09-01 09:29:49 +02:00
tg74
afd1875834 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48872 -
2021-09-01 09:29:49 +02:00
tg74
4cc3a7fb12 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48870 -
2021-09-01 09:29:49 +02:00
tg74
183fbf77af working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48853 -
2021-09-01 09:29:49 +02:00
tg74
efcc3b2eba avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48845 -
2021-09-01 09:29:49 +02:00
tg74
a4b9fcffeb avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48807 -
2021-09-01 09:29:49 +02:00
tg74
1893babd06 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48804 -
2021-09-01 09:29:49 +02:00
tg74
6acf8abcc9 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48683 -
2021-09-01 09:29:49 +02:00
tg74
cdd2832ea7 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48682 -
2021-09-01 09:29:49 +02:00
tg74
772ea61b12 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48658 -
2021-09-01 09:29:49 +02:00
tg74
5225dd00f6 avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48656 -
2021-09-01 09:29:49 +02:00
tg74
4cdc665ab7 working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48606 -
2021-09-01 09:29:49 +02:00