Commit 8cda6909 by Nicolas Capens

Implement remaining vector compare operations.

Bug swiftshader:15 Change-Id: I69184dcb70f4a4082a25420a0dade7bc87a8027e Reviewed-on: https://swiftshader-review.googlesource.com/7957Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com>
parent 21afd078
...@@ -2575,12 +2575,12 @@ namespace sw ...@@ -2575,12 +2575,12 @@ namespace sw
// RValue<Byte8> CmpGT(RValue<Byte8> x, RValue<Byte8> y) // RValue<Byte8> CmpGT(RValue<Byte8> x, RValue<Byte8> y)
// { // {
// assert(false && "UNIMPLEMENTED"); return RValue<Byte8>(V(nullptr)); // return RValue<Byte8>(createIntCompare(Ice::InstIcmp::Ugt, x.value, y.value));
// } // }
RValue<Byte8> CmpEQ(RValue<Byte8> x, RValue<Byte8> y) RValue<Byte8> CmpEQ(RValue<Byte8> x, RValue<Byte8> y)
{ {
assert(false && "UNIMPLEMENTED"); return RValue<Byte8>(V(nullptr)); return RValue<Byte8>(Nucleus::createSExt(Nucleus::createICmpEQ(x.value, y.value), Int4::getType()));
} }
Type *Byte8::getType() Type *Byte8::getType()
...@@ -2817,12 +2817,12 @@ namespace sw ...@@ -2817,12 +2817,12 @@ namespace sw
RValue<Byte8> CmpGT(RValue<SByte8> x, RValue<SByte8> y) RValue<Byte8> CmpGT(RValue<SByte8> x, RValue<SByte8> y)
{ {
assert(false && "UNIMPLEMENTED"); return RValue<Byte8>(V(nullptr)); return RValue<Byte8>(createIntCompare(Ice::InstIcmp::Sgt, x.value, y.value));
} }
RValue<Byte8> CmpEQ(RValue<SByte8> x, RValue<SByte8> y) RValue<Byte8> CmpEQ(RValue<SByte8> x, RValue<SByte8> y)
{ {
assert(false && "UNIMPLEMENTED"); return RValue<Byte8>(V(nullptr)); return RValue<Byte8>(Nucleus::createSExt(Nucleus::createICmpEQ(x.value, y.value), Int4::getType()));
} }
Type *SByte8::getType() Type *SByte8::getType()
...@@ -3317,12 +3317,12 @@ namespace sw ...@@ -3317,12 +3317,12 @@ namespace sw
RValue<Short4> CmpGT(RValue<Short4> x, RValue<Short4> y) RValue<Short4> CmpGT(RValue<Short4> x, RValue<Short4> y)
{ {
assert(false && "UNIMPLEMENTED"); return RValue<Short4>(V(nullptr)); return RValue<Short4>(createIntCompare(Ice::InstIcmp::Sgt, x.value, y.value));
} }
RValue<Short4> CmpEQ(RValue<Short4> x, RValue<Short4> y) RValue<Short4> CmpEQ(RValue<Short4> x, RValue<Short4> y)
{ {
assert(false && "UNIMPLEMENTED"); return RValue<Short4>(V(nullptr)); return RValue<Short4>(Nucleus::createSExt(Nucleus::createICmpEQ(x.value, y.value), Int4::getType()));
} }
Type *Short4::getType() Type *Short4::getType()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment