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
nickysn
64bb0359d2
* synchronized with trunk
...
git-svn-id: branches/wasm@48412 -
2021-01-24 23:38:35 +00:00
yury
0a021be803
* Corrected visibility of overridden methods.
...
git-svn-id: trunk@48385 -
2021-01-24 12:41:12 +00:00
yury
64c586b86d
* Removed/ifdefed lots of unused variables.
...
git-svn-id: trunk@48384 -
2021-01-24 12:24:01 +00:00
nickysn
f5d75423b9
* fixed ti8086vecnode.get_address_type not returning result
...
git-svn-id: branches/wasm@48377 -
2021-01-24 03:12:22 +00:00
nickysn
a69f7094dd
+ override get_address_type for the i8086 code generator and return near pointer
...
types, because that's what's needed for the i8086 address calculations in
update_reference_reg_mul (the indexing operation is performed on the offset
only)
git-svn-id: branches/wasm@48161 -
2021-01-15 15:47:38 +00:00
florian
b03eefd5d0
* Ch_ information for vreduce* fixed
...
git-svn-id: trunk@47842 -
2020-12-23 17:58:07 +00:00
florian
aeff5b3577
* improved change information
...
git-svn-id: trunk@47781 -
2020-12-15 21:33:33 +00:00
florian
92520c423e
* x86 change information updated
...
git-svn-id: trunk@47698 -
2020-12-06 16:22:38 +00:00
pierre
a7fa31aa10
Fix i8086 compiler failure due to move of printnodeindention variable into verbose unit in commit #47658
...
git-svn-id: trunk@47664 -
2020-12-02 09:29:08 +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
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
963fe73d19
+ support all XSAVE instructions, resolves #37864
...
git-svn-id: trunk@47042 -
2020-10-03 14:51:31 +00:00
yury
e5a923eb7a
* 8086: Proper implementation of: If a far procvar is called, it must be in a memory location. This fixes a hack to emulate CALL reg1:reg2.
...
git-svn-id: trunk@46641 -
2020-08-23 10:26:54 +00:00
yury
04baeb2bcf
* 8086: Reverted r46557. It must be implemented differently.
...
git-svn-id: trunk@46561 -
2020-08-23 00:17:40 +00:00
yury
00db7646c8
* 8086: Fixed register allocation failure after r46559.
...
git-svn-id: trunk@46560 -
2020-08-22 23:42:12 +00:00
yury
5ec101d578
* 8086: Do not destroy contents of the BX parameter when calling a procvar by ref with a base.
...
git-svn-id: trunk@46559 -
2020-08-22 23:06:55 +00:00
yury
eee67af684
* 8086: Fixed using far procvars in a near code memory model and vice versa.
...
git-svn-id: trunk@46558 -
2020-08-22 22:17:03 +00:00
yury
6a3971c9b6
* 8086: If a far procvar is called, it must be in a memory location. This fixes a hack to emulate CALL reg1:reg2.
...
git-svn-id: trunk@46557 -
2020-08-22 22:12:40 +00:00
yury
97eb32e6fd
* 8086: Also fixed loading a register to a 32-bit ref in case the source register is used as the ref base or index.
...
git-svn-id: trunk@46491 -
2020-08-19 10:27:19 +00:00
yury
4873ec73a7
* 8086: Fixed loading a 32-bit ref to a register in case the target register is used as the ref base or index.
...
git-svn-id: trunk@46490 -
2020-08-19 10:20:47 +00:00
yury
e4b717c817
* 8086: More fixes for Ofs() handling.
...
git-svn-id: trunk@46478 -
2020-08-18 09:52:40 +00:00
yury
2186846ab1
* 8086: Fixed an internal error for cases like FarPtr2 := FarPointer($12345678) + int16;
...
git-svn-id: trunk@46477 -
2020-08-18 09:19:20 +00:00
yury
222f981dd1
* 8086: Fixed Ofs() for far routines.
...
resultdef of typeconvnode.typecheck_proc_to_procvar() is reused every time you get an address of a proc. So it is forbidden to change the far/near attribute of resultdef - it leads to mess during code generation.
Instead it is needed to use separate reusable resultdefs with new flags pc_far_address and pc_offset.
git-svn-id: trunk@46470 -
2020-08-17 13:37:55 +00:00
yury
631ec77157
* 8086: Fixed calling of local routines with the near attribute in the 'far code' memory models.
...
git-svn-id: trunk@46431 -
2020-08-14 16:17:18 +00:00
yury
0000682043
* i8086: When a ref points to the 32-bit data, preload the ref base to a temp register to reduce spilling.
...
git-svn-id: trunk@46204 -
2020-08-03 18:52:17 +00:00
yury
e70c898503
* Removed the i8086 specific hack. Since r46199 the register allocator is able to handle the problem code.
...
git-svn-id: trunk@46200 -
2020-08-03 16:51:20 +00:00
yury
2839533776
* i8086: Enabled the cs_opt_regvar optimization. It works fine now.
...
git-svn-id: trunk@45847 -
2020-07-24 16:45:44 +00:00
yury
34a5dfc885
* i8086: Fixed referencing using BP and SP as base when FAR or HUGE memory model is used.
...
git-svn-id: trunk@45846 -
2020-07-24 16:42:09 +00:00
yury
b1b9d1f341
* i8086: Removed internal error, since global vars can be in registers if used only in pascalmain.
...
git-svn-id: trunk@45845 -
2020-07-24 16:39:26 +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
nickysn
92043c6e20
* call inherited in tcg64f8086.a_op64_reg_ref for OP_NEG and OP_NOT, because it is handled differently after r45302
...
git-svn-id: trunk@45305 -
2020-05-07 11:51:58 +00:00
nickysn
4f4d8191f0
+ generate more optimal code for OP_NOT and OP_NEG in tcg64f8086.a_op64_ref
...
git-svn-id: trunk@45304 -
2020-05-07 03:34:20 +00:00
nickysn
52572e10e9
* i8086 compilation fixed after r45302
...
git-svn-id: trunk@45303 -
2020-05-07 02:57:57 +00:00
nickysn
0f6ab0de17
* handle LOC_(C)SUBSETREG/REF in second_NegNot_assign
...
* changed the way OP_NEG and OP_NOT are handled in op_reg_ref, in order to be
consistent with op_reg_reg
* introduced op_reg,op_ref,op_subsetreg,op_subsetref and op_loc for the unary
operations only (OP_NEG,OP_NOT)
git-svn-id: trunk@45302 -
2020-05-07 02:43:02 +00:00
Jonas Maebe
592df7fa59
* disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
...
that itself, our LLVM code generator can't handle it, and if it did then
afterwards we would have to spill 90% of those register variables again
to make them SSA)
git-svn-id: trunk@44062 -
2020-01-29 22:21:07 +00:00
florian
16152cf948
* patch by J. Gareth Moreton: get rid of another pass through the assembler list by integrating OptReferences
...
into the post optimizer pass
git-svn-id: trunk@44001 -
2020-01-19 20:11:05 +00:00
Jonas Maebe
1e3f72403e
* renamed getintparaloc to getcgtempparaloc
...
o it can be used for more than integer parameters
git-svn-id: trunk@43781 -
2019-12-24 22:12:25 +00:00
florian
ef87879402
* common naming for fpu_none string
...
git-svn-id: trunk@43768 -
2019-12-24 16:14:28 +00:00