summaryrefslogtreecommitdiff
path: root/compiler/i8086/cgcpu.pas
Commit message (Expand)AuthorAgeFilesLines
* * modified patch of Paul W to replace leave by mov/pop, resolves #26455florian2015-02-051-9/+1
* + support i8086 far data memory models in tcg8086.g_intf_wrappernickysn2014-05-031-38/+62
* * tcg8086.g_copyvaluepara_openarray: fix for the case where ref.segment isnickysn2014-05-011-1/+1
* + ignore the source segment, when the destination cgpara is a near pointer innickysn2014-05-011-22/+25
* + set ref.segment to NR_SS for all temps/localvars on i8086. This allows thenickysn2014-05-011-0/+1
* * fixed tcg8086.g_flags2reg, so it behaves the same way as tcgx86.g_flags2regnickysn2014-04-191-0/+19
* * tcg8086.g_flags2reg: call virtual method a_jmp_flags instead of duplicating...sergei2014-04-141-4/+1
* + added method is_far to i8086's tcpuprocdef and tcpuprocvardefnickysn2014-04-131-2/+2
* * i8086 far data model fixes in the copying of openarray value paramsnickysn2014-04-041-2/+9
* + tcg8086.g_copyvaluepara_openarray: support source to be in a different segmentnickysn2014-03-301-2/+19
* * load the destination segment in tcg8086.g_copyvaluepara_openarray from SSnickysn2014-03-301-1/+1
* + support passing far addresses in tcg8086.a_loadaddr_ref_cgparanickysn2014-03-251-20/+109
* * x86: Cleaned out addr_far,addr_far_ref used to encode far calls/jumps. NASM...sergei2014-03-081-15/+4
* - rm references to system_i386_darwin and system_i386_iphonesim fromnickysn2014-03-011-2/+1
* * tcg8086.init_register_allocator: instantiate trgintcpu instead of trgcpu fornickysn2014-03-011-2/+2
* * allow the use of inc/dec when adding/subtracting 32 or 64-bit constants withnickysn2014-03-011-6/+10
* * a_call_ref functionality cannot be implemented efficiently at code generato...sergei2014-02-031-19/+2
* + added a size parameter to optimize_op_const and do a sign extension of the ...nickysn2014-01-221-2/+2
* * emit MUL (when overflow checking is off), instead of IMUL for OP_IMUL innickysn2014-01-171-1/+6
* - rm TODO comment about the IMUL optimization with SHL fromnickysn2014-01-171-7/+0
* - rm TODO comment for overflow checking from tcg8086.a_op_const_reg, sincenickysn2014-01-171-3/+0
* * fixed tcg8086.gen_cmp32_jmp1 for the less than/greater than casesnickysn2014-01-031-16/+20
* + implemented the tcg8086.a_cmp_*_*_label methods for i8086. How did the i8086nickysn2014-01-031-0/+185
* * perform the OP_AND, OP_OR and OP_XOR optimizations for 0 and $FFFF valuesnickysn2014-01-011-12/+45
* * tcg8086.a_op_const_reg: perform the OP_AND, OP_OR and OP_XOR optimizations fornickysn2014-01-011-10/+44
* * fixed the conversion and assignment to the 64-bit boolean types on the i8086nickysn2013-12-311-1/+12
* * use only one temporary 16-bit register, instead of two in tcg8086.g_flags2refnickysn2013-12-311-3/+8
* * tcg8086.g_flags2reg: restore the register back to the original size after thenickysn2013-12-311-0/+1
* * Improved code generation in tcg8086.g_flags2reg for the case when target regnickysn2013-12-311-7/+18
* * simpler handling of moves from a smaller to a larger cgsize innickysn2013-12-311-20/+8
* * improvements and fixes in tcg8086.a_load_reg_reg and .a_load_ref_reg:nickysn2013-12-301-2/+8
* * fixes and improvements in tcg8086.a_load_reg_reg for the case when the src andnickysn2013-12-291-9/+22
* * on i8086 with regvars on, do not notify the register allocator of moves to BX.nickysn2013-12-251-0/+68
* * optimized SAR by 31 to use only one SAR instruction in tcg8086.a_op_const_regnickysn2013-10-301-3/+11
* * optimizations in tcg8086.g_copyvaluepara_openarray:nickysn2013-10-191-9/+44
* * tcg8086.g_copyvaluepara_openarray improvements:nickysn2013-10-181-44/+9
* * fixed the interface wrapper code generation for virtual methods on i8086 innickysn2013-10-181-3/+31
* * fixed the stack offset to the self parameter when generating an interfacenickysn2013-10-181-1/+1
* * emit a far jmp in the interface wrapper on i8086 in far code memory modelsnickysn2013-10-171-1/+9
* * tcg8086.g_adjust_self_value fixed for far code memory modelsnickysn2013-10-151-3/+8
* + implemented tcg64f8086.a_op64_ref_regnickysn2013-10-071-6/+10
* + implemented tcg64f8086.a_op64_const_refnickysn2013-10-061-6/+34
* + optimization in tcg64f8086.a_op64_const_reg for OP_ADD and OP_SUB when thenickysn2013-10-061-4/+22
* + optimization in tcg8086.a_op_const_reg and .a_op_const_ref for 32-bit OP_ADDnickysn2013-10-061-5/+22
* * tcg8086.a_op_const_ref and .a_op_const_reg: when splitting a 32-bit OP_AND,nickysn2013-10-061-12/+25
* * tsettings.enablecld converted to a targetswitch ts_cldnickysn2013-09-281-1/+1
* + added a new x86-specific compiler option 'enablecld', which controls whethernickysn2013-09-281-1/+2
* * emit a cld instruction before the rep movsXX in tcg8086.g_copyvaluepara_ope...nickysn2013-09-241-0/+1
* + support register parameters with multiple locationsflorian2013-08-111-2/+35
* * allocate/deallocate cpu registers as late/early as possible, this gives the...florian2013-08-081-9/+9