Linux OpenRISC platform development
 help / color / mirror / Atom feed
* [OpenRISC] [PATCH v5 2/6] sim: cgen: add MUL2OFSI and MUL1OFSI macros (needed for OR1K l.mul[u])
  2017-10-05 13:49 [OpenRISC] [PATCH v5 0/6] sim port for OpenRISC Stafford Horne
@ 2017-10-05 13:49 ` Stafford Horne
  2017-10-07 16:00   ` Simon Marchi
  0 siblings, 1 reply; 4+ messages in thread
From: Stafford Horne @ 2017-10-05 13:49 UTC (permalink / raw)
  To: openrisc

From: Peter Gavin <pgavin@gmail.com>

sim/common/ChangeLog:

2012-03-14  Peter Gavin  <pgavin@gmail.com>

	* cgen-ops.h (MUL2OFSI): New macro, 1's complement overflow.
	(MUL1OFSI): New macro, 2's complement overflow.
---
 sim/common/cgen-ops.h | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/sim/common/cgen-ops.h b/sim/common/cgen-ops.h
index 97585d7943..ffbdf3fd6e 100644
--- a/sim/common/cgen-ops.h
+++ b/sim/common/cgen-ops.h
@@ -631,6 +631,22 @@ SUBOFQI (QI a, QI b, BI c)
   return res;
 }
 
+SEMOPS_INLINE BI
+MUL2OFSI (SI a, SI b)
+{
+  DI tmp = MULDI (EXTSIDI(a), EXTSIDI(b));
+  BI res = tmp < -0x80000000LL || tmp > 0x7fffffffLL;
+  return res;
+}
+
+SEMOPS_INLINE BI
+MUL1OFSI (USI a, USI b)
+{
+  UDI tmp = MULDI (ZEXTSIDI(a), ZEXTSIDI(b));
+  BI res = (tmp > 0xFFFFFFFFULL);
+  return res;
+}
+
 #else
 
 SI ADDCSI (SI, SI, BI);
@@ -651,6 +667,8 @@ UBI ADDOFQI (QI, QI, BI);
 QI SUBCQI (QI, QI, BI);
 UBI SUBCFQI (QI, QI, BI);
 UBI SUBOFQI (QI, QI, BI);
+BI MUL1OFSI (SI a, SI b);
+BI MUL2OFSI (SI a, SI b);
 
 #endif
 
-- 
2.13.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [OpenRISC] [PATCH v5 2/6] sim: cgen: add MUL2OFSI and MUL1OFSI macros (needed for OR1K l.mul[u])
  2017-10-05 13:49 ` [OpenRISC] [PATCH v5 2/6] sim: cgen: add MUL2OFSI and MUL1OFSI macros (needed for OR1K l.mul[u]) Stafford Horne
@ 2017-10-07 16:00   ` Simon Marchi
  2017-10-08 12:27     ` Stafford Horne
  0 siblings, 1 reply; 4+ messages in thread
From: Simon Marchi @ 2017-10-07 16:00 UTC (permalink / raw)
  To: openrisc

On 2017-10-05 09:49 AM, Stafford Horne wrote:
> From: Peter Gavin <pgavin@gmail.com>
> 
> sim/common/ChangeLog:
> 
> 2012-03-14  Peter Gavin  <pgavin@gmail.com>
> 
> 	* cgen-ops.h (MUL2OFSI): New macro, 1's complement overflow.
> 	(MUL1OFSI): New macro, 2's complement overflow.

Macro?  Aren't they functions?

> ---
>  sim/common/cgen-ops.h | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/sim/common/cgen-ops.h b/sim/common/cgen-ops.h
> index 97585d7943..ffbdf3fd6e 100644
> --- a/sim/common/cgen-ops.h
> +++ b/sim/common/cgen-ops.h
> @@ -631,6 +631,22 @@ SUBOFQI (QI a, QI b, BI c)
>    return res;
>  }
>  
> +SEMOPS_INLINE BI
> +MUL2OFSI (SI a, SI b)
> +{
> +  DI tmp = MULDI (EXTSIDI(a), EXTSIDI(b));

Add spaces before the parentheses.

> +  BI res = tmp < -0x80000000LL || tmp > 0x7fffffffLL;
> +  return res;
> +}
> +
> +SEMOPS_INLINE BI
> +MUL1OFSI (USI a, USI b)
> +{
> +  UDI tmp = MULDI (ZEXTSIDI(a), ZEXTSIDI(b));

Here too.

Otherwise, this patch makes sense to me.

Simon

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [OpenRISC] [PATCH v5 2/6] sim: cgen: add MUL2OFSI and MUL1OFSI macros (needed for OR1K l.mul[u])
  2017-10-07 16:00   ` Simon Marchi
