From 2c8926ab147a18b7d50dd9d64b5a8db04eac739c Mon Sep 17 00:00:00 2001 From: brolley Date: Wed, 16 Feb 2005 21:19:34 +0000 Subject: [PATCH] 2005-02-16 Dave Brolley * cgen-ops.h (RUNCBIBI): New macro. (ADDOFQI): New function. (SUBOFQI): New function. --- sid/component/cgen-cpu/ChangeLog | 6 ++++++ sid/component/cgen-cpu/cgen-ops.h | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/sid/component/cgen-cpu/ChangeLog b/sid/component/cgen-cpu/ChangeLog index fdbd1a0102..9871401180 100644 --- a/sid/component/cgen-cpu/ChangeLog +++ b/sid/component/cgen-cpu/ChangeLog @@ -1,3 +1,9 @@ +2005-02-16 Dave Brolley + + * cgen-ops.h (RUNCBIBI): New macro. + (ADDOFQI): New function. + (SUBOFQI): New function. + 2005-02-12 Frank Ch. Eigler * cgen-engine.h (virtual_insn_type): Move decl here ... diff --git a/sid/component/cgen-cpu/cgen-ops.h b/sid/component/cgen-cpu/cgen-ops.h index c0d380c48e..b7831fdd7c 100644 --- a/sid/component/cgen-cpu/cgen-ops.h +++ b/sid/component/cgen-cpu/cgen-ops.h @@ -251,6 +251,7 @@ namespace cgen { #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)) @@ -407,6 +408,15 @@ ADDCFDI (DI a, DI b, BI c) } 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)); @@ -477,6 +487,15 @@ SUBCFSI (SI a, SI b, BI c) } 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)); -- 2.11.0