Commit History

Author SHA1 Message Date
  nickysn 7ee0c07b8d + added flags register tracking for many i8086 operations 8 years ago
  nickysn 256dc546ac + implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will 8 years ago
  nickysn 9093047a7a * fixed a bug in the i8086 32-bit rol/ror code generation method rm_fast_386 8 years ago
  nickysn 1560f20e7f + implemented other 32-bit rol/ror by const methods for i8086 and added a 8 years ago
  nickysn 0fd860d9e7 * refactored the code generation for 32-bit rol/ror by const for i8086, so it 8 years ago
  nickysn d5e33cce7f * generate better i8086 code for ror32 by 1 and 17 8 years ago
  nickysn 321876252b + enabled the rol/ror intrinsic on i8086 8 years ago
  nickysn 76cb419241 * use 16-bit 386+ instructions (shld,shrd) for performing fast 32-bit 8 years ago
  nickysn 0ab4f01668 * implemented fast (loopless) 32-bit shift by constant for 8086 as well 8 years ago
  nickysn 0f2ad7b712 * generate faster (i.e. loopless) code for 32-bit shl/shr/sar by const on 186+ 8 years ago
  nickysn f0a63fa895 + added an optimized implementation of a_op64_reg_ref for i8086; this improves 8 years ago
  Jonas Maebe a25ebbba3e + added volatility information to all memory references 8 years ago
  svenbarth c8202061dc * get rid of addr_load_indirect again by having tcgx86 provide an internal implementation of both make_simple_ref() and a_load_ref_reg() so that make_direct_ref() can call the latter (and the latter the former) without fear of inifinite recursive calls due to the symbol; a_load_ref_reg() is additionally declared as "final" as a_load_ref_reg_internal() needs to be overloaded instead (which is the case for tcg8086) 8 years ago
  Jonas Maebe aa1be3276f - removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol(): 9 years ago
  nickysn ac5658470e + use the 16-bit movsx and movzx instructions on 386+ in tcg8086.a_load_ref_reg 9 years ago
  nickysn a5f1ae97d4 + make use of the 16-bit movsx and movzx instructions in tcg8086.a_load_reg_reg 9 years ago
  nickysn c78f406d99 + implemented proper stack checking for the i8086 9 years ago
  pierre 40193ea1db Add pi_has_open_array_parameter to proc_info.flags as this requires special handling for i8086 huge memory model to restore DS register correctly 9 years ago
  Jonas Maebe d440daf47f * fixed compilation with -Oodfa/-O3 9 years ago
  nickysn 09218c88aa + optimizations in tcg8086.g_flags2reg for the case where the carry flag or the 9 years ago
  nickysn b26e10d53c + generate proper win16 prologue/epilogue for exported routines (we don't yet 10 years ago
  nickysn bdfd23cc2e + new target switch "FarProcsPushOddBP", which causes the i8086 compiler to push 10 years ago
  nickysn a1d29b8251 * always pop DS in huge memory models in asm routines that don't specify 10 years ago
  nickysn 98ec7a2211 * eliminated the dual initialization of DS in interrupt procedures in the huge 10 years ago
  nickysn 0fdc62e0f7 + initialize DS with the current unit's data segment in the function entry code 10 years ago
  Jonas Maebe 67b8aceaee * synchronized with privatetrunk till r30095 10 years ago
  florian 35a04ad095 * modified patch of Paul W to replace leave by mov/pop, resolves #26455 10 years ago
  Jonas Maebe b745dcc64c * moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because 11 years ago
  Jonas Maebe a637fbe596 * moved all g_exception_*() methods to hlcgobj and cleaned them up (no more 11 years ago
  nickysn 791cd932fd + support i8086 far data memory models in tcg8086.g_intf_wrapper 11 years ago