From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13395 invoked by alias); 6 May 2003 21:57:44 -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 13382 invoked from network); 6 May 2003 21:57:41 -0000 Received: from unknown (HELO touchme.toronto.redhat.com) (207.219.125.105) by sources.redhat.com with SMTP; 6 May 2003 21:57:41 -0000 Received: from redhat.com (to-dhcp29.toronto.redhat.com [172.16.14.129]) by touchme.toronto.redhat.com (Postfix) with ESMTP id 01273800030; Tue, 6 May 2003 17:57:40 -0400 (EDT) Message-ID: <3EB82FD9.2070904@redhat.com> Date: Tue, 06 May 2003 21:57:00 -0000 From: Dave Brolley User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3 X-Accept-Language: en-us MIME-Version: 1.0 To: Dave Brolley Cc: cgen@sources.redhat.com Subject: Re: [patch][rfa] Add ltu,leu,gtu,geu support for unsigned modes References: <3EB80E66.70402@redhat.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2003-q2/txt/msg00028.txt.bz2 Approved by fche and committed. Dave Brolley wrote: > 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))) >