Commit Graph

24110 Commits

Author SHA1 Message Date
Károly Balogh
9d67adcbb6 * regenerated all Makefiles after Sinclair QL support was added
git-svn-id: trunk@47453 -
2020-11-19 02:58:27 +00:00
pierre
c44095733c * Give access to CPU specific fields of tsettings record
in GENERIC_CPU mode, to be used by ppudump utility.

  generic/cpuinfo.pas: Add tinstructionset, used for ARM cpu.
  globals.pas: Put all CPU specific fields of tsettings record
  inside a variant part when GENERIC_CPU is defined.
  Also import llvm unit when GENERIC_CPU is defined.

  + utils/Makefile.fpc: Add -Fu../llvm option to compile ppudump,
  as it now also needs llvm specific code decause of globals unit change.

git-svn-id: trunk@47438 -
2020-11-16 22:34:38 +00:00
florian
6380df9b42 * correctly simplify tree transforms of (a+c1+c2) if a is a pointer, resolves #37671
git-svn-id: trunk@47437 -
2020-11-16 21:47:19 +00:00
florian
e94fb2edc3 * better writing of ordinal const. nodes
git-svn-id: trunk@47436 -
2020-11-16 21:47:18 +00:00
pierre
f0b22a1569 Revert commit #47257, Disable use of cmov instructions in alignment patterns for some i386 targets (it prevents use of some emulators)
Replace it by a new set of i386 targets, for which the default cpu is set to i80486 instead of pentium2
  to avoid (for default configuration) use of CMOVxx or PREFETCHyyy instructions, not supported by some emulators.

git-svn-id: trunk@47433 -
2020-11-16 17:04:46 +00:00
Károly Balogh
24226ef4af sinclairql: following Frank Wille's advices, reworked the linker script to omit .bss section from the binary. this reduces a simple 'hello, world' size by ~5K. needs matching startup code.
git-svn-id: trunk@47428 -
2020-11-15 22:56:31 +00:00
Károly Balogh
a0543f7f9b sinclairql: the newline on this system is LF, not CRLF
git-svn-id: trunk@47427 -
2020-11-15 19:45:06 +00:00
florian
878f6d9ce4 * allow generic parameters as iterator variable in for in loops, resolves #38050
git-svn-id: trunk@47425 -
2020-11-15 19:10:34 +00:00
svenbarth
3d2ee097b5 * fix for Mantis #38083: ensure that the sp_generic_dummy flag is set correctly on the new procsym when replacing a dummy sym
+ added test

git-svn-id: trunk@47424 -
2020-11-15 16:27:26 +00:00
florian
98eab07abd * simplified and fixed code of (v1=const1) and (v2=const2) optimization, resolves #38066
git-svn-id: trunk@47423 -
2020-11-15 16:17:54 +00:00
Károly Balogh
e5d2c1a980 m68k: fixed parsing of constants to absolute addresses
git-svn-id: trunk@47419 -
2020-11-15 03:55:42 +00:00
Károly Balogh
a82a587a1b m68k: fixed parsing of absolute addresses in the assembler reader
git-svn-id: trunk@47418 -
2020-11-15 03:43:26 +00:00
Károly Balogh
1635d04b7b sinclairql: add a note about .bss sections and the binary size, no functional change
git-svn-id: trunk@47417 -
2020-11-14 23:51:37 +00:00
Károly Balogh
b64edc0170 sinclairql: reduce default stack size to 8K
git-svn-id: trunk@47416 -
2020-11-14 23:50:35 +00:00
florian
089e13396a * ensure that changed compiler options do not cause values
ending up in registers which cannot be hold in registers

git-svn-id: trunk@47415 -
2020-11-14 18:40:58 +00:00
florian
bf7961a901 * fixes for nasm writer, resolves #38074
+ test

git-svn-id: trunk@47413 -
2020-11-13 21:39:16 +00:00
florian
e440bf0e00 * cosmetics
git-svn-id: trunk@47403 -
2020-11-12 20:32:00 +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
florian
d9784412a4 * patch by Cyrax: forbid to use heaptrc and valgrind at the same time, resolves #36529
* load cmem before line* units as they might allocate memory

