This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
[commit] Add some rtl operations to SID
- From: Dave Brolley <brolley at redhat dot com>
- To: sid at sources dot redhat dot com, cgen at sources dot redhat dot com
- Date: Wed, 16 Feb 2005 16:23:29 -0500
- Subject: [commit] Add some rtl operations to SID
Hi,
I've committed the attached patch which adds some operations that were
needed by an internal port.
Dave
2005-02-16 Dave Brolley <brolley@redhat.com>
* cgen-ops.h (RUNCBIBI): New macro.
(ADDOFQI): New function.
(SUBOFQI): New function.
Index: sid/component/cgen-cpu/cgen-ops.h
===================================================================
RCS file: /cvs/src/src/sid/component/cgen-cpu/cgen-ops.h,v
retrieving revision 1.11
diff -c -p -r1.11 cgen-ops.h
*** sid/component/cgen-cpu/cgen-ops.h 13 Jun 2003 19:58:08 -0000 1.11
--- sid/component/cgen-cpu/cgen-ops.h 16 Feb 2005 21:15:43 -0000
*************** namespace cgen {
*** 251,256 ****
--- 251,257 ----
#define ZEXTSIDI(x) ((DI) (USI) (x))
#define ZEXTDIDI(x) ((UDI) (x))
+ #define TRUNCBIBI(x) ((BI) (x))
#define TRUNCQIBI(x) ((BI) (QI) (x))
#define TRUNCQIQI(x) ((QI) (x))
#define TRUNCHIBI(x) ((BI) (HI) (x))
*************** ADDCFDI (DI a, DI b, BI c)
*** 407,412 ****
--- 408,422 ----
}
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;
+ }
+
+ inline BI
ADDOFHI (HI a, HI b, BI c)
{
HI tmp = ADDHI (a, ADDHI (b, c));
*************** SUBCFSI (SI a, SI b, BI c)
*** 477,482 ****
--- 487,501 ----
}
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;
+ }
+
+ inline BI
SUBOFHI (HI a, HI b, BI c)
{
HI tmp = SUBHI (a, ADDHI (b, c));