Subzero: temp fix Float4 % Float4 (FRem)

Subzero emits incorrect code for FRem operations on vectors. Replace
with an emulated version that calls fmodf on each component for now.

Bug: b/148139679
Change-Id: Ib541370b71b99649f8c73f982fd12cb3cde25e7f
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40450
Presubmit-Ready: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Antonio Maiorano <amaiorano@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Reactor/LLVMReactor.cpp b/src/Reactor/LLVMReactor.cpp
index 99c43de..7cdf460 100644
--- a/src/Reactor/LLVMReactor.cpp
+++ b/src/Reactor/LLVMReactor.cpp
@@ -1632,6 +1632,11 @@
 	return V(jit->builder->CreateFRem(V(lhs), V(rhs)));
 }
 
+RValue<Float4> operator%(RValue<Float4> lhs, RValue<Float4> rhs)
+{
+	return RValue<Float4>(Nucleus::createFRem(lhs.value, rhs.value));
+}
+
 Value *Nucleus::createShl(Value *lhs, Value *rhs)
 {
 	RR_DEBUG_INFO_UPDATE_LOC();