Commit 22008786 by Nicolas Capens

Remove the Long2 type.

Bug swiftshader:6 Change-Id: Idb083bd1aecedb529f4e15deda3a1cfcf95a5bfa Reviewed-on: https://swiftshader-review.googlesource.com/7753Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com> Reviewed-on: https://swiftshader-review.googlesource.com/8133Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
parent 43dc629d
...@@ -2654,7 +2654,7 @@ namespace sw ...@@ -2654,7 +2654,7 @@ namespace sw
} }
#if 0 // FIXME: No optimal instruction selection #if 0 // FIXME: No optimal instruction selection
Value *qword2 = Nucleus::createBitCast(packed, Long2::getType()); Value *qword2 = Nucleus::createBitCast(packed, T(VectorType::get(Long::getType(), 2)));
Value *element = Nucleus::createExtractElement(qword2, 0); Value *element = Nucleus::createExtractElement(qword2, 0);
Value *short4 = Nucleus::createBitCast(element, Short4::getType()); Value *short4 = Nucleus::createBitCast(element, Short4::getType());
#else // FIXME: Requires SSE #else // FIXME: Requires SSE
...@@ -3478,7 +3478,7 @@ namespace sw ...@@ -3478,7 +3478,7 @@ namespace sw
Value *loLong = Nucleus::createBitCast(lo.value, Long::getType()); Value *loLong = Nucleus::createBitCast(lo.value, Long::getType());
Value *hiLong = Nucleus::createBitCast(hi.value, Long::getType()); Value *hiLong = Nucleus::createBitCast(hi.value, Long::getType());
Value *long2 = V(UndefValue::get(Long2::getType())); Value *long2 = V(UndefValue::get(VectorType::get(Long::getType(), 2)));
long2 = Nucleus::createInsertElement(long2, loLong, 0); long2 = Nucleus::createInsertElement(long2, loLong, 0);
long2 = Nucleus::createInsertElement(long2, hiLong, 1); long2 = Nucleus::createInsertElement(long2, hiLong, 1);
Value *short8 = Nucleus::createBitCast(long2, Short8::getType()); Value *short8 = Nucleus::createBitCast(long2, Short8::getType());
...@@ -3556,7 +3556,7 @@ namespace sw ...@@ -3556,7 +3556,7 @@ namespace sw
Value *loLong = Nucleus::createBitCast(lo.value, Long::getType()); Value *loLong = Nucleus::createBitCast(lo.value, Long::getType());
Value *hiLong = Nucleus::createBitCast(hi.value, Long::getType()); Value *hiLong = Nucleus::createBitCast(hi.value, Long::getType());
Value *long2 = V(UndefValue::get(Long2::getType())); Value *long2 = V(UndefValue::get(VectorType::get(Long::getType(), 2)));
long2 = Nucleus::createInsertElement(long2, loLong, 0); long2 = Nucleus::createInsertElement(long2, loLong, 0);
long2 = Nucleus::createInsertElement(long2, hiLong, 1); long2 = Nucleus::createInsertElement(long2, hiLong, 1);
Value *short8 = Nucleus::createBitCast(long2, Short8::getType()); Value *short8 = Nucleus::createBitCast(long2, Short8::getType());
...@@ -4121,19 +4121,6 @@ namespace sw ...@@ -4121,19 +4121,6 @@ namespace sw
} }
} }
RValue<Long2> UnpackHigh(RValue<Long2> x, RValue<Long2> y)
{
int shuffle[2] = {1, 3};
Value *packed = Nucleus::createShuffleVector(x.value, y.value, shuffle);
return RValue<Long2>(packed);
}
Type *Long2::getType()
{
return T(VectorType::get(Long::getType(), 2));
}
UInt::UInt(Argument<UInt> argument) UInt::UInt(Argument<UInt> argument)
{ {
storeValue(argument.value); storeValue(argument.value);
...@@ -4492,7 +4479,7 @@ namespace sw ...@@ -4492,7 +4479,7 @@ namespace sw
Int2::Int2(RValue<Int4> cast) Int2::Int2(RValue<Int4> cast)
{ {
Value *long2 = Nucleus::createBitCast(cast.value, Long2::getType()); Value *long2 = Nucleus::createBitCast(cast.value, T(VectorType::get(Long::getType(), 2)));
Value *element = Nucleus::createExtractElement(long2, Long::getType(), 0); Value *element = Nucleus::createExtractElement(long2, Long::getType(), 0);
Value *int2 = Nucleus::createBitCast(element, Int2::getType()); Value *int2 = Nucleus::createBitCast(element, Int2::getType());
...@@ -5155,7 +5142,7 @@ namespace sw ...@@ -5155,7 +5142,7 @@ namespace sw
Int4::Int4(RValue<Short4> cast) Int4::Int4(RValue<Short4> cast)
{ {
Value *long2 = V(UndefValue::get(Long2::getType())); Value *long2 = V(UndefValue::get(VectorType::get(Long::getType(), 2)));
Value *element = Nucleus::createBitCast(cast.value, Long::getType()); Value *element = Nucleus::createBitCast(cast.value, Long::getType());
long2 = Nucleus::createInsertElement(long2, element, 0); long2 = Nucleus::createInsertElement(long2, element, 0);
RValue<Int4> vector = RValue<Int4>(Nucleus::createBitCast(long2, Int4::getType())); RValue<Int4> vector = RValue<Int4>(Nucleus::createBitCast(long2, Int4::getType()));
...@@ -5183,7 +5170,7 @@ namespace sw ...@@ -5183,7 +5170,7 @@ namespace sw
Int4::Int4(RValue<UShort4> cast) Int4::Int4(RValue<UShort4> cast)
{ {
Value *long2 = V(UndefValue::get(Long2::getType())); Value *long2 = V(UndefValue::get(VectorType::get(Long::getType(), 2)));
Value *element = Nucleus::createBitCast(cast.value, Long::getType()); Value *element = Nucleus::createBitCast(cast.value, Long::getType());
long2 = Nucleus::createInsertElement(long2, element, 0); long2 = Nucleus::createInsertElement(long2, element, 0);
RValue<Int4> vector = RValue<Int4>(Nucleus::createBitCast(long2, Int4::getType())); RValue<Int4> vector = RValue<Int4>(Nucleus::createBitCast(long2, Int4::getType()));
...@@ -5289,7 +5276,7 @@ namespace sw ...@@ -5289,7 +5276,7 @@ namespace sw
Value *loLong = Nucleus::createBitCast(lo.value, Long::getType()); Value *loLong = Nucleus::createBitCast(lo.value, Long::getType());
Value *hiLong = Nucleus::createBitCast(hi.value, Long::getType()); Value *hiLong = Nucleus::createBitCast(hi.value, Long::getType());
Value *long2 = V(UndefValue::get(Long2::getType())); Value *long2 = V(UndefValue::get(VectorType::get(Long::getType(), 2)));
long2 = Nucleus::createInsertElement(long2, loLong, 0); long2 = Nucleus::createInsertElement(long2, loLong, 0);
long2 = Nucleus::createInsertElement(long2, hiLong, 1); long2 = Nucleus::createInsertElement(long2, hiLong, 1);
Value *int4 = Nucleus::createBitCast(long2, Int4::getType()); Value *int4 = Nucleus::createBitCast(long2, Int4::getType());
...@@ -5677,7 +5664,7 @@ namespace sw ...@@ -5677,7 +5664,7 @@ namespace sw
Value *loLong = Nucleus::createBitCast(lo.value, Long::getType()); Value *loLong = Nucleus::createBitCast(lo.value, Long::getType());
Value *hiLong = Nucleus::createBitCast(hi.value, Long::getType()); Value *hiLong = Nucleus::createBitCast(hi.value, Long::getType());
Value *long2 = V(UndefValue::get(Long2::getType())); Value *long2 = V(UndefValue::get(VectorType::get(Long::getType(), 2)));
long2 = Nucleus::createInsertElement(long2, loLong, 0); long2 = Nucleus::createInsertElement(long2, loLong, 0);
long2 = Nucleus::createInsertElement(long2, hiLong, 1); long2 = Nucleus::createInsertElement(long2, hiLong, 1);
Value *uint4 = Nucleus::createBitCast(long2, Int4::getType()); Value *uint4 = Nucleus::createBitCast(long2, Int4::getType());
...@@ -6153,7 +6140,7 @@ namespace sw ...@@ -6153,7 +6140,7 @@ namespace sw
{ {
// xyzw.parent = this; // xyzw.parent = this;
Value *int64x2 = Nucleus::createBitCast(cast.value, Long2::getType()); Value *int64x2 = Nucleus::createBitCast(cast.value, T(VectorType::get(Long::getType(), 2)));
Value *int64 = Nucleus::createExtractElement(int64x2, Long::getType(), 0); Value *int64 = Nucleus::createExtractElement(int64x2, Long::getType(), 0);
Value *float2 = Nucleus::createBitCast(int64, Float2::getType()); Value *float2 = Nucleus::createBitCast(int64, Float2::getType());
...@@ -7577,7 +7564,7 @@ namespace sw ...@@ -7577,7 +7564,7 @@ namespace sw
//RValue<Int2> movdq2q(RValue<Int4> x) //RValue<Int2> movdq2q(RValue<Int4> x)
//{ //{
// Value *long2 = Nucleus::createBitCast(x.value, Long2::getType()); // Value *long2 = Nucleus::createBitCast(x.value, T(VectorType::get(Long::getType(), 2)));
// Value *element = Nucleus::createExtractElement(long2, ConstantInt::get(Int::getType(), 0)); // Value *element = Nucleus::createExtractElement(long2, ConstantInt::get(Int::getType(), 0));
// return RValue<Int2>(Nucleus::createBitCast(element, Int2::getType())); // return RValue<Int2>(Nucleus::createBitCast(element, Int2::getType()));
......
...@@ -48,7 +48,6 @@ namespace sw ...@@ -48,7 +48,6 @@ namespace sw
class UInt4; class UInt4;
class Long; class Long;
class Long1; class Long1;
class Long2;
class Float; class Float;
class Float2; class Float2;
class Float4; class Float4;
...@@ -1193,69 +1192,6 @@ namespace sw ...@@ -1193,69 +1192,6 @@ namespace sw
// RValue<Long1> RoundLong1(RValue<Float> cast); // RValue<Long1> RoundLong1(RValue<Float> cast);
class Long2 : public Variable<Long2>
{
public:
// explicit Long2(RValue<Long> cast);
// explicit Long2(RValue<Long1> cast);
// Long2();
// Long2(int x, int y);
// Long2(RValue<Long2> rhs);
// Long2(const Long2 &rhs);
// Long2(const Reference<Long2> &rhs);
// RValue<Long2> operator=(RValue<Long2> rhs) const;
// RValue<Long2> operator=(const Long2 &rhs) const;
// RValue<Long2> operator=(const Reference<Long2 &rhs) const;
static Type *getType();
};
// RValue<Long2> operator+(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Long2> operator-(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Long2> operator*(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Long2> operator/(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Long2> operator%(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Long2> operator&(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Long2> operator|(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Long2> operator^(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Long2> operator<<(RValue<Long2> lhs, unsigned char rhs);
// RValue<Long2> operator>>(RValue<Long2> lhs, unsigned char rhs);
// RValue<Long2> operator<<(RValue<Long2> lhs, RValue<Long1> rhs);
// RValue<Long2> operator>>(RValue<Long2> lhs, RValue<Long1> rhs);
// RValue<Long2> operator+=(const Long2 &lhs, RValue<Long2> rhs);
// RValue<Long2> operator-=(const Long2 &lhs, RValue<Long2> rhs);
// RValue<Long2> operator*=(const Long2 &lhs, RValue<Long2> rhs);
// RValue<Long2> operator/=(const Long2 &lhs, RValue<Long2> rhs);
// RValue<Long2> operator%=(const Long2 &lhs, RValue<Long2> rhs);
// RValue<Long2> operator&=(const Long2 &lhs, RValue<Long2> rhs);
// RValue<Long2> operator|=(const Long2 &lhs, RValue<Long2> rhs);
// RValue<Long2> operator^=(const Long2 &lhs, RValue<Long2> rhs);
// RValue<Long2> operator<<=(const Long2 &lhs, unsigned char rhs);
// RValue<Long2> operator>>=(const Long2 &lhs, unsigned char rhs);
// RValue<Long2> operator<<=(const Long2 &lhs, RValue<Long1> rhs);
// RValue<Long2> operator>>=(const Long2 &lhs, RValue<Long1> rhs);
// RValue<Long2> operator+(RValue<Long2> val);
// RValue<Long2> operator-(RValue<Long2> val);
// RValue<Long2> operator~(RValue<Long2> val);
// RValue<Long2> operator++(const Long2 &val, int); // Post-increment
// const Long2 &operator++(const Long2 &val); // Pre-increment
// RValue<Long2> operator--(const Long2 &val, int); // Post-decrement
// const Long2 &operator--(const Long2 &val); // Pre-decrement
// RValue<Bool> operator<(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Bool> operator<=(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Bool> operator>(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Bool> operator>=(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Bool> operator!=(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Bool> operator==(RValue<Long2> lhs, RValue<Long2> rhs);
// RValue<Long2> RoundInt(RValue<Float4> cast);
// RValue<Long2> UnpackLow(RValue<Long2> x, RValue<Long2> y);
RValue<Long2> UnpackHigh(RValue<Long2> x, RValue<Long2> y);
// RValue<Int> Extract(RValue<Long2> val, int i);
// RValue<Long2> Insert(RValue<Long2> val, RValue<Int> element, int i);
class UInt : public Variable<UInt> class UInt : public Variable<UInt>
{ {
public: public:
......
...@@ -4031,16 +4031,6 @@ namespace sw ...@@ -4031,16 +4031,6 @@ namespace sw
assert(false && "UNIMPLEMENTED"); return nullptr; assert(false && "UNIMPLEMENTED"); return nullptr;
} }
RValue<Long2> UnpackHigh(RValue<Long2> x, RValue<Long2> y)
{
assert(false && "UNIMPLEMENTED"); return RValue<Long2>(V(nullptr));
}
Type *Long2::getType()
{
assert(false && "UNIMPLEMENTED"); return nullptr;
}
UInt::UInt(Argument<UInt> argument) UInt::UInt(Argument<UInt> argument)
{ {
storeValue(argument.value); storeValue(argument.value);
...@@ -4370,11 +4360,7 @@ namespace sw ...@@ -4370,11 +4360,7 @@ namespace sw
Int2::Int2(RValue<Int4> cast) Int2::Int2(RValue<Int4> cast)
{ {
Value *long2 = Nucleus::createBitCast(cast.value, Long2::getType()); storeValue(Nucleus::createBitCast(cast.value, getType()));
Value *element = Nucleus::createExtractElement(long2, Long2::getType(), 0);
Value *int2 = Nucleus::createBitCast(element, Int2::getType());
storeValue(int2);
} }
Int2::Int2() Int2::Int2()
...@@ -5644,13 +5630,7 @@ namespace sw ...@@ -5644,13 +5630,7 @@ namespace sw
Float2::Float2(RValue<Float4> cast) Float2::Float2(RValue<Float4> cast)
{ {
// xyzw.parent = this; storeValue(Nucleus::createBitCast(cast.value, getType()));
Value *int64x2 = Nucleus::createBitCast(cast.value, Long2::getType());
Value *int64 = Nucleus::createExtractElement(int64x2, Long::getType(), 0);
Value *float2 = Nucleus::createBitCast(int64, Float2::getType());
storeValue(float2);
} }
Type *Float2::getType() Type *Float2::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