Commit History

Autor SHA1 Mensaxe Data
  yury a04e4971fc * i386: Do not request GOT for every function call. GOT is requested only for external calls in thlcgcpu.a_call_name(). Local calls are always PC relative. %!s(int64=6) %!d(string=hai) anos
  florian 597a23d278 + tls support for x86_64-linux (not yet enabled by default) %!s(int64=6) %!d(string=hai) anos
  florian 6dbde11f5a * three operand shl for shifting by 2, 4 or 8 can be simulated by lea %!s(int64=6) %!d(string=hai) anos
  florian 6a6ea6729f * i8086 compiler fixed, resolves #34552 %!s(int64=6) %!d(string=hai) anos
  florian e157939b41 * compilation on x86-64 and i8086 fixed %!s(int64=6) %!d(string=hai) anos
  florian 063415fa72 + i386-linux support for tls-based threadvars %!s(int64=6) %!d(string=hai) anos
  pierre c6977a0a7a Explicitly disable range checking %!s(int64=6) %!d(string=hai) anos
  Jonas Maebe 0b246f3dbd * converted Boolean8 to an internal type, and mapped Boolean to the %!s(int64=6) %!d(string=hai) anos
  Jonas Maebe 4686f61002 * keep track of the temp position separately from the offset in references, %!s(int64=7) %!d(string=hai) anos
  nickysn 518cdf9674 * replaced the saved_XXX_registers arrays with virtual methods inside %!s(int64=7) %!d(string=hai) anos
  florian 9b18e39c81 * enable Lea2AddBase and Lea2AddIndex in TX86AsmOptimizer.PostPeepholeOptLea as we have flag tracking now %!s(int64=7) %!d(string=hai) anos
  florian 381cf78ff1 * there is no vmovq for mmx registers %!s(int64=7) %!d(string=hai) anos
  florian 31f78ea2b6 + implementation of the vectorcall calling convention by J. Gareth Moreton %!s(int64=7) %!d(string=hai) anos
  florian 092223f400 * comment links to test now %!s(int64=7) %!d(string=hai) anos
  florian e5ebc65cce * if si and di are allocated on i8086, using an index in references is not possible anymore %!s(int64=7) %!d(string=hai) anos
  nickysn b3f7bce3a6 * check for CPUX86_HAS_SSE2 instead of CPUX86_HAS_SSEUNIT in Tcgx86.g_concatcopy %!s(int64=7) %!d(string=hai) anos
  florian dba1761a76 + tcgx86.a_load_reg_ref cuts data if the ref. size is smaller than the reg. size %!s(int64=8) %!d(string=hai) anos
  nickysn 7b70848d83 + allow the src register size to be different from the op size or the dst %!s(int64=8) %!d(string=hai) anos
  florian b1dff29cbf * removed unused units %!s(int64=8) %!d(string=hai) anos
  florian 5c2c5d72a2 * use avx for copying data only on i386 for 8 byte chunks %!s(int64=8) %!d(string=hai) anos
  nickysn ec11864272 * use a native sized int register for the shift count in in_sar_assign_x_y, %!s(int64=8) %!d(string=hai) anos
  nickysn 16af6f03fb + support OP_SHR/OP_SHL/OP_SAR/OP_ROL/OP_ROR in tcgx86.a_op_reg_ref %!s(int64=8) %!d(string=hai) anos
  nickysn 256dc546ac + implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will %!s(int64=8) %!d(string=hai) anos
  florian 1e374df5b8 * correctly calculate the bit mask in thlcgobj.a_load_regconst_subsetreg_intern, resolves #31042 %!s(int64=8) %!d(string=hai) anos
  Jonas Maebe a25ebbba3e + added volatility information to all memory references %!s(int64=8) %!d(string=hai) anos
  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) %!s(int64=8) %!d(string=hai) anos
  svenbarth 89f7da58ea * fix tcgx86.make_direct_ref: we need to use the register in which we loaded the symbol and combine that with the base register (if it is set) without using an ADD %!s(int64=8) %!d(string=hai) anos
  Jonas Maebe 27bb656cec * replaced "in_make_direct_ref" field with a trefaddr flag %!s(int64=8) %!d(string=hai) anos
  Jonas Maebe e8c9541c04 * don't use ADD in make_direct_ref(), as the flags may be live %!s(int64=8) %!d(string=hai) anos
  Jonas Maebe a9073cb50b * don't overwrite the flags in make_simple_ref() if the reference %!s(int64=8) %!d(string=hai) anos