Commit Graph

39525 Commits

Author SHA1 Message Date
nickysn
c4cee15481 * bug fix in tcg8086.a_load_reg_reg for loading larger register to a smaller one
git-svn-id: branches/i8086@23914 -
2013-03-18 01:03:37 +00:00
nickysn
b930c9a0db * all the remaining cases of the 'in' operator fixed (hopefully) for i8086
git-svn-id: branches/i8086@23905 -
2013-03-17 20:38:44 +00:00
nickysn
8ca0b443b8 * another case of the 'in' operator fixed for i8086 ('x in const', when use_small=false and genjumps=false)
git-svn-id: branches/i8086@23903 -
2013-03-17 20:18:57 +00:00
nickysn
d7c9603351 * i8086 fixes for the 'in' operator in the case of 'unsigned,small,non_constant IN smallset'
git-svn-id: branches/i8086@23901 -
2013-03-17 17:40:15 +00:00
nickysn
e6c8ac6694 * use the generic tcgaddnode.second_addsmallset on i8086, because the BTx instructions are 386+
git-svn-id: branches/i8086@23895 -
2013-03-17 15:40:54 +00:00
nickysn
a68dfed450 * defutil.is_smallset updated for 8/16-bit CPUs
git-svn-id: branches/i8086@23894 -
2013-03-17 15:31:57 +00:00
nickysn
cbf3b14e20 * yet another 8/16-bit ALU fix in thlcg2ll.location_force_reg
git-svn-id: branches/i8086@23887 -
2013-03-17 12:55:06 +00:00
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
nickysn
0af13920c1 * enable compilation of the software mod and div helpers in the i8086-msdos rtl
git-svn-id: branches/i8086@23876 -
2013-03-16 21:01:52 +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
fd98de1fd2 * don't define FPC_INITIALIZEUNITS twice, when FULL_RTL is defined
git-svn-id: branches/i8086@23865 -
2013-03-16 14:01:40 +00:00
nickysn
88fe359644 + added several necessary system unit routines
git-svn-id: branches/i8086@23864 -
2013-03-16 14:00:32 +00:00
nickysn
8f984e75e5 * hack for making threadvr.inc compile on i8086
git-svn-id: branches/i8086@23863 -
2013-03-16 13:59:43 +00:00
nickysn
d2cd13a5c9 * implemented several i8086 procs, some are stubs/not yet implemented
git-svn-id: branches/i8086@23862 -
2013-03-16 13:52:28 +00:00
nickysn
8cb0f96200 * avoid duplicated do_exit when FULL_RTL is defined
git-svn-id: branches/i8086@23861 -
2013-03-16 12:53:42 +00:00
nickysn
54a5e980ef + added sysdir.inc for msdos, empty for now
git-svn-id: branches/i8086@23860 -
2013-03-16 12:49:21 +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
bca7bf78dc + added sysheap.inc and sysfile.inc to the msdos target, empty for now
git-svn-id: branches/i8086@23857 -
2013-03-16 12:03:24 +00:00
nickysn
c136785c10 + a few standard consts and vars for the msdos target
git-svn-id: branches/i8086@23856 -
2013-03-16 11:17:49 +00:00
nickysn
1ced81c028 + added fpc_cpuinit, empty for now
git-svn-id: branches/i8086@23855 -
2013-03-16 11:07:43 +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
37714971ff + added rtl/i8086/int64p.inc, empty for now
git-svn-id: branches/i8086@23851 -
2013-03-16 03:11:52 +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
5215bd33c2 * compilation of fpc_exp_real fixed
git-svn-id: branches/i8086@23843 -
2013-03-15 12:53:49 +00:00
nickysn
ca1fad8a73 + added fpc_exp_real for i8086
git-svn-id: branches/i8086@23841 -
2013-03-15 01:21:32 +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
a3fe455de6 + added the i8086 internal fake math routines to the rtl
git-svn-id: branches/i8086@23836 -
2013-03-14 16:35:25 +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
6757fe5752 * i8086 implementation of fpc_int_real
git-svn-id: branches/i8086@23832 -
2013-03-14 15:04:53 +00:00
nickysn
47ff0a520d + added Test8086, Test8087, has_sse_support and has_mmx_support vars for i8086
git-svn-id: branches/i8086@23827 -
2013-03-14 13:29:42 +00:00
nickysn
897967b8ff * use {$maxfpuregisters 0} for i8086 also
git-svn-id: branches/i8086@23826 -
2013-03-14 13:23:19 +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