This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] sim: cgen: add MUL2OFSI and MUL1OFSI functions (needed for OR1K l.mul[u])


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=58884b0e451043ed2fb4d2fba18134f0fb451ce5

commit 58884b0e451043ed2fb4d2fba18134f0fb451ce5
Author: Peter Gavin <pgavin@gmail.com>
Date:   Sat Dec 9 05:57:25 2017 +0900

    sim: cgen: add MUL2OFSI and MUL1OFSI functions (needed for OR1K l.mul[u])
    
    sim/common/ChangeLog:
    
    2017-12-12  Peter Gavin  <pgavin@gmail.com>
    	    Stafford Horne  <shorne@gmail.com>
    
    	* cgen-ops.h (MUL2OFSI): New function, 2's complement overflow
    	flag.
    	(MUL1OFSI): New function, 1's complement overflow flag.

Diff:
---
 sim/common/ChangeLog  |  7 +++++++
 sim/common/cgen-ops.h | 18 ++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 091ca42..313a467 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,4 +1,11 @@
 2017-12-12  Peter Gavin  <pgavin@gmail.com>
+	    Stafford Horne  <shorne@gmail.com>
+
+	* cgen-ops.h (MUL2OFSI): New function, 2's complement overflow
+	flag.
+	(MUL1OFSI): New function, 1's complement overflow flag.
+
+2017-12-12  Peter Gavin  <pgavin@gmail.com>
 	    Stafford Horne <shorne@gmail.com>
 
 	* cgen-accfp.c (remsf, remdf): New function.
diff --git a/sim/common/cgen-ops.h b/sim/common/cgen-ops.h
index 97585d7..0fa3276 100644
--- a/sim/common/cgen-ops.h
+++ b/sim/common/cgen-ops.h
@@ -631,6 +631,22 @@ SUBOFQI (QI a, QI b, BI c)
   return res;
 }
 
+SEMOPS_INLINE BI
+MUL2OFSI (SI a, SI b)
+{
+  DI tmp = MULDI (EXTSIDI (a), EXTSIDI (b));
+  BI res = tmp < -0x80000000LL || tmp > 0x7fffffffLL;
+  return res;
+}
+
+SEMOPS_INLINE BI
+MUL1OFSI (USI a, USI b)
+{
+  UDI tmp = MULDI (ZEXTSIDI (a), ZEXTSIDI (b));
+  BI res = (tmp > 0xFFFFFFFFULL);
+  return res;
+}
+
 #else
 
 SI ADDCSI (SI, SI, BI);
@@ -651,6 +667,8 @@ UBI ADDOFQI (QI, QI, BI);
 QI SUBCQI (QI, QI, BI);
 UBI SUBCFQI (QI, QI, BI);
 UBI SUBOFQI (QI, QI, BI);
+BI MUL1OFSI (SI a, SI b);
+BI MUL2OFSI (SI a, SI b);
 
 #endif


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]