module tesla.polyfill.funcs

Code Map

module tesla.polyfill.funcs;


struct InbuiltFuncs
{
public:
	fnI32DivU: LLVMValueRef;
	fnI32DivS: LLVMValueRef;
	fnI32RemU: LLVMValueRef;
	fnI32RemS: LLVMValueRef;
	fnI32Clz: LLVMValueRef;
	fnI32Ctz: LLVMValueRef;
	fnI32Rotl: LLVMValueRef;
	fnI32Rotr: LLVMValueRef;
	fnI64DivU: LLVMValueRef;
	fnI64DivS: LLVMValueRef;
	fnI64RemU: LLVMValueRef;
	fnI64RemS: LLVMValueRef;
	fnI64Clz: LLVMValueRef;
	fnI64Ctz: LLVMValueRef;
	fnI64Rotl: LLVMValueRef;
	fnI64Rotr: LLVMValueRef;
	fnF32Div: LLVMValueRef;
	fnF64Div: LLVMValueRef;
	fnI32Load: LLVMValueRef;
	fnI64Load: LLVMValueRef;
	fnF32Load: LLVMValueRef;
	fnF64Load: LLVMValueRef;
	fnI32Load8S: LLVMValueRef;
	fnI32Load8U: LLVMValueRef;
	fnI32Load16S: LLVMValueRef;
	fnI32Load16U: LLVMValueRef;
	fnI64Load8S: LLVMValueRef;
	fnI64Load8U: LLVMValueRef;
	fnI64Load16S: LLVMValueRef;
	fnI64Load16U: LLVMValueRef;
	fnI64Load32S: LLVMValueRef;
	fnI64Load32U: LLVMValueRef;
	fnI32Store: LLVMValueRef;
	fnI64Store: LLVMValueRef;
	fnF32Store: LLVMValueRef;
	fnF64Store: LLVMValueRef;
	fnI32Store8: LLVMValueRef;
	fnI32Store16: LLVMValueRef;
	fnI64Store8: LLVMValueRef;
	fnI64Store16: LLVMValueRef;
	fnI64Store32: LLVMValueRef;
	fnI32TruncSF32: LLVMValueRef;
	fnI32TruncUF32: LLVMValueRef;
	fnI32TruncSF64: LLVMValueRef;
	fnI32TruncUF64: LLVMValueRef;
	fnI64TruncSF32: LLVMValueRef;
	fnI64TruncUF32: LLVMValueRef;
	fnI64TruncSF64: LLVMValueRef;
	fnI64TruncUF64: LLVMValueRef;
	fnF32DemoteF64: LLVMValueRef;
	fn_ctpop_i32: LLVMValueRef;
	fn_ctpop_i64: LLVMValueRef;
	fn_fabs_f32: LLVMValueRef;
	fn_ceil_f32: LLVMValueRef;
	fn_floor_f32: LLVMValueRef;
	fn_trunc_f32: LLVMValueRef;
	fn_nearbyint_f32: LLVMValueRef;
	fn_sqrt_f32: LLVMValueRef;
	fn_minnum_f32: LLVMValueRef;
	fn_maxnum_f32: LLVMValueRef;
	fn_copysign_f32: LLVMValueRef;
	fn_fabs_f64: LLVMValueRef;
	fn_ceil_f64: LLVMValueRef;
	fn_floor_f64: LLVMValueRef;
	fn_trunc_f64: LLVMValueRef;
	fn_nearbyint_f64: LLVMValueRef;
	fn_sqrt_f64: LLVMValueRef;
	fn_minnum_f64: LLVMValueRef;
	fn_maxnum_f64: LLVMValueRef;
	fn_copysign_f64: LLVMValueRef;


public:
	fn setup(mod: LLVMModuleRef, typeVoid: LLVMTypeRef, typeI32: LLVMTypeRef, typeI64: LLVMTypeRef, typeF32: LLVMTypeRef, typeF64: LLVMTypeRef) { }
}