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