paul
|
4b24a58871
compiler: remove/hide few unused variables
|
14 gadi atpakaļ |
florian
|
87696a4b70
* cr*, dr*, tr* registers are 64 bit on x86-64
|
14 gadi atpakaļ |
florian
|
8308b46a94
+ support for assembler instructions with four operands
|
14 gadi atpakaļ |
pierre
|
8a0ed92957
* Remove useless code for i386
|
14 gadi atpakaļ |
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 gadi atpakaļ |
sergei
|
d89aeeadaf
x86 assembler:
|
14 gadi atpakaļ |
sergei
|
9e8a31193b
x86 assembler:
|
14 gadi atpakaļ |
sergei
|
d908fb42f7
x86 assembler fixes:
|
14 gadi atpakaļ |
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 gadi atpakaļ |
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 gadi atpakaļ |
sergei
|
de8ae0f873
x86 assembler improvements:
|
14 gadi atpakaļ |
sergei
|
d288592c5a
+ Declared operand types OT_XMMRM (matches either xmm register or 128-bit memory reference) and OT_MMXRM (same for mmx).
|
14 gadi atpakaļ |
Jonas Maebe
|
0da9d36116
* fixed internal assembler for x86-64 so that it correctly handles
|
14 gadi atpakaļ |
pierre
|
386478cd77
* Allow any register for GOT if current procedure has assembler code
|
15 gadi atpakaļ |
pierre
|
d2939bce3d
* i386 _GLOBAL_OFFSET_TABLE_ label special treatment moved to taicpu.pass2
|
15 gadi atpakaļ |
mazen
|
b127fc154a
* Fixed spell error revealed by lintian.
|
15 gadi atpakaļ |
pierre
|
292e85a59a
* Partial fix for i386 linux PIC code generation
|
15 gadi atpakaļ |
Jonas Maebe
|
28cd8271c9
* initial version of internal Mach-O/i386 assembler by Dmitry Boyarintsev
|
15 gadi atpakaļ |
florian
|
4123e0425c
* don't generate instruction alignment fill bytes in non exectuable sections
|
15 gadi atpakaļ |
Jonas Maebe
|
ec8fee45fe
* do not access local data via the GOT on x86_64, because
|
16 gadi atpakaļ |
Jonas Maebe
|
146a819615
* fixed spilling of and operations on spilled 32 bit values for x86_64
|
16 gadi atpakaļ |
yury
|
92ad06f1e8
* Always use RIP relative symbol addressing for x86_64 Windows targets. Bug #13657.
|
16 gadi atpakaļ |
florian
|
80ff09c6f4
* correct handling of constant operands of aad/aam
|
16 gadi atpakaļ |
florian
|
145dc4d8d6
* write assembler error at the correct position, first fix for #12595
|
16 gadi atpakaļ |
florian
|
53ffda14f3
* fixes taking the address of an assembler block defined label
|
16 gadi atpakaļ |
yury
|
5e11e697b4
* Use unsigned integers for sizes and positions to break 2GB limit in tdynamicarray, object writer, internal linker, coff and PE headers.
|
17 gadi atpakaļ |
yury
|
0bcaf8845f
* Fixed 'mixed signed/unsigned' warnings.
|
17 gadi atpakaļ |
florian
|
82c7896d8d
* more ins. dat issues popped up, did I mention I start to hate it :(?
|
18 gadi atpakaļ |
peter
|
d74bd34a91
* fix 32bit truncation in type determination of constant operands
|
18 gadi atpakaļ |
peter
|
c19217f846
* only for jump instructions we need to look at the relative
|
18 gadi atpakaļ |