Implement missing Short8 assignment operators Bug b/129356087 Change-Id: Iab3325d74e783fd158b49ca8f6512641bf7f89ec Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28008 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Reactor/Reactor.cpp b/src/Reactor/Reactor.cpp index 185184d..559cb4f 100644 --- a/src/Reactor/Reactor.cpp +++ b/src/Reactor/Reactor.cpp
@@ -1960,6 +1960,29 @@ storeValue(packed); } + RValue<Short8> Short8::operator=(RValue<Short8> rhs) + { + storeValue(rhs.value); + + return rhs; + } + + RValue<Short8> Short8::operator=(const Short8 &rhs) + { + Value *value = rhs.loadValue(); + storeValue(value); + + return RValue<Short8>(value); + } + + RValue<Short8> Short8::operator=(const Reference<Short8> &rhs) + { + Value *value = rhs.loadValue(); + storeValue(value); + + return RValue<Short8>(value); + } + RValue<Short8> operator+(RValue<Short8> lhs, RValue<Short8> rhs) { return RValue<Short8>(Nucleus::createAdd(lhs.value, rhs.value));
diff --git a/src/Reactor/Reactor.hpp b/src/Reactor/Reactor.hpp index 9aea089..d13b602 100644 --- a/src/Reactor/Reactor.hpp +++ b/src/Reactor/Reactor.hpp
@@ -900,9 +900,9 @@ Short8(const Reference<Short8> &rhs); Short8(RValue<Short4> lo, RValue<Short4> hi); - // RValue<Short8> operator=(RValue<Short8> rhs); - // RValue<Short8> operator=(const Short8 &rhs); - // RValue<Short8> operator=(const Reference<Short8> &rhs); + RValue<Short8> operator=(RValue<Short8> rhs); + RValue<Short8> operator=(const Short8 &rhs); + RValue<Short8> operator=(const Reference<Short8> &rhs); static Type *getType(); };