OSDN Git Service

Implement missing Short8 assignment operators
authorNicolas Capens <capn@google.com>
Tue, 26 Mar 2019 21:18:57 +0000 (17:18 -0400)
committerNicolas Capens <nicolascapens@google.com>
Mon, 1 Apr 2019 14:46:35 +0000 (14:46 +0000)
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>

src/Reactor/Reactor.cpp
src/Reactor/Reactor.hpp

index 185184d..559cb4f 100644 (file)
@@ -1960,6 +1960,29 @@ namespace rr
                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));
index 9aea089..d13b602 100644 (file)
@@ -900,9 +900,9 @@ namespace rr
                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();
        };