dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and to


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. 240648c02972022efc24122775e30ea61fb50bef
Date: Sat, 10 Apr 2010 17:43:30 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "DotGNU Portable.NET engine, compilers and tools (pnet)".

The branch, master has been updated
       via  240648c02972022efc24122775e30ea61fb50bef (commit)
      from  dbaaf296d969c1e92026a98ba968221896649521 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/pnet.git/commit/?id=240648c02972022efc24122775e30ea61fb50bef

commit 240648c02972022efc24122775e30ea61fb50bef
Author: Klaus Treichel <address@hidden>
Date:   Sat Apr 10 19:42:58 2010 +0200

    Implement truncation from double to single precision of a stack value.

diff --git a/ChangeLog b/ChangeLog
index 9b9a58e..3f816cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
 
        * engine/md_arm.h: Fix loads and stores from/to single precision float
        arrays. Change some temporary variables in macros to distinct names.
+       Implement truncation from double to single precision stack value.
 
 2010-04-09  Klaus Treichel  <address@hidden>
 
diff --git a/engine/md_arm.h b/engine/md_arm.h
index 70bc277..ea65f40 100644
--- a/engine/md_arm.h
+++ b/engine/md_arm.h
@@ -560,7 +560,13 @@ typedef arm_inst_ptr       md_inst_ptr;
  * Truncate floating point values to 32-bit or 64-bit.
  */
 #define        md_reg_to_float_32(inst,reg)    \
-                       do { ; } while (0)
+                       do { \
+                               int __cfs_dreg = ((int)(reg) & ~MD_FREG_MASK); \
+                               int __cfs_sreg = (__cfs_dreg << 1); \
+                               arm_cvt_double_single_reg_reg((inst), 
ARM_CC_AL, __cfs_sreg, __cfs_dreg); \
+                               arm_cvt_single_double_reg_reg((inst), 
ARM_CC_AL, __cfs_dreg, __cfs_sreg); \
+                       } while (0)
+
 #define        md_reg_to_float_64(inst,reg)    \
                        do { ; } while (0)
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog       |    1 +
 engine/md_arm.h |    8 +++++++-
 2 files changed, 8 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
DotGNU Portable.NET engine, compilers and tools (pnet)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]