florian
07a8e6c1d6
+ some more change information entries added
...
git-svn-id: trunk@49092 -
2021-03-31 18:53:31 +00:00
florian
aa1a68000b
* prefetch instructions read only the operand
...
git-svn-id: trunk@49089 -
2021-03-30 21:24:00 +00:00
florian
2b47425f08
+ tx64tryfinallynode.dogetcopy properly implemented, resolves #37305
...
git-svn-id: trunk@48972 -
2021-03-14 21:23:05 +00:00
florian
ecc3ce64ea
* x86: some fixes to enable 8 and 16 bit operations
...
git-svn-id: trunk@48166 -
2021-01-16 22:46:25 +00:00
florian
8618a3b21f
* simplify tx8664shlshrnode.pass_generate_code, it should not mess with the result type, this
...
is a matter of the type check pass
git-svn-id: trunk@48164 -
2021-01-16 15:38:29 +00:00
florian
9003114a8f
+ support R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX
...
git-svn-id: trunk@48156 -
2021-01-14 21:36:12 +00:00
florian
a286ad9d77
* do not extend 8 bit return values to 32 bit when loading them into eax,
...
this is not required by the api, neither does e.g. clang it
git-svn-id: trunk@48136 -
2021-01-11 21:47:32 +00:00
florian
4e9b42344e
+ AddLea2Lea optimization
...
* improved LeaLea2Lea
git-svn-id: trunk@48116 -
2021-01-08 22:22:56 +00:00
florian
28efcfba65
+ patch by J. Gareth Moreton: Advanced MOVZX optimisations, resolves #38294
...
git-svn-id: trunk@48086 -
2021-01-05 15:15:41 +00:00
florian
b03eefd5d0
* Ch_ information for vreduce* fixed
...
git-svn-id: trunk@47842 -
2020-12-23 17:58:07 +00:00
florian
b713c7380b
* implemented UseAVX512 properly
...
+ make use of VREDUCE* for frac(...) if AVX512QD is a available
git-svn-id: trunk@47840 -
2020-12-23 17:25:09 +00:00
florian
2a990b8167
+ patch by J. Gareth Moreton: some new x86 assembler optimizations, resolves #38130
...
git-svn-id: trunk@47824 -
2020-12-20 18:05:43 +00:00
florian
aeff5b3577
* improved change information
...
git-svn-id: trunk@47781 -
2020-12-15 21:33:33 +00:00
florian
b90ec52a0e
* x86: apply VOpVmov2VOp optimization to vmins*/vmaxs*
...
git-svn-id: trunk@47768 -
2020-12-13 09:52:45 +00:00
florian
92520c423e
* x86 change information updated
...
git-svn-id: trunk@47698 -
2020-12-06 16:22:38 +00:00
florian
c890a126fe
* allow an AT&T suffix for movabs
...
git-svn-id: trunk@47650 -
2020-11-30 22:07:33 +00:00
florian
fc960879de
-- Zusammenführen von r47033 bis r47401 in ».«:
...
C compiler/i386/i386nop.inc
U compiler/i386/i386tab.inc
U compiler/i386/i386atts.inc
U compiler/i386/i386att.inc
C compiler/i8086/i8086nop.inc
U compiler/i8086/i8086tab.inc
U compiler/i8086/i8086atts.inc
U compiler/i8086/i8086att.inc
U compiler/x86/x86ins.dat
C compiler/x86/rax86.pas
U compiler/x86/aasmcpu.pas
U compiler/x86/cpubase.pas
U compiler/x86/agx86att.pas
U compiler/x86/itcpugas.pas
U compiler/x86/rax86att.pas
C compiler/x86_64/x8664nop.inc
U compiler/x86_64/x8664tab.inc
U compiler/x86_64/x8664ats.inc
U compiler/x86_64/x8664att.inc
U compiler/utils/mkx86ins.pp
U tests/utils/avx/asmtestgenerator.pas
U tests/utils/avx/avxopcodes.pas
-- Aufzeichnung der Informationen für Zusammenführung von r47033 bis r47401 in ».«:
U .
Konfliktübersicht:
Textkonflikte: 4
Konfliktübersicht:
Textkonflikte: 4
git-svn-id: trunk@47402 -
2020-11-12 20:31:29 +00:00
tg74
897322868b
bugfix avx512 shift-opcodes vpsl..,vpsr.. - reg,mem,const => EVEX-coded = yes / VEX-coded = no
...
git-svn-id: branches/tg74/avx512-0037785@47401 -
2020-11-12 16:02:38 +00:00
tg74
c25c24e411
bugfix vfnmadd231sd
...
git-svn-id: branches/tg74/avx512-0037785@47388 -
2020-11-11 16:25:11 +00:00
florian
78244d89dc
* use VPXORD in avx-512 mode as VPXOR does not work for the upper 16 registers
...
git-svn-id: trunk@47368 -
2020-11-09 21:21:36 +00:00
florian
81e8982dd4
+ completed Ch_* information for VMOVD*
...
git-svn-id: trunk@47332 -
2020-11-07 10:42:43 +00:00
tg74
5a62e9fbd9
bugfix vpexpandb/w
...
git-svn-id: branches/tg74/avx512-0037785@47251 -
2020-10-29 12:02:27 +00:00
tg74
ee4859e1e2
bugfix vpexpandb/w
...
git-svn-id: branches/tg74/avx512-0037785@47239 -
2020-10-28 16:00:34 +00:00
tg74
ab22f9b3fb
bugfix internal assembler - disp8 T1S (vpcompressb,vpcompressw)
...
git-svn-id: branches/tg74/avx512-0037785@47161 -
2020-10-23 15:20:39 +00:00
tg74
c4d80b1694
bugfix external gnu assembler - special handling for any vcvt..-opcodes (opsize S_XMM,S_YMM = prefix (x,y); S_ZMM = without prefix)
...
git-svn-id: branches/tg74/avx512-0037785@47149 -
2020-10-21 12:41:32 +00:00
tg74
1bad350d43
bugfix external assembler gnu-assembler
...
git-svn-id: branches/tg74/avx512-0037785@47141 -
2020-10-19 15:27:43 +00:00
tg74
c65b042856
bugfix opcodes cvt.., vcvt.. memory operands and typesize
...
git-svn-id: branches/tg74/avx512-0037785@47113 -
2020-10-15 08:22:29 +00:00
florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
florian
a3920d5356
* proper change information for avx-512 vcvt* instructions
...
git-svn-id: trunk@47080 -
2020-10-10 21:08:15 +00:00
florian
a8b387a166
+ make use of avx-512 instructions vcvtuis2s* if possible
...
git-svn-id: trunk@47078 -
2020-10-10 21:08:13 +00:00
florian
ad8b2eaf8a
* mm registers 16-31 are also volatile during a call
...
git-svn-id: trunk@47077 -
2020-10-10 21:08:12 +00:00
florian
8e62bf649e
* load 0.0 by (V)XORPS/D instead of (V)PXOR in mm registers
...
git-svn-id: trunk@47073 -
2020-10-10 13:23:35 +00:00
florian
c2c7c23f21
* fix #35841 also for break and continue
...
git-svn-id: trunk@47070 -
2020-10-09 20:55:38 +00:00
florian
73c041a854
* patch by J. Gareth Moreton: propagate exit use in nested try...except statements,
...
resolves #35841
git-svn-id: trunk@47066 -
2020-10-08 20:38:19 +00:00
florian
963fe73d19
+ support all XSAVE instructions, resolves #37864
...
git-svn-id: trunk@47042 -
2020-10-03 14:51:31 +00:00
florian
1fb7603f61
* x86: ImulMov2Imul optimization
...
* x86: apply OptPass1VOP also to vsqrts*
git-svn-id: trunk@46955 -
2020-09-25 20:06:27 +00:00
florian
6f661e44d0
* do not throw an internal error later on in case of a recursive call, if the declaration of the function was faulty, resolves #37460
...
git-svn-id: trunk@45975 -
2020-07-31 21:03:35 +00:00
Jonas Maebe
eb7ba1690e
* mark all external assemblers using an LLVM tool using af_llvm
...
+ added support for constructing target triplets
* pass "-target triplet" when using an LLVM assembler
o removed no longer needed $DARWINVERSION and $ARCH parameters
* consistently use as_clang_gas when clang is used to assembler GAS-style
assembly, and rename as_llcm_clang to as_clang_llvm (for consistency)
* support pipe assembling when using clang on *nix in all cases
git-svn-id: trunk@45807 -
2020-07-19 14:30:35 +00:00
florian
84a1f614d9
* fix several double ;
...
git-svn-id: trunk@45488 -
2020-05-24 17:52:09 +00:00
florian
afb68dbcf3
* factored out OptPass1VPXor
...
git-svn-id: trunk@45487 -
2020-05-24 17:52:07 +00:00
florian
82a3877126
+ x86: track use of full ymm registers and generate vzeroupper if needed
...
git-svn-id: trunk@45484 -
2020-05-24 17:52:05 +00:00
florian
809fb83334
* adapt optimizer to handle push/pop for stack alignment
...
* adapt test
git-svn-id: trunk@45477 -
2020-05-23 17:50:14 +00:00
florian
8f0a3cfce7
* x86-64: adjust stack by push/pop if possible
...
git-svn-id: trunk@45476 -
2020-05-23 17:50:13 +00:00
florian
9b54588d75
+ PXorPXor2PXor optimization
...
git-svn-id: trunk@45430 -
2020-05-18 21:28:45 +00:00
nickysn
a8fe46c0f5
+ introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
...
output label to that length
git-svn-id: branches/z80@45066 -
2020-04-25 12:59:25 +00:00
svenbarth
2b59000d56
+ implement compiler support for SEH on Win64
...
Note: due to the way we access variables in a nested function (which in this case includes exception filters) we can not extract the finally handlers and call them (like we do on i386 and x86_64, but instead we duplicate the finally code)
git-svn-id: trunk@44941 -
2020-04-21 06:06:05 +00:00
Jonas Maebe
10b15628ab
* split i/t_darwin from i/t_bsd, as they don't have that much in common
...
any more
git-svn-id: trunk@44407 -
2020-03-29 18:27:27 +00:00
florian
ef3155c2ef
* there is no exit stackframe needed if a subroutine never returns
...
git-svn-id: trunk@44191 -
2020-02-16 13:06:19 +00:00
florian
892454ff17
* patch by J. Gareth Moreton: optimize MOVSXD as well, resolves #36700
...
git-svn-id: trunk@44185 -
2020-02-15 20:53:40 +00:00
florian
993144b91b
* patch by J. Gareth Moreton: x86 SUB and LEA optimisations, resolves #36622
...
git-svn-id: trunk@44030 -
2020-01-24 21:10:17 +00:00