2010-05-19  Zoltan Varga  <vargaz@gmail.com>

	* ppc/ppc-codegen.h (ppc_load_func): Fix ilp32 support.

2010-03-30  Zoltan Varga  <vargaz@gmail.com>

	* arm/*.sh: Remove bash dependency.

2009-08-14  Zoltan Varga  <vargaz@gmail.com>

	* arm/arm-codegen.h: Add armv6 MOVW/MOVT.

2009-07-03  Jerry Maine  <crashfourit@gmail.com>
	
	Contributed under the terms of the MIT/X11 license by
	Jerry Maine <crashfourit@gail.com>.

	* amd64/amd64-codegen.h: Added missing code gen marco for single packed square root.

Fri Jul 24 16:54:13 CEST 2009 Steven Munroe  <munroesj@us.ibm.com>

	This patch is contributed under the terms of the MIT/X11 license
	
	* arch/ppc/ppc-codegen.h (ppc_ha): Define high adjusted
	conversion to support combining addis for bits 32-47 with
	signed load/store diplacements for bits 48-63.
	(ppc_fcfidx, ppc_fctidx, ppc_fctidzx): Share with PPC32.
	These instructions are availble to 32-bit programs on 64-bit
	hardware and 32-bit both starting with PowerISA V2.01.
	[__mono_ppc64__]: Define ppc_mftgpr and ppc_mffgpr for Power6
	native mode.
	[!__mono_ppc64__]: Define ppc_is_imm32 as constant true for
	ppc32.

2009-07-20  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_sse_pminud_reg_reg): Fix the encoding
	of this instruction.

2009-07-13  Zoltan Varga  <vargaz@gmail.com>

	* x86/x86-codegen.h: Applied patch from Marian Salaj <salo3@atlas.cz>.
	Fix encoding of PMINSW and PMINSD. Fixes #521662.

2009-06-22  Zoltan Varga  <vargaz@gmail.com>

	* ppc/ppc-codegen.h: Rework the naming of the load/store macros,
	ldr/str now handle register sized quantities, while ldptr/stptr handle
	pointer sized quantities.

2009-06-20  Zoltan Varga  <vargaz@gmail.com>

	* ppc/ppc-codegen.h: Fix the last change to avoid self-assignments inside
	macros.
	
	* ppc/ppc-codegen.h: Add ppc_ldr/ppc_str macros to store regsize quantities.
	Handle little endian host platforms in ppc_emit32.

2009-10-06  Jerry Maine  <crashfourit@gmail.com>
	
	Contributed under the terms of the MIT/X11 license by
	Jerry Maine <crashfourit@gail.com>.

	* amd64/amd64-codegen.h: Add marcos for coding two byte SIMD/SSE opcodes.
	Added comments to help tell the different types of SSE code gen marcos appart.

2009-04-06  Zoltan Varga  <vargaz@gmail.com>

	* arm/arm-vfp-codegen.h: Add ARM_FSITOS/ARM_FSITOD.

2009-04-03  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h: Add macros for decoding the SIB byte.

2009-04-02  Zoltan Varga  <vargaz@gmail.com>

	* arm/arm-vfp-codegen.h: Add missing VFP codegen macros.

2009-03-06  Zoltan Varga  <vargaz@gmail.com>

	* arm/tramp.c: Include a change from the debian patches. Avoid #include-ing
	a file in the middle of a function.

2009-02-27  Zoltan Varga  <vargaz@gmail.com>

	* arm/{arm_fpamacros.h, arm_vfpmacros.h}: Remove these files, they are
	autogenerated.

2009-02-02  Mark Probst  <mark.probst@gmail.com>

	Contributed under the terms of the MIT/X11 license by Steven
	Munroe <munroesj@us.ibm.com>.

	* ppc/ppc-codegen.h: Make operand order and case consistent
	(assembler order) for ppc_load_reg_update, ppc_load_multiple_regs,
	ppc_store_multiple_regs, ppc_lwz, ppc_lhz, ppc_lbz,
	ppc_stw,ppc_sth, ppc_stb, ppc_stwu, ppc_lbzu, ppc_lfdu, ppc_lfsu,
	ppc_lfsux, ppc_lfsx, ppc_lha, ppc_lhau, ppc_lhzu, ppc_lmw,
	ppc_lwzu, ppc_stbu, ppc_stfdu, ppc_stfsu, ppc_sthu, ppc_stmw.  Use
	"i" or "ui" instead of "d" for immediated operands to immediate
	arthimetic and logical instructions in macros ppc_addi, ppc_addis,
	ppc_ori, ppc_addic, ppc_addicd, ppc_andid, ppc_andisd.
	[__mono_ppc64__]: Make operand order and case consistent
	(assembler order) for ppc_load_multiple_regs,
	ppc_store_multiple_regs.  Simplify the DS form and make them
	consistent with D forms for ppc_load_reg, ppc_load_reg_update,
	ppc_store_reg, ppc_store_reg_update. ppc_ld, ppc_lwa, ppc_ldu,
	ppc_std, ppc_stdu.  Define ppc_lwax and ppc_lwaux.

2009-01-19 Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add x86_movd_xreg_membase.

2008-12-19  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: Fixed the argument order for lwzu in
	ppc_load_reg_update.

2008-12-12  Mark Mason	<mmason@upwardaccess.com>

	* mips/mips-codegen.h: Changes to support n32.
	
2008-12-10  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: A few new macros for the final PPC/PPC64
	merge.

2008-12-05  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: ppc_load_func must use ppc_load_sequence.
	Added ppc_compare_log.

2008-12-05  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: Added ppc_load_func for PPC32.  Added
	ppc_load/store_multiple_regs and ppc_compare_reg_imm.

2008-12-02  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: Opcodes for floating point conversions from
	64 bit integers.

	Code submitted by andreas.faerber@web.de at
	https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
	X11/MIT license.

2008-11-28  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: #define for the maximum length of a load
	sequence.

2008-11-21  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: Make ppc_is_[u]imm16() work with 64 bit
	values.

2008-11-20 Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add X86_SSE_MOVHPD_REG_MEMBASE and renamed MOVS to MOVSD.

2008-11-20 Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add X86_SSE_MOVS_ reg/membase variants.

	* x86/x86-codegen.h: Add x86_sse_alu_pd_reg_membase_imm.

	* x86/x86-codegen.h: Sort the x86_sse_alu_* macros decently.

2008-11-20  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: Use ppc_load_reg instead of ppc_ld in
	ppc_load_func to fix the 2 bit shift.

2008-11-20  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: 64 bit division opcodes.

	Code submitted by andreas.faerber@web.de at
	https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
	X11/MIT license.

2008-11-20  Zoltan Varga  <vargaz@gmail.com>

	* arm/Makefile.am (libmonoarch_arm_la_SOURCES): Don't build tramp.c, it is only
	used by the interpreter.

2008-11-20 Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add PEXTR B/W/D.

2008-11-18 Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add PINSR B/W/D.

2008-11-18  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: Macro for nop added.

2008-11-18  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: PPC64 code generation macros.

	Based on code submitted by andreas.faerber@web.de at
	https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
	X11/MIT license.

2008-11-18  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: A few fixes and additions.

	Based on code submitted by andreas.faerber@web.de at
	https://bugzilla.novell.com/show_bug.cgi?id=324134 under the
	X11/MIT license.

2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Fix comment about the version of PCMPGTQ.

	* x86/x86-codegen.h: Add movsd constant and x86_sse_alu_sd_membase_reg
	macro.

2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add X86_SSE_MOVHPD_MEMBASE_REG constant
	and x86_sse_alu_pd_membase_reg/x86_sse_alu_membase_reg macros.

2008-11-15  Andreas Faerber  <andreas.faerber@web.de>

	* ppc/test.c: Add support for Mac OS X.

	Code is contributed under MIT/X11 license.

2008-11-13  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Remove not used macro x86_pshufd_reg_reg.

2008-11-04  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add store nta.

2008-11-03  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add prefetch instruction
	and x86_sse_alu_reg_membase macro.

2008-10-28  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add long version of the packed integer
	ops.

2008-10-27  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add movddup.

2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add signed pack with saturation.

2008-10-24  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add signed packed mul high.

2008-10-23  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add signed packed max, min, add/sub with saturation
	and compare greater.

2008-10-20  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add multiply and store high.

2008-10-17  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add packed int shuffle.

2008-10-16  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add packed int compare equals and
	psabw.

2008-10-15  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add packed int max/min/avg/shuffle and extract mask.

2008-10-14  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add movsldup and movshdup.

2008-10-13  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add remaining FP sse1 ops.
	Add sse ps encoding with imm operand.
	Add remaining sse1 ops.

2008-10-12  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add macro for sse41 ops.
	Add defined for pack ops, dword shifts/mul/pack.

2008-10-11  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_jump_code_size): Fix the 64 bit support.

2008-10-10  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_jump_code_size): Handle non 32-bit targets.

2008-10-09  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add macros for sse shift, pack, unpack,
	saturated math and packed byte/word/dword math.

2008-10-03  Rodrigo Kumpera  <rkumpera@novell.com>

	* x86/x86-codegen.h: Add macros for SSE instructions.

2008-09-27  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h: A few typecasts to fix compiler warnings.

2008-09-07  Mark Probst  <mark.probst@gmail.com>

	* ppc/ppc-codegen.h (ppc_load): Inserted cast to fix some
	warnings.

2008-06-16  Mark Probst  <mark.probst@gmail.com>

	* amd64/amd64-codegen.h: Removed extraneous parenthesis in a macro
	nobody uses.

2008-06-06  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_padding_size): Rewrite this to use the
	instructions recommended by the amd64 manual.

2008-04-19  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_is_imm32): Use gint64 instead of glong because of
	win64.

2008-03-13  Geoff Norton  <gnorton@novell.com>

	* arch/arm/tramp.c:  Dont compile this on PLATFORM_MACOSX

2008-02-18  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_movsxd_reg_mem): New codegen macro.

2008-02-14  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_alu_membase8_imm_size): New codegen macro.

2008-02-08  Zoltan Varga  <vargaz@gmail.com>

	* arm/arm-codegen.h: Fix the ordering of arguments for some load/store opcodes
	so they are consistent.

2008-01-24  Zoltan Varga  <vargaz@gmail.com>

	* Makefile.am (SUBDIRS): Or if INTERP_SUPPORTED is true.
	
	* Makefile.am (SUBDIRS): Only set this on arm.

2007-11-20  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller 
	instruction encoding.

2007-11-03  David S. Miller  <davem@davemloft.net>

       * sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi
       can be used if the constant value only has the top 22 bits set.

2007-11-01  Geoff Norton  <gnorton@novell.com>

	* x86/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
	Fixes the build on Leopard.

2007-11-01  Geoff Norton  <gnorton@novell.com>

	* ppc/Makefile.am:  Only compile tramp.c if INTERP_SUPPORTED is true
	Fixes the build on Leopard.

2007-10-26  Jonathan Chambers <joncham@gmail.com>

	* amd64/amd64-codegen.h: Begin Win64 port. Use AMD64_ARG_REG#
	defines to access param registers. Replace long usage with
	gsize as sizeof(long) != sizeof(void*) on Win64.

	Code is contributed under MIT/X11 license.

2007-10-09  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_jump_membase_size): Remove an unneccesary
	rex prefix which trips up valgrind.

2007-07-14  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h: Remove some unused rex prefixes.

Wed Jul 4 15:29:07 CEST 2007 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: added minimal sse instructions currently
	needed by the JIT.

2007-06-13  Randolph Chung  <tausq@debian.org>

	* hppa/hppa-codegen.h: Update with more instructions.
	* hppa/tramp.c: Disable for linux since we don't support the
	interpreter.

2007-05-20  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h (amd64_call_reg): Remove a got prefix which isn't needed.

2007-04-23  Zoltan Varga  <vargaz@gmail.com>

	* alpha/alpha-codegen.h: More alpha port work from 
	Sergey Tikhonov <tsv@solvo.ru>.

Mon Mar 12 17:07:32 CET 2007 Paolo Molaro <lupus@ximian.com>

	* amd64/amd64-codegen.h: removed some useless size rex prefixes.

Wed Jan 24 21:00:40 CET 2007 Paolo Molaro <lupus@ximian.com>

	* arm/arm-codegen.h: fixed encoding of short/byte load/store
	instructions with negative immediate offsets.

Mon Nov 20 17:36:45 CET 2006 Paolo Molaro <lupus@ximian.com>

	* arm/arm-codegen.h: added suppot for thumb interworking instructions.

Wed Nov 15 16:56:53 CET 2006 Paolo Molaro <lupus@ximian.com>

	* mips/*: fixes by Mark E Mason <mark.e.mason@broadcom.com>.

2006-09-12  Zoltan Varga  <vargaz@gmail.com>

	* alpha/alpha-codegen.h: More alpha updates from Sergey Tikhonov <tsv@solvo.ru>.

Tue Sep 12 13:09:56 CEST 2006 Paolo Molaro <lupus@ximian.com>

	* arm/*: VFP floating point format code generation support.

2006-09-12  Zoltan Varga  <vargaz@gmail.com>

	* ia64/ia64-codegen.h: Add xmpy_l/u pseudo ops.

2006-07-19  Zoltan Varga  <vargaz@gmail.com>

	* amd64/amd64-codegen.h: Fix amd64_mov_mem_reg.

	* alpha/alpha-codegen.h alpha/test.c alpha/tramp.c: Applied patch from 
	Sergey Tikhonov <tsv@solvo.ru>. Updates to alpha support.

Thu Jun 15 16:59:36 CEST 2006 Paolo Molaro <lupus@ximian.com>

	* ppc/ppc-codegen.h: reduce noisy build warnings by
	casting to the more commonly used unsigned char type
	(from johannes@sipsolutions.net (Johannes Berg)).

2006-05-14  Zoltan Varga  <vargaz@gmail.com>

	* ia64/ia64-codegen.h (ia64_fetchadd8_acq_hint_pred): Fix encoding of this
	opcode.

2006-04-21  Zoltan Varga  <vargaz@gmail.com>

	* Makefile.am (SUBDIRS): Revert the last change as arm depends on the old
	behaviour.

2006-04-12  Zoltan Varga  <vargaz@gmail.com>

	* sparc/sparc-codegen.h (sparc_inst_i): New disassembly macro.

2006-04-04  Zoltan Varga  <vargaz@gmail.com>

	* Makefile.am (SUBDIRS): Avoid compiling subdirs needed by the
	interpreter.

2005-12-22  Zoltan Varga  <vargaz@gmail.com>

	* sparc/sparc-codegen.h (sparc_membar): Add membar instruction.

2005-10-30  Zoltan Varga  <vargaz@gmail.com>

	* ia64/ia64-codegen.h (ia64_m17): Fix a warning.

2005-10-16  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h (AMD64_CALLEE_SAVED_REGS): Add %rbp.

2005-09-27  Raja R Harinath  <rharinath@novell.com>

	* arm/dpiops.sh, arm/fpaops.h: Output to stdout.
	* arm/Makefile.am (arm_dpimacros.h, arm_fpamacros.h): Update.  Fix
	for srcdir != builddir.

2005-09-11  Zoltan Varga  <vargaz@gmail.com>

	* ia64/ia64-codegen.h (ia64_unw_pop_frames): New unwind macro.

2005-09-10  Zoltan Varga  <vargaz@gmail.com>

	* ia64/ia64-codegen.h: Remove 'manual' emitting of instructions. 
	Integrate emission of unwind directives into the assembly macros.

2005-09-04  Zoltan Varga  <vargaz@gmail.com>

	* ia64/ia64-codegen.h (ia64_no_stop): New macro.

2005-08-27  Zoltan Varga  <vargaz@gmail.com>

	* ia64/ia64-codegen.h: Fix some bugs.

	* ia64/codegen.c: Update to work with latest ia64-codegen.h

2005-08-26  Zoltan Varga  <vargaz@gmail.com>

	* ia64/Makefile.am: Distribute ia64-codegen.h.

2005-08-21  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Improve ins scheduling and fix some bugs.

2005-08-17  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Add dependency information for all instructions.

2005-07-30  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Ongoing IA64 work.

Wed Jul 20 18:01:54 BST 2005 Paolo Molaro <lupus@ximian.com>

	* arm/*: more codegen macros.

2005-07-18  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h (ia64_is_adds_imm): Ongoing IA64 work.

2005-06-23  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Add some new pseudo ops.

2005-06-19  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Fix encoding of ia64_fclass.

2005-06-12  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Ongoing IA64 work.

2005-06-09  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Ongoing IA64 work.

2005-05-30  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/codegen.c: Fix it after latest changes.

2005-05-29  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Ongoing IA64 work.
	
	* ia64/ia64-codegen.h: Ongoing IA64 work.

2005-05-28  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Ongoing IA64 work.
	
	* ia64/ia64-codegen.h: Ongoing IA64 work.

	* ia64/ia64-codegen.h: Ongoing IA64 work.

2005-05-26  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Ongoing IA64 work.

2005-05-22  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Ongoing IA64 work.
	
	* ia64/ia64-codegen.h: Ongoing IA64 work.

	* ia64/ia64-codegen.h: Ongoing IA64 work.

2005-05-21  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h: Ongoing IA64 work.

2005-05-19  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h ia64/codegen.c: Ongoing ia64 work.

2005-05-18  Zoltan Varga  <vargaz@freemail.hu>

	* ia64/ia64-codegen.h (ia64_codegen_init): Rename macro parameter.

2005-05-14  Zoltan Varga  <vargaz@freemail.hu>

	* Makefile.am: Only compile libmonoarch if the interpreter is compiled.

	* ia64/ia64-codegen.h: Add IA64 code generation macros.

	* Makefile.am: Add ia64 subdir.

2005-05-05  Zoltan Varga  <vargaz@freemail.hu>

	* alpha/tramp.c: Applied patch from Jakub Bogusz <qboosh@pld-linux.org>.

2005-03-28  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Avoid emitting a rex in some places.

2005-03-15  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h (amd64_emit_rex): Emit a rex when accessing the
	byte registers.
	
	* amd64/amd64-codegen.h (AMD64_BYTE_REGS): Add AMD64_BYTE_REGS macro.

2005-03-14  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Add missing AMD64_XMM7.

2005-03-13  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Remove some unneccesary REXes.

2005-03-08  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h (amd64_sse_cvtsi2sd_reg_reg_size): Add _size
	variants to some sse2 macros.

	* amd64/amd64-codegen.h (amd64_sse_cvtsd2si_reg_reg): Make this convert
	to a 64 bit value.

2005-03-06  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Add some SSE2 instructions.

2005-02-20  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Add xadd instructions.
	
	* amd64/amd64-codegen.h (amd64_jump_code_size): Do not emit a rex.

2004-11-25  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Updates to support the PIC changes.

Fri Nov 19 17:29:22 CET 2004 Paolo Molaro <lupus@ximian.com>

	* ppc/ppc-codegen.h: counter reg decrement branch values
	(patch by Geoff Norton <gnorton@customerdna.com>).

2004-11-16  Patrik Torstensson <patrik.torstensson@gmail.com>

	* x86/x86-codegen.h: added opcodes for xadd instructions

2004-11-15  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/x86-64-codegen.h: Get rid of this.

2004-08-30  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h (amd64_imul_reg_membase_size): Fix REX
	generation.

2004-08-29  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: More SSE work.
	
	* amd64/amd64-codegen.h: Add SSE2 instructions.

2004-08-21  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h (X86_IS_BYTE_REG): Redefine X86_IS_BYTE_REG
	since under amd64, all 16 registers have a low part.

2004-08-16  Zoltan Varga  <vargaz@freemail.hu>

	* x86/x86-codegen.h: Add macros for accessing the mod/rm byte.

2004-07-30  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Ongoing JIT work.

2004-07-29  Ben Maurer  <bmaurer@ximian.com>

	* x86/x86-codegen.h: Add opcodes for cmp BYTE PTR [eax], imm

2004-07-28  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Ongoing JIT work.

2004-07-24  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Ongoing JIT work.

2004-07-23  Zoltan Varga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Ongoing JIT work.

2004-07-23  zovarga  <vargaz@freemail.hu>

	* amd64/amd64-codegen.h: Ongoing JIT work.

2004-06-30  Zoltan Varga  <vargaz@freemail.hu>

	* sparc/sparc-codegen.h: Add SPARC64 support.

2004-05-07  Bernie Solomon  <bernard@ugsolutions.com>

	* ppc/ppc-codegen.h: remove GCC-ism in ppc_emit32

2004-04-29  Bernie Solomon  <bernard@ugsolutions.com>

	* ppc/tramp.c: use sizeof (stackval), fix
	delegate tramp frame layout for Apple

2004-04-26  David Waite <mass@akuma.org>

	* unknown.c: modify to have content for defined platforms (to
	avoid ISO C warning)

2004-03-29  Bernie Solomon  <bernard@ugsolutions.com>

	* amd64/tramp.c:
	* arm/tramp.c:
	* hppa/tramp.c:
	* ppc/tramp.c:
	* s390/tramp.c:
	* sparc/tramp.c:
	* x86/tramp.c:
	remove child from MonoInvocation as it isn't used.

	* hppa/hppa-codegen.h:
	fix displacements in FP instrs

2004-03-23  Bernie Solomon  <bernard@ugsolutions.com>

	* hppa/hppa-codegen.h: created

	* hppa/tramp.c: changed style to be more like
	other platforms.

	* hppa/Makefile.am: add hppa-codegen.h

2004-03-16  Zoltan Varga  <vargaz@freemail.hu>

	* sparc/sparc-codegen.h: Add v9 branches with prediction.

2004-03-15  Bernie Solomon  <bernard@ugsolutions.com>

	* sparc/sparc-codegen.h: tweak sparc_mov_reg_reg
	so Sun's dis command recognizes it.

2004-03-15  Zoltan Varga  <vargaz@freemail.hu>

	* sparc/sparc-codegen.h: Add some v9 instructions.

2004-03-11  Zoltan Varga  <vargaz@freemail.hu>

	* sparc/sparc-codegen.h: Ongoing sparc work.

2004-03-07  Duncan Mak  <duncan@ximian.com>

        * Makefile.am: Removed the reference to 'x86-64'. This was the cause
        of the missing Mono daily tarballs, 'make dist' wasn't working.
        
        We do have an 'amd64' directory, but it doesn't make it in 'make
        dist'.

2004-02-19  Zoltan Varga  <vargaz@freemail.hu>

	* sparc/sparc-codegen.h: Fix lots of opcodes + add new ones.

	* sparc/tramp.c: Fix alignment of structures containing doubles.

2004-02-02  Zoltan Varga  <vargaz@freemail.hu>

	* sparc/tramp.c: Implement all floating point argument passing conventions in
	Sparc V8. Also fix structure passing in V8.

Thu Nov 13 16:24:29 CET 2003 Paolo Molaro <lupus@ximian.com>

	* ppc/ppc-codegen.h: fixed most of the incorrect macros from ct.

2003-10-31  Zoltan Varga  <vargaz@freemail.hu>

	* */tramp.c (mono_create_method_pointer): Rename to 
	mono_arch_create_method_pointer, move common code to a new function in
	interp.c.

	* */tramp.c (mono_create_trampoline): Rename to 
	mono_arch_create_trampoline for consistency.
	
