Lines Matching refs:Lo

93   Value *vlalignb(IRBuilder<> &Builder, Value *Lo, Value *Hi, Value *Amt) const;
94 Value *vralignb(IRBuilder<> &Builder, Value *Lo, Value *Hi, Value *Amt) const;
127 Value *getElementRange(IRBuilder<> &Builder, Value *Lo, Value *Hi, int Start,
1039 auto HexagonVectorCombine::vlalignb(IRBuilder<> &Builder, Value *Lo, Value *Hi, in vlalignb() argument
1041 assert(Lo->getType() == Hi->getType() && "Argument type mismatch"); in vlalignb()
1047 return getElementRange(Builder, Lo, Hi, VecLen - IntAmt->getSExtValue(), in vlalignb()
1057 {Hi, Lo, Amt}); in vlalignb()
1061 Value *Pair = concat(Builder, {Lo, Hi}); in vlalignb()
1068 return vralignb(Builder, Lo, Hi, Sub); in vlalignb()
1073 auto HexagonVectorCombine::vralignb(IRBuilder<> &Builder, Value *Lo, Value *Hi, in vralignb() argument
1075 assert(Lo->getType() == Hi->getType() && "Argument type mismatch"); in vralignb()
1076 assert(isSectorTy(Lo->getType())); in vralignb()
1078 return Lo; in vralignb()
1079 int VecLen = getSizeOf(Lo); in vralignb()
1081 return getElementRange(Builder, Lo, Hi, IntAmt->getSExtValue(), VecLen); in vralignb()
1083 if (HST.isTypeForHVX(Lo->getType())) { in vralignb()
1088 return createHvxIntrinsic(Builder, V6_valignb, Lo->getType(), in vralignb()
1089 {Hi, Lo, Amt}); in vralignb()
1093 Value *Pair = concat(Builder, {Lo, Hi}); in vralignb()
1096 return Builder.CreateBitCast(Trunc, Lo->getType()); in vralignb()
1100 Value *Lo64 = Builder.CreateBitCast(Lo, Int64Ty); in vralignb()
1105 return Builder.CreateBitCast(Call, Lo->getType()); in vralignb()
1468 auto HexagonVectorCombine::getElementRange(IRBuilder<> &Builder, Value *Lo, in getElementRange() argument
1474 return Builder.CreateShuffleVector(Lo, Hi, SMask); in getElementRange()