Commit Graph

14935 Commits

Author SHA1 Message Date
nickysn
43dba74a5c + implemented 64-bit shl and shr for i8086
git-svn-id: branches/i8086@23882 -
2013-03-17 02:11:25 +00:00
nickysn
fbc41991f9 * i8086 fixes in tcgx86.a_op_reg_reg for 16-bit OP_SHR,OP_SHL,OP_SAR,OP_ROL,OP_ROR
git-svn-id: branches/i8086@23881 -
2013-03-17 00:05:05 +00:00
nickysn
f75ff8cc26 + enable the div helper for i8086
git-svn-id: branches/i8086@23880 -
2013-03-16 23:20:18 +00:00
nickysn
a9640ad9c6 + insert type conversion for the div result when cpuneedsdiv32helper is used
git-svn-id: branches/i8086@23879 -
2013-03-16 23:12:39 +00:00
nickysn
1dbca4c403 * 16-bit ALU fixes in tmoddivnode.pass_typecheck
git-svn-id: branches/i8086@23878 -
2013-03-16 22:50:09 +00:00
florian
88455bbb02 * 32 bit comparison normally result in LOC_FLAGS on 16 bit CPUs
git-svn-id: branches/i8086@23875 -
2013-03-16 20:02:36 +00:00
florian
636129ed8c * fix interface wrapper generation for i8086
git-svn-id: branches/i8086@23873 -
2013-03-16 19:57:36 +00:00
florian
d6f0a1a0df * do not generate scaled indicies for case table jumps for i8086
git-svn-id: branches/i8086@23872 -
2013-03-16 19:52:53 +00:00
nickysn
5dd5add67a * proper implementation of ti8086addnode.second_cmp64bit
git-svn-id: branches/i8086@23871 -
2013-03-16 19:01:15 +00:00
nickysn
56d2830beb + implemented 32-bit comparisons on the i8086
git-svn-id: branches/i8086@23870 -
2013-03-16 18:13:11 +00:00
nickysn
a274e62724 + added defutil.is_32bit helper function, similar to is_64bit
git-svn-id: branches/i8086@23869 -
2013-03-16 17:54:52 +00:00
florian
edd4c1ce4b * proper fix to avoid sp relative adressing as r23867 tries
git-svn-id: branches/i8086@23868 -
2013-03-16 16:51:31 +00:00
nickysn
01106a0968 * support stack relative addresses in a_loadfpu_reg_ref on the i8086
git-svn-id: branches/i8086@23867 -
2013-03-16 16:05:38 +00:00
nickysn
573ea10ef3 * fixed val when the 'code' parameter is the same size as the native CPU int type, but unsigned
git-svn-id: branches/i8086@23859 -
2013-03-16 12:42:37 +00:00
nickysn
b178a038f5 * set the FileRec size for i8086
git-svn-id: branches/i8086@23858 -
2013-03-16 12:07:39 +00:00
nickysn
a0e683bed6 * set the proper TextRec size for i8086
git-svn-id: branches/i8086@23854 -
2013-03-16 10:45:57 +00:00
nickysn
f4b5b4ce0f * implemented Trunc() and Round() for i8086
git-svn-id: branches/i8086@23852 -
2013-03-16 03:34:23 +00:00
nickysn
fdf831b4c6 * i8086 fix in tinlinenode.pass_typecheck for trunc and round
git-svn-id: branches/i8086@23849 -
2013-03-15 17:03:33 +00:00
nickysn
a66f7b61c6 * disable ret_in_param for floats, as they can be returned in a floating point register, and because enabling ret_in_param for them screws up badly the internprocs that handle floats
git-svn-id: branches/i8086@23840 -
2013-03-15 01:12:00 +00:00
nickysn
0683409703 + added i8086 to the CpuAddrBitSize and CpuAluBitSize const arrays in the 'ppu' unit
git-svn-id: branches/i8086@23839 -
2013-03-15 00:10:05 +00:00
nickysn
7d212a7e79 * default to intel assembler for delphi/tp7 modes also on i8086
git-svn-id: branches/i8086@23838 -
2013-03-14 22:19:10 +00:00
nickysn
99212c0f9c * define FPC_HAS_TYPE_EXTENDED for i8086; undefine FPC_INCLUDE_SOFTWARE_INT64_TO_DOUBLE
git-svn-id: branches/i8086@23837 -
2013-03-14 21:11:10 +00:00
nickysn
30d661734c + enable tprocdef.fpu_used for i8086 also
git-svn-id: branches/i8086@23835 -
2013-03-14 16:33:37 +00:00
nickysn
89de81d4a9 + added n8086inl to the lazarus project ppc8086.lpi
git-svn-id: branches/i8086@23834 -
2013-03-14 16:31:34 +00:00
nickysn
e95d22d0f8 + added ti8086inlinenode
git-svn-id: branches/i8086@23833 -
2013-03-14 15:15:32 +00:00
nickysn
44ce37369e * support 32-bit parameters that have a pair of two 16-bit locations in tcg8086.a_load_reg_cgpara
git-svn-id: branches/i8086@23825 -
2013-03-14 13:07:06 +00:00
nickysn
e956ffc27b * bug fix in the 32-bit parameters handling in tcg8086.a_load_const_cgpara
git-svn-id: branches/i8086@23824 -
2013-03-14 12:19:06 +00:00
nickysn
edc382aa76 * 16-bit ALU fixes in tshlshrnode.pass_typecheck
git-svn-id: branches/i8086@23817 -
2013-03-13 18:00:28 +00:00
nickysn
f048e3fd3b + support 16-bit pointers (i8086 near pointers) in defutil.def_cgsize
git-svn-id: branches/i8086@23816 -
2013-03-13 17:19:21 +00:00
nickysn
c438f3b53a * 386 changed to 8086 in various class names and comments
git-svn-id: branches/i8086@23813 -
2013-03-12 23:22:52 +00:00
nickysn
ea282ab4b3 * many int64 fixes
git-svn-id: branches/i8086@23812 -
2013-03-12 23:18:36 +00:00
nickysn
79f43c22e9 * fixed passing of int64 constants as parameters
git-svn-id: branches/i8086@23811 -
2013-03-12 18:04:38 +00:00
nickysn
4e640511fb * tcgunaryminusnode.second_64bit fixed for < 32-bit CPUs
git-svn-id: branches/i8086@23810 -
2013-03-12 16:27:26 +00:00
nickysn
d0c43f50f0 * fixed ti8086addnode.second_add64bit
git-svn-id: branches/i8086@23809 -
2013-03-12 16:25:44 +00:00
nickysn
8645d8e6cb * fixed implementation of a_op64_reg_reg for i8086
git-svn-id: branches/i8086@23808 -
2013-03-12 16:24:28 +00:00
nickysn
4ea86a445e * fixed functions returning int64 on i8086
git-svn-id: branches/i8086@23807 -
2013-03-12 15:09:24 +00:00
nickysn
763ed6835a + added n8086mat to the lazarus project
git-svn-id: branches/i8086@23806 -
2013-03-12 14:31:30 +00:00
nickysn
19cbff220e + added unit n8086mat, based on n386mat; TODO: adapt to i8086
git-svn-id: branches/i8086@23805 -
2013-03-12 14:30:26 +00:00
nickysn
8d2b7df6d6 * fixed functions returning longint on i8086
git-svn-id: branches/i8086@23803 -
2013-03-12 13:35:19 +00:00
nickysn
8d6017348a * fixed the defines of OS_PAIR and OS_SPAIR for cpus with 16-bit or 8-bit ALU
git-svn-id: branches/i8086@23797 -
2013-03-12 01:00:40 +00:00
nickysn
d72d496478 * enable cpuneedsmulhelper for the 32-bit multiplication
git-svn-id: branches/i8086@23796 -
2013-03-11 23:43:00 +00:00
nickysn
2872fb95b5 * i8086 multiplication fixes; 16-bit multiplication now works; 32-bit still doesn't
git-svn-id: branches/i8086@23795 -
2013-03-11 22:31:17 +00:00
nickysn
ee005a9c1b - rm forgotten debug writeln
git-svn-id: branches/i8086@23792 -
2013-03-11 20:41:09 +00:00
nickysn
48bba896a5 * cpu16bitalu fixes in tcgshlshrnode.second_integer
git-svn-id: branches/i8086@23791 -
2013-03-11 16:13:25 +00:00
nickysn
78cf362a90 * fixed passing of constant longint parameters
git-svn-id: branches/i8086@23788 -
2013-03-11 01:08:59 +00:00
nickysn
ec3d9ebc8a wlink support added and made the default
git-svn-id: branches/i8086@23787 -
2013-03-10 21:41:59 +00:00
nickysn
da37d03dd7 alink support added and enabled by default
git-svn-id: branches/i8086@23784 -
2013-03-10 19:25:57 +00:00
florian
8c24a85462 * turn off stack frame stripping for i8086 for now, it cannot do sp relative addressing
git-svn-id: branches/i8086@23783 -
2013-03-10 18:53:49 +00:00
florian
b321f867c6 + trgintcpu.add_cpu_interferences for i8086 so references are properly build
* empty make_simple_ref code path for i8086

git-svn-id: branches/i8086@23782 -
2013-03-10 18:51:42 +00:00
nickysn
28f8a8e51d i8086-msdos linking with tlink support added
git-svn-id: branches/i8086@23781 -
2013-03-10 18:28:20 +00:00