diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-30 21:37:27 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-30 21:37:27 -0500 |
commit | 8af03e782cae1e0a0f530ddd22301cdd12cf9dc0 (patch) | |
tree | c4af13a38bd3cc1a811a37f2358491f171052070 /arch/powerpc/math-emu/op-4.h | |
parent | 6232665040f9a23fafd9d94d4ae8d5a2dc850f65 (diff) | |
parent | 99e139126ab2e84be67969650f92eb37c12ab5cd (diff) |
Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (454 commits)
[POWERPC] Cell IOMMU fixed mapping support
[POWERPC] Split out the ioid fetching/checking logic
[POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windows
[POWERPC] Split out the IOMMU logic from cell_dma_dev_setup()
[POWERPC] Split cell_iommu_setup_hardware() into two parts
[POWERPC] Split out the logic that allocates struct iommus
[POWERPC] Allocate the hash table under 1G on cell
[POWERPC] Add set_dma_ops() to match get_dma_ops()
[POWERPC] 83xx: Clean up / convert mpc83xx board DTS files to v1 format.
[POWERPC] 85xx: Only invalidate TLB0 and TLB1
[POWERPC] 83xx: Fix typo in mpc837x compatible entries
[POWERPC] 85xx: convert sbc85* boards to use machine_device_initcall
[POWERPC] 83xx: rework platform Kconfig
[POWERPC] 85xx: rework platform Kconfig
[POWERPC] 86xx: Remove unused IRQ defines
[POWERPC] QE: Explicitly set address-cells and size cells for muram
[POWERPC] Convert StorCenter DTS file to /dts-v1/ format.
[POWERPC] 86xx: Convert all 86xx DTS files to /dts-v1/ format.
[PPC] Remove 85xx from arch/ppc
[PPC] Remove 83xx from arch/ppc
...
Diffstat (limited to 'arch/powerpc/math-emu/op-4.h')
-rw-r--r-- | arch/powerpc/math-emu/op-4.h | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/arch/powerpc/math-emu/op-4.h b/arch/powerpc/math-emu/op-4.h index fcdd6d064c54..c9ae626070da 100644 --- a/arch/powerpc/math-emu/op-4.h +++ b/arch/powerpc/math-emu/op-4.h | |||
@@ -194,19 +194,39 @@ | |||
194 | (X##_f[3] = I3, X##_f[2] = I2, X##_f[1] = I1, X##_f[0] = I0) | 194 | (X##_f[3] = I3, X##_f[2] = I2, X##_f[1] = I1, X##_f[0] = I0) |
195 | 195 | ||
196 | #ifndef __FP_FRAC_ADD_4 | 196 | #ifndef __FP_FRAC_ADD_4 |
197 | #define __FP_FRAC_ADD_4(r3,r2,r1,r0,x3,x2,x1,x0,y3,y2,y1,y0) \ | 197 | #define __FP_FRAC_ADD_4(r3,r2,r1,r0,x3,x2,x1,x0,y3,y2,y1,y0) \ |
198 | (r0 = x0 + y0, \ | 198 | do { \ |
199 | r1 = x1 + y1 + (r0 < x0), \ | 199 | int _c1, _c2, _c3; \ |
200 | r2 = x2 + y2 + (r1 < x1), \ | 200 | r0 = x0 + y0; \ |
201 | r3 = x3 + y3 + (r2 < x2)) | 201 | _c1 = r0 < x0; \ |
202 | r1 = x1 + y1; \ | ||
203 | _c2 = r1 < x1; \ | ||
204 | r1 += _c1; \ | ||
205 | _c2 |= r1 < _c1; \ | ||
206 | r2 = x2 + y2; \ | ||
207 | _c3 = r2 < x2; \ | ||
208 | r2 += _c2; \ | ||
209 | _c3 |= r2 < _c2; \ | ||
210 | r3 = x3 + y3 + _c3; \ | ||
211 | } while (0) | ||
202 | #endif | 212 | #endif |
203 | 213 | ||
204 | #ifndef __FP_FRAC_SUB_4 | 214 | #ifndef __FP_FRAC_SUB_4 |
205 | #define __FP_FRAC_SUB_4(r3,r2,r1,r0,x3,x2,x1,x0,y3,y2,y1,y0) \ | 215 | #define __FP_FRAC_SUB_4(r3,r2,r1,r0,x3,x2,x1,x0,y3,y2,y1,y0) \ |
206 | (r0 = x0 - y0, \ | 216 | do { \ |
207 | r1 = x1 - y1 - (r0 > x0), \ | 217 | int _c1, _c2, _c3; \ |
208 | r2 = x2 - y2 - (r1 > x1), \ | 218 | r0 = x0 - y0; \ |
209 | r3 = x3 - y3 - (r2 > x2)) | 219 | _c1 = r0 > x0; \ |
220 | r1 = x1 - y1; \ | ||
221 | _c2 = r1 > x1; \ | ||
222 | r1 -= _c1; \ | ||
223 | _c2 |= r1 > _c1; \ | ||
224 | r2 = x2 - y2; \ | ||
225 | _c3 = r2 > x2; \ | ||
226 | r2 -= _c2; \ | ||
227 | _c3 |= r2 > _c2; \ | ||
228 | r3 = x3 - y3 - _c3; \ | ||
229 | } while (0) | ||
210 | #endif | 230 | #endif |
211 | 231 | ||
212 | #ifndef __FP_FRAC_ADDI_4 | 232 | #ifndef __FP_FRAC_ADDI_4 |