packages feed

llvm-extra 0.8.2 → 0.8.3

raw patch · 2 files changed

+14/−4 lines, 2 files

Files

llvm-extra.cabal view
@@ -1,5 +1,5 @@ Name:           llvm-extra-Version:        0.8.2+Version:        0.8.3 License:        BSD3 License-File:   LICENSE Author:         Henning Thielemann <haskell@henning-thielemann.de>@@ -76,7 +76,7 @@   default:     True  Source-Repository this-  Tag:         0.8.2+  Tag:         0.8.3   Type:        darcs   Location:    http://code.haskell.org/~thielema/llvm-extra/ 
src/Array.hs view
@@ -111,6 +111,16 @@     A.mul (valueOf 0.25) =<< add s0 s1 -} +mixScalar :: Value (Vector D4 Float) -> CodeGenFunction r (Value Float)+mixScalar y = do+    y0 <- extractelement y (valueOf 0)+    y1 <- extractelement y (valueOf 1)+    y2 <- extractelement y (valueOf 2)+    y3 <- extractelement y (valueOf 3)+    s0 <- A.add y0 y1+    s1 <- A.add y2 y3+    A.mul (valueOf 0.25) =<< A.add s0 s1+ {- Here we do use consistently Vectors of size 4. Since we declare the upper floats as undefined@@ -133,8 +143,8 @@ -} mixHorizontal :: Value (Vector D4 Float) -> CodeGenFunction r (Value Float) mixHorizontal y = do-    z <- Ext.runUnsafe X86.haddps (value undef) y-    s <- Ext.runUnsafe X86.haddps (value undef) z+    z <- Ext.runUnsafe X86.haddps y (value undef)+    s <- Ext.runUnsafe X86.haddps z (value undef)     A.mul (valueOf 0.25) =<< extractelement s (valueOf 0)  {-