1 2009-07-10 Jerry Maine <crashfourit@gmail.com>
3 Contributed under the terms of the MIT/X11 license by
4 Jerry Maine <crashfourit@gail.com>.
6 * amd64/amd64-codegen.h: Add marcos for coding several specific sse opcodes.
7 * amd64/amd64-codegen.h: Fix bugs in simd marcos.
9 2009-06-24 Jerry Maine <crashfourit@gmail.com>
11 Contributed under the terms of the MIT/X11 license by
12 Jerry Maine <crashfourit@gail.com>.
14 * amd64/amd64-codegen.h: Add marcos for coding several specific sse opcodes.
16 2009-06-22 Zoltan Varga <vargaz@gmail.com>
18 * ppc/ppc-codegen.h: Rework the naming of the load/store macros,
19 ldr/str now handle register sized quantities, while ldptr/stptr handle
20 pointer sized quantities.
22 2009-06-20 Zoltan Varga <vargaz@gmail.com>
24 * ppc/ppc-codegen.h: Fix the last change to avoid self-assignments inside
27 * ppc/ppc-codegen.h: Add ppc_ldr/ppc_str macros to store regsize quantities.
28 Handle little endian host platforms in ppc_emit32.
30 2009-10-06 Jerry Maine <crashfourit@gmail.com>
32 Contributed under the terms of the MIT/X11 license by
33 Jerry Maine <crashfourit@gail.com>.
35 * amd64/amd64-codegen.h: Add marcos for coding two byte SIMD/SSE opcodes.
36 Added comments to help tell the different types of SSE code gen marcos appart.
38 2009-04-06 Zoltan Varga <vargaz@gmail.com>
40 * arm/arm-vfp-codegen.h: Add ARM_FSITOS/ARM_FSITOD.
42 2009-04-03 Zoltan Varga <vargaz@gmail.com>
44 * amd64/amd64-codegen.h: Add macros for decoding the SIB byte.
46 2009-04-02 Zoltan Varga <vargaz@gmail.com>
48 * arm/arm-vfp-codegen.h: Add missing VFP codegen macros.
50 2009-03-06 Zoltan Varga <vargaz@gmail.com>
52 * arm/tramp.c: Include a change from the debian patches. Avoid #include-ing
53 a file in the middle of a function.
55 2009-02-27 Zoltan Varga <vargaz@gmail.com>
57 * arm/{arm_fpamacros.h, arm_vfpmacros.h}: Remove these files, they are
60 2009-02-02 Mark Probst <mark.probst@gmail.com>
62 Contributed under the terms of the MIT/X11 license by Steven
63 Munroe <munroesj@us.ibm.com>.
65 * ppc/ppc-codegen.h: Make operand order and case consistent
66 (assembler order) for ppc_load_reg_update, ppc_load_multiple_regs,
67 ppc_store_multiple_regs, ppc_lwz, ppc_lhz, ppc_lbz,
68 ppc_stw,ppc_sth, ppc_stb, ppc_stwu, ppc_lbzu, ppc_lfdu, ppc_lfsu,
69 ppc_lfsux, ppc_lfsx, ppc_lha, ppc_lhau, ppc_lhzu, ppc_lmw,
70 ppc_lwzu, ppc_stbu, ppc_stfdu, ppc_stfsu, ppc_sthu, ppc_stmw. Use
71 "i" or "ui" instead of "d" for immediated operands to immediate
72 arthimetic and logical instructions in macros ppc_addi, ppc_addis,
73 ppc_ori, ppc_addic, ppc_addicd, ppc_andid, ppc_andisd.
74 [__mono_ppc64__]: Make operand order and case consistent
75 (assembler order) for ppc_load_multiple_regs,
76 ppc_store_multiple_regs. Simplify the DS form and make them
77 consistent with D forms for ppc_load_reg, ppc_load_reg_update,
78 ppc_store_reg, ppc_store_reg_update. ppc_ld, ppc_lwa, ppc_ldu,
79 ppc_std, ppc_stdu. Define ppc_lwax and ppc_lwaux.
81 2009-01-19 Rodrigo Kumpera <rkumpera@novell.com>
83 * x86/x86-codegen.h: Add x86_movd_xreg_membase.
85 2008-12-19 Mark Probst <mark.probst@gmail.com>
87 * ppc/ppc-codegen.h: Fixed the argument order for lwzu in
90 2008-12-12 Mark Mason <mmason@upwardaccess.com>
92 * mips/mips-codegen.h: Changes to support n32.
94 2008-12-10 Mark Probst <mark.probst@gmail.com>
96 * ppc/ppc-codegen.h: A few new macros for the final PPC/PPC64
99 2008-12-05 Mark Probst <mark.probst@gmail.com>
101 * ppc/ppc-codegen.h: ppc_load_func must use ppc_load_sequence.
102 Added ppc_compare_log.
104 2008-12-05 Mark Probst <mark.probst@gmail.com>
106 * ppc/ppc-codegen.h: Added ppc_load_func for PPC32. Added
107 ppc_load/store_multiple_regs and ppc_compare_reg_imm.
109 2008-12-02 Mark Probst <mark.probst@gmail.com>
111 * ppc/ppc-codegen.h: Opcodes for floating point conversions from
114 Code submitted by andreas.faerber@web.de at
115 https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
118 2008-11-28 Mark Probst <mark.probst@gmail.com>
120 * ppc/ppc-codegen.h: #define for the maximum length of a load
123 2008-11-21 Mark Probst <mark.probst@gmail.com>
125 * ppc/ppc-codegen.h: Make ppc_is_[u]imm16() work with 64 bit
128 2008-11-20 Rodrigo Kumpera <rkumpera@novell.com>
130 * x86/x86-codegen.h: Add X86_SSE_MOVHPD_REG_MEMBASE and renamed MOVS to MOVSD.
132 2008-11-20 Rodrigo Kumpera <rkumpera@novell.com>
134 * x86/x86-codegen.h: Add X86_SSE_MOVS_ reg/membase variants.
136 * x86/x86-codegen.h: Add x86_sse_alu_pd_reg_membase_imm.
138 * x86/x86-codegen.h: Sort the x86_sse_alu_* macros decently.
140 2008-11-20 Mark Probst <mark.probst@gmail.com>
142 * ppc/ppc-codegen.h: Use ppc_load_reg instead of ppc_ld in
143 ppc_load_func to fix the 2 bit shift.
145 2008-11-20 Mark Probst <mark.probst@gmail.com>
147 * ppc/ppc-codegen.h: 64 bit division opcodes.
149 Code submitted by andreas.faerber@web.de at
150 https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
153 2008-11-20 Zoltan Varga <vargaz@gmail.com>
155 * arm/Makefile.am (libmonoarch_arm_la_SOURCES): Don't build tramp.c, it is only
156 used by the interpreter.
158 2008-11-20 Rodrigo Kumpera <rkumpera@novell.com>
160 * x86/x86-codegen.h: Add PEXTR B/W/D.
162 2008-11-18 Rodrigo Kumpera <rkumpera@novell.com>
164 * x86/x86-codegen.h: Add PINSR B/W/D.
166 2008-11-18 Mark Probst <mark.probst@gmail.com>
168 * ppc/ppc-codegen.h: Macro for nop added.
170 2008-11-18 Mark Probst <mark.probst@gmail.com>
172 * ppc/ppc-codegen.h: PPC64 code generation macros.
174 Based on code submitted by andreas.faerber@web.de at
175 https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
178 2008-11-18 Mark Probst <mark.probst@gmail.com>
180 * ppc/ppc-codegen.h: A few fixes and additions.
182 Based on code submitted by andreas.faerber@web.de at
183 https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
186 2008-11-17 Rodrigo Kumpera <rkumpera@novell.com>
188 * x86/x86-codegen.h: Fix comment about the version of PCMPGTQ.
190 * x86/x86-codegen.h: Add movsd constant and x86_sse_alu_sd_membase_reg
193 2008-11-17 Rodrigo Kumpera <rkumpera@novell.com>
195 * x86/x86-codegen.h: Add X86_SSE_MOVHPD_MEMBASE_REG constant
196 and x86_sse_alu_pd_membase_reg/x86_sse_alu_membase_reg macros.
198 2008-11-15 Andreas Faerber <andreas.faerber@web.de>
200 * ppc/test.c: Add support for Mac OS X.
202 Code is contributed under MIT/X11 license.
204 2008-11-13 Rodrigo Kumpera <rkumpera@novell.com>
206 * x86/x86-codegen.h: Remove not used macro x86_pshufd_reg_reg.
208 2008-11-04 Rodrigo Kumpera <rkumpera@novell.com>
210 * x86/x86-codegen.h: Add store nta.
212 2008-11-03 Rodrigo Kumpera <rkumpera@novell.com>
214 * x86/x86-codegen.h: Add prefetch instruction
215 and x86_sse_alu_reg_membase macro.
217 2008-10-28 Rodrigo Kumpera <rkumpera@novell.com>
219 * x86/x86-codegen.h: Add long version of the packed integer
222 2008-10-27 Rodrigo Kumpera <rkumpera@novell.com>
224 * x86/x86-codegen.h: Add movddup.
226 2008-10-24 Rodrigo Kumpera <rkumpera@novell.com>
228 * x86/x86-codegen.h: Add signed pack with saturation.
230 2008-10-24 Rodrigo Kumpera <rkumpera@novell.com>
232 * x86/x86-codegen.h: Add signed packed mul high.
234 2008-10-23 Rodrigo Kumpera <rkumpera@novell.com>
236 * x86/x86-codegen.h: Add signed packed max, min, add/sub with saturation
239 2008-10-20 Rodrigo Kumpera <rkumpera@novell.com>
241 * x86/x86-codegen.h: Add multiply and store high.
243 2008-10-17 Rodrigo Kumpera <rkumpera@novell.com>
245 * x86/x86-codegen.h: Add packed int shuffle.
247 2008-10-16 Rodrigo Kumpera <rkumpera@novell.com>
249 * x86/x86-codegen.h: Add packed int compare equals and
252 2008-10-15 Rodrigo Kumpera <rkumpera@novell.com>
254 * x86/x86-codegen.h: Add packed int max/min/avg/shuffle and extract mask.
256 2008-10-14 Rodrigo Kumpera <rkumpera@novell.com>
258 * x86/x86-codegen.h: Add movsldup and movshdup.
260 2008-10-13 Rodrigo Kumpera <rkumpera@novell.com>
262 * x86/x86-codegen.h: Add remaining FP sse1 ops.
263 Add sse ps encoding with imm operand.
264 Add remaining sse1 ops.
266 2008-10-12 Rodrigo Kumpera <rkumpera@novell.com>
268 * x86/x86-codegen.h: Add macro for sse41 ops.
269 Add defined for pack ops, dword shifts/mul/pack.
271 2008-10-11 Zoltan Varga <vargaz@gmail.com>
273 * amd64/amd64-codegen.h (amd64_jump_code_size): Fix the 64 bit support.
275 2008-10-10 Zoltan Varga <vargaz@gmail.com>
277 * amd64/amd64-codegen.h (amd64_jump_code_size): Handle non 32-bit targets.
279 2008-10-09 Rodrigo Kumpera <rkumpera@novell.com>
281 * x86/x86-codegen.h: Add macros for sse shift, pack, unpack,
282 saturated math and packed byte/word/dword math.
284 2008-10-03 Rodrigo Kumpera <rkumpera@novell.com>
286 * x86/x86-codegen.h: Add macros for SSE instructions.
288 2008-09-27 Mark Probst <mark.probst@gmail.com>
290 * ppc/ppc-codegen.h: A few typecasts to fix compiler warnings.
292 2008-09-07 Mark Probst <mark.probst@gmail.com>
294 * ppc/ppc-codegen.h (ppc_load): Inserted cast to fix some
297 2008-06-16 Mark Probst <mark.probst@gmail.com>
299 * amd64/amd64-codegen.h: Removed extraneous parenthesis in a macro
302 2008-06-06 Zoltan Varga <vargaz@gmail.com>
304 * amd64/amd64-codegen.h (amd64_padding_size): Rewrite this to use the
305 instructions recommended by the amd64 manual.
307 2008-04-19 Zoltan Varga <vargaz@gmail.com>
309 * amd64/amd64-codegen.h (amd64_is_imm32): Use gint64 instead of glong because of
312 2008-03-13 Geoff Norton <gnorton@novell.com>
314 * arch/arm/tramp.c: Dont compile this on PLATFORM_MACOSX
316 2008-02-18 Zoltan Varga <vargaz@gmail.com>
318 * amd64/amd64-codegen.h (amd64_movsxd_reg_mem): New codegen macro.
320 2008-02-14 Zoltan Varga <vargaz@gmail.com>
322 * amd64/amd64-codegen.h (amd64_alu_membase8_imm_size): New codegen macro.
324 2008-02-08 Zoltan Varga <vargaz@gmail.com>
326 * arm/arm-codegen.h: Fix the ordering of arguments for some load/store opcodes
327 so they are consistent.
329 2008-01-24 Zoltan Varga <vargaz@gmail.com>
331 * Makefile.am (SUBDIRS): Or if INTERP_SUPPORTED is true.
333 * Makefile.am (SUBDIRS): Only set this on arm.
335 2007-11-20 Zoltan Varga <vargaz@gmail.com>
337 * amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller
338 instruction encoding.
340 2007-11-03 David S. Miller <davem@davemloft.net>
342 * sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi
343 can be used if the constant value only has the top 22 bits set.
345 2007-11-01 Geoff Norton <gnorton@novell.com>
347 * x86/Makefile.am: Only compile tramp.c if INTERP_SUPPORTED is true
348 Fixes the build on Leopard.
350 2007-11-01 Geoff Norton <gnorton@novell.com>
352 * ppc/Makefile.am: Only compile tramp.c if INTERP_SUPPORTED is true
353 Fixes the build on Leopard.
355 2007-10-26 Jonathan Chambers <joncham@gmail.com>
357 * amd64/amd64-codegen.h: Begin Win64 port. Use AMD64_ARG_REG#
358 defines to access param registers. Replace long usage with
359 gsize as sizeof(long) != sizeof(void*) on Win64.
361 Code is contributed under MIT/X11 license.
363 2007-10-09 Zoltan Varga <vargaz@gmail.com>
365 * amd64/amd64-codegen.h (amd64_jump_membase_size): Remove an unneccesary
366 rex prefix which trips up valgrind.
368 2007-07-14 Zoltan Varga <vargaz@gmail.com>
370 * amd64/amd64-codegen.h: Remove some unused rex prefixes.
372 Wed Jul 4 15:29:07 CEST 2007 Paolo Molaro <lupus@ximian.com>
374 * x86/x86-codegen.h: added minimal sse instructions currently
377 2007-06-13 Randolph Chung <tausq@debian.org>
379 * hppa/hppa-codegen.h: Update with more instructions.
380 * hppa/tramp.c: Disable for linux since we don't support the
383 2007-05-20 Zoltan Varga <vargaz@gmail.com>
385 * amd64/amd64-codegen.h (amd64_call_reg): Remove a got prefix which isn't needed.
387 2007-04-23 Zoltan Varga <vargaz@gmail.com>
389 * alpha/alpha-codegen.h: More alpha port work from
390 Sergey Tikhonov <tsv@solvo.ru>.
392 Mon Mar 12 17:07:32 CET 2007 Paolo Molaro <lupus@ximian.com>
394 * amd64/amd64-codegen.h: removed some useless size rex prefixes.
396 Wed Jan 24 21:00:40 CET 2007 Paolo Molaro <lupus@ximian.com>
398 * arm/arm-codegen.h: fixed encoding of short/byte load/store
399 instructions with negative immediate offsets.
401 Mon Nov 20 17:36:45 CET 2006 Paolo Molaro <lupus@ximian.com>
403 * arm/arm-codegen.h: added suppot for thumb interworking instructions.
405 Wed Nov 15 16:56:53 CET 2006 Paolo Molaro <lupus@ximian.com>
407 * mips/*: fixes by Mark E Mason <mark.e.mason@broadcom.com>.
409 2006-09-12 Zoltan Varga <vargaz@gmail.com>
411 * alpha/alpha-codegen.h: More alpha updates from Sergey Tikhonov <tsv@solvo.ru>.
413 Tue Sep 12 13:09:56 CEST 2006 Paolo Molaro <lupus@ximian.com>
415 * arm/*: VFP floating point format code generation support.
417 2006-09-12 Zoltan Varga <vargaz@gmail.com>
419 * ia64/ia64-codegen.h: Add xmpy_l/u pseudo ops.
421 2006-07-19 Zoltan Varga <vargaz@gmail.com>
423 * amd64/amd64-codegen.h: Fix amd64_mov_mem_reg.
425 * alpha/alpha-codegen.h alpha/test.c alpha/tramp.c: Applied patch from
426 Sergey Tikhonov <tsv@solvo.ru>. Updates to alpha support.
428 Thu Jun 15 16:59:36 CEST 2006 Paolo Molaro <lupus@ximian.com>
430 * ppc/ppc-codegen.h: reduce noisy build warnings by
431 casting to the more commonly used unsigned char type
432 (from johannes@sipsolutions.net (Johannes Berg)).
434 2006-05-14 Zoltan Varga <vargaz@gmail.com>
436 * ia64/ia64-codegen.h (ia64_fetchadd8_acq_hint_pred): Fix encoding of this
439 2006-04-21 Zoltan Varga <vargaz@gmail.com>
441 * Makefile.am (SUBDIRS): Revert the last change as arm depends on the old
444 2006-04-12 Zoltan Varga <vargaz@gmail.com>
446 * sparc/sparc-codegen.h (sparc_inst_i): New disassembly macro.
448 2006-04-04 Zoltan Varga <vargaz@gmail.com>
450 * Makefile.am (SUBDIRS): Avoid compiling subdirs needed by the
453 2005-12-22 Zoltan Varga <vargaz@gmail.com>
455 * sparc/sparc-codegen.h (sparc_membar): Add membar instruction.
457 2005-10-30 Zoltan Varga <vargaz@gmail.com>
459 * ia64/ia64-codegen.h (ia64_m17): Fix a warning.
461 2005-10-16 Zoltan Varga <vargaz@freemail.hu>
463 * amd64/amd64-codegen.h (AMD64_CALLEE_SAVED_REGS): Add %rbp.
465 2005-09-27 Raja R Harinath <rharinath@novell.com>
467 * arm/dpiops.sh, arm/fpaops.h: Output to stdout.
468 * arm/Makefile.am (arm_dpimacros.h, arm_fpamacros.h): Update. Fix
469 for srcdir != builddir.
471 2005-09-11 Zoltan Varga <vargaz@gmail.com>
473 * ia64/ia64-codegen.h (ia64_unw_pop_frames): New unwind macro.
475 2005-09-10 Zoltan Varga <vargaz@gmail.com>
477 * ia64/ia64-codegen.h: Remove 'manual' emitting of instructions.
478 Integrate emission of unwind directives into the assembly macros.
480 2005-09-04 Zoltan Varga <vargaz@gmail.com>
482 * ia64/ia64-codegen.h (ia64_no_stop): New macro.
484 2005-08-27 Zoltan Varga <vargaz@gmail.com>
486 * ia64/ia64-codegen.h: Fix some bugs.
488 * ia64/codegen.c: Update to work with latest ia64-codegen.h
490 2005-08-26 Zoltan Varga <vargaz@gmail.com>
492 * ia64/Makefile.am: Distribute ia64-codegen.h.
494 2005-08-21 Zoltan Varga <vargaz@freemail.hu>
496 * ia64/ia64-codegen.h: Improve ins scheduling and fix some bugs.
498 2005-08-17 Zoltan Varga <vargaz@freemail.hu>
500 * ia64/ia64-codegen.h: Add dependency information for all instructions.
502 2005-07-30 Zoltan Varga <vargaz@freemail.hu>
504 * ia64/ia64-codegen.h: Ongoing IA64 work.
506 Wed Jul 20 18:01:54 BST 2005 Paolo Molaro <lupus@ximian.com>
508 * arm/*: more codegen macros.
510 2005-07-18 Zoltan Varga <vargaz@freemail.hu>
512 * ia64/ia64-codegen.h (ia64_is_adds_imm): Ongoing IA64 work.
514 2005-06-23 Zoltan Varga <vargaz@freemail.hu>
516 * ia64/ia64-codegen.h: Add some new pseudo ops.
518 2005-06-19 Zoltan Varga <vargaz@freemail.hu>
520 * ia64/ia64-codegen.h: Fix encoding of ia64_fclass.
522 2005-06-12 Zoltan Varga <vargaz@freemail.hu>
524 * ia64/ia64-codegen.h: Ongoing IA64 work.
526 2005-06-09 Zoltan Varga <vargaz@freemail.hu>
528 * ia64/ia64-codegen.h: Ongoing IA64 work.
530 2005-05-30 Zoltan Varga <vargaz@freemail.hu>
532 * ia64/codegen.c: Fix it after latest changes.
534 2005-05-29 Zoltan Varga <vargaz@freemail.hu>
536 * ia64/ia64-codegen.h: Ongoing IA64 work.
538 * ia64/ia64-codegen.h: Ongoing IA64 work.
540 2005-05-28 Zoltan Varga <vargaz@freemail.hu>
542 * ia64/ia64-codegen.h: Ongoing IA64 work.
544 * ia64/ia64-codegen.h: Ongoing IA64 work.
546 * ia64/ia64-codegen.h: Ongoing IA64 work.
548 2005-05-26 Zoltan Varga <vargaz@freemail.hu>
550 * ia64/ia64-codegen.h: Ongoing IA64 work.
552 2005-05-22 Zoltan Varga <vargaz@freemail.hu>
554 * ia64/ia64-codegen.h: Ongoing IA64 work.
556 * ia64/ia64-codegen.h: Ongoing IA64 work.
558 * ia64/ia64-codegen.h: Ongoing IA64 work.
560 2005-05-21 Zoltan Varga <vargaz@freemail.hu>
562 * ia64/ia64-codegen.h: Ongoing IA64 work.
564 2005-05-19 Zoltan Varga <vargaz@freemail.hu>
566 * ia64/ia64-codegen.h ia64/codegen.c: Ongoing ia64 work.
568 2005-05-18 Zoltan Varga <vargaz@freemail.hu>
570 * ia64/ia64-codegen.h (ia64_codegen_init): Rename macro parameter.
572 2005-05-14 Zoltan Varga <vargaz@freemail.hu>
574 * Makefile.am: Only compile libmonoarch if the interpreter is compiled.
576 * ia64/ia64-codegen.h: Add IA64 code generation macros.
578 * Makefile.am: Add ia64 subdir.
580 2005-05-05 Zoltan Varga <vargaz@freemail.hu>
582 * alpha/tramp.c: Applied patch from Jakub Bogusz <qboosh@pld-linux.org>.
584 2005-03-28 Zoltan Varga <vargaz@freemail.hu>
586 * amd64/amd64-codegen.h: Avoid emitting a rex in some places.
588 2005-03-15 Zoltan Varga <vargaz@freemail.hu>
590 * amd64/amd64-codegen.h (amd64_emit_rex): Emit a rex when accessing the
593 * amd64/amd64-codegen.h (AMD64_BYTE_REGS): Add AMD64_BYTE_REGS macro.
595 2005-03-14 Zoltan Varga <vargaz@freemail.hu>
597 * amd64/amd64-codegen.h: Add missing AMD64_XMM7.
599 2005-03-13 Zoltan Varga <vargaz@freemail.hu>
601 * amd64/amd64-codegen.h: Remove some unneccesary REXes.
603 2005-03-08 Zoltan Varga <vargaz@freemail.hu>
605 * amd64/amd64-codegen.h (amd64_sse_cvtsi2sd_reg_reg_size): Add _size
606 variants to some sse2 macros.
608 * amd64/amd64-codegen.h (amd64_sse_cvtsd2si_reg_reg): Make this convert
611 2005-03-06 Zoltan Varga <vargaz@freemail.hu>
613 * amd64/amd64-codegen.h: Add some SSE2 instructions.
615 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
617 * amd64/amd64-codegen.h: Add xadd instructions.
619 * amd64/amd64-codegen.h (amd64_jump_code_size): Do not emit a rex.
621 2004-11-25 Zoltan Varga <vargaz@freemail.hu>
623 * amd64/amd64-codegen.h: Updates to support the PIC changes.
625 Fri Nov 19 17:29:22 CET 2004 Paolo Molaro <lupus@ximian.com>
627 * ppc/ppc-codegen.h: counter reg decrement branch values
628 (patch by Geoff Norton <gnorton@customerdna.com>).
630 2004-11-16 Patrik Torstensson <patrik.torstensson@gmail.com>
632 * x86/x86-codegen.h: added opcodes for xadd instructions
634 2004-11-15 Zoltan Varga <vargaz@freemail.hu>
636 * amd64/x86-64-codegen.h: Get rid of this.
638 2004-08-30 Zoltan Varga <vargaz@freemail.hu>
640 * amd64/amd64-codegen.h (amd64_imul_reg_membase_size): Fix REX
643 2004-08-29 Zoltan Varga <vargaz@freemail.hu>
645 * amd64/amd64-codegen.h: More SSE work.
647 * amd64/amd64-codegen.h: Add SSE2 instructions.
649 2004-08-21 Zoltan Varga <vargaz@freemail.hu>
651 * amd64/amd64-codegen.h (X86_IS_BYTE_REG): Redefine X86_IS_BYTE_REG
652 since under amd64, all 16 registers have a low part.
654 2004-08-16 Zoltan Varga <vargaz@freemail.hu>
656 * x86/x86-codegen.h: Add macros for accessing the mod/rm byte.
658 2004-07-30 Zoltan Varga <vargaz@freemail.hu>
660 * amd64/amd64-codegen.h: Ongoing JIT work.
662 2004-07-29 Ben Maurer <bmaurer@ximian.com>
664 * x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm
666 2004-07-28 Zoltan Varga <vargaz@freemail.hu>
668 * amd64/amd64-codegen.h: Ongoing JIT work.
670 2004-07-24 Zoltan Varga <vargaz@freemail.hu>
672 * amd64/amd64-codegen.h: Ongoing JIT work.
674 2004-07-23 Zoltan Varga <vargaz@freemail.hu>
676 * amd64/amd64-codegen.h: Ongoing JIT work.
678 2004-07-23 zovarga <vargaz@freemail.hu>
680 * amd64/amd64-codegen.h: Ongoing JIT work.
682 2004-06-30 Zoltan Varga <vargaz@freemail.hu>
684 * sparc/sparc-codegen.h: Add SPARC64 support.
686 2004-05-07 Bernie Solomon <bernard@ugsolutions.com>
688 * ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32
690 2004-04-29 Bernie Solomon <bernard@ugsolutions.com>
692 * ppc/tramp.c: use sizeof (stackval), fix
693 delegate tramp frame layout for Apple
695 2004-04-26 David Waite <mass@akuma.org>
697 * unknown.c: modify to have content for defined platforms (to
700 2004-03-29 Bernie Solomon <bernard@ugsolutions.com>
709 remove child from MonoInvocation as it isn't used.
711 * hppa/hppa-codegen.h:
712 fix displacements in FP instrs
714 2004-03-23 Bernie Solomon <bernard@ugsolutions.com>
716 * hppa/hppa-codegen.h: created
718 * hppa/tramp.c: changed style to be more like
721 * hppa/Makefile.am: add hppa-codegen.h
723 2004-03-16 Zoltan Varga <vargaz@freemail.hu>
725 * sparc/sparc-codegen.h: Add v9 branches with prediction.
727 2004-03-15 Bernie Solomon <bernard@ugsolutions.com>
729 * sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
730 so Sun's dis command recognizes it.
732 2004-03-15 Zoltan Varga <vargaz@freemail.hu>
734 * sparc/sparc-codegen.h: Add some v9 instructions.
736 2004-03-11 Zoltan Varga <vargaz@freemail.hu>
738 * sparc/sparc-codegen.h: Ongoing sparc work.
740 2004-03-07 Duncan Mak <duncan@ximian.com>
742 * Makefile.am: Removed the reference to 'x86-64'. This was the cause
743 of the missing Mono daily tarballs, 'make dist' wasn't working.
745 We do have an 'amd64' directory, but it doesn't make it in 'make
748 2004-02-19 Zoltan Varga <vargaz@freemail.hu>
750 * sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.
752 * sparc/tramp.c: Fix alignment of structures containing doubles.
754 2004-02-02 Zoltan Varga <vargaz@freemail.hu>
756 * sparc/tramp.c: Implement all floating point argument passing conventions in
757 Sparc V8. Also fix structure passing in V8.
759 Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>
761 * ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.
763 2003-10-31 Zoltan Varga <vargaz@freemail.hu>
765 * */tramp.c (mono_create_method_pointer): Rename to
766 mono_arch_create_method_pointer, move common code to a new function in
769 * */tramp.c (mono_create_trampoline): Rename to
770 mono_arch_create_trampoline for consistency.
772 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
774 * x86/tramp.c: restore EDX after memcpy call
776 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
778 * Makefile.am: add hppa subdir
780 * hppa/tramp.c: add initial implementation - this is 64 bit only
781 hppa/Makefile.am hppa/.cvsignore: added
783 2003-10-13 Bernie Solomon <bernard@ugsolutions.com>
785 * sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
786 for V9 (64 bit), cover more 32 bit cases as well.
788 2003-09-03 Zoltan Varga <vargaz@freemail.hu>
790 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
792 2003-08-21 Zoltan Varga <vargaz@freemail.hu>
794 * x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).
796 Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
798 * alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).
800 2003-05-20 Dietmar Maurer <dietmar@ximian.com>
802 * x86/x86-codegen.h (x86_set_reg): add an assertion - it does
803 not work for all registers.
805 Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>
807 * alpha/*: update from Laramie.
809 Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>
811 * alpha/*: start of the port to the alpha architecture by
812 Laramie Leavitt (<lar@leavitt.us>).
814 Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>
816 * ppc/ppc-codegen.h: completed ppc native code generation by
817 Taylor Christopher P <ct@cs.clemson.edu>.
819 Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>
821 * ppc/tramp.c: adapted to work for MacOSX (from a patch by
824 2002-11-11 Mark Crichton <crichton@gimp.org>
826 * sparc/tramp.c: Added some disassembly bits for debugging.
828 2002-10-02 Mark Crichton <crichton@gimp.org>
830 * sparc/tramp.c: More cleanup of the trampoline code. Still some
831 problems with it w.r.t. delegates.
833 2002-09-25 Mark Crichton <crichton@gimp.org>
835 * sparc/tramp.c: Off by one error. Whoops. Trampoline code should
838 2002-09-24 Mark Crichton <crichton@gimp.org>
840 * sparc/tramp.c: Works as well as the old code did. Cleanup is
841 finished. The framework now for adding more type support is in,
842 and should be a *lot* cleaner.
844 2002-09-22 Mark Crichton <crichton@gimp.org>
846 * sparc/tramp.c: Completely broke trampolining on SPARC processors.
847 The code needed a nasty cleanup, so most of it is rewritten.
850 2002-08-20 Mark Crichton <crichton@gimp.org>
852 * sparc/tramp.c (mono_create_trampoline): Now works on Sparc. Tested
853 on an Ultra 2 running Linux.
855 Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
857 * x86/tramp.c: fix random memory read in mono_create_method_pointer.
859 2002-08-05 Dietmar Maurer <dietmar@ximian.com>
861 * x86/tramp.c (mono_create_trampoline): fixed stack_size bug
863 2002-08-01 Dietmar Maurer <dietmar@ximian.com>
865 * x86/tramp.c (mono_create_method_pointer): allocate space for
867 (mono_create_trampoline): also push the value type pointer for
868 methods returning value types.
869 (mono_create_method_pointer): support valuetype returns.
871 2002-07-31 Dietmar Maurer <dietmar@ximian.com>
873 * x86/tramp.c: remove code to handle PInvoke because this is no
875 (mono_create_method_pointer): return method->addr for pinvoke methods
877 Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>
879 * x86/tramp.c: fix float loads. Simple delegate marshaling fix.
881 2002-07-08 Radek Doulik <rodo@ximian.com>
883 * ppc/tramp.c: marshaling for SZARRAY
885 2002-07-05 Radek Doulik <rodo@ximian.com>
887 * ppc/tramp.c: removed magic hack
889 Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
891 * x86/tramp.c: marshal simple arrays correctly.
893 2002-05-27 Miguel de Icaza <miguel@ximian.com>
895 * x86/x86-codegen.h: Set the standard header format.
897 2002-05-23 Dietmar Maurer <dietmar@ximian.com>
899 * x86/tramp.c (mono_create_method_pointer): removed the magic
900 trick to store the function pointer in the prolog and use the same
901 mechanism as in the jit.
903 2002-05-13 Radek Doulik <rodo@ximian.com>
905 * ppc/tramp.c (emit_save_parameters): fix I8 parameters
907 2002-05-06 Sergey Chaban <serge@wildwestsoftware.com>
909 * x86/x86-codegen.h: added missing shifts;
910 8-bit ALU operations (reg-reg);
911 macro for FPU ops with integer operand;
912 FIST macro (without pop);
914 Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>
916 * x86/x86-codegen.h: added loop instructions and made x86_patch fully
919 2002-04-20 Dietmar Maurer <dietmar@ximian.com>
921 * x86/tramp.c (mono_create_trampoline): support internalcall
924 Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
926 * x86/tramp.c: fix advancement of argument position on the stack.
928 Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
930 * x86/tramp.c: increase default allocated size for trampolines
931 and assert on overflow.
933 2002-03-14 Dietmar Maurer <dietmar@ximian.com>
935 * x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
938 Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>
940 * x86/x86-codegen.h: addex x86_clear_reg() and changed
941 x86_mov_reg_imm() to not check for imm == 0.
943 Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>
945 * x86/tramp.c: start handling of more complex marshaling stuff.
947 2002-02-25 Sergey Chaban <serge@wildwestsoftware.com>
949 * arm: added ARM support code.
950 * Makefile.am: added arm to DIST_SUBDIRS.
952 2002-02-24 Radek Doulik <rodo@ximian.com>
954 * ppc/tramp.c (mono_create_method_pointer): basic delegates
955 implementation, it works for simple delegates now and I am already
956 pretty close to have it working for every delegates, but I am
957 going to sleep and finish it tomorrow?
958 (mono_create_method_pointer): implements delegates with parameters
961 2002-02-22 Jeffrey Stedfast <fejj@ximian.com>
963 * sparc/tramp.c (mono_create_trampoline): Much tinkering to get
964 the opcodes more correct. Still needs a lot of work.
966 2002-02-19 Radek Doulik <rodo@ximian.com>
968 * ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
970 added stack saving for most arguments
972 Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>
974 * x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).
976 2002-02-17 Radek Doulik <rodo@ximian.com>
978 * ppc/tramp.c: fixed minimal stack size, fixed string parameters,
979 fix byte and half word parameters
980 (mono_string_new_wrapper): new helper function, cut&pasted from
981 x86, modified to check for NULL text to avoid branching in
983 (calculate_sizes): updated for string retval changes
984 (emit_call_and_store_retval): updated for string retval
986 * ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth
988 2002-02-16 Radek Doulik <rodo@ximian.com>
990 * ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR
992 Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>
994 * sparc/*: sparc codegen header and some untested trampoline code.
996 Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>
998 * x86/tramp.c: fix handling of multiple marshaleed strings.
999 * x86/x86-codegen.h: some code to patch branch displacements.
1001 Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>
1003 * x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().
1005 2002-01-23 Miguel de Icaza <miguel@ximian.com>
1007 * x86/tramp.c (mono_create_trampoline): Do not try to create a
1008 mono_string_new if the return value from the PInvoke code is
1011 Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>
1013 * x86/x86-codegen.c: added overflow condition code and some aliases
1016 Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>
1018 * x86/tramp.c: mono_create_trampoline (): the runtime argument is
1019 needed to handle correctly delegates, the previous change in handling
1020 the string return type broke them.
1022 Tue Jan 8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
1024 * x86/tramp.c: handle strings returned from functions in external
1025 libraries by converting to a Mono string object after the pinvoke'd
1028 Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>
1030 * x86/tramp.c: handle short integer return types.
1032 Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
1034 * x86/tramp.c: fix create_method_pointer() to pass the arguments
1035 correctly and add check for overflow.
1037 Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>
1039 * x86/x86-codegen.h: x86_mov_memindex_imm() added.
1041 2001-11-29 Radek Doulik <rodo@ximian.com>
1043 * ppc/tramp.c: use r12 which is volatile instead of non-volatile
1046 * Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
1047 generate libmonoarch for ppc
1049 Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>
1051 * x96/x86-codegen.c: x86_lea_memindex() added.
1053 Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>
1055 * x86/tramp.c: handle enums with underlying type different from int32.
1057 Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
1059 * x86/tramp.c: handle boolean as a return value.
1060 * x96/x86-codegen.c: x86_widen_memindex() added.
1062 2001-11-07 Miguel de Icaza <miguel@ximian.com>
1064 * x86/tramp.c: Include stdlib to kill warning.
1066 Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
1068 * x86/tramp.c: handle boolean, u1 and i1 as return values.
1070 Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
1072 * x86/x86-codegen.c: added x86_set_{reg,mem,membase}.
1074 Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
1076 * x86/tramp.c: remove mono_get_ansi_string () and use
1077 mono_string_to_utf8 () instead.
1079 Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>
1081 * x86/tramp.c: allow marshalling valuetypes if they are
1084 Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
1086 * x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
1087 and avoid a couple of unnecessary instructions.
1089 Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
1091 * x86/tramp.c: marshal valuetypes that are enums.
1093 Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
1095 * x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
1098 Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
1100 * x86/x86-codegen.h: added memindex addressing mode encoding
1101 (and mov to/from register opcodes).
1103 Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
1105 * x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
1106 when it's an argument to an internalcall.
1108 Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
1110 * x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
1112 2001-09-21 Dietmar Maurer <dietmar@ximian.com>
1114 * x86/x86-codegen.h (x86_breakpoint): added.
1116 Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
1118 * x86/x86-codegen.h: remove C++ comments.
1120 2001-09-17 Dietmar Maurer <dietmar@ximian.com>
1122 * x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
1124 Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1126 * Makefile.am, x86/Makefile.am: conditional compile logic
1127 to make porting to different targets easier.
1129 Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1131 * x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
1132 * x86/tramp.c: implemented mono_create_method_pointer ():
1133 creates a native pointer to a method implementation that can be
1134 used as a normal C callback.
1136 Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1138 * x86/x86-codegen.h: added x86_rdtsc() and fixes.
1139 * x86/tramp.c: create trampolines to call pinvoke methods.
1140 * x86/Makefile.am: create a libmonoarch convenience library.
1142 Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>
1144 * x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.
1146 Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>
1148 * x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().
1150 Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
1152 * x86/x86-codegen.h, x86/test.c: added x86 code emitter with