Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
s_shiftRightJam256M.c File Reference
#include <stdint.h>
#include "platform.h"
#include "primitiveTypes.h"
Include dependency graph for s_shiftRightJam256M.c:

Go to the source code of this file.

Functions

void softfloat_shiftRightJam256M (const uint64_t *aPtr, uint_fast32_t dist, uint64_t *zPtr)
 

Function Documentation

◆ softfloat_shiftRightJam256M()

void softfloat_shiftRightJam256M ( const uint64_t * aPtr,
uint_fast32_t dist,
uint64_t * zPtr )

Definition at line 73 of file s_shiftRightJam256M.c.

75{
76 uint64_t wordJam;
77 uint_fast32_t wordDist;
78 uint64_t *ptr;
79 uint_fast8_t i, innerDist;
80
81 wordJam = 0;
82 wordDist = dist>>6;
83 if ( wordDist ) {
84 if ( 4 < wordDist ) wordDist = 4;
85 ptr = (uint64_t *) (aPtr + indexMultiwordLo( 4, wordDist ));
86 i = wordDist;
87 do {
88 wordJam = *ptr++;
89 if ( wordJam ) break;
90 --i;
91 } while ( i );
92 ptr = zPtr;
93 }
94 if ( wordDist < 4 ) {
95 aPtr += indexMultiwordHiBut( 4, wordDist );
96 innerDist = dist & 63;
97 if ( innerDist ) {
99 4 - wordDist,
100 aPtr,
101 innerDist,
102 zPtr + indexMultiwordLoBut( 4, wordDist )
103 );
104 if ( ! wordDist ) goto wordJam;
105 } else {
106 aPtr += indexWordLo( 4 - wordDist );
107 ptr = zPtr + indexWordLo( 4 );
108 for ( i = 4 - wordDist; i; --i ) {
109 *ptr = *aPtr;
110 aPtr += wordIncr;
111 ptr += wordIncr;
112 }
113 }
114 ptr = zPtr + indexMultiwordHi( 4, wordDist );
115 }
116 do {
117 *ptr++ = 0;
118 --wordDist;
119 } while ( wordDist );
120 wordJam:
121 if ( wordJam ) zPtr[indexWordLo( 4 )] |= 1;
122
123}
#define indexMultiwordHi(total, n)
#define indexMultiwordLo(total, n)
#define wordIncr
#define indexWordLo(total)
#define indexMultiwordHiBut(total, n)
#define indexMultiwordLoBut(total, n)
void softfloat_shortShiftRightJamM(uint_fast8_t, const uint32_t *, uint_fast8_t, uint32_t *)
uint32_t uint_fast32_t
Definition stdint.h:156
uint8_t uint_fast8_t
Definition stdint.h:154
unsigned __int64 uint64_t
Definition stdint.h:136
Here is the call graph for this function:
Here is the caller graph for this function: