sergei
|
7e6a7f20cc
- Removed unused variables and dead assignments.
|
12 ani în urmă |
florian
|
9b6094a58c
+ added a few BMI instructions to see if they can be encoded
|
12 ani în urmă |
florian
|
e81d2d1f3b
* basic avx support for floating point operations (use -Cfavx to activate)
|
12 ani în urmă |
nickysn
|
92afd7cccd
+ R_SUBH support added in x86/aasmcpu.spilling_create_load and spilling_create_store
|
12 ani în urmă |
nickysn
|
fef3732884
* i8086 compilation fixes
|
12 ani în urmă |
florian
|
ad0b0455d8
* extended comment
|
12 ani în urmă |
nickysn
|
c3aaa37c0c
* fixed a bug which caused non commutative fpu instructions to be wrong when using an intel-style external assembler and compiling a smartlinked unit
|
12 ani în urmă |
florian
|
24f9d0d770
* cancel warning on i8086 because it stops compilation (the compiler is normally build with -Sew)
|
12 ani în urmă |
Jonas Maebe
|
5d628b29bb
* set the subregsize of OS_M64 SSE registers to R_SUBQ so we can
|
12 ani în urmă |
florian
|
a499a30ca9
* fixes to avx support by Torsten Grundke
|
13 ani în urmă |
florian
|
283ff05127
* merged avx support in inline assembler developed by Torsten Grundke
|
13 ani în urmă |
sergei
|
21524c56c6
* If subtrahend symbol belongs to current section, generate a RELATIVE relocation instead of PIC_PAIR. Now the corresponding relative expressions in assembler operands compile correctly on all i386 targets (and x86_64 too, although such feature is less important there).
|
13 ani în urmă |
Jonas Maebe
|
313e976256
* avoid spurious range errors due to longint+qword expressions (results in
|
13 ani în urmă |
paul
|
4b24a58871
compiler: remove/hide few unused variables
|
14 ani în urmă |
florian
|
87696a4b70
* cr*, dr*, tr* registers are 64 bit on x86-64
|
14 ani în urmă |
florian
|
8308b46a94
+ support for assembler instructions with four operands
|
14 ani în urmă |
pierre
|
8a0ed92957
* Remove useless code for i386
|
14 ani în urmă |
sergei
|
354d0520b7
+ x86 assembler: fixed MOVABS instruction (it is a x86_64-only subset of MOV with 8-byte immediates/offsets) and same-form encodings of MOV instruction.
|
14 ani în urmă |
sergei
|
d89aeeadaf
x86 assembler:
|
14 ani în urmă |
sergei
|
9e8a31193b
x86 assembler:
|
14 ani în urmă |
sergei
|
d908fb42f7
x86 assembler fixes:
|
14 ani în urmă |
sergei
|
86d0c7f4c5
* x86 assembler: write REX prefix before the first literal byte of instruction (this becomes possible once the instruction table has all $66,$F2,$F3 prefixes changed to non-literal control codes). This way it is no longer necessary to manually specify position of REX in every instruction entry (code \323 becomes obsolete), and the situation when REX is not written (IE 200603191) is hopefully gone forever.
|
14 ani în urmă |
sergei
|
6d0d8734e0
* x86 assembler: operand type declarations rewritten using expressions instead of literal numbers where possible. Reassigned bit values to match the current NASM (the values themselves don't actually matter and can be chosen pretty arbitrary. What matters is the clean separation between different parts of the bitmask. In particular, the old value of XMM register class bit was equal to OT_BITS80, causing matching algorithm to effectively ignore it and accept e.g. MMX registers in place of XMM ones, part of Mantis #14387).
|
14 ani în urmă |
sergei
|
de8ae0f873
x86 assembler improvements:
|
14 ani în urmă |
sergei
|
d288592c5a
+ Declared operand types OT_XMMRM (matches either xmm register or 128-bit memory reference) and OT_MMXRM (same for mmx).
|
14 ani în urmă |
Jonas Maebe
|
0da9d36116
* fixed internal assembler for x86-64 so that it correctly handles
|
14 ani în urmă |
pierre
|
386478cd77
* Allow any register for GOT if current procedure has assembler code
|
15 ani în urmă |
pierre
|
d2939bce3d
* i386 _GLOBAL_OFFSET_TABLE_ label special treatment moved to taicpu.pass2
|
15 ani în urmă |
mazen
|
b127fc154a
* Fixed spell error revealed by lintian.
|
15 ani în urmă |
pierre
|
292e85a59a
* Partial fix for i386 linux PIC code generation
|
15 ani în urmă |