Jonas Maebe
defe46ef42
* added missing size suffixes for several sse2 opcodes
...
git-svn-id: trunk@9182 -
2007-11-10 19:57:01 +00:00
Jonas Maebe
032352d98b
+ darwin/x86_64 support
...
git-svn-id: trunk@9180 -
2007-11-10 18:33:09 +00:00
florian
965bb41288
* fixed more rex placements
...
git-svn-id: trunk@9069 -
2007-11-02 21:30:43 +00:00
florian
82c7896d8d
* more ins. dat issues popped up, did I mention I start to hate it :(?
...
git-svn-id: trunk@8968 -
2007-10-28 14:08:04 +00:00
florian
c1d62172fe
* the saga continues, fixed previously broken assembler table entries
...
git-svn-id: trunk@8967 -
2007-10-28 13:01:58 +00:00
florian
f32831c44a
* fixed assembling of fisttp of sse3 instruction set
...
+ sse3 optimized trunc() using fisttp
+ -Cfsse3 for x86-64
git-svn-id: trunk@8962 -
2007-10-27 20:50:46 +00:00
florian
46e1587395
* another bunch of assembler fixes, win64 builds again
...
git-svn-id: trunk@8957 -
2007-10-27 19:49:53 +00:00
florian
00d6a03b2c
+ default code now preserves mm registers
...
* save|restore_standard_registers => save|restore_registers
git-svn-id: trunk@8954 -
2007-10-27 12:02:28 +00:00
florian
8f5a4cc514
* more, hopefully correct, x86-64 assembler fixes
...
git-svn-id: trunk@8952 -
2007-10-26 20:44:57 +00:00
florian
c5f492ef50
* fixed assembling of movq mem,xmmreg
...
git-svn-id: trunk@8923 -
2007-10-24 20:45:38 +00:00
peter
a0ebdcf820
* enable regvar for -O2
...
git-svn-id: trunk@8910 -
2007-10-22 16:50:09 +00:00
florian
1cb5d2a603
* some missing make_simple_ref calls added, resolves #8948
...
git-svn-id: trunk@8904 -
2007-10-21 20:19:04 +00:00
peter
43c2694d50
* fixed REX placement for xmm opcodes
...
git-svn-id: trunk@8850 -
2007-10-18 23:30:35 +00:00
peter
ad944fd198
* move x86_64 specific int_to_real conversion to nx64cnv
...
* fix x86_64 code for none loc_register/loc_reference location
git-svn-id: trunk@8844 -
2007-10-18 20:46:44 +00:00
florian
bb314e5456
* regenerated
...
git-svn-id: trunk@8788 -
2007-10-14 09:32:15 +00:00
florian
5d31cd02a7
* regenerated
...
git-svn-id: trunk@8786 -
2007-10-14 09:04:56 +00:00
florian
342ba323cf
* fixed assembling of cvtsi2ss with rex
...
git-svn-id: trunk@8777 -
2007-10-13 14:53:27 +00:00
Jonas Maebe
a8191abd16
* fixed parsing of "rcl/rcr rm,imm" (mantis #9025 )
...
git-svn-id: trunk@8272 -
2007-08-12 13:50:52 +00:00
peter
2e9968d46c
* arrays always by addr
...
git-svn-id: trunk@8232 -
2007-08-06 19:44:25 +00:00
peter
f5d5e377d2
* fix linux x86_64 for records and arrays
...
git-svn-id: trunk@8224 -
2007-08-05 19:38:21 +00:00
peter
4e6c57b9ee
* cleanup x86_64 structures in registers
...
git-svn-id: trunk@8214 -
2007-08-02 20:46:48 +00:00
florian
be6d2dd0f9
* reverted wrong commit in r8133
...
git-svn-id: trunk@8135 -
2007-07-22 17:00:51 +00:00
florian
447276c5bb
* Jcc reads the flags, this was not in the dat yet, resolves #9278
...
* disabled 4 ops variant of insertq for now
git-svn-id: trunk@8133 -
2007-07-22 16:40:44 +00:00
daniel
5add416dab
* Fix mul opsize
...
git-svn-id: trunk@8131 -
2007-07-22 11:48:10 +00:00
daniel
5ce54c6a20
+ For muln, don't load left operand in register unless necessary.
...
(mul supports memory operands).
git-svn-id: trunk@8110 -
2007-07-21 09:20:33 +00:00
daniel
4a3870eb12
* Fix bug #9261 .
...
git-svn-id: trunk@8056 -
2007-07-14 20:57:56 +00:00
daniel
f31889df57
* Pass const params by pointer if calling convention<>register. This is
...
needed for the windows unit as Delphi compatibility requires const
parameters for some procedures and Delphi assumes parameters > 4 to be
passed as pointer.
git-svn-id: trunk@7982 -
2007-07-08 17:26:08 +00:00
daniel
44e07cd098
* Fix bug #9141 and pass const params <=16 in by value.
...
git-svn-id: trunk@7979 -
2007-07-07 21:01:46 +00:00
daniel
e002e6b9f4
* Also execute setfirsttemp on non-Windows platforms. Fixes -O2 cycle on Linux.
...
git-svn-id: trunk@7848 -
2007-06-29 17:46:27 +00:00
daniel
62b6fcead8
* Fix operator count.
...
git-svn-id: trunk@7835 -
2007-06-27 20:31:58 +00:00
daniel
56880a75f9
* When adding the start offset of the parameters, process chained
...
paralocs too.
git-svn-id: trunk@7834 -
2007-06-27 20:28:45 +00:00
yury
3b7e458f02
* Properly set location of float return value if it is passed as var parameter (it is always happens for safecall functions). It fixes bugs #8523 and #8977 .
...
+ test.
git-svn-id: trunk@7728 -
2007-06-18 23:23:46 +00:00
daniel
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
...
+ Some initial work on a formaldef which also carries the typinfo of a parameter.
git-svn-id: trunk@7639 -
2007-06-13 07:41:18 +00:00
florian
0e96eda236
+ some sse4 instructions supported, resolves #9046
...
git-svn-id: trunk@7613 -
2007-06-09 19:45:06 +00:00
florian
fe69d19f9c
* align stack properly if no stack frame is generated, should resolve #8986
...
git-svn-id: trunk@7611 -
2007-06-09 18:46:35 +00:00
florian
9be265ab02
* fixed x86-64 compilation
...
git-svn-id: trunk@6940 -
2007-03-21 12:26:06 +00:00
florian
d55dbf92d3
* fixed assembling of cvt(t)ss2si
...
git-svn-id: trunk@6918 -
2007-03-18 17:35:22 +00:00
florian
f4840620f0
* location.size of trunc/round must be OS_S64
...
* fixed assembling of cvt*2si
+ optimized trunc/round for x86_64/sse
* only floats need no type cast for trunc/round
git-svn-id: trunk@6859 -
2007-03-14 20:56:14 +00:00
florian
224da99c63
* regenerated
...
git-svn-id: trunk@6715 -
2007-03-04 19:16:28 +00:00
peter
bf652ab1d2
* fixed att asmmode
...
git-svn-id: trunk@6672 -
2007-02-27 16:31:40 +00:00
peter
e0729f1be1
* fixed typo
...
git-svn-id: trunk@6668 -
2007-02-26 17:16:10 +00:00
peter
70e0846275
* Add ATT as asmmode name to be compatible with i386
...
git-svn-id: trunk@6646 -
2007-02-25 16:47:50 +00:00
florian
2566e38eae
* handle shortstrings like arrays and records when returning them from functions
...
git-svn-id: trunk@6563 -
2007-02-19 18:55:44 +00:00
florian
a19ed91cc3
* fix for jcxz, jecxz and jrcxz on 64 bit platforms
...
git-svn-id: trunk@6400 -
2007-02-10 21:05:27 +00:00
Jonas Maebe
9813a8708c
* fixed encoding of jcxz
...
git-svn-id: trunk@6398 -
2007-02-10 20:38:38 +00:00
florian
77b155ea79
* def.size in [1,2,4,8] goes wrong if def.size>255, fixed, resolves #8232
...
git-svn-id: trunk@6245 -
2007-01-28 18:06:51 +00:00
Jonas Maebe
c1df4454fe
* cmpxchg8b doesn't have a size suffix
...
git-svn-id: trunk@6164 -
2007-01-24 15:15:04 +00:00
florian
2da51bce72
+ cmpxchg16b
...
git-svn-id: trunk@6095 -
2007-01-21 11:04:19 +00:00
florian
5e2042cff8
* correct assembling of test rm8,reg8
...
git-svn-id: trunk@5972 -
2007-01-14 18:08:37 +00:00
florian
36a500c38c
* don't coalescate with frame/stack pointer
...
git-svn-id: trunk@5880 -
2007-01-11 10:47:07 +00:00