nickysn
|
4fc2fa7899
* alloc/dealloc NR_DEFAULTFLAGS in the a_cmp_* methods in the i8086 code
|
7 years ago |
nickysn
|
db09759763
* also integrated the getnextreg() implementation for 8-bit and 16-bit alus from
|
8 years ago |
nickysn
|
cf28b202eb
* integrated the getintregister() implementation for 8-bit and 16-bit alus from
|
8 years ago |
nickysn
|
ddba821561
* GetNextReg(), used by 16-bit and 8-bit code generators (i8086 and avr) moved
|
8 years ago |
nickysn
|
4e4e5d6d07
+ allocate and free the flags register (when necessary), when generating code
|
8 years ago |
nickysn
|
b8c4dd9e18
+ implemented 64-bit OP_SHR,OP_SHL and OP_SAR in a_op64_reg_reg for i8086 and
|
8 years ago |
nickysn
|
a82c89d894
+ implemented OP_SHR,OP_SHL and OP_SAR in a_op64_const_reg for i8086. The shlshr
|
8 years ago |
nickysn
|
65977f9f27
+ implemented OP_ROL and OP_ROR in tcg8086.a_op_reg_reg and .a_op_reg_ref
|
8 years ago |
nickysn
|
8c200fcfba
+ implemented OP_SHR,OP_SHL,OP_SAR,OP_ROL and OP_ROR in tcg8086.a_op_const_ref
|
8 years ago |
nickysn
|
50b1c9c088
+ implemented 32-bit OP_SHR,OP_SHL and OP_SAR in tcg8086.a_op_reg_ref
|
8 years ago |
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)
|
9 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 |