| Index: src/core/SkNx.h
 | 
| diff --git a/src/core/SkNx.h b/src/core/SkNx.h
 | 
| index 2bbd495ce50bca907407b87cc6bd315876e03a96..4cb15dffe725efb928a24fb0344c253fe99f064e 100644
 | 
| --- a/src/core/SkNx.h
 | 
| +++ b/src/core/SkNx.h
 | 
| @@ -32,7 +32,8 @@ public:
 | 
|      SkNx() {}
 | 
|      SkNx(const SkNx<N/2, T>& lo, const SkNx<N/2, T>& hi) : fLo(lo), fHi(hi) {}
 | 
|      SkNx(T val) : fLo(val), fHi(val) {}
 | 
| -    static SkNx Load(const T vals[N]) {
 | 
| +    static SkNx Load(const void* ptr) {
 | 
| +        auto vals = (const T*)ptr;
 | 
|          return SkNx(SkNx<N/2,T>::Load(vals), SkNx<N/2,T>::Load(vals+N/2));
 | 
|      }
 | 
|  
 | 
| @@ -43,7 +44,8 @@ public:
 | 
|           T i, T j, T k, T l,  T m, T n, T o, T p)
 | 
|          : fLo(a,b,c,d, e,f,g,h), fHi(i,j,k,l, m,n,o,p) { REQUIRE(N==16); }
 | 
|  
 | 
| -    void store(T vals[N]) const {
 | 
| +    void store(void* ptr) const {
 | 
| +        auto vals = (T*)ptr;
 | 
|          fLo.store(vals);
 | 
|          fHi.store(vals+N/2);
 | 
|      }
 | 
| @@ -108,9 +110,15 @@ class SkNx<1,T> {
 | 
|  public:
 | 
|      SkNx() {}
 | 
|      SkNx(T val) : fVal(val) {}
 | 
| -    static SkNx Load(const T vals[1]) { return SkNx(vals[0]); }
 | 
| +    static SkNx Load(const void* ptr) {
 | 
| +        auto vals = (const T*)ptr;
 | 
| +        return SkNx(vals[0]);
 | 
| +    }
 | 
|  
 | 
| -    void store(T vals[1]) const { vals[0] = fVal; }
 | 
| +    void store(void* ptr) const {
 | 
| +        auto vals = (T*) ptr;
 | 
| +        vals[0] = fVal;
 | 
| +    }
 | 
|  
 | 
|      SkNx saturatedAdd(const SkNx& o) const {
 | 
|          SkASSERT((T)(~0) > 0); // TODO: support signed T
 | 
| 
 |