Commit Graph

6546 Commits

Author SHA1 Message Date
tg74
1454e8b29d new avx512-opcodes VBMI2,VNNI,BITALG ...
git-svn-id: branches/tg74/avx512merge@43406 -
2019-11-06 19:51:01 +00:00
florian
99d44ce40e + test for the initial bug
git-svn-id: branches/tg74/avx512merge@43301 -
2019-10-21 20:14:46 +00:00
florian
e4b21cc6c8 * indention fixes
git-svn-id: branches/tg74/avx512merge@43278 -
2019-10-20 16:02:19 +00:00
florian
bb1c03b538 + test movntss and movntsd
git-svn-id: branches/tg74/avx512merge@43277 -
2019-10-20 16:00:26 +00:00
tg74
87e7a823b6 bugfix 35700 - delete invalid opcodes
git-svn-id: branches/tg74/avx512merge@43153 -
2019-10-08 09:16:45 +00:00
tg74
1d41faa5df new test opcodes SSE scalar
git-svn-id: branches/tg74/avx512merge@43094 -
2019-09-29 20:05:29 +00:00
tg74
d721bedd56 new test opcodes SSE scalar
git-svn-id: branches/tg74/avx512merge@43093 -
2019-09-29 19:58:20 +00:00
tg74
72c6d6d909 add new testcode ADDSS,ADDSD
git-svn-id: branches/tg74/avx512merge@43092 -
2019-09-29 19:29:06 +00:00
tg74
a2c4d868f4 bugfix 35700 xmmrm - zmmrm, mem32/64
git-svn-id: branches/tg74/avx512merge@42968 -
2019-09-09 14:44:04 +00:00
tg74
dc41dcd3d8 bugfix 35700 xmmrm - zmmrm, mem32/64
git-svn-id: branches/tg74/avx512merge@42959 -
2019-09-08 19:24:14 +00:00
tg74
a5e158f8d6 cleanup
git-svn-id: branches/tg74/avx512merge@42724 -
2019-08-18 04:41:34 +00:00
svenbarth
0e79bd2c70 + add a test that ensures that the introduction of fullscale array constructors didn't mess with array constructors passed to an open array of Variant
git-svn-id: trunk@42701 -
2019-08-15 14:33:03 +00:00
svenbarth
44bfa98a30 * fix for Mantis #35955: when the element of an array constructer requires an operator for conversion we don't let the caller of compare_defs_ext know that, instead we simply say that some conversion is required and let the typecheck handler deal with the element wise conversion
+ added test

git-svn-id: trunk@42700 -
2019-08-15 14:33:00 +00:00
svenbarth
10af6fe2fb * fix for Mantis #35965: correct alignment also for the class info used to retrieve the unit name
+ added test

git-svn-id: trunk@42697 -
2019-08-15 13:29:19 +00:00
Jonas Maebe
03cd0cce59 * change result of pi function from ansistring into dynamic array, so we
generate unique calls every time we write to it
  * replace calls to high(ansistring/dynarray) in the inner body of the pi
    function with a variable that gets assigned once
  -> the FPC version is now just as fast as the C version

git-svn-id: trunk@42695 -
2019-08-15 10:32:36 +00:00
sergei
416c974d3f * x86_64: Fixed code generation for try..finally blocks, so that exit label from inner try..finally stays within scope of procedure's implicit try..finally block if one is present. Mantis #34772.
git-svn-id: trunk@42673 -
2019-08-13 08:29:28 +00:00
florian
5947143d8f * intel asm reader: try to read avx512 extensions only if the instruction supports them
* cleanup

git-svn-id: trunk@42656 -
2019-08-12 10:46:19 +00:00
florian
f9cd4c158a * improved readme.txt again
git-svn-id: branches/tg74/avx512@42649 -
2019-08-11 16:22:06 +00:00
florian
537c63bd83 * fixed a few merging issues
+ extended readme to explain avx tests can be run using GNU Parallel

git-svn-id: branches/tg74/avx512@42647 -
2019-08-11 16:05:19 +00:00
florian
bce70a5105 * test only a limited grid of surrogate pairs to avoid that tests run longer
than all other tests together when testing with -j

git-svn-id: branches/tg74/avx512@42646 -
2019-08-11 16:03:34 +00:00
florian
f883dd6dbb Synchronized with trunk, part 2 (make all works, avx-512 support not yet tested, no regression testing yet)
git-svn-id: branches/tg74/avx512@42643 -
2019-08-10 19:38:35 +00:00
florian
746bfced25 Synchronized with trunk, part 1 (only make cycle tested, make all is broken, avx-512 support not yet tested
git-svn-id: branches/tg74/avx512@42642 -
2019-08-10 13:53:20 +00:00
pierre
008c1436d8 Fix bug report 35937 by simple assembly code change and add test
git-svn-id: trunk@42603 -
2019-08-08 14:10:21 +00:00
Jonas Maebe
6b9f2114f1 * test from mantis #35897, already fixed
git-svn-id: trunk@42575 -
2019-08-03 13:52:46 +00:00
Jonas Maebe
46afcbb362 * an incomplete case statement is not an error in ISO Pascal (mantis #35910)
* give a compile-time error in ISO/Extended Pascal if the compiler can prove
    the case selector value is not handled, and a warning in other modes
    (mantis #35915)
   o trigger the case node simplification at the end of the case node typecheck
     pass, like for other nodes

git-svn-id: trunk@42574 -
2019-08-03 13:47:27 +00:00
Jonas Maebe
ce598c15ec * factored out the conditions under which add nodes need to perform
overflow checks
   o in particular ensure that cpu-specific overrides don't perform overflow
     checks when nf_internal is set

git-svn-id: trunk@42573 -
2019-08-03 12:19:50 +00:00
svenbarth
6952ab5baf * fix for Mantis #35918: don't set the mangledname for the attribute's constructor function; let the compiler do its job instead
git-svn-id: trunk@42560 -
2019-08-02 14:07:17 +00:00
florian
bdd4b6691e * fix test for arm
git-svn-id: trunk@42538 -
2019-07-30 21:04:30 +00:00
florian
9560d63e42 * test needs exception checking
git-svn-id: trunk@42537 -
2019-07-30 21:04:29 +00:00
florian
3ef319c0b0 * compilation of tests on 32 bit targets fixed, using while loops so keeping the type sizes
git-svn-id: trunk@42526 -
2019-07-28 21:06:37 +00:00
svenbarth
811d39d995 * correctly align the stream on targets that require proper alignment
git-svn-id: trunk@42522 -
2019-07-28 19:50:33 +00:00
svenbarth
8fc5c9edb2 * fix compilation of tests on 32-bit systems (doesn't (shouldn't?) change their behavior)
git-svn-id: trunk@42520 -
2019-07-28 19:26:51 +00:00
florian
1a67ffdd22 * fix alignment of ParamList
* fix test for architectures using aligned rtti

git-svn-id: trunk@42516 -
2019-07-28 12:43:15 +00:00
Jonas Maebe
3fb7c19482 - removed tests as modern Delphi versions behave differently (mantis #35886)
git-svn-id: trunk@42512 -
2019-07-28 12:03:40 +00:00
florian
23585ded15 * fix access to ParamFlags of the tkMethod branch of type data for CPUs requiring proper alignment
git-svn-id: trunk@42511 -
2019-07-28 11:55:19 +00:00
Jonas Maebe
789f288771 * fixed distribution of random(int64) based on patch by Pangea
(mantis #35878)

git-svn-id: trunk@42508 -
2019-07-28 11:14:58 +00:00
Jonas Maebe
1da43f67d4 * (non-ancient) Delphi versions that accept explicit ordinal -> floating
point typecasts behave the same as FPC (convert the value) rather than
    as Turbo Pascal (reinterpret the bit pattern) (mantis #35886)

git-svn-id: trunk@42507 -
2019-07-28 11:14:54 +00:00
svenbarth
5313f6e9af * fix Currency comparison... again...
git-svn-id: trunk@42490 -
2019-07-24 20:32:22 +00:00
svenbarth
0c27ea83be * we halt if the currency values are *not* equal, not if they're equal... m(
git-svn-id: trunk@42487 -
2019-07-23 20:53:50 +00:00
svenbarth
e97a2cb03e * tests with Delphi showed that an attribute class must explicitely declare a parameterless constructor if it should be used, cause TCustomAttribute.Create is private
Note: this also means that TCustomAttribute itself can not be used as an attribute
* adjusted existing tests
+ added test

git-svn-id: trunk@42471 -
2019-07-20 20:03:38 +00:00
svenbarth
c282f21b1b * don't bother finding the correct constructor if the attribute isn't a TCustomAttribute descendant anyway; simply skip the parameters in that case
+ added tests

git-svn-id: trunk@42470 -
2019-07-20 19:46:03 +00:00
svenbarth
6cde8ab4cb * fix for Mantis #35866: parse_paras does not check whether the expressions are really constant, so check that manually
+ added test

git-svn-id: trunk@42469 -
2019-07-20 19:45:59 +00:00
svenbarth
43b5dbf613 * fix for Mantis #23071: also store local symtable in the PPU if the procdef is generic as we need it to resolve genericdefs to nested types
git-svn-id: trunk@42459 -
2019-07-19 15:55:28 +00:00
svenbarth
4d6844e731 * fix test on systems where Currency is calculated using floating point types
git-svn-id: trunk@42458 -
2019-07-19 15:55:25 +00:00
svenbarth
176a63b67b * fix for Mantis #35862: free the list of functions added with AddTerminateProc to avoid memory leaks
+ added test

git-svn-id: trunk@42457 -
2019-07-19 15:55:21 +00:00
svenbarth
87458a065c * allow use of multiple, comma separated attributes as Delphi allows that as well
+ added test

git-svn-id: trunk@42409 -
2019-07-12 22:08:14 +00:00
svenbarth
404b465c33 * allow custom attributes for all type declarations that are not a simple alias
+ added tests

git-svn-id: trunk@42405 -
2019-07-12 22:08:00 +00:00
svenbarth
a72553eea2 * disable [...] syntax for procedure directives if modeswitch "prefixed attributes" is enabled; they conflict otherwise and it's not easily resolveable
+ added test

git-svn-id: trunk@42402 -
2019-07-12 22:07:50 +00:00
svenbarth
b945e66e28 * store attribute information in PPU; this is less important for the compiler, but more for e.g. Lazarus when dealing with binary only units
* increase ppu version
+ added test
* adjust ppudump to handle attributes as well
ToDo: output parameter nodes as well

git-svn-id: trunk@42401 -
2019-07-12 22:07:46 +00:00
svenbarth
71fa4d1fe2 * the RTTI of an attribute not only consists of the creation function, but also of the attribute's type, a pointer to the constructor and a data blob containing the constant parameters
+ added test

git-svn-id: trunk@42390 -
2019-07-12 22:07:05 +00:00