This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
[RFA:] sim/cgen-ops.h: Add ADDCQI, ADDCFQI, ADDOFQI, SUBCQI, SUBCFQI, SUBOFQI
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- To: cgen at sources dot redhat dot com, sid at sources dot redhat dot com
- Date: Thu, 31 Jan 2002 16:47:21 +0100
- Subject: [RFA:] sim/cgen-ops.h: Add ADDCQI, ADDCFQI, ADDOFQI, SUBCQI, SUBCFQI, SUBOFQI
I thought this was supposed to go to gdb, but I got no reaction
there and I see a recent patch went to cgen & sid, hence
forwarded.
------- Start of forwarded message -------
Return-Path: <hp@axis.com>
Date: Tue, 29 Jan 2002 00:05:08 +0100
From: Hans-Peter Nilsson <hp@axis.com>
To: gdb-patches@sources.redhat.com
Subject: [RFA:] sim/cgen-ops.h: Add ADDCQI, ADDCFQI, ADDOFQI, SUBCQI, SUBCFQI, SUBOFQI
These functions looked missing. At least I get undefined
references to these for a CGEN port in progress, and they look
like they *should* be there. CCNOL (CC me; I'm not on this
list), please.
Ok to commit?
2002-01-28 Hans-Peter Nilsson <hp@axis.com>
* cgen-ops.h (ADDCQI, ADDCFQI, ADDOFQI, SUBCQI, SUBCFQI, SUBOFQI):
New functions.
Index: cgen-ops.h
===================================================================
RCS file: /cvs/src/src/sim/common/cgen-ops.h,v
retrieving revision 1.5
diff -p -c -r1.5 cgen-ops.h
*** cgen-ops.h 2000/12/11 07:14:34 1.5
- --- cgen-ops.h 2002/01/28 22:47:37
***************
*** 1,5 ****
/* Semantics ops support for CGEN-based simulators.
! Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of the GNU Simulators.
- --- 1,5 ----
/* Semantics ops support for CGEN-based simulators.
! Copyright (C) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of the GNU Simulators.
*************** SUBOFHI (HI a, HI b, BI c)
*** 581,586 ****
- --- 581,633 ----
return res;
}
+ SEMOPS_INLINE QI
+ ADDCQI (QI a, QI b, BI c)
+ {
+ QI res = ADDQI (a, ADDQI (b, c));
+ return res;
+ }
+
+ SEMOPS_INLINE BI
+ ADDCFQI (QI a, QI b, BI c)
+ {
+ QI tmp = ADDQI (a, ADDQI (b, c));
+ BI res = ((UQI) tmp < (UQI) a) || (c && tmp == a);
+ return res;
+ }
+
+ SEMOPS_INLINE BI
+ ADDOFQI (QI a, QI b, BI c)
+ {
+ QI tmp = ADDQI (a, ADDQI (b, c));
+ BI res = (((a < 0) == (b < 0))
+ && ((a < 0) != (tmp < 0)));
+ return res;
+ }
+
+ SEMOPS_INLINE QI
+ SUBCQI (QI a, QI b, BI c)
+ {
+ QI res = SUBQI (a, ADDQI (b, c));
+ return res;
+ }
+
+ SEMOPS_INLINE BI
+ SUBCFQI (QI a, QI b, BI c)
+ {
+ BI res = ((UQI) a < (UQI) b) || (c && a == b);
+ return res;
+ }
+
+ SEMOPS_INLINE BI
+ SUBOFQI (QI a, QI b, BI c)
+ {
+ QI tmp = SUBQI (a, ADDQI (b, c));
+ BI res = (((a < 0) != (b < 0))
+ && ((a < 0) != (tmp < 0)));
+ return res;
+ }
+
#else
SI ADDCSI (SI, SI, BI);
*************** UBI ADDOFHI (HI, HI, BI);
*** 595,600 ****
- --- 642,653 ----
HI SUBCHI (HI, HI, BI);
UBI SUBCFHI (HI, HI, BI);
UBI SUBOFHI (HI, HI, BI);
+ QI ADDCQI (QI, QI, BI);
+ UBI ADDCFQI (QI, QI, BI);
+ UBI ADDOFQI (QI, QI, BI);
+ QI SUBCQI (QI, QI, BI);
+ UBI SUBCFQI (QI, QI, BI);
+ UBI SUBOFQI (QI, QI, BI);
#endif
brgds, H-P
------- End of forwarded message -------