sim: cgen: add MUL2OFSI and MUL1OFSI functions (needed for OR1K l.mul[u])
sim/common/ChangeLog: 2017-12-12 Peter Gavin <pgavin@gmail.com> Stafford Horne <shorne@gmail.com> * cgen-ops.h (MUL2OFSI): New function, 2's complement overflow flag. (MUL1OFSI): New function, 1's complement overflow flag.
This commit is contained in:
parent
07b95864f3
commit
58884b0e45
@ -1,3 +1,10 @@
|
||||
2017-12-12 Peter Gavin <pgavin@gmail.com>
|
||||
Stafford Horne <shorne@gmail.com>
|
||||
|
||||
* cgen-ops.h (MUL2OFSI): New function, 2's complement overflow
|
||||
flag.
|
||||
(MUL1OFSI): New function, 1's complement overflow flag.
|
||||
|
||||
2017-12-12 Peter Gavin <pgavin@gmail.com>
|
||||
Stafford Horne <shorne@gmail.com>
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user