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>
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)
RValue(typename FloatLiteral<T>::type f);\r
RValue(const Reference<T> &rhs);\r
\r
+ RValue<T> &operator=(const RValue<T>&) = delete;\r
+\r
llvm::Value *value; // FIXME: Make private\r
};\r
\r