Reactor: Add tests for casts from C to Reactor types

Change-Id: I20e249c56167fc9c37adc02b798cb60781cc757b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27251
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Reactor/Reactor.cpp b/src/Reactor/Reactor.cpp
index 81492db..185184d 100644
--- a/src/Reactor/Reactor.cpp
+++ b/src/Reactor/Reactor.cpp
@@ -114,6 +114,16 @@
 		return RValue<Bool>(Nucleus::createOr(lhs.value, rhs.value));
 	}
 
+	RValue<Bool> operator!=(RValue<Bool> lhs, RValue<Bool> rhs)
+	{
+		return RValue<Bool>(Nucleus::createICmpNE(lhs.value, rhs.value));
+	}
+
+	RValue<Bool> operator==(RValue<Bool> lhs, RValue<Bool> rhs)
+	{
+		return RValue<Bool>(Nucleus::createICmpEQ(lhs.value, rhs.value));
+	}
+
 	Byte::Byte(Argument<Byte> argument)
 	{
 		storeValue(argument.value);
@@ -3589,6 +3599,11 @@
 		storeValue(value);
 	}
 
+	Float::Float(Argument<Float> argument)
+	{
+		storeValue(argument.value);
+	}
+
 	RValue<Float> Float::operator=(RValue<Float> rhs)
 	{
 		storeValue(rhs.value);