git-svn-id: trunk@47390 -
2020-11-11 20:55:03 +00:00
tg74
dbfff3f76a bugfix movss/vmovss
git-svn-id: branches/tg74/avx512-0037785@47389 -
2020-11-11 16:26:49 +00:00
tg74
c25c24e411 bugfix vfnmadd231sd
git-svn-id: branches/tg74/avx512-0037785@47388 -
2020-11-11 16:25:11 +00:00
tg74
99882e8d59 bugfix internal assembler compiling vpmov*
git-svn-id: branches/tg74/avx512-0037785@47386 -
2020-11-11 05:07:56 +00:00
pierre
eb67d87dec Avoid uninitialized variable warning with -O4 option
git-svn-id: trunk@47384 -
2020-11-10 23:52:51 +00:00
pierre
d2247f6539 Use MPW linker variant also for m68k-macosclassic target
git-svn-id: trunk@47383 -
2020-11-10 22:37:24 +00:00
pierre
10273e54dd Remove setting of USE_FAKE_SYSUTILS macro for MacOSClassic, as sysutils is now compiled for that OS
git-svn-id: trunk@47382 -
2020-11-10 22:36:31 +00:00
florian
eadcaa5dfc * Arm Thumb does not support complex references including SP, resolves #38056
git-svn-id: trunk@47380 -
2020-11-10 22:04:55 +00:00
Károly Balogh
3abee173f4 * regenerated msgidx/msgtxt after r47376
git-svn-id: trunk@47377 -
2020-11-10 21:31:47 +00:00
Károly Balogh
51d8ec90a7 sinclairql: now the target short name is also sinclairql as proposed by Pierre, so it's unified everywhere
git-svn-id: trunk@47376 -
2020-11-10 21:31:04 +00:00
pierre
bcd52d66ee Use default linker script and only add FPC specific sections for Linux OS
git-svn-id: trunk@47374 -
2020-11-10 17:21:00 +00:00
florian
c3a0e0c6d2 * compilation on i386 fixed
git-svn-id: trunk@47369 -
2020-11-09 21:46:25 +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
pierre
3d374727dd Move explicit typecast to after check to avoid RTE when compiled with -CR
git-svn-id: trunk@47367 -
2020-11-09 21:19:40 +00:00
Károly Balogh
82e16f02ca sinclairql: make sure the default CPU target is 68000 for the QL. also, some cleanups
git-svn-id: trunk@47360 -
2020-11-09 01:03:44 +00:00
Károly Balogh
53928dc0ed m68k: fix references like <symbol>(An) to parse properly in the assembler reader
git-svn-id: trunk@47356 -
2020-11-08 23:56:00 +00:00
Jonas Maebe
091b0fde0c * fixed type of size parameter passed to fpc_getmem() when translating
new(pointer) (mantis #38054)

git-svn-id: trunk@47355 -
2020-11-08 22:42:38 +00:00
svenbarth
359ff64afd * increase PPU version so that the change of Chr() to a full intrinsic will not lead to problems
git-svn-id: trunk@47354 -
2020-11-08 22:23:09 +00:00
svenbarth
c496b609d1 * fix for Mantis #38051: make Chr() a real intrinsics so that it can be used in type declarations as well
+ added test

git-svn-id: trunk@47353 -
2020-11-08 22:23:02 +00:00
tg74
7eb20b88a9 cleanup
git-svn-id: branches/tg74/avx512-0037785@47352 -
2020-11-08 22:16:55 +00:00
Károly Balogh
954123deb3 sinclairql: when linking with vlink, generate an unrelocated binary with appended relocation info, so the startup code can relocate it
git-svn-id: trunk@47347 -
2020-11-08 20:38:42 +00:00
florian
47066f0ce7 * moved UseAVX from cgx86 to cpubase
+ UseAVX512

git-svn-id: trunk@47346 -
2020-11-08 19:39:18 +00:00
florian
e46b426ca1 + tx86addnode.second_opvector makes use of AVX instructions
git-svn-id: trunk@47345 -
2020-11-08 19:39:17 +00:00
florian
f7050ef41a + take care of vzeroupper in exit code optimizations
git-svn-id: trunk@47333 -
2020-11-07 10:42:44 +00:00
florian
81e8982dd4 + completed Ch_* information for VMOVD*
git-svn-id: trunk@47332 -
2020-11-07 10:42:43 +00:00
florian
6ec460c619 * patch by J. Gareth Moreton: MOV/LDR/STR/MOV optimisations for ARM/AArch64, resolves #37638
git-svn-id: trunk@47330 -
2020-11-06 21:41:59 +00:00
florian
3ae370b190 * also use avx copying for mod 4=0 memory blocks
git-svn-id: trunk@47328 -
2020-11-05 22:13:58 +00:00
florian
0d36b05df5 * i386 can use only 8 mm registers with avx-512
git-svn-id: trunk@47318 -
2020-11-04 22:17:46 +00:00
florian
1add3490c3 + i386 supports also avx-512
git-svn-id: trunk@47317 -
2020-11-04 22:10:35 +00:00
florian
b47d2bd2c2 * allow var alignment up to 64 bytes
git-svn-id: trunk@47316 -
2020-11-04 21:31:50 +00:00
florian
f8d33dc188 * fix tcgx86.a_loadmm_reg_ref and tcgx86.a_loadmm_ref_reg for 64 OS_M512
git-svn-id: trunk@47315 -
2020-11-04 21:31:49 +00:00