summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2010-09-08 13:12:07 -0700
committerDavid Schleef <ds@schleef.org>2010-09-08 13:12:07 -0700
commitc09dcd7820699eca00ff323eb24d6fcf64b4b8c5 (patch)
tree3b138c6c53ea7499d69cad5ea2a326dd3a2e9baa
parent02083f367e50bcb2025a280b9046acd404777fed (diff)
Add ORC_TARGET_CLEAN_COMPILE and use it
-rw-r--r--orc-test/orctest.c6
-rw-r--r--orc/orcarm.c2
-rw-r--r--orc/orcprogram.h1
3 files changed, 7 insertions, 2 deletions
diff --git a/orc-test/orctest.c b/orc-test/orctest.c
index 22eaf68..664a25c 100644
--- a/orc-test/orctest.c
+++ b/orc-test/orctest.c
@@ -62,9 +62,13 @@ orc_test_gcc_compile (OrcProgram *p)
target = orc_target_get_default ();
flags = orc_target_get_default_flags (target);
+ flags |= ORC_TARGET_CLEAN_COMPILE;
if (strcmp (orc_target_get_name (target), "sse") == 0) {
flags |= ORC_TARGET_SSE_SHORT_JUMPS;
}
+ if (strcmp (orc_target_get_name (target), "mmx") == 0) {
+ flags |= ORC_TARGET_MMX_SHORT_JUMPS;
+ }
result = orc_program_compile_full (p, target, flags);
if (ORC_COMPILE_RESULT_IS_FATAL(result)) {
@@ -176,7 +180,7 @@ orc_test_gcc_compile_neon (OrcProgram *p)
target = orc_target_get_by_name ("neon");
flags = orc_target_get_default_flags (target);
- flags |= ORC_TARGET_NEON_CLEAN_COMPILE;
+ flags |= ORC_TARGET_CLEAN_COMPILE;
result = orc_program_compile_full (p, target, flags);
if (!ORC_COMPILE_RESULT_IS_SUCCESSFUL(result)) {
diff --git a/orc/orcarm.c b/orc/orcarm.c
index b7b9d90..bfdc246 100644
--- a/orc/orcarm.c
+++ b/orc/orcarm.c
@@ -731,7 +731,7 @@ orc_arm_flush_cache (OrcCode *code)
void
orc_arm_emit_data (OrcCompiler *compiler, orc_uint32 data)
{
- if (compiler->target_flags & ORC_TARGET_NEON_CLEAN_COMPILE) {
+ if (compiler->target_flags & ORC_TARGET_CLEAN_COMPILE) {
orc_arm_emit_nop (compiler);
} else {
ORC_ASM_CODE(compiler," .word 0x%08x\n", data);
diff --git a/orc/orcprogram.h b/orc/orcprogram.h
index e46a53f..e74de23 100644
--- a/orc/orcprogram.h
+++ b/orc/orcprogram.h
@@ -83,6 +83,7 @@ enum {
ORC_TARGET_C_BARE = (1<<1),
ORC_TARGET_C_NOEXEC = (1<<2),
ORC_TARGET_C_OPCODE = (1<<3),
+ ORC_TARGET_CLEAN_COMPILE = (1<<29),
ORC_TARGET_FAST_NAN = (1<<30),
ORC_TARGET_FAST_DENORMAL = (1<<31)
};