2009-07-11 Michael Barker <mike@middlesoft.co.uk>
[mono.git] / mono / arch / ChangeLog
1 2009-07-10  Jerry Maine  <crashfourit@gmail.com>
2         
3         Contributed under the terms of the MIT/X11 license by
4         Jerry Maine <crashfourit@gail.com>.
5
6         * amd64/amd64-codegen.h: Add marcos for coding several specific sse opcodes.
7         * amd64/amd64-codegen.h: Fix bugs in simd marcos.
8
9 2009-06-24  Jerry Maine  <crashfourit@gmail.com>
10         
11         Contributed under the terms of the MIT/X11 license by
12         Jerry Maine <crashfourit@gail.com>.
13
14         * amd64/amd64-codegen.h: Add marcos for coding several specific sse opcodes.
15
16 2009-06-22  Zoltan Varga  <vargaz@gmail.com>
17
18         * ppc/ppc-codegen.h: Rework the naming of the load/store macros,
19         ldr/str now handle register sized quantities, while ldptr/stptr handle
20         pointer sized quantities.
21
22 2009-06-20  Zoltan Varga  <vargaz@gmail.com>
23
24         * ppc/ppc-codegen.h: Fix the last change to avoid self-assignments inside
25         macros.
26         
27         * ppc/ppc-codegen.h: Add ppc_ldr/ppc_str macros to store regsize quantities.
28         Handle little endian host platforms in ppc_emit32.
29
30 2009-10-06  Jerry Maine  <crashfourit@gmail.com>
31         
32         Contributed under the terms of the MIT/X11 license by
33         Jerry Maine <crashfourit@gail.com>.
34
35         * amd64/amd64-codegen.h: Add marcos for coding two byte SIMD/SSE opcodes.
36         Added comments to help tell the different types of SSE code gen marcos appart.
37
38 2009-04-06  Zoltan Varga  <vargaz@gmail.com>
39
40         * arm/arm-vfp-codegen.h: Add ARM_FSITOS/ARM_FSITOD.
41
42 2009-04-03  Zoltan Varga  <vargaz@gmail.com>
43
44         * amd64/amd64-codegen.h: Add macros for decoding the SIB byte.
45
46 2009-04-02  Zoltan Varga  <vargaz@gmail.com>
47
48         * arm/arm-vfp-codegen.h: Add missing VFP codegen macros.
49
50 2009-03-06  Zoltan Varga  <vargaz@gmail.com>
51
52         * arm/tramp.c: Include a change from the debian patches. Avoid #include-ing
53         a file in the middle of a function.
54
55 2009-02-27  Zoltan Varga  <vargaz@gmail.com>
56
57         * arm/{arm_fpamacros.h, arm_vfpmacros.h}: Remove these files, they are
58         autogenerated.
59
60 2009-02-02  Mark Probst  <mark.probst@gmail.com>
61
62         Contributed under the terms of the MIT/X11 license by Steven
63         Munroe <munroesj@us.ibm.com>.
64
65         * ppc/ppc-codegen.h: Make operand order and case consistent
66         (assembler order) for ppc_load_reg_update, ppc_load_multiple_regs,
67         ppc_store_multiple_regs, ppc_lwz, ppc_lhz, ppc_lbz,
68         ppc_stw,ppc_sth, ppc_stb, ppc_stwu, ppc_lbzu, ppc_lfdu, ppc_lfsu,
69         ppc_lfsux, ppc_lfsx, ppc_lha, ppc_lhau, ppc_lhzu, ppc_lmw,
70         ppc_lwzu, ppc_stbu, ppc_stfdu, ppc_stfsu, ppc_sthu, ppc_stmw.  Use
71         "i" or "ui" instead of "d" for immediated operands to immediate
72         arthimetic and logical instructions in macros ppc_addi, ppc_addis,
73         ppc_ori, ppc_addic, ppc_addicd, ppc_andid, ppc_andisd.
74         [__mono_ppc64__]: Make operand order and case consistent
75         (assembler order) for ppc_load_multiple_regs,
76         ppc_store_multiple_regs.  Simplify the DS form and make them
77         consistent with D forms for ppc_load_reg, ppc_load_reg_update,
78         ppc_store_reg, ppc_store_reg_update. ppc_ld, ppc_lwa, ppc_ldu,
79         ppc_std, ppc_stdu.  Define ppc_lwax and ppc_lwaux.
80
81 2009-01-19 Rodrigo Kumpera  <rkumpera@novell.com>
82
83         * x86/x86-codegen.h: Add x86_movd_xreg_membase.
84
85 2008-12-19  Mark Probst  <mark.probst@gmail.com>
86
87         * ppc/ppc-codegen.h: Fixed the argument order for lwzu in
88         ppc_load_reg_update.
89
90 2008-12-12  Mark Mason  <mmason@upwardaccess.com>
91
92         * mips/mips-codegen.h: Changes to support n32.
93         
94 2008-12-10  Mark Probst  <mark.probst@gmail.com>
95
96         * ppc/ppc-codegen.h: A few new macros for the final PPC/PPC64
97         merge.
98
99 2008-12-05  Mark Probst  <mark.probst@gmail.com>
100
101         * ppc/ppc-codegen.h: ppc_load_func must use ppc_load_sequence.
102         Added ppc_compare_log.
103
104 2008-12-05  Mark Probst  <mark.probst@gmail.com>
105
106         * ppc/ppc-codegen.h: Added ppc_load_func for PPC32.  Added
107         ppc_load/store_multiple_regs and ppc_compare_reg_imm.
108
109 2008-12-02  Mark Probst  <mark.probst@gmail.com>
110
111         * ppc/ppc-codegen.h: Opcodes for floating point conversions from
112         64 bit integers.
113
114         Code submitted by andreas.faerber@web.de at
115         https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
116         X11/MIT license.
117
118 2008-11-28  Mark Probst  <mark.probst@gmail.com>
119
120         * ppc/ppc-codegen.h: #define for the maximum length of a load
121         sequence.
122
123 2008-11-21  Mark Probst  <mark.probst@gmail.com>
124
125         * ppc/ppc-codegen.h: Make ppc_is_[u]imm16() work with 64 bit
126         values.
127
128 2008-11-20 Rodrigo Kumpera  <rkumpera@novell.com>
129
130         * x86/x86-codegen.h: Add X86_SSE_MOVHPD_REG_MEMBASE and renamed MOVS to MOVSD.
131
132 2008-11-20 Rodrigo Kumpera  <rkumpera@novell.com>
133
134         * x86/x86-codegen.h: Add X86_SSE_MOVS_ reg/membase variants.
135
136         * x86/x86-codegen.h: Add x86_sse_alu_pd_reg_membase_imm.
137
138         * x86/x86-codegen.h: Sort the x86_sse_alu_* macros decently.
139
140 2008-11-20  Mark Probst  <mark.probst@gmail.com>
141
142         * ppc/ppc-codegen.h: Use ppc_load_reg instead of ppc_ld in
143         ppc_load_func to fix the 2 bit shift.
144
145 2008-11-20  Mark Probst  <mark.probst@gmail.com>
146
147         * ppc/ppc-codegen.h: 64 bit division opcodes.
148
149         Code submitted by andreas.faerber@web.de at
150         https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
151         X11/MIT license.
152
153 2008-11-20  Zoltan Varga  <vargaz@gmail.com>
154
155         * arm/Makefile.am (libmonoarch_arm_la_SOURCES): Don't build tramp.c, it is only
156         used by the interpreter.
157
158 2008-11-20 Rodrigo Kumpera  <rkumpera@novell.com>
159
160         * x86/x86-codegen.h: Add PEXTR B/W/D.
161
162 2008-11-18 Rodrigo Kumpera  <rkumpera@novell.com>
163
164         * x86/x86-codegen.h: Add PINSR B/W/D.
165
166 2008-11-18  Mark Probst  <mark.probst@gmail.com>
167
168         * ppc/ppc-codegen.h: Macro for nop added.
169
170 2008-11-18  Mark Probst  <mark.probst@gmail.com>
171
172         * ppc/ppc-codegen.h: PPC64 code generation macros.
173
174         Based on code submitted by andreas.faerber@web.de at
175         https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
176         X11/MIT license.
177
178 2008-11-18  Mark Probst  <mark.probst@gmail.com>
179
180         * ppc/ppc-codegen.h: A few fixes and additions.
181
182         Based on code submitted by andreas.faerber@web.de at
183         https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
184         X11/MIT license.
185
186 2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>
187
188         * x86/x86-codegen.h: Fix comment about the version of PCMPGTQ.
189
190         * x86/x86-codegen.h: Add movsd constant and x86_sse_alu_sd_membase_reg
191         macro.
192
193 2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>
194
195         * x86/x86-codegen.h: Add X86_SSE_MOVHPD_MEMBASE_REG constant
196         and x86_sse_alu_pd_membase_reg/x86_sse_alu_membase_reg macros.
197
198 2008-11-15  Andreas Faerber  <andreas.faerber@web.de>
199
200         * ppc/test.c: Add support for Mac OS X.
201
202         Code is contributed under MIT/X11 license.
203
204 2008-11-13  Rodrigo Kumpera  <rkumpera@novell.com>
205
206         * x86/x86-codegen.h: Remove not used macro x86_pshufd_reg_reg.
207
208 2008-11-04  Rodrigo Kumpera  <rkumpera@novell.com>
209
210         * x86/x86-codegen.h: Add store nta.
211
212 2008-11-03  Rodrigo Kumpera  <rkumpera@novell.com>
213
214         * x86/x86-codegen.h: Add prefetch instruction
215         and x86_sse_alu_reg_membase macro.
216
217 2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>
218
219         * x86/x86-codegen.h: Add long version of the packed integer
220         ops.
221
222 2008-10-27  Rodrigo Kumpera  <rkumpera@novell.com>
223
224         * x86/x86-codegen.h: Add movddup.
225
226 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
227
228         * x86/x86-codegen.h: Add signed pack with saturation.
229
230 2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>
231
232         * x86/x86-codegen.h: Add signed packed mul high.
233
234 2008-10-23  Rodrigo Kumpera  <rkumpera@novell.com>
235
236         * x86/x86-codegen.h: Add signed packed max, min, add/sub with saturation
237         and compare greater.
238
239 2008-10-20  Rodrigo Kumpera  <rkumpera@novell.com>
240
241         * x86/x86-codegen.h: Add multiply and store high.
242
243 2008-10-17  Rodrigo Kumpera  <rkumpera@novell.com>
244
245         * x86/x86-codegen.h: Add packed int shuffle.
246
247 2008-10-16  Rodrigo Kumpera  <rkumpera@novell.com>
248
249         * x86/x86-codegen.h: Add packed int compare equals and
250         psabw.
251
252 2008-10-15  Rodrigo Kumpera  <rkumpera@novell.com>
253
254         * x86/x86-codegen.h: Add packed int max/min/avg/shuffle and extract mask.
255
256 2008-10-14  Rodrigo Kumpera  <rkumpera@novell.com>
257
258         * x86/x86-codegen.h: Add movsldup and movshdup.
259
260 2008-10-13  Rodrigo Kumpera  <rkumpera@novell.com>
261
262         * x86/x86-codegen.h: Add remaining FP sse1 ops.
263         Add sse ps encoding with imm operand.
264         Add remaining sse1 ops.
265
266 2008-10-12  Rodrigo Kumpera  <rkumpera@novell.com>
267
268         * x86/x86-codegen.h: Add macro for sse41 ops.
269         Add defined for pack ops, dword shifts/mul/pack.
270
271 2008-10-11  Zoltan Varga  <vargaz@gmail.com>
272
273         * amd64/amd64-codegen.h (amd64_jump_code_size): Fix the 64 bit support.
274
275 2008-10-10  Zoltan Varga  <vargaz@gmail.com>
276
277         * amd64/amd64-codegen.h (amd64_jump_code_size): Handle non 32-bit targets.
278
279 2008-10-09  Rodrigo Kumpera  <rkumpera@novell.com>
280
281         * x86/x86-codegen.h: Add macros for sse shift, pack, unpack,
282         saturated math and packed byte/word/dword math.
283
284 2008-10-03  Rodrigo Kumpera  <rkumpera@novell.com>
285
286         * x86/x86-codegen.h: Add macros for SSE instructions.
287
288 2008-09-27  Mark Probst  <mark.probst@gmail.com>
289
290         * ppc/ppc-codegen.h: A few typecasts to fix compiler warnings.
291
292 2008-09-07  Mark Probst  <mark.probst@gmail.com>
293
294         * ppc/ppc-codegen.h (ppc_load): Inserted cast to fix some
295         warnings.
296
297 2008-06-16  Mark Probst  <mark.probst@gmail.com>
298
299         * amd64/amd64-codegen.h: Removed extraneous parenthesis in a macro
300         nobody uses.
301
302 2008-06-06  Zoltan Varga  <vargaz@gmail.com>
303
304         * amd64/amd64-codegen.h (amd64_padding_size): Rewrite this to use the
305         instructions recommended by the amd64 manual.
306
307 2008-04-19  Zoltan Varga  <vargaz@gmail.com>
308
309         * amd64/amd64-codegen.h (amd64_is_imm32): Use gint64 instead of glong because of
310         win64.
311
312 2008-03-13  Geoff Norton  <gnorton@novell.com>
313
314         * arch/arm/tramp.c:  Dont compile this on PLATFORM_MACOSX
315
316 2008-02-18  Zoltan Varga  <vargaz@gmail.com>
317
318         * amd64/amd64-codegen.h (amd64_movsxd_reg_mem): New codegen macro.
319
320 2008-02-14  Zoltan Varga  <vargaz@gmail.com>
321
322         * amd64/amd64-codegen.h (amd64_alu_membase8_imm_size): New codegen macro.
323
324 2008-02-08  Zoltan Varga  <vargaz@gmail.com>
325
326         * arm/arm-codegen.h: Fix the ordering of arguments for some load/store opcodes
327         so they are consistent.
328
329 2008-01-24  Zoltan Varga  <vargaz@gmail.com>
330
331         * Makefile.am (SUBDIRS): Or if INTERP_SUPPORTED is true.
332         
333         * Makefile.am (SUBDIRS): Only set this on arm.
334
335 2007-11-20  Zoltan Varga  <vargaz@gmail.com>
336
337         * amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller 
338         instruction encoding.
339
340 2007-11-03  David S. Miller  <davem@davemloft.net>
341
342        * sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi
343        can be used if the constant value only has the top 22 bits set.
344
345 2007-11-01  Geoff Norton  <gnorton@novell.com>
346
347         * x86/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
348         Fixes the build on Leopard.
349
350 2007-11-01  Geoff Norton  <gnorton@novell.com>
351
352         * ppc/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
353         Fixes the build on Leopard.
354
355 2007-10-26  Jonathan Chambers <joncham@gmail.com>
356
357         * amd64/amd64-codegen.h: Begin Win64 port. Use AMD64_ARG_REG#
358         defines to access param registers. Replace long usage with
359         gsize as sizeof(long) != sizeof(void*) on Win64.
360
361         Code is contributed under MIT/X11 license.
362
363 2007-10-09  Zoltan Varga  <vargaz@gmail.com>
364
365         * amd64/amd64-codegen.h (amd64_jump_membase_size): Remove an unneccesary
366         rex prefix which trips up valgrind.
367
368 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
369
370         * amd64/amd64-codegen.h: Remove some unused rex prefixes.
371
372 Wed Jul 4 15:29:07 CEST 2007 Paolo Molaro <lupus@ximian.com>
373
374         * x86/x86-codegen.h: added minimal sse instructions currently
375         needed by the JIT.
376
377 2007-06-13  Randolph Chung  <tausq@debian.org>
378
379         * hppa/hppa-codegen.h: Update with more instructions.
380         * hppa/tramp.c: Disable for linux since we don't support the
381         interpreter.
382
383 2007-05-20  Zoltan Varga  <vargaz@gmail.com>
384
385         * amd64/amd64-codegen.h (amd64_call_reg): Remove a got prefix which isn't needed.
386
387 2007-04-23  Zoltan Varga  <vargaz@gmail.com>
388
389         * alpha/alpha-codegen.h: More alpha port work from 
390         Sergey Tikhonov <tsv@solvo.ru>.
391
392 Mon Mar 12 17:07:32 CET 2007 Paolo Molaro <lupus@ximian.com>
393
394         * amd64/amd64-codegen.h: removed some useless size rex prefixes.
395
396 Wed Jan 24 21:00:40 CET 2007 Paolo Molaro <lupus@ximian.com>
397
398         * arm/arm-codegen.h: fixed encoding of short/byte load/store
399         instructions with negative immediate offsets.
400
401 Mon Nov 20 17:36:45 CET 2006 Paolo Molaro <lupus@ximian.com>
402
403         * arm/arm-codegen.h: added suppot for thumb interworking instructions.
404
405 Wed Nov 15 16:56:53 CET 2006 Paolo Molaro <lupus@ximian.com>
406
407         * mips/*: fixes by Mark E Mason <mark.e.mason@broadcom.com>.
408
409 2006-09-12  Zoltan Varga  <vargaz@gmail.com>
410
411         * alpha/alpha-codegen.h: More alpha updates from Sergey Tikhonov <tsv@solvo.ru>.
412
413 Tue Sep 12 13:09:56 CEST 2006 Paolo Molaro <lupus@ximian.com>
414
415         * arm/*: VFP floating point format code generation support.
416
417 2006-09-12  Zoltan Varga  <vargaz@gmail.com>
418
419         * ia64/ia64-codegen.h: Add xmpy_l/u pseudo ops.
420
421 2006-07-19  Zoltan Varga  <vargaz@gmail.com>
422
423         * amd64/amd64-codegen.h: Fix amd64_mov_mem_reg.
424
425         * alpha/alpha-codegen.h alpha/test.c alpha/tramp.c: Applied patch from 
426         Sergey Tikhonov <tsv@solvo.ru>. Updates to alpha support.
427
428 Thu Jun 15 16:59:36 CEST 2006 Paolo Molaro <lupus@ximian.com>
429
430         * ppc/ppc-codegen.h: reduce noisy build warnings by
431         casting to the more commonly used unsigned char type
432         (from johannes@sipsolutions.net (Johannes Berg)).
433
434 2006-05-14  Zoltan Varga  <vargaz@gmail.com>
435
436         * ia64/ia64-codegen.h (ia64_fetchadd8_acq_hint_pred): Fix encoding of this
437         opcode.
438
439 2006-04-21  Zoltan Varga  <vargaz@gmail.com>
440
441         * Makefile.am (SUBDIRS): Revert the last change as arm depends on the old
442         behaviour.
443
444 2006-04-12  Zoltan Varga  <vargaz@gmail.com>
445
446         * sparc/sparc-codegen.h (sparc_inst_i): New disassembly macro.
447
448 2006-04-04  Zoltan Varga  <vargaz@gmail.com>
449
450         * Makefile.am (SUBDIRS): Avoid compiling subdirs needed by the
451         interpreter.
452
453 2005-12-22  Zoltan Varga  <vargaz@gmail.com>
454
455         * sparc/sparc-codegen.h (sparc_membar): Add membar instruction.
456
457 2005-10-30  Zoltan Varga  <vargaz@gmail.com>
458
459         * ia64/ia64-codegen.h (ia64_m17): Fix a warning.
460
461 2005-10-16  Zoltan Varga  <vargaz@freemail.hu>
462
463         * amd64/amd64-codegen.h (AMD64_CALLEE_SAVED_REGS): Add %rbp.
464
465 2005-09-27  Raja R Harinath  <rharinath@novell.com>
466
467         * arm/dpiops.sh, arm/fpaops.h: Output to stdout.
468         * arm/Makefile.am (arm_dpimacros.h, arm_fpamacros.h): Update.  Fix
469         for srcdir != builddir.
470
471 2005-09-11  Zoltan Varga  <vargaz@gmail.com>
472
473         * ia64/ia64-codegen.h (ia64_unw_pop_frames): New unwind macro.
474
475 2005-09-10  Zoltan Varga  <vargaz@gmail.com>
476
477         * ia64/ia64-codegen.h: Remove 'manual' emitting of instructions. 
478         Integrate emission of unwind directives into the assembly macros.
479
480 2005-09-04  Zoltan Varga  <vargaz@gmail.com>
481
482         * ia64/ia64-codegen.h (ia64_no_stop): New macro.
483
484 2005-08-27  Zoltan Varga  <vargaz@gmail.com>
485
486         * ia64/ia64-codegen.h: Fix some bugs.
487
488         * ia64/codegen.c: Update to work with latest ia64-codegen.h
489
490 2005-08-26  Zoltan Varga  <vargaz@gmail.com>
491
492         * ia64/Makefile.am: Distribute ia64-codegen.h.
493
494 2005-08-21  Zoltan Varga  <vargaz@freemail.hu>
495
496         * ia64/ia64-codegen.h: Improve ins scheduling and fix some bugs.
497
498 2005-08-17  Zoltan Varga  <vargaz@freemail.hu>
499
500         * ia64/ia64-codegen.h: Add dependency information for all instructions.
501
502 2005-07-30  Zoltan Varga  <vargaz@freemail.hu>
503
504         * ia64/ia64-codegen.h: Ongoing IA64 work.
505
506 Wed Jul 20 18:01:54 BST 2005 Paolo Molaro <lupus@ximian.com>
507
508         * arm/*: more codegen macros.
509
510 2005-07-18  Zoltan Varga  <vargaz@freemail.hu>
511
512         * ia64/ia64-codegen.h (ia64_is_adds_imm): Ongoing IA64 work.
513
514 2005-06-23  Zoltan Varga  <vargaz@freemail.hu>
515
516         * ia64/ia64-codegen.h: Add some new pseudo ops.
517
518 2005-06-19  Zoltan Varga  <vargaz@freemail.hu>
519
520         * ia64/ia64-codegen.h: Fix encoding of ia64_fclass.
521
522 2005-06-12  Zoltan Varga  <vargaz@freemail.hu>
523
524         * ia64/ia64-codegen.h: Ongoing IA64 work.
525
526 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
527
528         * ia64/ia64-codegen.h: Ongoing IA64 work.
529
530 2005-05-30  Zoltan Varga  <vargaz@freemail.hu>
531
532         * ia64/codegen.c: Fix it after latest changes.
533
534 2005-05-29  Zoltan Varga  <vargaz@freemail.hu>
535
536         * ia64/ia64-codegen.h: Ongoing IA64 work.
537         
538         * ia64/ia64-codegen.h: Ongoing IA64 work.
539
540 2005-05-28  Zoltan Varga  <vargaz@freemail.hu>
541
542         * ia64/ia64-codegen.h: Ongoing IA64 work.
543         
544         * ia64/ia64-codegen.h: Ongoing IA64 work.
545
546         * ia64/ia64-codegen.h: Ongoing IA64 work.
547
548 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
549
550         * ia64/ia64-codegen.h: Ongoing IA64 work.
551
552 2005-05-22  Zoltan Varga  <vargaz@freemail.hu>
553
554         * ia64/ia64-codegen.h: Ongoing IA64 work.
555         
556         * ia64/ia64-codegen.h: Ongoing IA64 work.
557
558         * ia64/ia64-codegen.h: Ongoing IA64 work.
559
560 2005-05-21  Zoltan Varga  <vargaz@freemail.hu>
561
562         * ia64/ia64-codegen.h: Ongoing IA64 work.
563
564 2005-05-19  Zoltan Varga  <vargaz@freemail.hu>
565
566         * ia64/ia64-codegen.h ia64/codegen.c: Ongoing ia64 work.
567
568 2005-05-18  Zoltan Varga  <vargaz@freemail.hu>
569
570         * ia64/ia64-codegen.h (ia64_codegen_init): Rename macro parameter.
571
572 2005-05-14  Zoltan Varga  <vargaz@freemail.hu>
573
574         * Makefile.am: Only compile libmonoarch if the interpreter is compiled.
575
576         * ia64/ia64-codegen.h: Add IA64 code generation macros.
577
578         * Makefile.am: Add ia64 subdir.
579
580 2005-05-05  Zoltan Varga  <vargaz@freemail.hu>
581
582         * alpha/tramp.c: Applied patch from Jakub Bogusz <qboosh@pld-linux.org>.
583
584 2005-03-28  Zoltan Varga  <vargaz@freemail.hu>
585
586         * amd64/amd64-codegen.h: Avoid emitting a rex in some places.
587
588 2005-03-15  Zoltan Varga  <vargaz@freemail.hu>
589
590         * amd64/amd64-codegen.h (amd64_emit_rex): Emit a rex when accessing the
591         byte registers.
592         
593         * amd64/amd64-codegen.h (AMD64_BYTE_REGS): Add AMD64_BYTE_REGS macro.
594
595 2005-03-14  Zoltan Varga  <vargaz@freemail.hu>
596
597         * amd64/amd64-codegen.h: Add missing AMD64_XMM7.
598
599 2005-03-13  Zoltan Varga  <vargaz@freemail.hu>
600
601         * amd64/amd64-codegen.h: Remove some unneccesary REXes.
602
603 2005-03-08  Zoltan Varga  <vargaz@freemail.hu>
604
605         * amd64/amd64-codegen.h (amd64_sse_cvtsi2sd_reg_reg_size): Add _size
606         variants to some sse2 macros.
607
608         * amd64/amd64-codegen.h (amd64_sse_cvtsd2si_reg_reg): Make this convert
609         to a 64 bit value.
610
611 2005-03-06  Zoltan Varga  <vargaz@freemail.hu>
612
613         * amd64/amd64-codegen.h: Add some SSE2 instructions.
614
615 2005-02-20  Zoltan Varga  <vargaz@freemail.hu>
616
617         * amd64/amd64-codegen.h: Add xadd instructions.
618         
619         * amd64/amd64-codegen.h (amd64_jump_code_size): Do not emit a rex.
620
621 2004-11-25  Zoltan Varga  <vargaz@freemail.hu>
622
623         * amd64/amd64-codegen.h: Updates to support the PIC changes.
624
625 Fri Nov 19 17:29:22 CET 2004 Paolo Molaro <lupus@ximian.com>
626
627         * ppc/ppc-codegen.h: counter reg decrement branch values
628         (patch by Geoff Norton <gnorton@customerdna.com>).
629
630 2004-11-16  Patrik Torstensson <patrik.torstensson@gmail.com>
631
632         * x86/x86-codegen.h: added opcodes for xadd instructions
633
634 2004-11-15  Zoltan Varga  <vargaz@freemail.hu>
635
636         * amd64/x86-64-codegen.h: Get rid of this.
637
638 2004-08-30  Zoltan Varga  <vargaz@freemail.hu>
639
640         * amd64/amd64-codegen.h (amd64_imul_reg_membase_size): Fix REX
641         generation.
642
643 2004-08-29  Zoltan Varga  <vargaz@freemail.hu>
644
645         * amd64/amd64-codegen.h: More SSE work.
646         
647         * amd64/amd64-codegen.h: Add SSE2 instructions.
648
649 2004-08-21  Zoltan Varga  <vargaz@freemail.hu>
650
651         * amd64/amd64-codegen.h (X86_IS_BYTE_REG): Redefine X86_IS_BYTE_REG
652         since under amd64, all 16 registers have a low part.
653
654 2004-08-16  Zoltan Varga  <vargaz@freemail.hu>
655
656         * x86/x86-codegen.h: Add macros for accessing the mod/rm byte.
657
658 2004-07-30  Zoltan Varga  <vargaz@freemail.hu>
659
660         * amd64/amd64-codegen.h: Ongoing JIT work.
661
662 2004-07-29  Ben Maurer  <bmaurer@ximian.com>
663
664         * x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm
665
666 2004-07-28  Zoltan Varga  <vargaz@freemail.hu>
667
668         * amd64/amd64-codegen.h: Ongoing JIT work.
669
670 2004-07-24  Zoltan Varga  <vargaz@freemail.hu>
671
672         * amd64/amd64-codegen.h: Ongoing JIT work.
673
674 2004-07-23  Zoltan Varga  <vargaz@freemail.hu>
675
676         * amd64/amd64-codegen.h: Ongoing JIT work.
677
678 2004-07-23  zovarga  <vargaz@freemail.hu>
679
680         * amd64/amd64-codegen.h: Ongoing JIT work.
681
682 2004-06-30  Zoltan Varga  <vargaz@freemail.hu>
683
684         * sparc/sparc-codegen.h: Add SPARC64 support.
685
686 2004-05-07  Bernie Solomon  <bernard@ugsolutions.com>
687
688         * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32
689
690 2004-04-29  Bernie Solomon  <bernard@ugsolutions.com>
691
692         * ppc/tramp.c: use sizeof (stackval), fix
693         delegate tramp frame layout for Apple
694
695 2004-04-26  David Waite <mass@akuma.org>
696
697         * unknown.c: modify to have content for defined platforms (to
698         avoid ISO C warning)
699
700 2004-03-29  Bernie Solomon  <bernard@ugsolutions.com>
701
702         * amd64/tramp.c:
703         * arm/tramp.c:
704         * hppa/tramp.c:
705         * ppc/tramp.c:
706         * s390/tramp.c:
707         * sparc/tramp.c:
708         * x86/tramp.c:
709         remove child from MonoInvocation as it isn't used.
710
711         * hppa/hppa-codegen.h:
712         fix displacements in FP instrs
713
714 2004-03-23  Bernie Solomon  <bernard@ugsolutions.com>
715
716         * hppa/hppa-codegen.h: created
717
718         * hppa/tramp.c: changed style to be more like
719         other platforms.
720
721         * hppa/Makefile.am: add hppa-codegen.h
722
723 2004-03-16  Zoltan Varga  <vargaz@freemail.hu>
724
725         * sparc/sparc-codegen.h: Add v9 branches with prediction.
726
727 2004-03-15  Bernie Solomon  <bernard@ugsolutions.com>
728
729         * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
730         so Sun's dis command recognizes it.
731
732 2004-03-15  Zoltan Varga  <vargaz@freemail.hu>
733
734         * sparc/sparc-codegen.h: Add some v9 instructions.
735
736 2004-03-11  Zoltan Varga  <vargaz@freemail.hu>
737
738         * sparc/sparc-codegen.h: Ongoing sparc work.
739
740 2004-03-07  Duncan Mak  <duncan@ximian.com>
741
742         * Makefile.am: Removed the reference to 'x86-64'. This was the cause
743         of the missing Mono daily tarballs, 'make dist' wasn't working.
744         
745         We do have an 'amd64' directory, but it doesn't make it in 'make
746         dist'.
747
748 2004-02-19  Zoltan Varga  <vargaz@freemail.hu>
749
750         * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
751
752         * sparc/tramp.c: Fix alignment of structures containing doubles.
753
754 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
755
756         * sparc/tramp.c: Implement all floating point argument passing conventions in
757         Sparc V8. Also fix structure passing in V8.
758
759 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
760
761         * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
762
763 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
764
765         * */tramp.c (mono_create_method_pointer): Rename to 
766         mono_arch_create_method_pointer, move common code to a new function in
767         interp.c.
768
769         * */tramp.c (mono_create_trampoline): Rename to 
770         mono_arch_create_trampoline for consistency.
771         
772 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
773
774         * x86/tramp.c: restore EDX after memcpy call
775
776 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
777
778         * Makefile.am: add hppa subdir 
779
780         * hppa/tramp.c: add initial implementation - this is 64 bit only
781         hppa/Makefile.am hppa/.cvsignore: added
782
783 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
784
785         * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
786         for V9 (64 bit), cover more 32 bit cases as well.
787
788 2003-09-03  Zoltan Varga  <vargaz@freemail.hu>
789
790         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
791
792 2003-08-21  Zoltan Varga  <vargaz@freemail.hu>
793
794         * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
795
796 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
797
798         * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
799
800 2003-05-20  Dietmar Maurer  <dietmar@ximian.com>
801
802         * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
803         not work for all registers.
804
805 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
806
807         * alpha/*: update from Laramie.
808
809 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
810
811         * alpha/*: start of the port to the alpha architecture by
812         Laramie Leavitt (<lar@leavitt.us>).
813
814 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
815
816         * ppc/ppc-codegen.h: completed ppc native code generation by
817         Taylor Christopher P <ct@cs.clemson.edu>.
818
819 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
820
821         * ppc/tramp.c: adapted to work for MacOSX (from a patch by 
822         John Duncan).
823
824 2002-11-11  Mark Crichton  <crichton@gimp.org>
825
826         * sparc/tramp.c: Added some disassembly bits for debugging.
827
828 2002-10-02  Mark Crichton  <crichton@gimp.org>
829
830         * sparc/tramp.c: More cleanup of the trampoline code.  Still some
831         problems with it w.r.t. delegates.
832
833 2002-09-25  Mark Crichton  <crichton@gimp.org>
834
835         * sparc/tramp.c: Off by one error.  Whoops.  Trampoline code should
836         now work properly.
837
838 2002-09-24  Mark Crichton  <crichton@gimp.org>
839
840         * sparc/tramp.c: Works as well as the old code did.  Cleanup is
841         finished.  The framework now for adding more type support is in,
842         and should be a *lot* cleaner.
843         
844 2002-09-22  Mark Crichton  <crichton@gimp.org>
845
846         * sparc/tramp.c: Completely broke trampolining on SPARC processors.
847         The code needed a nasty cleanup, so most of it is rewritten.
848         It will be fixed.
849
850 2002-08-20  Mark Crichton <crichton@gimp.org>
851
852         * sparc/tramp.c (mono_create_trampoline): Now works on Sparc.  Tested
853         on an Ultra 2 running Linux.
854
855 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
856
857         * x86/tramp.c: fix random memory read in mono_create_method_pointer.
858
859 2002-08-05  Dietmar Maurer  <dietmar@ximian.com>
860
861         * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
862
863 2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
864
865         * x86/tramp.c (mono_create_method_pointer): allocate space for
866         value types.
867         (mono_create_trampoline): also push the value type pointer for
868         methods returning value types.
869         (mono_create_method_pointer): support valuetype returns.
870
871 2002-07-31  Dietmar Maurer  <dietmar@ximian.com>
872
873         * x86/tramp.c: remove code to handle PInvoke because this is no
874         longer needed.
875         (mono_create_method_pointer): return method->addr for pinvoke methods
876
877 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
878
879         * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
880
881 2002-07-08  Radek Doulik  <rodo@ximian.com>
882
883         * ppc/tramp.c: marshaling for SZARRAY
884
885 2002-07-05  Radek Doulik  <rodo@ximian.com>
886
887         * ppc/tramp.c: removed magic hack
888
889 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
890
891         * x86/tramp.c: marshal simple arrays correctly.
892
893 2002-05-27  Miguel de Icaza  <miguel@ximian.com>
894
895         * x86/x86-codegen.h: Set the standard header format.
896
897 2002-05-23  Dietmar Maurer  <dietmar@ximian.com>
898
899         * x86/tramp.c (mono_create_method_pointer): removed the magic
900         trick to store the function pointer in the prolog and use the same
901         mechanism as in the jit.
902
903 2002-05-13  Radek Doulik  <rodo@ximian.com>
904
905         * ppc/tramp.c (emit_save_parameters): fix I8 parameters
906
907 2002-05-06  Sergey Chaban  <serge@wildwestsoftware.com>
908
909         * x86/x86-codegen.h: added missing shifts;
910         8-bit ALU operations (reg-reg);
911         macro for FPU ops with integer operand;
912         FIST macro (without pop);
913
914 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
915
916         * x86/x86-codegen.h: added loop instructions and made x86_patch fully
917         useful.
918
919 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
920
921         * x86/tramp.c (mono_create_trampoline): support internalcall
922         String constructors
923
924 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
925
926         * x86/tramp.c: fix advancement of argument position on the stack.
927
928 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
929
930         * x86/tramp.c: increase default allocated size for trampolines
931         and assert on overflow.
932
933 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
934
935         * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
936         R8 values
937
938 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
939
940         * x86/x86-codegen.h: addex x86_clear_reg() and changed
941         x86_mov_reg_imm() to not check for imm == 0.
942
943 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
944
945         * x86/tramp.c: start handling of more complex marshaling stuff.
946
947 2002-02-25  Sergey Chaban  <serge@wildwestsoftware.com>
948
949         * arm: added ARM support code.
950         * Makefile.am: added arm to DIST_SUBDIRS.
951
952 2002-02-24  Radek Doulik  <rodo@ximian.com>
953
954         * ppc/tramp.c (mono_create_method_pointer): basic delegates
955         implementation, it works for simple delegates now and I am already
956         pretty close to have it working for every delegates, but I am
957         going to sleep and finish it tomorrow?
958         (mono_create_method_pointer): implements delegates with parameters
959         and return value
960
961 2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>
962
963         * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
964         the opcodes more correct. Still needs a lot of work.
965
966 2002-02-19  Radek Doulik  <rodo@ximian.com>
967
968         * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
969         even registers
970         added stack saving for most arguments
971
972 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
973
974         * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
975
976 2002-02-17  Radek Doulik  <rodo@ximian.com>
977
978         * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
979         fix byte and half word parameters 
980         (mono_string_new_wrapper): new helper function, cut&pasted from
981         x86, modified to check for NULL text to avoid branching in
982         generated code
983         (calculate_sizes): updated for string retval changes
984         (emit_call_and_store_retval): updated for string retval
985
986         * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
987
988 2002-02-16  Radek Doulik  <rodo@ximian.com>
989
990         * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
991
992 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
993
994         * sparc/*: sparc codegen header and some untested trampoline code.
995
996 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
997
998         * x86/tramp.c: fix handling of multiple marshaleed strings.
999         * x86/x86-codegen.h: some code to patch branch displacements.
1000
1001 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
1002
1003         * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
1004
1005 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
1006
1007         * x86/tramp.c (mono_create_trampoline): Do not try to create a
1008         mono_string_new if the return value from the PInvoke code is
1009         NULL. 
1010
1011 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
1012
1013         * x86/x86-codegen.c: added overflow condition code and some aliases
1014         for the other ccs.
1015
1016 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
1017
1018         * x86/tramp.c: mono_create_trampoline (): the runtime argument is
1019         needed to handle correctly delegates, the previous change in handling
1020         the string return type broke them.
1021
1022 Tue Jan  8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
1023         
1024         * x86/tramp.c: handle strings returned from functions in external 
1025         libraries by converting to a Mono string object after the pinvoke'd 
1026         function returns
1027         
1028 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
1029
1030         * x86/tramp.c: handle short integer return types.
1031
1032 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
1033
1034         * x86/tramp.c: fix create_method_pointer() to pass the arguments
1035         correctly and add check for overflow.
1036
1037 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
1038
1039         * x86/x86-codegen.h: x86_mov_memindex_imm() added.
1040         
1041 2001-11-29  Radek Doulik  <rodo@ximian.com>
1042
1043         * ppc/tramp.c: use r12 which is volatile instead of non-volatile
1044         r14 to avoid saving
1045
1046         * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
1047         generate libmonoarch for ppc
1048
1049 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
1050
1051         * x96/x86-codegen.c: x86_lea_memindex() added.
1052
1053 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
1054
1055         * x86/tramp.c: handle enums with underlying type different from int32.
1056
1057 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
1058
1059         * x86/tramp.c: handle boolean as a return value.
1060         * x96/x86-codegen.c: x86_widen_memindex() added.
1061
1062 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
1063
1064         * x86/tramp.c: Include stdlib to kill warning.
1065
1066 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
1067
1068         * x86/tramp.c: handle boolean, u1 and i1 as return values.
1069
1070 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
1071
1072         * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
1073
1074 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
1075
1076         * x86/tramp.c: remove mono_get_ansi_string () and use
1077         mono_string_to_utf8 () instead.
1078
1079 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
1080
1081         * x86/tramp.c: allow marshalling valuetypes if they are
1082         4 bytes long.
1083
1084 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
1085
1086         * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
1087         and avoid a couple of unnecessary instructions.
1088
1089 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
1090
1091         * x86/tramp.c: marshal valuetypes that are enums.
1092
1093 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
1094
1095         * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
1096         as basereg.
1097
1098 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
1099
1100         * x86/x86-codegen.h: added memindex addressing mode encoding
1101         (and mov to/from register opcodes).
1102
1103 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
1104
1105         * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
1106         when it's an argument to an internalcall.
1107
1108 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
1109
1110         * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
1111
1112 2001-09-21  Dietmar Maurer  <dietmar@ximian.com>
1113
1114         * x86/x86-codegen.h (x86_breakpoint): added.
1115
1116 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
1117
1118         * x86/x86-codegen.h: remove C++ comments.
1119
1120 2001-09-17  Dietmar Maurer  <dietmar@ximian.com>
1121
1122         * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
1123
1124 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1125
1126         * Makefile.am, x86/Makefile.am: conditional compile logic
1127         to make porting to different targets easier.
1128
1129 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1130
1131         * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
1132         * x86/tramp.c: implemented mono_create_method_pointer ():
1133         creates a native pointer to a method implementation that can be 
1134         used as a normal C callback.
1135
1136 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1137
1138         * x86/x86-codegen.h: added x86_rdtsc() and fixes.
1139         * x86/tramp.c: create trampolines to call pinvoke methods.
1140         * x86/Makefile.am: create a libmonoarch convenience library.
1141
1142 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1143
1144         * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
1145
1146 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
1147
1148         * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
1149
1150 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
1151
1152         * x86/x86-codegen.h, x86/test.c: added x86 code emitter with
1153         test.
1154