2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>

	* x86/tramp.c: restore EDX after memcpy call

2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>

	* Makefile.am: add hppa subdir 

	* hppa/tramp.c: add initial implementation - this is 64 bit only
	hppa/Makefile.am hppa/.cvsignore: added

2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>

	* sparc/sparc-codegen.h sparc/tramp.c: add initial implementation
	for V9 (64 bit), cover more 32 bit cases as well.

2003-09-03  Zoltan Varga  <vargaz@freemail.hu>

	* x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).

2003-08-21  Zoltan Varga  <vargaz@freemail.hu>

	* x86/tramp.c: Fixes from Bernie Solomon (bernard@ugsolutions.com).

Tue Jul 1 13:03:43 CEST 2003 Paolo Molaro <lupus@ximian.com>

	* alpha/tramp.c: update from Laramie Leavitt (lar@leavitt.us).

2003-05-20  Dietmar Maurer  <dietmar@ximian.com>

	* x86/x86-codegen.h (x86_set_reg): add an assertion - it does
	not work for all registers.

Sat Feb 1 10:59:31 CET 2003 Paolo Molaro <lupus@ximian.com>

	* alpha/*: update from Laramie.

Mon Jan 27 12:49:10 CET 2003 Paolo Molaro <lupus@ximian.com>

	* alpha/*: start of the port to the alpha architecture by
	Laramie Leavitt (<lar@leavitt.us>).

Tue Jan 21 17:29:53 CET 2003 Paolo Molaro <lupus@ximian.com>

	* ppc/ppc-codegen.h: completed ppc native code generation by
	Taylor Christopher P <ct@cs.clemson.edu>.

Fri Jan 17 21:14:18 CET 2003 Paolo Molaro <lupus@ximian.com>

	* ppc/tramp.c: adapted to work for MacOSX (from a patch by 
	John Duncan).

2002-11-11  Mark Crichton  <crichton@gimp.org>

	* sparc/tramp.c: Added some disassembly bits for debugging.

2002-10-02  Mark Crichton  <crichton@gimp.org>

	* sparc/tramp.c: More cleanup of the trampoline code.  Still some
	problems with it w.r.t. delegates.

2002-09-25  Mark Crichton  <crichton@gimp.org>

	* sparc/tramp.c: Off by one error.  Whoops.  Trampoline code should
	now work properly.

2002-09-24  Mark Crichton  <crichton@gimp.org>

	* sparc/tramp.c: Works as well as the old code did.  Cleanup is
	finished.  The framework now for adding more type support is in,
	and should be a *lot* cleaner.
	
2002-09-22  Mark Crichton  <crichton@gimp.org>

	* sparc/tramp.c: Completely broke trampolining on SPARC processors.
	The code needed a nasty cleanup, so most of it is rewritten.
	It will be fixed.

2002-08-20  Mark Crichton <crichton@gimp.org>

	* sparc/tramp.c (mono_create_trampoline): Now works on Sparc.  Tested
	on an Ultra 2 running Linux.

Mon Aug 5 19:21:19 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: fix random memory read in mono_create_method_pointer.

2002-08-05  Dietmar Maurer  <dietmar@ximian.com>

	* x86/tramp.c (mono_create_trampoline): fixed stack_size bug

2002-08-01  Dietmar Maurer  <dietmar@ximian.com>

	* x86/tramp.c (mono_create_method_pointer): allocate space for
	value types.
	(mono_create_trampoline): also push the value type pointer for
	methods returning value types.
	(mono_create_method_pointer): support valuetype returns.

2002-07-31  Dietmar Maurer  <dietmar@ximian.com>

	* x86/tramp.c: remove code to handle PInvoke because this is no
	longer needed.
	(mono_create_method_pointer): return method->addr for pinvoke methods

Fri Jul 19 14:18:36 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: fix float loads. Simple delegate marshaling fix.

2002-07-08  Radek Doulik  <rodo@ximian.com>

	* ppc/tramp.c: marshaling for SZARRAY

2002-07-05  Radek Doulik  <rodo@ximian.com>

	* ppc/tramp.c: removed magic hack

Tue Jun 18 10:21:56 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: marshal simple arrays correctly.

2002-05-27  Miguel de Icaza  <miguel@ximian.com>

	* x86/x86-codegen.h: Set the standard header format.

2002-05-23  Dietmar Maurer  <dietmar@ximian.com>

	* x86/tramp.c (mono_create_method_pointer): removed the magic
	trick to store the function pointer in the prolog and use the same
	mechanism as in the jit.

2002-05-13  Radek Doulik  <rodo@ximian.com>

	* ppc/tramp.c (emit_save_parameters): fix I8 parameters

2002-05-06  Sergey Chaban  <serge@wildwestsoftware.com>

	* x86/x86-codegen.h: added missing shifts;
	8-bit ALU operations (reg-reg);
	macro for FPU ops with integer operand;
	FIST macro (without pop);

Mon Apr 22 12:57:31 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: added loop instructions and made x86_patch fully
	useful.

2002-04-20  Dietmar Maurer  <dietmar@ximian.com>

	* x86/tramp.c (mono_create_trampoline): support internalcall
	String constructors

Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: fix advancement of argument position on the stack.

Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: increase default allocated size for trampolines
	and assert on overflow.

2002-03-14  Dietmar Maurer  <dietmar@ximian.com>

	* x86/tramp.c (mono_create_trampoline): dont use fld/fst to copy
	R8 values

Mon Mar 11 16:14:29 CET 2002 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: addex x86_clear_reg() and changed
	x86_mov_reg_imm() to not check for imm == 0.

Thu Feb 28 12:34:21 CET 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: start handling of more complex marshaling stuff.

2002-02-25  Sergey Chaban  <serge@wildwestsoftware.com>

	* arm: added ARM support code.
	* Makefile.am: added arm to DIST_SUBDIRS.

2002-02-24  Radek Doulik  <rodo@ximian.com>

	* ppc/tramp.c (mono_create_method_pointer): basic delegates
	implementation, it works for simple delegates now and I am already
	pretty close to have it working for every delegates, but I am
	going to sleep and finish it tomorrow?
	(mono_create_method_pointer): implements delegates with parameters
	and return value

2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>

	* sparc/tramp.c (mono_create_trampoline): Much tinkering to get
	the opcodes more correct. Still needs a lot of work.

2002-02-19  Radek Doulik  <rodo@ximian.com>

	* ppc/tramp.c (emit_save_parameters): don't start saving 64bit values to
	even registers
	added stack saving for most arguments

Tue Feb 19 20:19:38 CET 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: avoid pointer arthmetric (pointed out by Serge).

2002-02-17  Radek Doulik  <rodo@ximian.com>

	* ppc/tramp.c: fixed minimal stack size, fixed string parameters,
	fix byte and half word parameters 
	(mono_string_new_wrapper): new helper function, cut&pasted from
	x86, modified to check for NULL text to avoid branching in
	generated code
	(calculate_sizes): updated for string retval changes
	(emit_call_and_store_retval): updated for string retval

	* ppc/ppc-codegen.h (ppc_mr): added lhz, lbz, sth

2002-02-16  Radek Doulik  <rodo@ximian.com>

	* ppc/tramp.c (emit_call_and_store_retval): support U2, I2, CHAR

Mon Feb 11 18:40:04 CET 2002 Paolo Molaro <lupus@ximian.com>

	* sparc/*: sparc codegen header and some untested trampoline code.

Mon Feb 11 12:32:35 CET 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: fix handling of multiple marshaleed strings.
	* x86/x86-codegen.h: some code to patch branch displacements.

Fri Feb 1 16:03:00 CET 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c, ppc/tramp.c: implement mono_method_pointer_get ().

2002-01-23  Miguel de Icaza  <miguel@ximian.com>

	* x86/tramp.c (mono_create_trampoline): Do not try to create a
	mono_string_new if the return value from the PInvoke code is
	NULL. 

Mon Jan 14 11:50:16 CET 2002 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.c: added overflow condition code and some aliases
	for the other ccs.

Thu Jan 10 21:01:08 CET 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: mono_create_trampoline (): the runtime argument is
	needed to handle correctly delegates, the previous change in handling
	the string return type broke them.

Tue Jan  8 22:38:41 MST 2002 Matt Kimball <matt@kimball.net>
	
	* x86/tramp.c: handle strings returned from functions in external 
	libraries by converting to a Mono string object after the pinvoke'd 
	function returns
	
Sat Jan 5 15:51:06 CET 2002 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: handle short integer return types.

Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: fix create_method_pointer() to pass the arguments
	correctly and add check for overflow.

Thu Dec 13 15:56:53 CET 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: x86_mov_memindex_imm() added.
	
2001-11-29  Radek Doulik  <rodo@ximian.com>

	* ppc/tramp.c: use r12 which is volatile instead of non-volatile
	r14 to avoid saving

	* Makefile.am (libmonoarch_la_LIBADD): added ppc to DIST_SUBDIRS
	generate libmonoarch for ppc

Tue Nov 27 15:24:07 CET 2001 Paolo Molaro <lupus@ximian.com>

	* x96/x86-codegen.c: x86_lea_memindex() added.

Thu Nov 15 17:41:01 CET 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: handle enums with underlying type different from int32.

Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: handle boolean as a return value.
	* x96/x86-codegen.c: x86_widen_memindex() added.

2001-11-07  Miguel de Icaza  <miguel@ximian.com>

	* x86/tramp.c: Include stdlib to kill warning.

Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: handle boolean, u1 and i1 as return values.

Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.c: added x86_set_{reg,mem,membase}.

Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: remove mono_get_ansi_string () and use
	mono_string_to_utf8 () instead.

Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: allow marshalling valuetypes if they are
	4 bytes long.

Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
	and avoid a couple of unnecessary instructions.

Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: marshal valuetypes that are enums.

Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
	as basereg.

Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: added memindex addressing mode encoding
	(and mov to/from register opcodes).

Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
	when it's an argument to an internalcall.

Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.

2001-09-21  Dietmar Maurer  <dietmar@ximian.com>

	* x86/x86-codegen.h (x86_breakpoint): added.

Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: remove C++ comments.

2001-09-17  Dietmar Maurer  <dietmar@ximian.com>

	* x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest

Mon Sep 10 17:26:06 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* Makefile.am, x86/Makefile.am: conditional compile logic
	to make porting to different targets easier.

Fri Sep 7 18:43:06 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: fixes and x86_mov_membase_imm ().
	* x86/tramp.c: implemented mono_create_method_pointer ():
	creates a native pointer to a method implementation that can be 
	used as a normal C callback.

Thu Sep 6 15:38:00 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: added x86_rdtsc() and fixes.
	* x86/tramp.c: create trampolines to call pinvoke methods.
	* x86/Makefile.am: create a libmonoarch convenience library.

Mon Aug 27 09:29:00 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: fix x86_call_code (). x86_mov_regp_reg () added.

Sat Aug 18 12:40:32 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h: fix a couple of buglets and add x86_regp_emit().

Wed Aug 8 15:30:05 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* x86/x86-codegen.h, x86/test.c: added x86 code emitter with
	test.

