Ticket #6535: sse_gcc_2.patch
| File sse_gcc_2.patch, 1.2 KB (added by , 17 years ago) |
|---|
-
libs/libmythsoundtouch/sse_gcc.cpp
13 13 long TDStretchSSE2::calcCrossCorrMulti(const short *mPos, const short *cPos) const 14 14 { 15 15 long corr = 0; 16 int i, out[4]; 16 // Need 16-byte align for int out[4], but gcc bug #16660 prevents use of 17 // attribute(aligned()), so align it ourselves. Fixed in gcc >4.4 r138335 18 int i, x[8]; 19 int *out=(int *)(((uintptr_t)&x+15) & ~(uintptr_t)0xf); 17 20 int count = (overlapLength * channels) - channels; 18 21 long loops = count >> 5; 19 22 long remainder = count - (loops<<5); … … 67 70 long TDStretchSSE2::calcCrossCorrStereo(const short *mPos, const short *cPos) const 68 71 { 69 72 long corr = 0; 70 int i, out[4]; 73 // Need 16-byte align for int out[4], but gcc bug #16660 prevents use of 74 // attribute(aligned()), so align it ourselves. Fixed in gcc >4.4 r138335 75 int i, x[8]; 76 int *out=(int *)(((uintptr_t)&x+15) & ~(uintptr_t)0xf); 71 77 int count = (overlapLength<<1) - 2; 72 78 long loops = count >> 5; 73 79 long remainder = count - (loops<<5);
