Home | History | Annotate | Download | only in Reactor

Lines Matching defs:Int4

2676 	Short4::Short4(RValue<Int4> cast)
2716 Value *int4 = Nucleus::createBitCast(shuffle2, Int4::getType());
2717 packed = Nucleus::createSwizzle(int4, 0x88);
2748 Value *int2 = RValue<Int2>(Int2(RValue<Int4>(packed))).value;
2762 Int4 v4i32 = Int4(cast);
2763 v4i32 = As<Int4>(x86::packssdw(v4i32, v4i32));
3092 RValue<Int4> v4i32 = x86::cvtps2dq(cast);
3095 return As<Short4>(Int2(As<Int4>(v8i16)));
3231 UShort4::UShort4(RValue<Int4> cast)
3256 Int4 int4(sat);
3260 *this = Short4(Int4(int4));
3264 *this = As<Short4>(Int2(As<Int4>(x86::packusdw(As<UInt4>(int4), As<UInt4>(int4)))));
3580 RValue<Int4> MulAdd(RValue<Short8> x, RValue<Short8> y)
3585 RValue<Int4> Abs(RValue<Int4> x)
3593 Int4 mask = (x >> 31);
4592 Int2::Int2(RValue<Int4> cast)
5204 Int4::Int4(RValue<Float4> cast)
5208 Value *xyzw = Nucleus::createFPToSI(cast.value, Int4::getType());
5213 Int4::Int4(RValue<Short4> cast)
5218 RValue<Int4> vector = RValue<Int4>(Nucleus::createBitCast(long2, Int4::getType()));
5239 Value *d = Nucleus::createBitCast(c, Int4::getType());
5250 Int4::Int4(RValue<UShort4> cast)
5255 RValue<Int4> vector = RValue<Int4>(Nucleus::createBitCast(long2, Int4::getType()));
5259 storeValue(x86::pmovzxwd(RValue<Int4>(vector)).value);
5276 Value *d = Nucleus::createBitCast(c, Int4::getType());
5281 Int4::Int4()
5286 Int4::Int4(int xyzw)
5291 Int4::Int4(int x, int yzw)
5296 Int4::Int4(int x, int y, int zw)
5301 Int4::Int4(int x, int y, int z, int w)
5306 void Int4::constant(int x, int y, int z, int w)
5319 Int4::Int4(RValue<Int4> rhs)
5326 Int4::Int4(const Int4 &rhs)
5334 Int4::Int4(const Reference<Int4> &rhs)
5342 Int4::Int4(RValue<UInt4> rhs)
5349 Int4::Int4(const UInt4 &rhs)
5357 Int4::Int4(const Reference<UInt4> &rhs)
5365 Int4::Int4(RValue<Int2> lo, RValue<Int2> hi)
5373 Value *int4 = Nucleus::createBitCast(long2, Int4::getType());
5375 storeValue(int4);
5378 RValue<Int4> Int4::operator=(RValue<Int4> rhs) const
5385 RValue<Int4> Int4::operator=(const Int4 &rhs) const
5390 return RValue<Int4>(value);
5393 RValue<Int4> Int4::operator=(const Reference<Int4> &rhs) const
5398 return RValue<Int4>(value);
5401 RValue<Int4> operator+(RValue<Int4> lhs, RValue<Int4> rhs)
5403 return RValue<Int4>(Nucleus::createAdd(lhs.value, rhs.value));
5406 RValue<Int4> operator-(RValue<Int4> lhs, RValue<Int4> rhs)
5408 return RValue<Int4>(Nucleus::createSub(lhs.value, rhs.value));
5411 RValue<Int4> operator*(RValue<Int4> lhs, RValue<Int4> rhs)
5413 return RValue<Int4>(Nucleus::createMul(lhs.value, rhs.value));
5416 RValue<Int4> operator/(RValue<Int4> lhs, RValue<Int4> rhs)
5418 return RValue<Int4>(Nucleus::createSDiv(lhs.value, rhs.value));
5421 RValue<Int4> operator%(RValue<Int4> lhs, RValue<Int4> rhs)
5423 return RValue<Int4>(Nucleus::createSRem(lhs.value, rhs.value));
5426 RValue<Int4> operator&(RValue<Int4> lhs, RValue<Int4> rhs)
5428 return RValue<Int4>(Nucleus::createAnd(lhs.value, rhs.value));
5431 RValue<Int4> operator|(RValue<Int4> lhs, RValue<Int4> rhs)
5433 return RValue<Int4>(Nucleus::createOr(lhs.value, rhs.value));
5436 RValue<Int4> operator^(RValue<Int4> lhs, RValue<Int4> rhs)
5438 return RValue<Int4>(Nucleus::createXor(lhs.value, rhs.value));
5441 RValue<Int4> operator<<(RValue<Int4> lhs, unsigned char rhs)
5446 RValue<Int4> operator>>(RValue<Int4> lhs, unsigned char rhs)
5451 RValue<Int4> operator<<(RValue<Int4> lhs, RValue<Int4> rhs)
5453 return RValue<Int4>(Nucleus::createShl(lhs.value, rhs.value));
5456 RValue<Int4> operator>>(RValue<Int4> lhs, RValue<Int4> rhs)
5458 return RValue<Int4>(Nucleus::createAShr(lhs.value, rhs.value));
5461 RValue<Int4> operator+=(const Int4 &lhs, RValue<Int4> rhs)
5466 RValue<Int4> operator-=(const Int4 &lhs, RValue<Int4> rhs)
5471 RValue<Int4> operator*=(const Int4 &lhs, RValue<Int4> rhs)
5476 // RValue<Int4> operator/=(const Int4 &lhs, RValue<Int4> rhs)
5481 // RValue<Int4> operator%=(const Int4 &lhs, RValue<Int4> rhs)
5486 RValue<Int4> operator&=(const Int4 &lhs, RValue<Int4> rhs)
5491 RValue<Int4> operator|=(const Int4 &lhs, RValue<Int4> rhs)
5496 RValue<Int4> operator^=(const Int4 &lhs, RValue<Int4> rhs)
5501 RValue<Int4> operator<<=(const Int4 &lhs, unsigned char rhs)
5506 RValue<Int4> operator>>=(const Int4 &lhs, unsigned char rhs)
5511 RValue<Int4> operator+(RValue<Int4> val)
5516 RValue<Int4> operator-(RValue<Int4> val)
5518 return RValue<Int4>(Nucleus::createNeg(val.value));
5521 RValue<Int4> operator~(RValue<Int4> val)
5523 return RValue<Int4>(Nucleus::createNot(val.value));
5526 RValue<Int4> CmpEQ(RValue<Int4> x, RValue<Int4> y)
5530 // return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpEQ(x.value, y.value), Int4::getType()));
5531 return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpNE(x.value, y.value), Int4::getType())) ^ Int4(0xFFFFFFFF);
5534 RValue<Int4> CmpLT(RValue<Int4> x, RValue<Int4> y)
5536 return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSLT(x.value, y.value), Int4::getType()));
5539 RValue<Int4> CmpLE(RValue<Int4> x, RValue<Int4> y)
5543 // return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSLE(x.value, y.value), Int4::getType()));
5544 return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSGT(x.value, y.value), Int4::getType())) ^ Int4(0xFFFFFFFF);
5547 RValue<Int4> CmpNEQ(RValue<Int4> x, RValue<Int4> y)
5549 return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpNE(x.value, y.value), Int4::getType()));
5552 RValue<Int4> CmpNLT(RValue<Int4> x, RValue<Int4> y)
5556 // return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSGE(x.value, y.value), Int4::getType()));
5557 return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSLT(x.value, y.value), Int4::getType())) ^ Int4(0xFFFFFFFF);
5560 RValue<Int4> CmpNLE(RValue<Int4> x, RValue<Int4> y)
5562 return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSGT(x.value, y.value), Int4::getType()));
5565 RValue<Int4> Max(RValue<Int4> x, RValue<Int4> y)
5573 RValue<Int4> greater = CmpNLE(x, y);
5578 RValue<Int4> Min(RValue<Int4> x, RValue<Int4> y)
5586 RValue<Int4> less = CmpLT(x, y);
5591 RValue<Int4> RoundInt(RValue<Float4> cast)
5596 RValue<Short8> Pack(RValue<Int4> x, RValue<Int4> y)
5601 RValue<Int> Extract(RValue<Int4> x, int i)
5606 RValue<Int4> Insert(RValue<Int4> x, RValue<Int> element, int i)
5608 return RValue<Int4>(Nucleus::createInsertElement(x.value, element.value, i));
5611 RValue<Int> SignMask(RValue<Int4> x)
5616 RValue<Int4> Swizzle(RValue<Int4> x, unsigned char select)
5618 return RValue<Int4>(Nucleus::createSwizzle(x.value, select));
5621 Type *Int4::getType()
5696 UInt4::UInt4(RValue<Int4> rhs)
5703 UInt4::UInt4(const Int4 &rhs)
5711 UInt4::UInt4(const Reference<Int4> &rhs)
5727 Value *uint4 = Nucleus::createBitCast(long2, Int4::getType());
5797 return As<UInt4>(x86::pslld(As<Int4>(lhs), rhs));
5884 // return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpEQ(x.value, y.value), Int4::getType()));
5885 return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpNE(x.value, y.value), Int4::getType())) ^ UInt4(0xFFFFFFFF);
5890 return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpULT(x.value, y.value), Int4::getType()));
5897 // return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpULE(x.value, y.value), Int4::getType()));
5898 return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpUGT(x.value, y.value), Int4::getType())) ^ UInt4(0xFFFFFFFF);
5903 return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpNE(x.value, y.value), Int4::getType()));
5910 // return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpUGE(x.value, y.value), Int4::getType()));
5911 return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpULT(x.value, y.value), Int4::getType())) ^ UInt4(0xFFFFFFFF);
5916 return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpUGT(x.value, y.value), Int4::getType()));
6238 Value *a = Nucleus::createInsertElement(UndefValue::get(Int4::getType()), x, 0);
6244 e = x86::pmovzxbd(RValue<Int4>(a)).value;
6283 Value *f = Nucleus::createBitCast(e, Int4::getType());
6317 Value *a = Nucleus::createInsertElement(UndefValue::get(Int4::getType()), x, 0);
6323 g = x86::pmovsxbd(RValue<Int4>(a)).value;
6361 Value *f = Nucleus::createBitCast(e, Int4::getType());
6363 g = x86::psrad(RValue<Int4>(f), 24).value;
6376 Int4 c(cast);
6377 storeValue(Nucleus::createSIToFP(RValue<Int4>(c).value, Float4::getType()));
6384 Int4 c(cast);
6385 storeValue(Nucleus::createSIToFP(RValue<Int4>(c).value, Float4::getType()));
6388 Float4::Float4(RValue<Int4> cast)
6604 Value *vector = Nucleus::createBitCast(x.value, Int4::getType());
6718 RValue<Int4> CmpEQ(RValue<Float4> x, RValue<Float4> y)
6720 // return As<Int4>(x86::cmpeqps(x, y));
6721 return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOEQ(x.value, y.value), Int4::getType()));
6724 RValue<Int4> CmpLT(RValue<Float4> x, RValue<Float4> y)
6726 // return As<Int4>(x86::cmpltps(x, y));
6727 return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOLT(x.value, y.value), Int4::getType()));
6730 RValue<Int4> CmpLE(RValue<Float4> x, RValue<Float4> y)
6732 // return As<Int4>(x86::cmpleps(x, y));
6733 return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOLE(x.value, y.value), Int4::getType()));
6736 RValue<Int4> CmpNEQ(RValue<Float4> x, RValue<Float4> y)
6738 // return As<Int4>(x86::cmpneqps(x, y));
6739 return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpONE(x.value, y.value), Int4::getType()));
6742 RValue<Int4> CmpNLT(RValue<Float4> x, RValue<Float4> y)
6744 // return As<Int4>(x86::cmpnltps(x, y));
6745 return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOGE(x.value, y.value), Int4::getType()));
6748 RValue<Int4> CmpNLE(RValue<Float4> x, RValue<Float4> y)
6750 // return As<Int4>(x86::cmpnleps(x, y));
6751 return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOGT(x.value, y.value), Int4::getType()));
6774 return Float4(Int4(x)); // Rounded toward zero
6786 Float4 frc = x - Float4(Int4(x)); // Signed fractional part
6788 return frc + As<Float4>(As<Int4>(CmpNLE(Float4(0.0f), frc)) & As<Int4>(Float4(1, 1, 1, 1)));
6968 RValue<Int4> cvtps2dq(RValue<Float4> val)
6975 return RValue<Int4>(Nucleus::createCall(cvtps2dq, val.value));
6982 return Int4(lo, hi);
7194 RValue<Int4> pabsd(RValue<Int4> x)
7199 return RValue<Int4>(Nucleus::createCall(pabsd, x.value));
7482 RValue<Short8> packssdw(RValue<Int4> x, RValue<Int4> y)
7534 return As<UShort8>(packssdw(As<Int4>(x - UInt4(0x00008000, 0x00008000, 0x00008000, 0x00008000)), As<Int4>(y - UInt4(0x00008000, 0x00008000, 0x00008000, 0x00008000))) + Short8(0x8000u, 0x8000u, 0x8000u, 0x8000u, 0x8000u, 0x8000u, 0x8000u, 0x8000u));
7594 RValue<Int4> pslld(RValue<Int4> x, unsigned char y)
7601 return RValue<Int4>(Nucleus::createCall(pslld, x.value, Nucleus::createConstantInt(y)));
7611 return Int4(lo, hi);
7623 RValue<Int4> psrad(RValue<Int4> x, unsigned char y)
7630 return RValue<Int4>(Nucleus::createCall(psrad, x.value, Nucleus::createConstantInt(y)));
7640 return Int4(lo, hi);
7663 UInt2 lo = As<UInt2>(Int2(As<Int4>(x)));
7664 UInt2 hi = As<UInt2>(Int2(Swizzle(As<Int4>(x), 0xEE)));
7721 RValue<Int4> pmaxsd(RValue<Int4> x, RValue<Int4> y)
7726 return RValue<Int4>(Nucleus::createCall(pmaxsd, x.value, y.value));
7729 RValue<Int4> pminsd(RValue<Int4> x, RValue<Int4> y)
7734 return RValue<Int4>(Nucleus::createCall(pminsd, x.value, y.value));
7793 RValue<Int4> pmaddwd(RValue<Short8> x, RValue<Short8> y)
7798 return RValue<Int4>(Nucleus::createCall(pmaddwd, x.value, y.value));
7829 //RValue<Int2> movdq2q(RValue<Int4> x)
7837 RValue<Int4> pmovzxbd(RValue<Int4> x)
7842 return RValue<Int4>(Nucleus::createCall(pmovzxbd, Nucleus::createBitCast(x.value, Byte16::getType())));
7845 RValue<Int4> pmovsxbd(RValue<Int4> x)
7850 return RValue<Int4>(Nucleus::createCall(pmovsxbd, Nucleus::createBitCast(x.value, SByte16::getType())));
7853 RValue<Int4> pmovzxwd(RValue<Int4> x)
7858 return RValue<Int4>(Nucleus::createCall(pmovzxwd, Nucleus::createBitCast(x.value, UShort8::getType())));
7861 RValue<Int4> pmovsxwd(RValue<Int4> x)
7866 return RValue<Int4>(Nucleus::createCall(pmovsxwd, Nucleus::createBitCast(x.value, Short8::getType())));