diff options
Diffstat (limited to 'target/hexagon/imported/macros.def')
-rwxr-xr-x | target/hexagon/imported/macros.def | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/target/hexagon/imported/macros.def b/target/hexagon/imported/macros.def index 32ed3bf8fc..e23f91562e 100755 --- a/target/hexagon/imported/macros.def +++ b/target/hexagon/imported/macros.def @@ -177,6 +177,12 @@ DEF_MACRO( ) DEF_MACRO( + fVSATUVALN, + ({ ((VAL) < 0) ? 0 : ((1LL<<(N))-1);}), + () +) + +DEF_MACRO( fSATUVALN, ({fSET_OVERFLOW(); ((VAL) < 0) ? 0 : ((1LL<<(N))-1);}), () @@ -189,6 +195,12 @@ DEF_MACRO( ) DEF_MACRO( + fVSATVALN, + ({((VAL) < 0) ? (-(1LL<<((N)-1))) : ((1LL<<((N)-1))-1);}), + () +) + +DEF_MACRO( fZXTN, /* macro name */ ((VAL) & ((1LL<<(N))-1)), /* attribs */ @@ -205,6 +217,11 @@ DEF_MACRO( ((fSXTN(N,64,VAL) == (VAL)) ? (VAL) : fSATVALN(N,VAL)), () ) +DEF_MACRO( + fVSATN, + ((fSXTN(N,64,VAL) == (VAL)) ? (VAL) : fVSATVALN(N,VAL)), + () +) DEF_MACRO( fADDSAT64, @@ -235,6 +252,12 @@ DEF_MACRO( ) DEF_MACRO( + fVSATUN, + ((fZXTN(N,64,VAL) == (VAL)) ? (VAL) : fVSATUVALN(N,VAL)), + () +) + +DEF_MACRO( fSATUN, ((fZXTN(N,64,VAL) == (VAL)) ? (VAL) : fSATUVALN(N,VAL)), () @@ -254,6 +277,19 @@ DEF_MACRO( ) DEF_MACRO( + fVSATH, + (fVSATN(16,VAL)), + () +) + +DEF_MACRO( + fVSATUH, + (fVSATUN(16,VAL)), + () +) + + +DEF_MACRO( fSATUB, (fSATUN(8,VAL)), () @@ -265,6 +301,20 @@ DEF_MACRO( ) +DEF_MACRO( + fVSATUB, + (fVSATUN(8,VAL)), + () +) +DEF_MACRO( + fVSATB, + (fVSATN(8,VAL)), + () +) + + + + /*************************************/ /* immediate extension */ /*************************************/ @@ -557,6 +607,18 @@ DEF_MACRO( ) DEF_MACRO( + fCAST2_2s, /* macro name */ + ((size2s_t)(A)), + /* optional attributes */ +) + +DEF_MACRO( + fCAST2_2u, /* macro name */ + ((size2u_t)(A)), + /* optional attributes */ +) + +DEF_MACRO( fCAST4_4s, /* macro name */ ((size4s_t)(A)), /* optional attributes */ @@ -876,6 +938,11 @@ DEF_MACRO( (((size8s_t)(A))<<N), /* optional attributes */ ) +DEF_MACRO( + fVSATW, /* saturating to 32-bits*/ + fVSATN(32,((long long)A)), + () +) DEF_MACRO( fSATW, /* saturating to 32-bits*/ @@ -884,6 +951,12 @@ DEF_MACRO( ) DEF_MACRO( + fVSAT, /* saturating to 32-bits*/ + fVSATN(32,(A)), + () +) + +DEF_MACRO( fSAT, /* saturating to 32-bits*/ fSATN(32,(A)), () @@ -1389,6 +1462,11 @@ DEF_MACRO(fSETBITS, /*************************************/ /* Used for parity, etc........ */ /*************************************/ +DEF_MACRO(fCOUNTONES_2, + count_ones_2(VAL), + /* nothing */ +) + DEF_MACRO(fCOUNTONES_4, count_ones_4(VAL), /* nothing */ @@ -1419,6 +1497,11 @@ DEF_MACRO(fCL1_4, /* nothing */ ) +DEF_MACRO(fCL1_2, + count_leading_ones_2(VAL), + /* nothing */ +) + DEF_MACRO(fINTERLEAVE, interleave(ODD,EVEN), /* nothing */ @@ -1576,3 +1659,8 @@ DEF_MACRO(fBRANCH_SPECULATE_STALL, }, () ) + +DEF_MACRO(IV1DEAD, + , + () +) |