pierre
38704411b2
Define conditional FASTMOVE_DISABLE_SSE3 to discard SSE specific code, needed for Watcom Assembler support
...
git-svn-id: trunk@36849 -
2017-08-04 20:53:09 +00:00
pierre
f4ecf87a50
Add conditional FASTMOVE_DISABLE_SSE3 to be able to discard SSE specific code, needed for Watcom Assembler support
...
git-svn-id: trunk@36848 -
2017-08-04 20:51:58 +00:00
nickysn
ee79ff3635
* improved the optimization of signed modulus by power-of-2, so it uses less
...
operations. Previously generated code:
sign:=sar(left,sizeof(left)*8-1);
result:=((((left xor sign)-sign) and right) xor sign)-sign;
New code:
mask:=sar(left,sizeof(left)*8-1) and ((1 shl power)-1);
result:=((left+mask) and right)-mask;
git-svn-id: trunk@36847 -
2017-08-04 16:20:50 +00:00
svenbarth
8ffc035a86
* inline for simple methods
...
git-svn-id: trunk@36846 -
2017-08-04 15:51:08 +00:00
nickysn
a1928859b3
* in the optimization of signed division by power-of-2 constant in
...
tmoddivnode.firstoptimize, replaced tordconstnode(right).value-1 with
tcgint((qword(1) shl power)-1), so that it becomes independent from the sign
of right, so that in the future, we can also apply this optimization for
negative power-of-2 divisors as well (only a unary minus node would have to
be inserted in this case).
git-svn-id: trunk@36845 -
2017-08-04 15:50:33 +00:00
pierre
42bfa3967c
Fix compilation of sysutils unit
...
git-svn-id: trunk@36844 -
2017-08-04 15:10:05 +00:00
pierre
ee4956be40
Define FPC_ANSI_TEXTFILEREC for watcom OS
...
git-svn-id: trunk@36843 -
2017-08-04 14:58:58 +00:00
nickysn
277026ffd4
* perform the high level signed division by power-of-2 optimization for all
...
int types, larger than the ALU of the CPU, instead of just for 64-bit ints on
32-bit or smaller CPUs.
git-svn-id: trunk@36842 -
2017-08-04 14:34:42 +00:00
pierre
afab9524f2
Add missing SharedSuffix constant to system unit
...
git-svn-id: trunk@36841 -
2017-08-04 14:17:28 +00:00
pierre
a07d649343
Fix compilation of sysutils unit for netware
...
git-svn-id: trunk@36840 -
2017-08-04 14:13:39 +00:00
nickysn
b9fdca6f49
+ better high level optimization for 64-bit signed division by 2 on 32-bit and
...
lower CPUs. Instead of the (sar(temp,sizeof(temp)*8-1) and 1) expression, use
the equivalent, but simpler (temp shr (sizeof(temp)*8-1))
git-svn-id: trunk@36839 -
2017-08-04 13:51:51 +00:00
pierre
1aab7e7ee2
Fix compilation of netware system unit
...
git-svn-id: trunk@36838 -
2017-08-04 13:51:07 +00:00
svenbarth
c9be061921
* put test files that are outside of the tests directory into a "root" subdirectory of tests
...
git-svn-id: trunk@36837 -
2017-08-04 13:49:02 +00:00
pierre
5dec40d089
Add more CPU options to embedded/rtl.cfg
...
git-svn-id: trunk@36836 -
2017-08-04 13:38:07 +00:00
pierre
987dd2754c
Add explicit object file name (required when using linux wasm executable, for which default object extension is .o not .obj
...
git-svn-id: trunk@36835 -
2017-08-04 13:26:17 +00:00
pierre
4626db1814
Adapt to DoDirSeparators declaration change
...
git-svn-id: trunk@36834 -
2017-08-04 13:25:16 +00:00
pierre
d7cdbcd71e
m68k CPU also needs -SfSOFTFPU option
...
git-svn-id: trunk@36833 -
2017-08-04 13:09:37 +00:00
pierre
7966957ec9
Add configuration options for i8086 and m68k CPUs
...
git-svn-id: trunk@36832 -
2017-08-04 12:56:15 +00:00
pierre
db00b1e554
Fix two obvious compilation errors
...
git-svn-id: trunk@36831 -
2017-08-04 12:26:24 +00:00
pierre
a1b956f778
Remove erroneous directory prefixes for PPU files in dependencies
...
git-svn-id: trunk@36830 -
2017-08-04 12:18:35 +00:00
pierre
9fb2652433
List possible CPU in alphabetical order
...
git-svn-id: trunk@36829 -
2017-08-04 11:14:12 +00:00
pierre
4d29122097
msgtxt.inc and msgidx.inc regenerated after: Remove obsolete -Tsunos help line, it is not accpeted by the compiler anymore
...
git-svn-id: trunk@36828 -
2017-08-04 09:38:59 +00:00
pierre
8fba611697
Remove obsolete -Tsunos help line, it is not accpeted by the compiler anymore
...
git-svn-id: trunk@36827 -
2017-08-04 09:38:08 +00:00
pierre
1322a3f53e
Avoid double rule for system unit
...
git-svn-id: trunk@36826 -
2017-08-04 09:16:54 +00:00
pierre
e6d282d2ed
Avoid double rule for iso7185 unit
...
git-svn-id: trunk@36825 -
2017-08-04 09:12:39 +00:00
pierre
708b9e162c
Add obsolete comment in ppudump output for obsoleted cpu and systems
...
git-svn-id: trunk@36824 -
2017-08-04 09:07:01 +00:00
pierre
3d5be0fd2d
Add obsolete prefix to cpu_vm and system_vm_embedded, vm(vis) specfic code has been removed in rev 30836 dated 2015-05-09
...
git-svn-id: trunk@36823 -
2017-08-04 09:02:50 +00:00
pierre
f281ee339e
Add obsolete prefix to cpu_ia64, system_ia64_win64 and system_ia64_embedded, ia64 specfic code has been removed in rev 30836 dated 2015-05-09
...
git-svn-id: trunk@36822 -
2017-08-04 08:54:34 +00:00
pierre
cf5c6d11ac
Add obsolete prefix to cpu_alpha, system_alpha_linux and system_alpha_embedded, alpha specfic code has been removed in rev 30836 dated 2015-05-09
...
git-svn-id: trunk@36821 -
2017-08-04 08:29:02 +00:00
nickysn
ee4c82f5f5
* in the high level optimization of signed division by power-of-2 constant, set
...
shiftval to left.resultdef.size*8-1, instead of 31, so that it shifts by 15 or
7 on 16-bit and 8-bit CPUs, when the integer type is small.
git-svn-id: trunk@36820 -
2017-08-03 16:02:27 +00:00
Mattias Gaertner
37c9dc2c3f
fcl-passrc: resolver: eval set of integer range
...
git-svn-id: trunk@36819 -
2017-08-03 09:28:29 +00:00
pierre
936fac3a33
Remove double-compilation of unixtype unit
...
git-svn-id: trunk@36818 -
2017-08-02 22:36:28 +00:00
michael
cccff83bab
* Fix compilation
...
git-svn-id: trunk@36817 -
2017-08-02 11:11:54 +00:00
michael
1729d6a848
* Rework to be able to use in compiler testsuite
...
* Refactor for better code readability
* Set exit status based on bitmask:
bit 0 set -> there were failures
bit 1 set -> there were errors
* Allow use of testdefaults.ini file
* Location of testdefaults.ini file can be set in environment variable FPCUNITCONFIG.
* Improved usage message.
git-svn-id: trunk@36816 -
2017-08-02 10:02:24 +00:00
nickysn
19087d04da
* replace several emit_const_reg calls that generate SHR or SAR instructions
...
with calls to cg.a_op_const_reg in the x86 div code generator, so that the
same code can be used in the future for i8086 as well (SHR and SAR by
constants other than 1 are 186+, so on 8086 they have to go through the CL
register, which is handled correctly in cg.a_op_const_reg)
git-svn-id: trunk@36815 -
2017-07-31 16:02:52 +00:00
florian
f4718c0969
* made nop handling generic for sparc, so it is used by sparc64 as well
...
git-svn-id: trunk@36814 -
2017-07-29 20:06:14 +00:00
pierre
ba7586a5c8
Fix for FPU generated exception as interrupt 0x10, contributed by Max Nazhalov
...
git-svn-id: trunk@36813 -
2017-07-29 11:50:21 +00:00
lacak
301fc9af70
fcl-db: base: fix widestring copy #32215
...
git-svn-id: trunk@36812 -
2017-07-28 19:04:28 +00:00
Mattias Gaertner
4a588fcbc2
pastojs: error on var absolute
...
git-svn-id: trunk@36811 -
2017-07-28 17:50:52 +00:00
Mattias Gaertner
e266fd75e0
fcl-passrc: resolver: read widechar literals
...
git-svn-id: trunk@36810 -
2017-07-28 17:50:24 +00:00
svenbarth
e76b1b2959
* use unique internalerror instead of copying that from ncgmem (though it should never happen that both occur at once in a AVR compiler)
...
git-svn-id: trunk@36809 -
2017-07-28 15:54:03 +00:00
svenbarth
88c98e87cd
* declare REFIID compatible to Win32/Win64
...
git-svn-id: trunk@36808 -
2017-07-28 15:43:13 +00:00
nickysn
b92b0eac83
* also improve the code, generated for signed division by 2 on i8086, when
...
optimize cpu target is 486+, by replacing the sequence
sar reg, 15
and reg, 1
with:
shr reg, 15
git-svn-id: trunk@36807 -
2017-07-28 15:38:40 +00:00
svenbarth
0076284a86
* revert changes from r36770
...
* use constref for REFIID parameters, at least for non-interface functions (interface methods will be done separately as they're a breaking change, not to mention TObject's methods)
git-svn-id: trunk@36806 -
2017-07-28 15:37:49 +00:00
Károly Balogh
4002833001
morphos: also enable the elf32 loader in exeinfo for morphos
...
git-svn-id: trunk@36805 -
2017-07-28 12:20:40 +00:00
Károly Balogh
ac19b0eae6
morphos: enabling lineinfo unit
...
git-svn-id: trunk@36804 -
2017-07-27 22:31:19 +00:00
Károly Balogh
33abf859b4
netbsd/m68k: a fuggly fix for FpLseek, so the compiler works natively at least
...
git-svn-id: trunk@36803 -
2017-07-27 19:02:40 +00:00
Károly Balogh
12697deda7
netbsd: try to support syscalls which return 64bit values properly on 68k
...
git-svn-id: trunk@36802 -
2017-07-27 19:01:38 +00:00
Károly Balogh
071b588da2
netbsd/m68k: tweaks, so it works at least in my test-env with NetBSD/amiga 7.1
...
git-svn-id: trunk@36801 -
2017-07-27 19:00:37 +00:00
nickysn
9e8cc127b0
* improved the code, generated for signed division by 2 on i386 and x86_64 by
...
replacing the sequence
sar reg, 31 (or 63)
and reg, 1
with:
shr reg, 31 (or 63)
git-svn-id: trunk@36800 -
2017-07-27 16:02:30 +00:00