Commit History

Author SHA1 Message Date
  nickysn af54de6d56 + added tcg8086.a_call_name_far and .a_call_name_static_far; a_call_name and a_call_name_static overriden and call near or far depending on the memory model 12 years ago
  nickysn aa63efc27e * emit a far ret instruction in the exit code of far procedures 12 years ago
  nickysn e2241d97a2 * i8086 optimizations for 32-bit OP_SAR with const >= 16 12 years ago
  nickysn 55a071692e * i8086 optimizations in op_const_reg for 32-bit OP_SHL and OP_SHR with const >= 16 12 years ago
  nickysn ec76b2cf40 * refactored the segment-in-integer-register reference support, so it's handled in make_simple_ref, instead of all over the place in the code generator 12 years ago
  nickysn e243b6b869 * never use the 66h prefix when pushing/popping segment registers on i8086, as the stack is aligned on 2 bytes there 12 years ago
  nickysn c2e3fb5918 + emit proper interrupt procedure entry/exit code on i8086 12 years ago
  nickysn c271594b4f + optimized implementation of 32-bit OP_SHL,OP_SHR and OP_SAR in tcg8086.a_op_const_reg 12 years ago
  nickysn 06838be452 * fixed bug when passing a 'single' floating point type parameter via tcg8086.a_load_ref_cgpara 12 years ago
  nickysn 27adafeecb + support moving from a shorter unsigned (sign extension not yet implemented) to a longer type in tcg8086.a_load_reg_ref 12 years ago
  nickysn 3aeea835f9 + int register in treference.segment support in tcg8086.op_*ref* 12 years ago
  florian c1a1325a72 * reduce register pressure by allocating/deallocating registers as late/early as possible 12 years ago
  nickysn 8b1e621665 * segment in int register support added also to tcg8086.a_load_reg_ref and .a_load_ref_reg 12 years ago
  nickysn 9171c19601 * support int register in treference.segment in tcg8086.a_load_const_ref; this fixes farptr^:=const 12 years ago
  nickysn 2557382815 - rm tcg8086.g_maybe_got_init as it's of no use for the i8086 12 years ago
  nickysn c4dd85a0eb + implemented tcg8086.a_op_reg_ref 12 years ago
  nickysn 85b98671bd + implemented tcg8086.a_op_const_ref for op_add/and/or/sub/xor/move/none; this fixes inc(longint) among other things 12 years ago
  nickysn 2d67a3169d * i8086 fixes in tcg8086.g_copyvaluepara_openarray 12 years ago
  nickysn 502c2ffb94 * fixed tcg8086.a_load_reg_reg when doing an unsigned extension in the same superregister; this fixes the taddbool test 12 years ago
  nickysn 5a4a3cbbc3 + implemented tcg8086.a_op_ref_reg; supports op_add/sub/xor/or/and 12 years ago
  nickysn 4527fe8fa2 + added 8086 workaround for the 'imul reg,const' 186+ instruction. The compiler can now generate strict 8086/8088 code. 12 years ago
  nickysn 8fddb1361b * got rid of push const also in tcg8086.a_loadaddr_ref_cgpara 12 years ago
  nickysn cfc3c6ec5d - cleanup tcg8086.a_loadaddr_ref_cgpara from unused code left over from i386 12 years ago
  nickysn 76e3dd5cef * do not generate push const on the i8086, go through a register instead, unless it's 186+ 12 years ago
  nickysn 06f1b6a4e8 * moved the i8086 'push const' instructions to a new method, so they can be abstracted on pre-186 processors 12 years ago
  nickysn 7c0679efdb * use the 'leave' instruction on 80186+ 12 years ago
  nickysn af5614e52d * i8086 parameter alignment fixes 12 years ago
  nickysn 7b9fd7b9f4 * instruction size fixes in tcg8086.g_intf_wrapper 12 years ago
  nickysn c4cee15481 * bug fix in tcg8086.a_load_reg_reg for loading larger register to a smaller one 12 years ago
  florian 636129ed8c * fix interface wrapper generation for i8086 12 years ago