X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Flower%2Flower_dw.h;h=f8054568be8c1901da4be080a1fe893cf172edf2;hb=7fde2640594cfafe97a68177f7bf87d1c8a69fbe;hp=1422c72ec2f5f7fee874ec684ea0ba42bdd0087a;hpb=31a8aba016d554d5c35fb5d62add6e9d28831646;p=libfirm diff --git a/ir/lower/lower_dw.h b/ir/lower/lower_dw.h index 1422c72ec..f8054568b 100644 --- a/ir/lower/lower_dw.h +++ b/ir/lower/lower_dw.h @@ -13,9 +13,21 @@ #include "firm_types.h" /** - * A callback type for creating an intrinsic entity for a given opcode. */ -typedef entity *(create_intrinsic_fkt)(ir_type *method, const ir_op *op, const ir_mode *mode, void *context); + * A callback type for creating an intrinsic entity for a given opcode. + * + * @param method the method type of the emulation function entity + * @param op the emulated ir_op + * @param imode the input mode of the emulated opcode + * @param omode the output mode of the emulated opcode + * @param context the context parameter + */ +typedef entity *(create_intrinsic_fkt)(ir_type *method, const ir_op *op, + const ir_mode *imode, const ir_mode *omode, + void *context); +/** + * The lowering parameter description. + */ typedef struct _lwrdw_param_t { int enable; /**< if true lowering is enabled */ int little_endian; /**< if true should be lowered for little endian, else big endian */ @@ -35,8 +47,10 @@ typedef struct _lwrdw_param_t { void lower_dw_ops(const lwrdw_param_t *param); /** - * Default implementation. + * Default implementation. Context is unused. */ -entity *def_create_intrinsic_fkt(ir_type *method, const ir_op *op, const ir_mode *mode, void *context); +entity *def_create_intrinsic_fkt(ir_type *method, const ir_op *op, + const ir_mode *imode, const ir_mode *omode, + void *context); #endif /* _FIRM_LOWER_DW_H */