1. 55e328e Revert r1335 and r1336. It was a valiant effort, but on Windows, xmm8-xmm15 are non-volatile, and the overhead of pushing them onto the stack at the beginning of each function and popping them at the end was causing worse performance (in the neighborhood of 3-5%) than just using the work areas and limiting the register usage to xmm0-xmm7. Best to leave the SSE2 code alone. We can optimize the register usage for AVX2, once that port takes place. by DRC · 10 years ago
  2. 8a74848 Oops. The Windows version of collect_args/uncollect_args uses rsp, so we still need the rsp prologue/epilogue, despite the fact that we aren't using the stack as a work area. This fixes a segfault on Windows caused by r1335. by DRC · 10 years ago
  3. a8ab342 Attempt to improve performance by refactoring the compression-side color conversion and DCT algorithms so that they take full advantage of the additional registers available with 64-bit SSE2. This produces a somewhat yawn-worthy speedup of 2-3%, but at least the code is a lot more readable now. by DRC · 10 years ago
  4. 24e92e9 Using subdirectories unfortunately opened up a can of worms. In order to prevent object name conflicts, it is necessary to use the subdir-objects automake directive, but it simply doesn't work right on some of the versions of automake we still have to support. Another option would be to add a separate Makefile.am file to each subdirectory, but that requires maintaining a completely different set of build rules for each one. Fortunately, however, we're in the 21st century now, so we can use filenames longer than 8.3. by DRC · 10 years ago[Renamed from simd/x86_64-sse2/jfdctfst.asm]
  5. 72130be Re-organize the x86/x86-64 SIMD routines into separate folders by instruction set so we can name each routine similarly to its corresponding C file. This also makes it easier to add support for new instruction sets. by DRC · 10 years ago[Renamed (98%) from simd/jfss2fst-64.asm]
  6. e5eaf37 Convert tabs to spaces in the libjpeg code and the SIMD code (TurboJPEG retains the use of tabs for historical reasons. They were annoying in the libjpeg code primarily because they were not consistently used and because they were used to format as well as indent the code. In the case of TurboJPEG, tabs are used just to indent the code, so even if the editor assumes a different tab width, the code will still be readable.) by DRC · 10 years ago
  7. a644fb0 Use correct filenames in headers by DRC · 15 years ago
  8. 132b5fd Work around alignment issue with OS X linker which was causing problems on Leopard and Snow Leopard by DRC · 15 years ago
  9. 9a6b8dc Make x86_64 SIMD code PIC friendly by Pierre Ossman · 15 years ago
  10. cdc8ac3 64-bit SIMD acceleration by DRC · 15 years ago