@ 2017-10-08 12:27     ` Stafford Horne
  0 siblings, 0 replies; 4+ messages in thread
From: Stafford Horne @ 2017-10-08 12:27 UTC (permalink / raw)
  To: openrisc

On Sat, Oct 07, 2017 at 12:00:55PM -0400, Simon Marchi wrote:
> On 2017-10-05 09:49 AM, Stafford Horne wrote:
> > From: Peter Gavin <pgavin@gmail.com>
> > 
> > sim/common/ChangeLog:
> > 
> > 2012-03-14  Peter Gavin  <pgavin@gmail.com>
> > 
> > 	* cgen-ops.h (MUL2OFSI): New macro, 1's complement overflow.
> > 	(MUL1OFSI): New macro, 2's complement overflow.
> 
> Macro?  Aren't they functions?

Yes, I am not sure where macro came from.  Maybe I added that, maybe it was
there before.

> > ---
> >  sim/common/cgen-ops.h | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/sim/common/cgen-ops.h b/sim/common/cgen-ops.h
> > index 97585d7943..ffbdf3fd6e 100644
> > --- a/sim/common/cgen-ops.h
> > +++ b/sim/common/cgen-ops.h
> > @@ -631,6 +631,22 @@ SUBOFQI (QI a, QI b, BI c)
> >    return res;
> >  }
> >  
> > +SEMOPS_INLINE BI
> > +MUL2OFSI (SI a, SI b)
> > +{
> > +  DI tmp = MULDI (EXTSIDI(a), EXTSIDI(b));
> 
> Add spaces before the parentheses.

Right, fixed.

> > +  BI res = tmp < -0x80000000LL || tmp > 0x7fffffffLL;
> > +  return res;
> > +}
> > +
> > +SEMOPS_INLINE BI
> > +MUL1OFSI (USI a, USI b)
> > +{
> > +  UDI tmp = MULDI (ZEXTSIDI(a), ZEXTSIDI(b));
> 
> Here too.
> 
> Otherwise, this patch makes sense to me.
> 
> Simon

Thank You
 -Stafford

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [OpenRISC] [PATCH v5 2/6] sim: cgen: add MUL2OFSI and MUL1OFSI macros (needed for OR1K l.mul[u])
@ 2017-10-09 17:05 Doug Evans
  0 siblings, 0 replies; 4+ messages in thread
From: Doug Evans @ 2017-10-09 17:05 UTC (permalink / raw)
  To: openrisc

Stafford Horne writes:
 > On Sat, Oct 07, 2017 at 12:00:55PM -0400, Simon Marchi wrote:
 > > On 2017-10-05 09:49 AM, Stafford Horne wrote:
 > > > From: Peter Gavin <pgavin@gmail.com>
 > > > 
 > > > sim/common/ChangeLog:
 > > > 
 > > > 2012-03-14  Peter Gavin  <pgavin@gmail.com>
 > > > 
 > > > 	* cgen-ops.h (MUL2OFSI): New macro, 1's complement overflow.
 > > > 	(MUL1OFSI): New macro, 2's complement overflow.

Maybe I'm missing something but the text looks backwards.
IOW:

	* cgen-ops.h (MUL2OFSI): New function, 2's complement overflow.
	(MUL1OFSI): New function, 1's complement overflow.

?

OK with that change (and the other suggested changes to date).

 > > 
 > > Macro?  Aren't they functions?
 > 
 > Yes, I am not sure where macro came from.  Maybe I added that, maybe it was
 > there before.
 > 
 > > > ---
 > > >  sim/common/cgen-ops.h | 18 ++++++++++++++++++
 > > >  1 file changed, 18 insertions(+)
 > > > 
 > > > diff --git a/sim/common/cgen-ops.h b/sim/common/cgen-ops.h
 > > > index 97585d7943..ffbdf3fd6e 100644
 > > > --- a/sim/common/cgen-ops.h
 > > > +++ b/sim/common/cgen-ops.h
 > > > @@ -631,6 +631,22 @@ SUBOFQI (QI a, QI b, BI c)
 > > >    return res;
 > > >  }
 > > >  
 > > > +SEMOPS_INLINE BI
 > > > +MUL2OFSI (SI a, SI b)
 > > > +{
 > > > +  DI tmp = MULDI (EXTSIDI(a), EXTSIDI(b));
 > > 
 > > Add spaces before the parentheses.
 > 
 > Right, fixed.
 > 
 > > > +  BI res = tmp < -0x80000000LL || tmp > 0x7fffffffLL;
 > > > +  return res;
 > > > +}
 > > > +
 > > > +SEMOPS_INLINE BI
 > > > +MUL1OFSI (USI a, USI b)
 > > > +{
 > > > +  UDI tmp = MULDI (ZEXTSIDI(a), ZEXTSIDI(b));
 > > 
 > > Here too.
 > > 
 > > Otherwise, this patch makes sense to me.
 > > 
 > > Simon
 > 
 > Thank You
 >  -Stafford


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-10-09 17:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-09 17:05 [OpenRISC] [PATCH v5 2/6] sim: cgen: add MUL2OFSI and MUL1OFSI macros (needed for OR1K l.mul[u]) Doug Evans
  -- strict thread matches above, loose matches on Subject: below --
2017-10-05 13:49 [OpenRISC] [PATCH v5 0/6] sim port for OpenRISC Stafford Horne
2017-10-05 13:49 ` [OpenRISC] [PATCH v5 2/6] sim: cgen: add MUL2OFSI and MUL1OFSI macros (needed for OR1K l.mul[u]) Stafford Horne
2017-10-07 16:00   ` Simon Marchi
2017-10-08 12:27     ` Stafford Horne

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox