* [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