nickysn
|
97ca0fa323
|
- removed ti8086inlinenode.second_round_real, second_trunc_real and load_fpu_location as they mostly repeat the code in tx86inlinenode.load_fpu_location; tx86inlinenode.load_fpu_location adapted for i8086 instead
git-svn-id: branches/i8086@24237 -
|
2013-04-14 14:25:22 +00:00 |
|
nickysn
|
3870f76cda
|
* ncgutil: set pushexceptaddr_frametype_cgsize and setjmp_result_cgsize according to cpu16bitaddr, instead of cpu16bitalu
git-svn-id: branches/i8086@24233 -
|
2013-04-12 13:38:18 +00:00 |
|
nickysn
|
107a6f6552
|
* i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc
git-svn-id: branches/i8086@24232 -
|
2013-04-12 12:06:28 +00:00 |
|
nickysn
|
70a0d2989c
|
* fixed tmoddivnode.pass_typecheck on 64-bit CPUs; I was wrong about uint64 div uint64 producing int64 on 64-bit CPUs; this fixes make cycle on e.g. x86_64
git-svn-id: branches/i8086@24226 -
|
2013-04-11 19:51:01 +00:00 |
|
nickysn
|
3c6df5bedc
|
* use is_nativeuint() in ninl.get_str_int_func(), instead of the ifdef sequence
git-svn-id: branches/i8086@24217 -
|
2013-04-09 20:39:58 +00:00 |
|
nickysn
|
7a15fd0444
|
* in the case of (uint8 div/mod small_positive_const), convert the const to unsigned, so that we don't do a 16-bit division on 8-bit CPUs
git-svn-id: branches/i8086@24209 -
|
2013-04-08 18:08:10 +00:00 |
|
nickysn
|
3558766390
|
* first attempt to simplify tmoddivnode.pass_typecheck handling of all cpu native int sizes
git-svn-id: branches/i8086@24208 -
|
2013-04-08 17:11:33 +00:00 |
|
nickysn
|
0dcbb4f1cc
|
* refactored tunaryplusnode.pass_typecheck as well
git-svn-id: branches/i8086@24185 -
|
2013-04-07 16:50:30 +00:00 |
|
nickysn
|
a3117beb12
|
* refactored tunaryminusnode.pass_typecheck to handle all native int sizes generically, without ifdefs
git-svn-id: branches/i8086@24184 -
|
2013-04-07 16:45:52 +00:00 |
|
nickysn
|
0473cbf70f
|
* refactored the add node type check pass to handle all native integer sizes with the same common code, without ifdefs
git-svn-id: branches/i8086@24174 -
|
2013-04-07 11:03:08 +00:00 |
|
nickysn
|
2486009d37
|
+ support u64bit as well in defutil.range_to_basetype
git-svn-id: branches/i8086@24173 -
|
2013-04-07 10:57:27 +00:00 |
|
nickysn
|
59976c3ac8
|
* use FixNonCommutativeOpcodes in agx86int.pas as well (fixes compilation for i386)
git-svn-id: branches/i8086@24168 -
|
2013-04-06 23:23:25 +00:00 |
|
nickysn
|
d88855566a
|
+ added defutil.is_nativesint and is_nativeuint
git-svn-id: branches/i8086@24167 -
|
2013-04-06 23:03:12 +00:00 |
|
nickysn
|
70d02e6942
|
+ added defutil.is_nativeint and is_nativeord
git-svn-id: branches/i8086@24166 -
|
2013-04-06 22:58:04 +00:00 |
|
nickysn
|
7bce3c5208
|
* reverse the order of checks for determining the native int type (e.g. 8086 in large memory model would have 32-bit addresses, but a 16-bit native int)
git-svn-id: branches/i8086@24165 -
|
2013-04-06 22:44:07 +00:00 |
|
florian
|
ad0b0455d8
|
* extended comment
git-svn-id: branches/i8086@24152 -
|
2013-04-04 21:06:10 +00:00 |
|
nickysn
|
c3aaa37c0c
|
* fixed a bug which caused non commutative fpu instructions to be wrong when using an intel-style external assembler and compiling a smartlinked unit
git-svn-id: branches/i8086@24151 -
|
2013-04-04 20:17:50 +00:00 |
|
nickysn
|
889e8650f1
|
* fixed compiler crash due to infinite recursion when compiling boolean to longint conversion on a 16 or 8-bit CPU
git-svn-id: branches/i8086@24135 -
|
2013-04-03 00:16:41 +00:00 |
|
nickysn
|
848eeceded
|
* use min and max in defutil.get_common_intdef
git-svn-id: branches/i8086@24120 -
|
2013-04-01 20:25:42 +00:00 |
|
nickysn
|
949210e808
|
+ added min and max functions for Tconstexprint
git-svn-id: branches/i8086@24119 -
|
2013-04-01 20:23:14 +00:00 |
|
nickysn
|
a8d72cc11a
|
* bug fix in defutil.get_common_intdef
git-svn-id: branches/i8086@24115 -
|
2013-04-01 19:25:11 +00:00 |
|
nickysn
|
8a1178e4e9
|
* regenerated makefiles
git-svn-id: branches/i8086@24114 -
|
2013-04-01 17:30:11 +00:00 |
|
nickysn
|
873d5f7d05
|
* makefiles regenerated
git-svn-id: branches/i8086@24103 -
|
2013-04-01 02:02:53 +00:00 |
|
nickysn
|
526c3b9c9b
|
* val, str and read/write(ln) now use is_oversizedint/ord to determine which helper function to use; this also clears the warnings that prevented compilation of the 64-bit targets
git-svn-id: branches/i8086@24092 -
|
2013-03-31 16:27:26 +00:00 |
|
nickysn
|
9c435a0bcb
|
+ added is_8/16bit and is_oversizedint/is_oversizedord helper functions in defutil.pas
git-svn-id: branches/i8086@24091 -
|
2013-03-31 16:25:22 +00:00 |
|
nickysn
|
7b8e18ba40
|
* updated aint to tcgint in jvm/hlcgcpu.pas as well (needed after r23761)
git-svn-id: branches/i8086@24088 -
|
2013-03-31 12:52:56 +00:00 |
|
nickysn
|
91038d6d0a
|
* prevent compilation warning due to function result not being set in tinlinenode.first_seg
git-svn-id: branches/i8086@24084 -
|
2013-03-30 20:32:52 +00:00 |
|
nickysn
|
be761ba232
|
* sequences that check for cpu64bitaddr made to also check for cpu32bitaddr instead of cpu32bitalu. this fixes ppcjvm compilation
git-svn-id: branches/i8086@24083 -
|
2013-03-30 20:31:52 +00:00 |
|
nickysn
|
4d8adbf5ff
|
+ implemented Seg() for i8086 (small/tiny memory model)
git-svn-id: branches/i8086@24071 -
|
2013-03-30 13:04:58 +00:00 |
|
nickysn
|
917a1eb0f2
|
* the default Seg() handling moved to virtual methods, so that they can be overriden in the i8086 code generator
git-svn-id: branches/i8086@24070 -
|
2013-03-30 12:08:24 +00:00 |
|
nickysn
|
f270263d3d
|
* default stack size for msdos changed to 4096 bytes
git-svn-id: branches/i8086@24066 -
|
2013-03-30 11:00:46 +00:00 |
|
nickysn
|
324b4a8a0a
|
* declare the .bss sections with class=bss, so wlink treats them as bss sections and leaves them out of the executable
git-svn-id: branches/i8086@24064 -
|
2013-03-30 00:49:11 +00:00 |
|
florian
|
1ab42714c3
|
+ fix compilation by adding a Int32 type, no sure why it is needed
git-svn-id: branches/i8086@24055 -
|
2013-03-29 15:15:12 +00:00 |
|
florian
|
fef7832790
|
* enable absolute for i8086-msdos
git-svn-id: branches/i8086@24054 -
|
2013-03-29 15:13:29 +00:00 |
|
florian
|
40af7b2817
|
+ add msdos target to ppudump
git-svn-id: branches/i8086@24051 -
|
2013-03-29 10:46:34 +00:00 |
|
nickysn
|
615d6e4a51
|
* internal compiler handling of Val() fixed for 16/8-bit CPUs
git-svn-id: branches/i8086@24049 -
|
2013-03-29 01:38:21 +00:00 |
|
nickysn
|
1e28790e99
|
* fpc_PushExceptAddr's parameter Ft changed from LongInt to SmallInt on 16-bit CPUs for better efficiency
git-svn-id: branches/i8086@24036 -
|
2013-03-28 15:44:50 +00:00 |
|
nickysn
|
5cda24a0b6
|
* fixed a lot of int64 const bugs on 16/8-bit CPUs by changing typecasts from aint to tcgint
git-svn-id: branches/i8086@24019 -
|
2013-03-27 01:01:15 +00:00 |
|
nickysn
|
f780d37d5e
|
* proper defines of aitconst_ptr, aitconst_ptr_unaligned and aitconst_aint for 16-bit and 8-bit CPUs
git-svn-id: branches/i8086@24015 -
|
2013-03-27 00:01:30 +00:00 |
|
nickysn
|
b79569ed2f
|
* Borland Pascal compatibility for 16-bit CPUs: int16 shl int32 now produces int32; this fixes writeln(longint) on the i8086-msdos target
git-svn-id: branches/i8086@24011 -
|
2013-03-26 00:59:04 +00:00 |
|
nickysn
|
e16e08b2b6
|
+ added CPU 286 nasm directive to the i8086 assembly output in order to catch 386+ instructions; the RTL now compiles without generating any 386+ instructions
git-svn-id: branches/i8086@24010 -
|
2013-03-26 00:57:38 +00:00 |
|
nickysn
|
53ad3fc662
|
+ Str() handling in the compiler fixed for 16/8-bit CPU support
git-svn-id: branches/i8086@24009 -
|
2013-03-25 23:58:09 +00:00 |
|
nickysn
|
8fa9105151
|
+ 16-bit and 8-bit CPU support added in the internal handling of read/readln/write/writeln
git-svn-id: branches/i8086@24007 -
|
2013-03-25 23:23:48 +00:00 |
|
nickysn
|
44ef72e1a4
|
* use the generic implementation of abs for the i8086
git-svn-id: branches/i8086@24004 -
|
2013-03-25 21:43:47 +00:00 |
|
nickysn
|
8d75441b6e
|
* do not generate prefetchnt instructions on the i8086
git-svn-id: branches/i8086@24003 -
|
2013-03-25 19:18:18 +00:00 |
|
nickysn
|
f38114b34b
|
* the result of FPC_SETJMP changed to 16-bit int on 16-bit CPUs
git-svn-id: branches/i8086@24001 -
|
2013-03-25 18:12:18 +00:00 |
|
nickysn
|
eefc9eed90
|
* do not use 'NEAR' conditional jumps on the i8086, because they are 386+
git-svn-id: branches/i8086@23993 -
|
2013-03-25 00:24:35 +00:00 |
|
nickysn
|
1f5d384a1e
|
* i8086 fix in tx86casenode.genlinearlist
git-svn-id: branches/i8086@23990 -
|
2013-03-24 23:03:06 +00:00 |
|
nickysn
|
29c7d38e43
|
* 16-bit ALU fixes in tcgcasenode.genlinearcmplist
git-svn-id: branches/i8086@23989 -
|
2013-03-24 22:40:27 +00:00 |
|
nickysn
|
284f1c904a
|
* fixed a parameter pushing order bug on the i8086
git-svn-id: branches/i8086@23986 -
|
2013-03-24 20:41:51 +00:00 |
|