X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-ops.h;h=c65def26bab13a97247661a99e8be0b98ef2397d;hb=e343ad0cfd404c92761cd6e0f683ccd46402897b;hp=7e1e72ce4978c9c82fcefbe77a3da12fc52102d4;hpb=95f1d9f467300b11da5b2defcfaec2f234f4ec0e;p=mono.git diff --git a/mono/mini/mini-ops.h b/mono/mini/mini-ops.h index 7e1e72ce497..c65def26bab 100644 --- a/mono/mini/mini-ops.h +++ b/mono/mini/mini-ops.h @@ -2,6 +2,7 @@ * Copyright 2003 Ximian, Inc * Copyright 2003-2011 Novell Inc * Copyright 2011 Xamarin Inc + * Licensed under the MIT license. See LICENSE file in the project root for full license information. */ MINI_OP(OP_LOAD, "load", NONE, NONE, NONE) MINI_OP(OP_LDADDR, "ldaddr", IREG, NONE, NONE) @@ -41,6 +42,7 @@ MINI_OP(OP_SEQ_POINT, "seq_point", NONE, NONE, NONE) MINI_OP(OP_IL_SEQ_POINT, "il_seq_point", NONE, NONE, NONE) MINI_OP(OP_IMPLICIT_EXCEPTION, "implicit_exception", NONE, NONE, NONE) +/* CALL opcodes need to stay together, see MONO_IS_CALL macro */ MINI_OP(OP_VOIDCALL, "voidcall", NONE, NONE, NONE) MINI_OP(OP_VOIDCALL_REG, "voidcall_reg", NONE, IREG, NONE) MINI_OP(OP_VOIDCALL_MEMBASE, "voidcall_membase", NONE, IREG, NONE) @@ -704,6 +706,9 @@ MINI_OP(OP_STRLEN, "strlen", IREG, IREG, NONE) MINI_OP(OP_NEWARR, "newarr", IREG, IREG, NONE) MINI_OP(OP_LDLEN, "ldlen", IREG, IREG, NONE) MINI_OP(OP_BOUNDS_CHECK, "bounds_check", NONE, IREG, IREG) +/* type checks */ +MINI_OP(OP_ISINST, "isinst", IREG, IREG, NONE) +MINI_OP(OP_CASTCLASS, "castclass", IREG, IREG, NONE) /* get adress of element in a 2D array */ MINI_OP(OP_LDELEMA2D, "getldelema2", NONE, NONE, NONE) /* inlined small memcpy with constant length */ @@ -942,10 +947,15 @@ MINI_OP(OP_CVTPS2PD, "cvtps2pd", XREG, XREG, NONE) MINI_OP(OP_CVTTPD2DQ, "cvttpd2dq", XREG, XREG, NONE) MINI_OP(OP_CVTTPS2DQ, "cvttps2dq", XREG, XREG, NONE) +/* r4 dot product */ +/* multiply all 4 single precision float elements, add them together, and store the result to the lowest element */ +MINI_OP(OP_DPPS, "dpps", XREG, XREG, XREG) + #endif MINI_OP(OP_XMOVE, "xmove", XREG, XREG, NONE) MINI_OP(OP_XZERO, "xzero", XREG, NONE, NONE) +MINI_OP(OP_XONES, "xones", XREG, NONE, NONE) MINI_OP(OP_XPHI, "xphi", XREG, NONE, NONE) /* @@ -1395,3 +1405,4 @@ MINI_OP(OP_OBJC_GET_SELECTOR, "objc_get_selector", IREG, NONE, NONE) MINI_OP(OP_GET_SP, "get_sp", IREG, NONE, NONE) MINI_OP(OP_SET_SP, "set_sp", NONE, IREG, NONE) +MINI_OP(OP_GET_LAST_ERROR, "get_last_error", IREG, NONE, NONE)