Alien-LibJIT

 view release on metacpan or  search on metacpan

libjit/jit/jit-opcodes.ops  view on Meta::CPAN

			    op_intrinsic(jit_nfloat_round, D_D) }
	op_def("nfsin") { op_values(nfloat, nfloat),
			  op_intrinsic(jit_nfloat_sin, D_D) }
	op_def("nfsinh") { op_values(nfloat, nfloat),
			   op_intrinsic(jit_nfloat_sinh, D_D) }
	op_def("nfsqrt") { op_values(nfloat, nfloat),
			   op_intrinsic(jit_nfloat_sqrt, D_D) }
	op_def("nftan") { op_values(nfloat, nfloat),
			  op_intrinsic(jit_nfloat_tan, D_D) }
	op_def("nftanh") { op_values(nfloat, nfloat),
			   op_intrinsic(jit_nfloat_tanh, D_D) }
	op_def("nftrunc") { op_values(nfloat, nfloat),
			    op_intrinsic(jit_nfloat_trunc, D_D) }
	/*
	 * Absolute, minimum, maximum, and sign.
	 */
	op_def("iabs") { op_values(int, int),
			 op_intrinsic(jit_int_abs, i_i) }
	op_def("labs") { op_values(long, long),
			 op_intrinsic(jit_long_abs, l_l) }
	op_def("fabs") { op_values(float32, float32),
			 op_intrinsic(jit_float32_abs, f_f) }
	op_def("dabs") { op_values(float64, float64),
			 op_intrinsic(jit_float64_abs, d_d) }
	op_def("nfabs") { op_values(nfloat, nfloat),
			  op_intrinsic(jit_nfloat_abs, D_D) }
	op_def("imin") { op_values(int, int, int),
			 op_intrinsic(jit_int_min, i_ii) }
	op_def("imin_un") { op_values(int, int, int),
			    op_intrinsic(jit_uint_min, I_II) }
	op_def("lmin") { op_values(long, long, long),
			 op_intrinsic(jit_long_min, l_ll) }
	op_def("lmin_un") { op_values(long, long, long),
			    op_intrinsic(jit_ulong_min, L_LL) }
	op_def("fmin") { op_values(float32, float32, float32),
			 op_intrinsic(jit_float32_min, f_ff) }
	op_def("dmin") { op_values(float64, float64, float64),
			 op_intrinsic(jit_float64_min, d_dd) }
	op_def("nfmin") { op_values(nfloat, nfloat, nfloat),
			  op_intrinsic(jit_nfloat_min, D_DD) }
	op_def("imax") { op_values(int, int, int),
			 op_intrinsic(jit_int_max, i_ii) }
	op_def("imax_un") { op_values(int, int, int),
			    op_intrinsic(jit_uint_max, I_II) }
	op_def("lmax") { op_values(long, long, long),
			 op_intrinsic(jit_long_max, l_ll) }
	op_def("lmax_un") { op_values(long, long, long),
			    op_intrinsic(jit_ulong_max, L_LL) }
	op_def("fmax") { op_values(float32, float32, float32),
			 op_intrinsic(jit_float32_max, f_ff) }
	op_def("dmax") { op_values(float64, float64, float64),
			 op_intrinsic(jit_float64_max, d_dd) }
	op_def("nfmax") { op_values(nfloat, nfloat, nfloat),
			  op_intrinsic(jit_nfloat_max, D_DD) }
	op_def("isign") { op_values(int, int),
			  op_intrinsic(jit_int_sign, i_i) }
	op_def("lsign") { op_values(int, long),
			  op_intrinsic(jit_long_sign, i_l) }
	op_def("fsign") { op_values(int, float32),
			  op_intrinsic(jit_float32_sign, i_f) }
	op_def("dsign") { op_values(int, float64),
			  op_intrinsic(jit_float64_sign, i_d) }
	op_def("nfsign") { op_values(int, nfloat),
			   op_intrinsic(jit_nfloat_sign, i_D) }
	/*
	 * Pointer check opcodes.
	 */
	op_def("check_null") { op_values(empty, ptr) }
	/*
	 * Function calls.
	 */
	op_def("call") { op_type(call) }
	op_def("call_tail") { op_type(call) }
	op_def("call_indirect") { op_values(empty, ptr), "INDIRECT_ARGS" }
	op_def("call_indirect_tail") { op_values(empty, ptr), "INDIRECT_ARGS" }
	op_def("call_vtable_ptr") { op_values(empty, ptr) }
	op_def("call_vtable_ptr_tail") { op_values(empty, ptr) }
	op_def("call_external") { op_type(call_external) }
	op_def("call_external_tail") { op_type(call_external) }
	op_def("return") { }
	op_def("return_int") { op_values(empty, int) }
	op_def("return_long") { op_values(empty, long) }
	op_def("return_float32") { op_values(empty, float32) }
	op_def("return_float64") { op_values(empty, float64) }
	op_def("return_nfloat") { op_values(empty, nfloat) }
	op_def("return_small_struct") { op_values(empty, ptr, ptr), "NINT_ARG" }
	op_def("setup_for_nested") { op_values(empty, int) }
	op_def("setup_for_sibling") { op_values(empty, int, int), "NINT_ARG" }
	op_def("import") { op_values(ptr, any, int) }
	/*
	 * Exception handling.
	 */
	op_def("throw") { op_values(empty, ptr) }
	op_def("rethrow") { op_values(empty, ptr) }
	op_def("load_pc") { op_values(ptr) }
	op_def("load_exception_pc") { op_values(ptr) }
	op_def("enter_finally") { }
	op_def("leave_finally") { }
	op_def("call_finally") { op_type(branch) }
	op_def("enter_filter") { op_values(any) }
	op_def("leave_filter") { op_values(empty, any) }
	op_def("call_filter") { op_type(branch), op_values(empty, any) }
	op_def("call_filter_return") { op_values(any) }
	op_def("address_of_label") { op_type(address_of_label), op_values(ptr) }
	/*
	 * Data manipulation.
	 */
	op_def("copy_load_sbyte") { op_values(int, int) }
	op_def("copy_load_ubyte") { op_values(int, int) }
	op_def("copy_load_short") { op_values(int, int) }
	op_def("copy_load_ushort") { op_values(int, int) }
	op_def("copy_int", =) { op_values(int, int) }
	op_def("copy_long", =) { op_values(long, long) }
	op_def("copy_float32", =) { op_values(float32, float32) }
	op_def("copy_float64", =) { op_values(float64, float64) }
	op_def("copy_nfloat", =) { op_values(nfloat, nfloat) }
	op_def("copy_struct", =) { op_values(ptr, ptr), "NINT_ARG" }
	op_def("copy_store_byte") { op_values(int, int) }
	op_def("copy_store_short") { op_values(int, int) }
	op_def("address_of", address_of) { op_values(ptr, any) }
	/*



( run in 1.677 second using v1.01-cache-2.11-cpan-71847e10f99 )