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]

[patch][rfa] Add ltu,leu,gtu,geu support for unsigned modes


Hi,

The attached patch adds support for the unsigned modes (UQI, UHI, USI, UDI, UINT) for the cgen rtl ops ltu, leu, gtu and geu. These calls can be generated by code like

(if (ltu (zext UDI op1) (zext UDI op2 ))(set op3 op1 ))

ok to commit?

Dave

Index: sid/component/cgen-cpu/cgen-ops.h
===================================================================
RCS file: /cvs/src/src/sid/component/cgen-cpu/cgen-ops.h,v
retrieving revision 1.9
diff -c -p -r1.9 cgen-ops.h
*** sid/component/cgen-cpu/cgen-ops.h	1 Feb 2002 01:19:43 -0000	1.9
--- sid/component/cgen-cpu/cgen-ops.h	6 May 2003 19:27:42 -0000
*************** namespace cgen {
*** 55,60 ****
--- 55,64 ----
  #define LEUQI(x, y) ((UQI) (x) <= (UQI) (y))
  #define GTUQI(x, y) ((UQI) (x) > (UQI) (y))
  #define GEUQI(x, y) ((UQI) (x) >= (UQI) (y))
+ #define LTUUQI(x, y) ((UQI) (x) < (UQI) (y))
+ #define LEUUQI(x, y) ((UQI) (x) <= (UQI) (y))
+ #define GTUUQI(x, y) ((UQI) (x) > (UQI) (y))
+ #define GEUUQI(x, y) ((UQI) (x) >= (UQI) (y))
  #define ABSQI(x)  ((x) > 0 ? (x) : -(x))
  
  #define ADDHI(x, y) ((x) + (y))
*************** namespace cgen {
*** 83,88 ****
--- 87,96 ----
  #define LEUHI(x, y) ((UHI) (x) <= (UHI) (y))
  #define GTUHI(x, y) ((UHI) (x) > (UHI) (y))
  #define GEUHI(x, y) ((UHI) (x) >= (UHI) (y))
+ #define LTUUHI(x, y) ((UHI) (x) < (UHI) (y))
+ #define LEUUHI(x, y) ((UHI) (x) <= (UHI) (y))
+ #define GTUUHI(x, y) ((UHI) (x) > (UHI) (y))
+ #define GEUUHI(x, y) ((UHI) (x) >= (UHI) (y))
  #define ABSHI(x)  ((x) > 0 ? (x) : -(x))
  
  #define ADDSI(x, y) ((x) + (y))
*************** namespace cgen {
*** 111,116 ****
--- 119,128 ----
  #define LEUSI(x, y) ((USI) (x) <= (USI) (y))
  #define GTUSI(x, y) ((USI) (x) > (USI) (y))
  #define GEUSI(x, y) ((USI) (x) >= (USI) (y))
+ #define LTUUSI(x, y) ((USI) (x) < (USI) (y))
+ #define LEUUSI(x, y) ((USI) (x) <= (USI) (y))
+ #define GTUUSI(x, y) ((USI) (x) > (USI) (y))
+ #define GEUUSI(x, y) ((USI) (x) >= (USI) (y))
  #define ABSSI(x)  ((x) > 0 ? (x) : -(x))
  
  #define ADDDI(x, y) ((x) + (y))
*************** namespace cgen {
*** 139,150 ****
--- 151,171 ----
  #define LEUDI(x, y) ((UDI) (x) <= (UDI) (y))
  #define GTUDI(x, y) ((UDI) (x) > (UDI) (y))
  #define GEUDI(x, y) ((UDI) (x) >= (UDI) (y))
+ #define LTUUDI(x, y) ((UDI) (x) < (UDI) (y))
+ #define LEUUDI(x, y) ((UDI) (x) <= (UDI) (y))
+ #define GTUUDI(x, y) ((UDI) (x) > (UDI) (y))
+ #define GEUUDI(x, y) ((UDI) (x) >= (UDI) (y))
  #define ABSDI(x)  ((x) > 0 ? (x) : -(x))
  
  #define LTUINT(x, y) ((UINT) (x) < (UINT) (y))
  #define LEUINT(x, y) ((UINT) (x) <= (UINT) (y))
  #define GTUINT(x, y) ((UINT) (x) > (UINT) (y))
  #define GEUINT(x, y) ((UINT) (x) >= (UINT) (y))
+ 
+ #define LTUUINT(x, y) ((UINT) (x) < (UINT) (y))
+ #define LEUUINT(x, y) ((UINT) (x) <= (UINT) (y))
+ #define GTUUINT(x, y) ((UINT) (x) > (UINT) (y))
+ #define GEUUINT(x, y) ((UINT) (x) >= (UINT) (y))
  
  // XXX: fill out families of functions
  #define RORQI(x, y) (SRLQI((x), (y)) | SLLQI((x), 8-(y)))

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