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