1. Jan 11, 2013
  2. Jan 10, 2013
    • Ben Noordhuis's avatar
      test: run tests in alphabetical order · a6756a2c
      Ben Noordhuis authored
      a6756a2c
    • Dean McNamee's avatar
      typed arrays: implement load and store swizzling · c207d400
      Dean McNamee authored
      Implement load and store swizzling operations. This reduces an unneeded
      back and forth between types and additionally keeps the value in the
      swappable type until it is swapped. This is important for correctness
      when dealing with floating point, to avoid the possibility of loading
      the bits of a signaling NaN (because it isn't yet swapped) into the FPU.
      
      This additionally produces better code (comments are mine):
      
      gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
      
      setValue<double>:
        movd  %xmm0, %rax         ; fp reg -> gen reg
        bswapq  %rax              ; 64-bit byte swap
        movq  %rax, (%r15,%r12)   ; store
      c207d400
    • Dean McNamee's avatar
      typed arrays: swizzle with compiler intrinsics · 46a489be
      Dean McNamee authored
      Implement swizzling with compiler intrinsics and be aware of the native
      endianness to correctly swap on big endian machines.
      
      This introduces a template function to swap the bytes of a value,
      and macros for the low level swap (taking advantage of gcc and msvc
      intrinsics). This produces code like the following (comments are mine):
      
      gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
      
      setValue<double>:
        movd  %xmm0, %rax         ; fp reg -> gen reg
        bswapq  %rax              ; 64-bit byte swap
        movd  %rax, %xmm0         ; gen reg -> fp reg
        movq  %xmm0, (%r15,%r12)  ; store
      46a489be
    • Ben Noordhuis's avatar
      typed arrays: undo local changes · 7d66a9d0
      Ben Noordhuis authored
      Partially revert 5664dd2f, 6573fc35 and 7788a6bf to ease landing changes
      from upstream.
      7d66a9d0
  3. Jan 09, 2013
  4. Jan 08, 2013