This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
[patch][rfa] Add ltu,leu,gtu,geu support for unsigned modes
- From: Dave Brolley <brolley at redhat dot com>
- To: cgen at sources dot redhat dot com
- Date: Tue, 06 May 2003 15:35:02 -0400
- Subject: [patch][rfa] Add ltu,leu,gtu,geu support for unsigned modes
- Organization: Red Hat Canada, Ltd
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)))