Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
703ab08b
Commit
703ab08b
authored
May 30, 2008
by
Michael Beck
Browse files
add extra info for immediate float mode
[r19841]
parent
d9a90368
Changes
7
Hide whitespace changes
Inline
Side-by-side
include/libfirm/be.h
View file @
703ab08b
...
...
@@ -36,25 +36,30 @@
* propagated to the libFirm parameter set.
*/
typedef
struct
backend_params
{
/**
i
f set, the backend cannot handle DWORD access */
/**
I
f set, the backend cannot handle DWORD access
.
*/
unsigned
do_dw_lowering
:
1
;
/**
i
f set, the backend supports inline assembly */
/**
I
f set, the backend supports inline assembly
.
*/
unsigned
support_inline_asm
:
1
;
/** If set, the target architecture use an immediate floating point mode. */
unsigned
has_imm_fp_mode
:
1
;
/** Additional opcodes settings. */
const
arch_ops_info
*
arch_op_settings
;
/** Settings for architecture dependent optimizations */
/** Settings for architecture dependent optimizations
.
*/
const
ir_settings_arch_dep_t
*
dep_param
;
/**
t
he architecture specific intrinsic function creator */
/**
T
he architecture specific intrinsic function creator
.
*/
create_intrinsic_fkt
*
arch_create_intrinsic_fkt
;
/**
t
he context parameter for the create intrinsic function */
/**
T
he context parameter for the create intrinsic function
.
*/
void
*
create_intrinsic_ctx
;
/**
b
ackend settings for if-conversion */
/**
B
ackend settings for if-conversion
.
*/
const
ir_settings_if_conv_t
*
if_conv_info
;
/** The immediate floating point mode. Temporaries are calculated using this mode. */
ir_mode
*
imm_fp_mode
;
}
backend_params
;
/**
...
...
ir/be/TEMPLATE/bearch_TEMPLATE.c
View file @
703ab08b
...
...
@@ -633,11 +633,13 @@ static const backend_params *TEMPLATE_get_backend_params(void) {
static
backend_params
p
=
{
0
,
/* no dword lowering */
0
,
/* no inline assembly */
0
,
/* no immediate floating point mode. */
NULL
,
/* no additional opcodes */
NULL
,
/* will be set later */
NULL
,
/* no creator function */
NULL
,
/* context for create_intrinsic_fkt */
NULL
,
/* parameter for if conversion */
NULL
/* no immediate fp mode */
};
return
&
p
;
}
...
...
ir/be/arm/bearch_arm.c
View file @
703ab08b
...
...
@@ -1193,11 +1193,13 @@ static const backend_params *arm_get_libfirm_params(void) {
static
backend_params
p
=
{
1
,
/* need dword lowering */
0
,
/* don't support inline assembler yet */
0
,
/* no immediate floating point mode. */
NULL
,
/* no additional opcodes */
NULL
,
/* will be set later */
NULL
,
/* but yet no creator function */
NULL
,
/* context for create_intrinsic_fkt */
NULL
,
/* will be set below */
NULL
/* no immediate fp mode */
};
p
.
dep_param
=
&
ad
;
...
...
ir/be/bemain.c
View file @
703ab08b
...
...
@@ -214,12 +214,14 @@ int be_parse_arg(const char *arg) {
/** The be parameters returned by default, all off. */
static
const
backend_params
be_params
=
{
0
,
/* need dword lowering */
0
,
/* don't support inlien assembler yet */
0
,
/* don't support inline assembler yet */
0
,
/* no immediate floating point mode. */
NULL
,
/* no additional opcodes */
NULL
,
/* will be set later */
NULL
,
/* but yet no creator function */
NULL
,
/* context for create_intrinsic_fkt */
NULL
,
/* no if conversion settings */
NULL
/* no immediate fp mode */
};
/* Perform schedule verification if requested. */
...
...
ir/be/ia32/bearch_ia32.c
View file @
703ab08b
...
...
@@ -2173,11 +2173,13 @@ static const backend_params *ia32_get_libfirm_params(void) {
static
backend_params
p
=
{
1
,
/* need dword lowering */
1
,
/* support inline assembly */
0
,
/* no immediate floating point mode. */
NULL
,
/* no additional opcodes */
NULL
,
/* will be set later */
ia32_create_intrinsic_fkt
,
&
intrinsic_env
,
/* context for ia32_create_intrinsic_fkt */
NULL
,
/* will be set below */
NULL
,
};
ia32_setup_cg_config
();
...
...
ir/be/mips/bearch_mips.c
View file @
703ab08b
...
...
@@ -978,11 +978,13 @@ static const backend_params *mips_get_libfirm_params(void) {
static
backend_params
p
=
{
1
,
/* need dword lowering */
0
,
/* don't support inline assembler yet */
0
,
/* no immediate floating point mode. */
NULL
,
/* no additional opcodes */
NULL
,
/* will be set later */
NULL
,
/* but yet no creator function */
NULL
,
/* context for create_intrinsic_fkt */
NULL
,
/* no if conversion settings */
NULL
/* no immediate fp mode */
};
return
&
p
;
...
...
ir/be/ppc32/bearch_ppc32.c
View file @
703ab08b
...
...
@@ -913,12 +913,14 @@ static ir_graph **ppc32_get_irg_list(const void *self, ir_graph ***irg_list) {
static
const
backend_params
*
ppc32_get_libfirm_params
(
void
)
{
static
backend_params
p
=
{
1
,
/* need dword lowering */
0
,
/* don't support inlien assembler yet */
0
,
/* don't support inline assembler yet */
0
,
/* no immediate floating point mode. */
NULL
,
/* no additional opcodes */
NULL
,
/* will be set later */
NULL
,
/* but yet no creator function */
NULL
,
/* context for create_intrinsic_fkt */
NULL
,
/* no if conversion settings */
NULL
/* no immediate fp mode */
};
return
&
p
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment