tg74
1454e8b29d
new avx512-opcodes VBMI2,VNNI,BITALG ...
...
git-svn-id: branches/tg74/avx512merge@43406 -
2019-11-06 19:51:01 +00:00
florian
c2a36826a7
* regenerated
...
git-svn-id: branches/tg74/avx512merge@43300 -
2019-10-21 20:08:27 +00:00
florian
14167ca84a
* potential fix for assembler MOVNTSD
...
git-svn-id: branches/tg74/avx512merge@43276 -
2019-10-20 15:51:18 +00:00
tg74
05429fc4c2
bugfix 35700 - replace x86insdat-opcodeflags SCL_32,SCL_64 with \336\,\337\)
...
git-svn-id: branches/tg74/avx512merge@43152 -
2019-10-08 09:13:43 +00:00
tg74
f0002fe644
bugfix 35700 without opcode flags
...
git-svn-id: branches/tg74/avx512merge@43106 -
2019-10-02 20:39:41 +00:00
tg74
bcc28e834d
bugfix 35700 xmmrm - zmmrm, mem32/64
...
git-svn-id: branches/tg74/avx512merge@42957 -
2019-09-08 19:14:27 +00:00
tg74
d11b041fbb
preparing for bugfix 35700
...
git-svn-id: branches/tg74/avx512merge@42839 -
2019-08-26 19:34:04 +00:00
nickysn
24e3d95fe0
- don't create a heap segment for win16
...
git-svn-id: trunk@42658 -
2019-08-12 12:51:37 +00:00
florian
70a2b0b260
* restored change information for FMA instructions which got lost somewhere
...
git-svn-id: branches/tg74/avx512@42651 -
2019-08-11 16:59:10 +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
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
Jonas Maebe
3fee990218
* on Mach-O, PECOFF and ELF platforms, write local symbols as hidden/
...
private_extern (or plain global in case of PECOFF, as the effect is
the same there): visible across object files, but they become local
when linked into a binary/library. This enables cross-unit inlining
of functions accessig implementation-only symbols.
git-svn-id: trunk@42340 -
2019-07-07 21:33:43 +00:00
pierre
243c967967
Commit of new debug feature implemented by J. Gareth Moreton
...
Allows compilation of compiler using -dDEBUG_NODE_XML
which will generate a NAME-node-dump.xml file for each
unit, program or library compiled,
containing a XML description of the nodes handled during
compilation of the unit, program or library.
git-svn-id: trunk@42271 -
2019-06-22 14:08:47 +00:00
Jonas Maebe
a0e35fd1bc
* synchronised with trunk till r42118
...
git-svn-id: branches/debug_eh@42119 -
2019-05-25 13:19:06 +00:00
Jonas Maebe
77658b925b
* disable regular array -> dynamic array type coversion support unless
...
{$modeswitch arraytodynarray} is active (mantis #35576 )
o changed compiler to compile without this modeswitch
o added the modeswitch to a test that depends on it
git-svn-id: trunk@42118 -
2019-05-25 12:31:32 +00:00
Jonas Maebe
1b6425176b
* synchronised with trunk till r42049
...
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +00:00
Jonas Maebe
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
...
be introduced by the next commit
git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +00:00
Jonas Maebe
ac883969a9
* synchronised with trunk till r41423
...
git-svn-id: branches/debug_eh@41424 -
2019-02-23 17:08:03 +00:00
Jonas Maebe
8b9e90dc7a
* keep track of whether a routine has a C-style variadic parameter in the
...
procoptions even when it's through an array-of-const parameter
* always call create_varargs_paraloc_info() instead of create_paraloc_info()
in the former case, even when no varargs parameters are specified (because
on some platforms even some non-variadic parameters need to be passed
differently, such as on ARM with gnueabihf)
git-svn-id: trunk@41420 -
2019-02-23 15:42:45 +00:00
Jonas Maebe
a0d796e98d
* synchronised with trunk till r41159
...
git-svn-id: branches/debug_eh@41160 -
2019-02-01 17:01:54 +00:00
florian
4f0da5fcc3
+ patch by Marģers to support the x86 assembler instructions blsi, blsr, blsmsk, adcx, adox, movbe, pclmulqdq, resolves #34815 and #34799
...
+ avxopcodes tests also movbe and pclmulqdq
git-svn-id: trunk@40951 -
2019-01-20 18:50:12 +00:00
Jonas Maebe
882d676bc9
* synchronised with trunk till r40635
...
git-svn-id: branches/debug_eh@40636 -
2018-12-24 22:12:19 +00:00
Jonas Maebe
acf02ab64b
* when creating wrappers, add a prefix to parameter names to prevent them
...
hiding the method name of the wrapped routine
o also add a few more '&' prefixes to the generated wrapper code to
prevent issues when keywords are used as identifiers
git-svn-id: trunk@40634 -
2018-12-24 22:10:06 +00:00
Jonas Maebe
4cd6f59bc3
* changed create_hlcodegen into a procvar, so that we don't have to insert
...
hlcgllvm in the uses clause of every unit that calls create_hlcodegen
o prevents dependency cycles that can cause llvm codegen units to init
before the cpu variants, which is bad since the llvm versions have to
override the cpu variants in their init code (+ added checks in the
init code that they are in fact initialised later)
git-svn-id: branches/debug_eh@40410 -
2018-11-29 21:31:15 +00:00
florian
9b0ff05ee8
- get rid of MaxOps, it is redundant with max_operands
...
* MatchOpType with three operands is only available of max_operands>2
git-svn-id: trunk@40190 -
2018-11-02 21:32:29 +00:00
pierre
9c90f593ab
Add global range check disable for i8086 cgcpu and x86 nx86add units
...
git-svn-id: trunk@40124 -
2018-10-31 23:20:29 +00:00
Jonas Maebe
0b246f3dbd
* converted Boolean8 to an internal type, and mapped Boolean to the
...
new internal pasbool1(type) (part of mantis #34411 )
o apply the _Bool x86-64 parameter passing rules only to pasbool1
git-svn-id: trunk@39949 -
2018-10-16 21:14:18 +00:00
tg74
1ef9cc01e6
avx512 disp8*N
...
git-svn-id: branches/tg74/avx512@39909 -
2018-10-09 21:19:52 +00:00
florian
8943c0584e
+ patch by J. Gareth Moreton to support BMI2 instructions
...
+ extended avx test generator with the newly added BMI2 instructions
git-svn-id: trunk@39875 -
2018-10-07 10:10:19 +00:00
tg74
7deacdd036
bugfix avx512 opcodes VFNMSUB231PS,VFPCLASSPS
...
git-svn-id: branches/tg74/avx512@39783 -
2018-09-21 05:34:04 +00:00
tg74
14d392fd0e
avx512 broadcast for special opcodes vcvt...
...
git-svn-id: branches/tg74/avx512@39779 -
2018-09-19 21:29:49 +00:00
tg74
fba72b280b
avx512 broadcast vcvt...,vfpclass...
...
git-svn-id: branches/tg74/avx512@39778 -
2018-09-19 15:28:15 +00:00
tg74
4265f4d6a5
avx512 broadcast for special opcodes vfpclass.., vcvt...
...
git-svn-id: branches/tg74/avx512@39768 -
2018-09-19 06:25:42 +00:00
tg74
f3e18cedf6
bugfix opcode definition vrsqrt..., vscale...
...
git-svn-id: branches/tg74/avx512@39755 -
2018-09-14 09:09:35 +00:00
tg74
865563fc82
bugfixes x86ins.dat avx512-opcodes vpexpand..., vptest..., vrcp...
...
git-svn-id: branches/tg74/avx512@39754 -
2018-09-14 05:19:28 +00:00
tg74
2c40a09d04
bugfixes x86ins.dat avx512-opcodes vf...
...
git-svn-id: branches/tg74/avx512@39753 -
2018-09-13 22:01:23 +00:00
tg74
1bc0ecec11
bugfix opcode definition vfmadd132pd/ps
...
git-svn-id: branches/tg74/avx512@39751 -
2018-09-13 11:04:09 +00:00
tg74
ac26adf7c9
bugfix avx512-opcodes
...
git-svn-id: branches/tg74/avx512@39745 -
2018-09-12 13:59:29 +00:00
tg74
dd967ecfee
remove any gather/scatter opcodes for nights mill
...
git-svn-id: branches/tg74/avx512@39742 -
2018-09-12 09:59:04 +00:00
tg74
608992ecf5
minor bugfixes avx512 tests
...
git-svn-id: branches/tg74/avx512@39740 -
2018-09-12 05:03:05 +00:00
tg74
c611e4814a
new avx512 opcodes
...
git-svn-id: branches/tg74/avx512@39720 -
2018-09-10 06:19:45 +00:00
tg74
1d9cbb4dcb
new AVX512 opcodes
...
git-svn-id: branches/tg74/avx512@39705 -
2018-09-03 05:40:44 +00:00
tg74
914e31dbd1
new AVX512 instructions vextracti..,vextractf..
...
git-svn-id: branches/tg74/avx512@39674 -
2018-08-27 06:06:27 +00:00
tg74
6985da744b
change x86ins.dat vmovq for test tasm9
...
git-svn-id: branches/tg74/avx512@39654 -
2018-08-20 13:31:42 +00:00
tg74
2b1da37d66
new avx512 instructions and bugfixes avx512
...
git-svn-id: branches/tg74/avx512@39636 -
2018-08-19 10:18:32 +00:00
tg74
867d145e50
support vector operand bcst,{sae},{er} + k-register
...
git-svn-id: branches/tg74/avx512@39457 -
2018-07-16 17:06:57 +00:00
florian
d4c65cdac4
* better register de-allocation after CWD/CWB
...
git-svn-id: trunk@39413 -
2018-07-07 21:38:42 +00:00
nickysn
fdc896ad0a
+ inline support for the x86 'in' and 'out' instructions. Currently only enabled
...
in the i8086-msdos 'ports' unit, but will be enabled on other targets (e.g.
go32v2) in the future as well. 32-bit 'in' and 'out' not inlined on i8086, but
will be on i386 and x86_64.
git-svn-id: trunk@39362 -
2018-07-03 17:01:42 +00:00
tg74
4dc5442fa5
support vector operand writemask,zeroflag
...
git-svn-id: branches/tg74/avx512@39359 -
2018-07-02 20:20:03 +00:00