Lines Matching refs:dest

81 static inline int fp_addmant(struct fp_ext *dest, struct fp_ext *src)  in fp_addmant()  argument
86 asm volatile ("add.b %1,%0" : "=d,g" (dest->lowmant) in fp_addmant()
87 : "g,d" (src->lowmant), "0,0" (dest->lowmant)); in fp_addmant()
88 asm volatile ("addx.l %1,%0" : "=d" (dest->mant.m32[1]) in fp_addmant()
89 : "d" (src->mant.m32[1]), "0" (dest->mant.m32[1])); in fp_addmant()
90 asm volatile ("addx.l %1,%0" : "=d" (dest->mant.m32[0]) in fp_addmant()
91 : "d" (src->mant.m32[0]), "0" (dest->mant.m32[0])); in fp_addmant()
114 static inline void fp_submant(struct fp_ext *dest, struct fp_ext *src1, in fp_submant() argument
118 asm volatile ("sub.b %1,%0" : "=d,g" (dest->lowmant) in fp_submant()
120 asm volatile ("subx.l %1,%0" : "=d" (dest->mant.m32[1]) in fp_submant()
122 asm volatile ("subx.l %1,%0" : "=d" (dest->mant.m32[0]) in fp_submant()
139 #define fp_addx96(dest, src) ({ \ argument
141 asm volatile ("add.l %1,%0" : "=d,g" (dest->m32[2]) \
142 : "g,d" (temp.m32[1]), "0,0" (dest->m32[2])); \
143 asm volatile ("addx.l %1,%0" : "=d" (dest->m32[1]) \
144 : "d" (temp.m32[0]), "0" (dest->m32[1])); \
145 asm volatile ("addx.l %1,%0" : "=d" (dest->m32[0]) \
146 : "d" (0), "0" (dest->m32[0])); \
148 #define fp_sub64(dest, src) ({ \ argument
149 asm ("sub.l %1,%0" : "=d,dm" (dest.m32[1]) \
150 : "dm,d" (src.m32[1]), "0,0" (dest.m32[1])); \
151 asm ("subx.l %1,%0" : "=d" (dest.m32[0]) \
152 : "d" (src.m32[0]), "0" (dest.m32[0])); \
154 #define fp_sub96c(dest, srch, srcm, srcl) ({ \ argument
156 asm ("sub.l %1,%0" : "=d,dm" (dest.m32[2]) \
157 : "dm,d" (srcl), "0,0" (dest.m32[2])); \
158 asm ("subx.l %1,%0" : "=d" (dest.m32[1]) \
159 : "d" (srcm), "0" (dest.m32[1])); \
160 asm ("subx.l %2,%1; scs %0" : "=d" (carry), "=d" (dest.m32[0]) \
161 : "d" (srch), "1" (dest.m32[0])); \
165 static inline void fp_multiplymant(union fp_mant128 *dest, struct fp_ext *src1, in fp_multiplymant() argument
170 fp_mul64(dest->m32[0], dest->m32[1], src1->mant.m32[0], src2->mant.m32[0]); in fp_multiplymant()
171 fp_mul64(dest->m32[2], dest->m32[3], src1->mant.m32[1], src2->mant.m32[1]); in fp_multiplymant()
174 fp_addx96(dest, temp); in fp_multiplymant()
177 fp_addx96(dest, temp); in fp_multiplymant()
180 static inline void fp_dividemant(union fp_mant128 *dest, struct fp_ext *src, in fp_dividemant() argument
185 unsigned long *mantp = dest->m32; in fp_dividemant()
243 static inline void fp_putmant128(struct fp_ext *dest, union fp_mant128 *src, in fp_putmant128() argument
250 dest->mant.m64 = src->m64[0]; in fp_putmant128()
251 dest->lowmant = src->m32[2] >> 24; in fp_putmant128()
253 dest->lowmant |= 1; in fp_putmant128()
259 : "=d" (dest->mant.m32[1]) : "0" (src->m32[1])); in fp_putmant128()
261 : "=d" (dest->mant.m32[0]) : "0" (src->m32[0])); in fp_putmant128()
262 dest->lowmant = tmp >> 24; in fp_putmant128()
264 dest->lowmant |= 1; in fp_putmant128()
268 : "=d" (dest->mant.m32[0]) in fp_putmant128()
271 : "=d" (dest->mant.m32[1]) : "0" (src->m32[2])); in fp_putmant128()
274 dest->lowmant = tmp >> 24; in fp_putmant128()
276 dest->lowmant |= 1; in fp_putmant128()
279 dest->mant.m32[0] = src->m32[1]; in fp_putmant128()
280 dest->mant.m32[1] = src->m32[2]; in fp_putmant128()
281 dest->lowmant = src->m32[3] >> 24; in fp_putmant128()
283 dest->lowmant |= 1; in fp_putmant128()