Lines Matching refs:dest

83 static inline int fp_addmant(struct fp_ext *dest, struct fp_ext *src)  in fp_addmant()  argument
88 asm volatile ("add.b %1,%0" : "=d,g" (dest->lowmant) in fp_addmant()
89 : "g,d" (src->lowmant), "0,0" (dest->lowmant)); in fp_addmant()
90 asm volatile ("addx.l %1,%0" : "=d" (dest->mant.m32[1]) in fp_addmant()
91 : "d" (src->mant.m32[1]), "0" (dest->mant.m32[1])); in fp_addmant()
92 asm volatile ("addx.l %1,%0" : "=d" (dest->mant.m32[0]) in fp_addmant()
93 : "d" (src->mant.m32[0]), "0" (dest->mant.m32[0])); in fp_addmant()
116 static inline void fp_submant(struct fp_ext *dest, struct fp_ext *src1, in fp_submant() argument
120 asm volatile ("sub.b %1,%0" : "=d,g" (dest->lowmant) in fp_submant()
122 asm volatile ("subx.l %1,%0" : "=d" (dest->mant.m32[1]) in fp_submant()
124 asm volatile ("subx.l %1,%0" : "=d" (dest->mant.m32[0]) in fp_submant()
141 #define fp_addx96(dest, src) ({ \ argument
143 asm volatile ("add.l %1,%0" : "=d,g" (dest->m32[2]) \
144 : "g,d" (temp.m32[1]), "0,0" (dest->m32[2])); \
145 asm volatile ("addx.l %1,%0" : "=d" (dest->m32[1]) \
146 : "d" (temp.m32[0]), "0" (dest->m32[1])); \
147 asm volatile ("addx.l %1,%0" : "=d" (dest->m32[0]) \
148 : "d" (0), "0" (dest->m32[0])); \
150 #define fp_sub64(dest, src) ({ \ argument
151 asm ("sub.l %1,%0" : "=d,dm" (dest.m32[1]) \
152 : "dm,d" (src.m32[1]), "0,0" (dest.m32[1])); \
153 asm ("subx.l %1,%0" : "=d" (dest.m32[0]) \
154 : "d" (src.m32[0]), "0" (dest.m32[0])); \
156 #define fp_sub96c(dest, srch, srcm, srcl) ({ \ argument
158 asm ("sub.l %1,%0" : "=d,dm" (dest.m32[2]) \
159 : "dm,d" (srcl), "0,0" (dest.m32[2])); \
160 asm ("subx.l %1,%0" : "=d" (dest.m32[1]) \
161 : "d" (srcm), "0" (dest.m32[1])); \
162 asm ("subx.l %2,%1; scs %0" : "=d" (carry), "=d" (dest.m32[0]) \
163 : "d" (srch), "1" (dest.m32[0])); \
167 static inline void fp_multiplymant(union fp_mant128 *dest, struct fp_ext *src1, in fp_multiplymant() argument
172 fp_mul64(dest->m32[0], dest->m32[1], src1->mant.m32[0], src2->mant.m32[0]); in fp_multiplymant()
173 fp_mul64(dest->m32[2], dest->m32[3], src1->mant.m32[1], src2->mant.m32[1]); in fp_multiplymant()
176 fp_addx96(dest, temp); in fp_multiplymant()
179 fp_addx96(dest, temp); in fp_multiplymant()
182 static inline void fp_dividemant(union fp_mant128 *dest, struct fp_ext *src, in fp_dividemant() argument
187 unsigned long *mantp = dest->m32; in fp_dividemant()
245 static inline void fp_putmant128(struct fp_ext *dest, union fp_mant128 *src, in fp_putmant128() argument
252 dest->mant.m64 = src->m64[0]; in fp_putmant128()
253 dest->lowmant = src->m32[2] >> 24; in fp_putmant128()
255 dest->lowmant |= 1; in fp_putmant128()
261 : "=d" (dest->mant.m32[1]) : "0" (src->m32[1])); in fp_putmant128()
263 : "=d" (dest->mant.m32[0]) : "0" (src->m32[0])); in fp_putmant128()
264 dest->lowmant = tmp >> 24; in fp_putmant128()
266 dest->lowmant |= 1; in fp_putmant128()
270 : "=d" (dest->mant.m32[0]) in fp_putmant128()
273 : "=d" (dest->mant.m32[1]) : "0" (src->m32[2])); in fp_putmant128()
276 dest->lowmant = tmp >> 24; in fp_putmant128()
278 dest->lowmant |= 1; in fp_putmant128()
281 dest->mant.m32[0] = src->m32[1]; in fp_putmant128()
282 dest->mant.m32[1] = src->m32[2]; in fp_putmant128()
283 dest->lowmant = src->m32[3] >> 24; in fp_putmant128()
285 dest->lowmant |= 1; in fp_putmant128()