Lines Matching defs:dest
81 static inline int fp_addmant(struct fp_ext *dest, struct fp_ext *src)
86 asm volatile ("add.b %1,%0" : "=d,g" (dest->lowmant)
87 : "g,d" (src->lowmant), "0,0" (dest->lowmant));
88 asm volatile ("addx.l %1,%0" : "=d" (dest->mant.m32[1])
89 : "d" (src->mant.m32[1]), "0" (dest->mant.m32[1]));
90 asm volatile ("addx.l %1,%0" : "=d" (dest->mant.m32[0])
91 : "d" (src->mant.m32[0]), "0" (dest->mant.m32[0]));
114 static inline void fp_submant(struct fp_ext *dest, struct fp_ext *src1,
118 asm volatile ("sub.b %1,%0" : "=d,g" (dest->lowmant)
120 asm volatile ("subx.l %1,%0" : "=d" (dest->mant.m32[1])
122 asm volatile ("subx.l %1,%0" : "=d" (dest->mant.m32[0])
139 #define fp_addx96(dest, src) ({ \
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) ({ \
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) ({ \
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,
170 fp_mul64(dest->m32[0], dest->m32[1], src1->mant.m32[0], src2->mant.m32[0]);
171 fp_mul64(dest->m32[2], dest->m32[3], src1->mant.m32[1], src2->mant.m32[1]);
174 fp_addx96(dest, temp);
177 fp_addx96(dest, temp);
180 static inline void fp_dividemant(union fp_mant128 *dest, struct fp_ext *src,
185 unsigned long *mantp = dest->m32;
189 /* the algorithm below requires dest to be smaller than div,
243 static inline void fp_putmant128(struct fp_ext *dest, union fp_mant128 *src,
250 dest->mant.m64 = src->m64[0];
251 dest->lowmant = src->m32[2] >> 24;
253 dest->lowmant |= 1;
259 : "=d" (dest->mant.m32[1]) : "0" (src->m32[1]));
261 : "=d" (dest->mant.m32[0]) : "0" (src->m32[0]));
262 dest->lowmant = tmp >> 24;
264 dest->lowmant |= 1;
268 : "=d" (dest->mant.m32[0])
271 : "=d" (dest->mant.m32[1]) : "0" (src->m32[2]));
274 dest->lowmant = tmp >> 24;
276 dest->lowmant |= 1;
279 dest->mant.m32[0] = src->m32[1];
280 dest->mant.m32[1] = src->m32[2];
281 dest->lowmant = src->m32[3] >> 24;
283 dest->lowmant |= 1;