Commit 31a8aba0 authored by Michael Beck's avatar Michael Beck
Browse files

initial implementation of DOUBLE-WORD lowering, cannot handle conversions from/to

floating point yet.

[r7664]
parent 63372f63
......@@ -15,12 +15,12 @@ srcdir = @srcdir@
topdir = ../..
subdir := ir/lower
INSTALL_HEADERS = lower_intrinsics.h lower_calls.h
INSTALL_HEADERS = lower_intrinsics.h lower_calls.h lower_dw.h
SOURCES = $(INSTALL_HEADERS)
SOURCES += Makefile.in \
lower_intrinsics.c lower_calls.c
lower_intrinsics.c lower_calls.c lower_dw.c
include $(topdir)/MakeRules
......
This diff is collapsed.
/**
* @file irlwrdw.h
* @date 8.10.2004
* @author Michael Beck
* @brief Lower Double word operations, ie Mode L -> I
*
* $Id$
*/
#ifndef _FIRM_LOWER_DW_H
#define _FIRM_LOWER_DW_H
#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);
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 */
ir_mode *high_signed; /**< the double word signed mode to be lowered, typically Ls */
ir_mode *high_unsigned; /**< the double word unsigned mode to be lowered, typically Lu */
ir_mode *low_signed; /**< the word signed mode to be used, typically Is */
ir_mode *low_unsigned; /**< the word unsigned mode to be used, typically Iu */
/** callback that creates the intrinsic entity */
create_intrinsic_fkt *create_intrinsic;
void *ctx; /**< context parameter for the creator function */
} lwrdw_param_t;
/**
* Lower all double word operations.
*/
void lower_dw_ops(const lwrdw_param_t *param);
/**
* Default implementation.
*/
entity *def_create_intrinsic_fkt(ir_type *method, const ir_op *op, const ir_mode *mode, void *context);
#endif /* _FIRM_LOWER_DW_H */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment