diff --git a/src/core/Sk4x.h b/src/core/Sk4x.h
index 01ce39f..0b9796d 100644
--- a/src/core/Sk4x.h
+++ b/src/core/Sk4x.h
@@ -25,7 +25,7 @@
 template <typename T> class Sk4x {
 public:
     Sk4x();  // Uninitialized; use Sk4x(0) for zero.
-    /*implicit*/ Sk4x(T);  // Same as Sk4x(T,T,T,T);
+    explicit Sk4x(T);  // Same as Sk4x(T,T,T,T);
     Sk4x(T, T, T, T);
 
     Sk4x(const Sk4x&);
diff --git a/tests/PMFloatTest.cpp b/tests/PMFloatTest.cpp
index 13c0a12..f370b39 100644
--- a/tests/PMFloatTest.cpp
+++ b/tests/PMFloatTest.cpp
@@ -24,7 +24,7 @@
 
     // Test SkPMFloat <-> Sk4f conversion.
     Sk4f fs = clamped;
-    SkPMFloat scaled = fs.multiply(0.25f);
+    SkPMFloat scaled = fs.multiply(Sk4f(0.25f));
     REPORTER_ASSERT(r, SkScalarNearlyEqual(63.75f, scaled.a()));
     REPORTER_ASSERT(r, SkScalarNearlyEqual(38.25f, scaled.r()));
     REPORTER_ASSERT(r, SkScalarNearlyEqual( 0.25f, scaled.g()));
diff --git a/tests/Sk4xTest.cpp b/tests/Sk4xTest.cpp
index a7a3184..1cecd4f 100644
--- a/tests/Sk4xTest.cpp
+++ b/tests/Sk4xTest.cpp
@@ -83,7 +83,7 @@
 }
 
 DEF_TEST(Sk4x_ImplicitPromotion, r) {
-    ASSERT_EQ(Sk4f(2,4,6,8), Sk4f(1,2,3,4).multiply(2.0f));
+    ASSERT_EQ(Sk4f(2,4,6,8), Sk4f(1,2,3,4).multiply(Sk4f(2.0f)));
 }
 
 DEF_TEST(Sk4x_Sqrt, r) {
@@ -91,13 +91,13 @@
            roots(2,  4,  5,  11);
     // .sqrt() should be pretty precise.
     Sk4f error = roots.subtract(squares.sqrt());
-    REPORTER_ASSERT(r, error.greaterThanEqual(0.0f).allTrue());
-    REPORTER_ASSERT(r, error.lessThan(0.000001f).allTrue());
+    REPORTER_ASSERT(r, error.greaterThanEqual(Sk4f(0.0f)).allTrue());
+    REPORTER_ASSERT(r, error.lessThan(Sk4f(0.000001f)).allTrue());
 
     // .rsqrt() isn't so precise (for SSE), but should be pretty close.
     error = roots.subtract(squares.multiply(squares.rsqrt()));
-    REPORTER_ASSERT(r, error.greaterThanEqual(0.0f).allTrue());
-    REPORTER_ASSERT(r, error.lessThan(0.01f).allTrue());
+    REPORTER_ASSERT(r, error.greaterThanEqual(Sk4f(0.0f)).allTrue());
+    REPORTER_ASSERT(r, error.lessThan(Sk4f(0.01f)).allTrue());
 }
 
 DEF_TEST(Sk4x_Comparison, r) {
