This is the mail archive of the cgen@sources.redhat.com mailing list for the CGEN 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]

[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));

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