diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/cacao/files/cacao-codegen-arm2.patch | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/cacao/files/cacao-codegen-arm2.patch')
-rw-r--r-- | recipes/cacao/files/cacao-codegen-arm2.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/recipes/cacao/files/cacao-codegen-arm2.patch b/recipes/cacao/files/cacao-codegen-arm2.patch new file mode 100644 index 0000000000..710f284345 --- /dev/null +++ b/recipes/cacao/files/cacao-codegen-arm2.patch @@ -0,0 +1,66 @@ + +# HG changeset patch +# User Christian Thalinger <twisti@complang.tuwien.ac.at> +# Date 1221467463 -7200 +# Node ID a67fe1cb2b81b7cbfc9d824f17b440e50c7697ef +# Parent d88bf99453b644bd2cc5c0dc5f8038f3151d897a +* src/vm/jit/arm/codegen.c (codegen_emit) [__VFP_FP__]: Implemented +I2F, I2D, F2I, and D2I correctly. + +--- a/src/vm/jit/arm/codegen.c Mon Sep 15 10:17:30 2008 +0200 ++++ b/src/vm/jit/arm/codegen.c Mon Sep 15 10:31:03 2008 +0200 +@@ -1013,7 +1013,12 @@ + + s1 = emit_load_s1(jd, iptr, REG_ITMP1); + d = codegen_reg_of_dst(jd, iptr, REG_FTMP1); ++#if defined(__VFP_FP__) ++ M_FMSR(s1, d); ++ M_CVTIF(d, d); ++#else + M_CVTIF(s1, d); ++#endif + emit_store_dst(jd, iptr, d); + break; + +@@ -1021,7 +1026,12 @@ + + s1 = emit_load_s1(jd, iptr, REG_ITMP1); + d = codegen_reg_of_dst(jd, iptr, REG_FTMP1); ++#if defined(__VFP_FP__) ++ M_FMSR(s1, d); ++ M_CVTID(d, d); ++#else + M_CVTID(s1, d); ++#endif + emit_store_dst(jd, iptr, d); + break; + +@@ -1029,9 +1039,12 @@ + + s1 = emit_load_s1(jd, iptr, REG_FTMP1); + d = codegen_reg_of_dst(jd, iptr, REG_ITMP1); ++#if defined(__VFP_FP__) ++ M_CVTFI(s1, REG_FTMP2); ++ M_FMRS(REG_FTMP2, d); ++#else + /* this uses round towards zero, as Java likes it */ + M_CVTFI(s1, d); +-#if !defined(__VFP_FP__) + /* this checks for NaN; to return zero as Java likes it */ + M_FCMP(s1, 0x8); + M_MOVVS_IMM(0, d); +@@ -1043,9 +1056,12 @@ + + s1 = emit_load_s1(jd, iptr, REG_FTMP1); + d = codegen_reg_of_dst(jd, iptr, REG_ITMP1); ++#if defined(__VFP_FP__) ++ M_CVTDI(s1, REG_FTMP2); ++ M_FMRS(REG_FTMP2, d); ++#else + /* this uses round towards zero, as Java likes it */ + M_CVTDI(s1, d); +-#if !defined(__VFP_FP__) + /* this checks for NaN; to return zero as Java likes it */ + M_DCMP(s1, 0x8); + M_MOVVS_IMM(0, d); + |