From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16130 invoked by alias); 6 May 2003 19:35:04 -0000 Mailing-List: contact cgen-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cgen-owner@sources.redhat.com Received: (qmail 16123 invoked from network); 6 May 2003 19:35:03 -0000 Received: from unknown (HELO touchme.toronto.redhat.com) (207.219.125.105) by sources.redhat.com with SMTP; 6 May 2003 19:35:03 -0000 Received: from redhat.com (topaz.toronto.redhat.com [172.16.14.227]) by touchme.toronto.redhat.com (Postfix) with ESMTP id 40990800030 for ; Tue, 6 May 2003 15:35:03 -0400 (EDT) Message-ID: <3EB80E66.70402@redhat.com> Date: Tue, 06 May 2003 19:35:00 -0000 From: Dave Brolley Organization: Red Hat Canada, Ltd User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20021216 X-Accept-Language: en-us, en MIME-Version: 1.0 To: cgen@sources.redhat.com Subject: [patch][rfa] Add ltu,leu,gtu,geu support for unsigned modes Content-Type: multipart/mixed; boundary="------------030503080604050702050200" X-SW-Source: 2003-q2/txt/msg00026.txt.bz2 This is a multi-part message in MIME format. --------------030503080604050702050200 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 254 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 --------------030503080604050702050200 Content-Type: text/plain; name="compu.patch.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="compu.patch.txt" Content-length: 2725 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))) --------------030503080604050702050200--