marco
|
f0042a4719
* vcmppd hardcoded primitives like vcmpeqpd.
|
7 jaren geleden |
florian
|
f66a91499d
* FPC uses meanwhile more mov instructions, so extended taicpu.is_same_reg_move to support them
|
7 jaren geleden |
florian
|
31f78ea2b6
+ implementation of the vectorcall calling convention by J. Gareth Moreton
|
7 jaren geleden |
florian
|
e6a6938787
* make fpu/mmx/xmm/ymm registers numbers instead of flags to have enough space for zmm/bnd/k registers
|
7 jaren geleden |
nickysn
|
c464f7fa56
* fixed the SEG inline asm directive when used with 32-bit registers on the i8086 target
|
7 jaren geleden |
nickysn
|
8a0d8f025b
* fixed another i8086 inline asm 32-bit constant bug (e.g. in 'or eax, 80000001h')
|
7 jaren geleden |
nickysn
|
325e66287c
* fix for inline asm of instructions with 32-bit constant operands on i8086
|
7 jaren geleden |
nickysn
|
d7e4b50068
+ also optimize x86_64 references by switching [rbp+reg64] to [reg64+rbp],
|
7 jaren geleden |
nickysn
|
5ae32a0ec5
+ always do the x86_64 reference optimizations as if SS=DS, because the CPU
|
7 jaren geleden |
nickysn
|
875339993f
* strip segment overrides, for segments, which should be equal in the current
|
7 jaren geleden |
nickysn
|
80226e3af4
+ added an optimization pass, that optimizes x86 references
|
7 jaren geleden |
nickysn
|
67a0e9bdae
+ added x86 helper function get_default_segment_of_ref, which returns the
|
7 jaren geleden |
nickysn
|
6f2e64ff90
+ added function get_ref_address_size
|
7 jaren geleden |
nickysn
|
b0653a6313
+ added functions is_32_bit_ref and is_64_bit_ref, similar to is_16_bit_ref
|
7 jaren geleden |
nickysn
|
2b6e5d817e
* changed the parameter of is_16_bit_ref to be a treference, instead of toper
|
7 jaren geleden |
nickysn
|
baf492c7a5
+ another helper function: x86_parameterized_string_op_param_count
|
7 jaren geleden |
nickysn
|
0fb79946a5
+ added support for the parameterized versions of the x86 string instructions
|
7 jaren geleden |
nickysn
|
92a52a9f4d
+ implemented support for instructions with non-native address size on i8086
|
7 jaren geleden |
nickysn
|
8589b946fc
* different versions (behind cpu specific ifdefs) of process_ea_ref renamed
|
7 jaren geleden |
nickysn
|
31c9214884
* replaced R_SUBADDR with the appropriate size (R_SUBW, R_SUBD or R_SUBQ) in
|
7 jaren geleden |
nickysn
|
e701fa8de1
* converted the x86 instruction flags to a set, so they can be extended more
|
7 jaren geleden |
florian
|
1ffdf02b94
+ Ch_*Op4
|
8 jaren geleden |
florian
|
b1dff29cbf
* removed unused units
|
8 jaren geleden |
nickysn
|
0c244046a9
* proper register change info for the movs,cmps and scas x86 string instructions
|
8 jaren geleden |
nickysn
|
1d34e96064
+ added x86 instruction flag Ch_RFLAGScc, indicating instructions that read
|
8 jaren geleden |
nickysn
|
1146b7c12c
+ added detailed information for individual flag bits use for most x86
|
8 jaren geleden |
nickysn
|
869f395a31
+ added knowledge to the compiler for the x86 instructions, that don't read
|
8 jaren geleden |
nickysn
|
9303a8f61a
* changed the x86 TInsProp.Ch structure from a 3-element array to a pascal set;
|
8 jaren geleden |
nickysn
|
189e49998c
* fixes to the x86 instruction flags tracking attributes:
|
8 jaren geleden |
nickysn
|
3d28878210
+ added taicpu.op_reg_reg_ref() constructor for x86, in order to support the
|
8 jaren geleden |