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