Disallow assigning to an RValue.
Change-Id: I539fcaa5b7853ac618f3d27027d3357bc6e620ba
Reviewed-on: https://swiftshader-review.googlesource.com/1960
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Reactor/Nucleus.cpp b/src/Reactor/Nucleus.cpp
index 4305895..094481b 100644
--- a/src/Reactor/Nucleus.cpp
+++ b/src/Reactor/Nucleus.cpp
@@ -3086,9 +3086,9 @@
RValue<Short4> RoundShort4(RValue<Float4> cast)
{
RValue<Int4> v4i32 = x86::cvtps2dq(cast);
- v4i32 = As<Int4>(x86::packssdw(v4i32, v4i32));
+ RValue<Short8> v8i16 = x86::packssdw(v4i32, v4i32);
- return As<Short4>(Int2(v4i32));
+ return As<Short4>(Int2(As<Int4>(v8i16)));
}
RValue<Short4> Max(RValue<Short4> x, RValue<Short4> y)