• Home
  • Raw
  • Download

Lines Matching refs:Ice

58 	Ice::GlobalContext *context = nullptr;
59 Ice::Cfg *function = nullptr;
60 Ice::CfgNode *basicBlock = nullptr;
61 Ice::CfgLocalAllocatorScope *allocator = nullptr;
66 Ice::ELFFileStreamer *elfFile = nullptr;
67 Ice::Fdstream *out = nullptr;
144 Type_v2i32 = Ice::IceType_v4i32 | EmulatedV2,
145 Type_v4i16 = Ice::IceType_v8i16 | EmulatedV4,
146 Type_v2i16 = Ice::IceType_v8i16 | EmulatedV2,
147 Type_v8i8 = Ice::IceType_v16i8 | EmulatedV8,
148 Type_v4i8 = Ice::IceType_v16i8 | EmulatedV4,
149 Type_v2f32 = Ice::IceType_v4f32 | EmulatedV2,
152 class Value : public Ice::Operand {};
153 class SwitchCases : public Ice::InstSwitch {};
154 class BasicBlock : public Ice::CfgNode {};
156 Ice::Type T(Type *t) in T()
158 …static_assert(static_cast<unsigned int>(Ice::IceType_NUM) < static_cast<unsigned int>(EmulatedBits… in T()
159 return (Ice::Type)(reinterpret_cast<std::intptr_t>(t) & ~EmulatedBits); in T()
162 Type *T(Ice::Type t) in T()
172 Value *V(Ice::Operand *v) in V()
177 BasicBlock *B(Ice::CfgNode *b) in B()
198 return Ice::typeWidthInBytes(T(type)); in typeSize()
445 class ELFMemoryStreamer : public Ice::ELFStreamer, public Routine
530 Ice::ClFlags &Flags = Ice::ClFlags::Flags; in Nucleus()
531 Ice::ClFlags::getParsedClFlags(Flags); in Nucleus()
534 Flags.setTargetArch(Ice::Target_ARM32); in Nucleus()
535 Flags.setTargetInstructionSet(Ice::ARM32InstructionSet_HWDivArm); in Nucleus()
537 Flags.setTargetArch(Ice::Target_MIPS32); in Nucleus()
538 Flags.setTargetInstructionSet(Ice::BaseInstructionSet); in Nucleus()
540 Flags.setTargetArch(sizeof(void*) == 8 ? Ice::Target_X8664 : Ice::Target_X8632); in Nucleus()
541 …Flags.setTargetInstructionSet(CPUID::SSE4_1 ? Ice::X86InstructionSet_SSE4_1 : Ice::X86InstructionS… in Nucleus()
543 Flags.setOutFileType(Ice::FT_Elf); in Nucleus()
544 Flags.setOptLevel(Ice::Opt_2); in Nucleus()
545 Flags.setApplicationBinaryInterface(Ice::ABI_Platform); in Nucleus()
546 Flags.setVerbose(false ? Ice::IceV_Most : Ice::IceV_None); in Nucleus()
555 ::out = new Ice::Fdstream("out.o", errorCode, llvm::sys::fs::F_None); in Nucleus()
556 ::elfFile = new Ice::ELFFileStreamer(*out); in Nucleus()
557 ::context = new Ice::GlobalContext(&cout, &cout, &cerr, elfFile); in Nucleus()
562 ::context = new Ice::GlobalContext(&cout, &cout, &cerr, elfMemory); in Nucleus()
583 if(basicBlock->getInsts().empty() || basicBlock->getInsts().back().getKind() != Ice::Inst::Ret) in acquireRoutine()
588 ::function->setFunctionName(Ice::GlobalString::createWithString(::context, name)); in acquireRoutine()
627 Ice::Type type = T(t); in allocateStackVariable()
628 int typeSize = Ice::typeWidthInBytes(type); in allocateStackVariable()
631 auto bytes = Ice::ConstantInteger32::create(::context, type, totalSize); in allocateStackVariable()
633 auto alloca = Ice::InstAlloca::create(::function, address, bytes, typeSize); in allocateStackVariable()
658 ::function = Ice::Cfg::create(::context, sequenceNumber).release(); in createFunction()
659 ::allocator = new Ice::CfgLocalAllocatorScope(::function); in createFunction()
663 Ice::Variable *arg = ::function->makeVariable(T(type)); in createFunction()
667 Ice::CfgNode *node = ::function->makeNode(); in createFunction()
679 Ice::InstRet *ret = Ice::InstRet::create(::function); in createRetVoid()
685 Ice::InstRet *ret = Ice::InstRet::create(::function, v); in createRet()
691 auto br = Ice::InstBr::create(::function, dest); in createBr()
697 auto br = Ice::InstBr::create(::function, cond, ifTrue, ifFalse); in createCondBr()
701 static bool isCommutative(Ice::InstArithmetic::OpKind op) in isCommutative()
705 case Ice::InstArithmetic::Add: in isCommutative()
706 case Ice::InstArithmetic::Fadd: in isCommutative()
707 case Ice::InstArithmetic::Mul: in isCommutative()
708 case Ice::InstArithmetic::Fmul: in isCommutative()
709 case Ice::InstArithmetic::And: in isCommutative()
710 case Ice::InstArithmetic::Or: in isCommutative()
711 case Ice::InstArithmetic::Xor: in isCommutative()
718 static Value *createArithmetic(Ice::InstArithmetic::OpKind op, Value *lhs, Value *rhs) in createArithmetic()
720 assert(lhs->getType() == rhs->getType() || llvm::isa<Ice::Constant>(rhs)); in createArithmetic()
722 bool swapOperands = llvm::isa<Ice::Constant>(lhs) && isCommutative(op); in createArithmetic()
724 Ice::Variable *result = ::function->makeVariable(lhs->getType()); in createArithmetic()
725Ice::InstArithmetic *arithmetic = Ice::InstArithmetic::create(::function, op, result, swapOperands… in createArithmetic()
733 return createArithmetic(Ice::InstArithmetic::Add, lhs, rhs); in createAdd()
738 return createArithmetic(Ice::InstArithmetic::Sub, lhs, rhs); in createSub()
743 return createArithmetic(Ice::InstArithmetic::Mul, lhs, rhs); in createMul()
748 return createArithmetic(Ice::InstArithmetic::Udiv, lhs, rhs); in createUDiv()
753 return createArithmetic(Ice::InstArithmetic::Sdiv, lhs, rhs); in createSDiv()
758 return createArithmetic(Ice::InstArithmetic::Fadd, lhs, rhs); in createFAdd()
763 return createArithmetic(Ice::InstArithmetic::Fsub, lhs, rhs); in createFSub()
768 return createArithmetic(Ice::InstArithmetic::Fmul, lhs, rhs); in createFMul()
773 return createArithmetic(Ice::InstArithmetic::Fdiv, lhs, rhs); in createFDiv()
778 return createArithmetic(Ice::InstArithmetic::Urem, lhs, rhs); in createURem()
783 return createArithmetic(Ice::InstArithmetic::Srem, lhs, rhs); in createSRem()
788 return createArithmetic(Ice::InstArithmetic::Frem, lhs, rhs); in createFRem()
793 return createArithmetic(Ice::InstArithmetic::Shl, lhs, rhs); in createShl()
798 return createArithmetic(Ice::InstArithmetic::Lshr, lhs, rhs); in createLShr()
803 return createArithmetic(Ice::InstArithmetic::Ashr, lhs, rhs); in createAShr()
808 return createArithmetic(Ice::InstArithmetic::And, lhs, rhs); in createAnd()
813 return createArithmetic(Ice::InstArithmetic::Or, lhs, rhs); in createOr()
818 return createArithmetic(Ice::InstArithmetic::Xor, lhs, rhs); in createXor()
829 Value *negativeZero = Ice::isVectorType(v->getType()) ? in createFNeg()
838 if(Ice::isScalarIntegerType(v->getType())) in createNot()
852 Ice::Variable *result = ::function->makeVariable(T(type)); in createLoad()
866 …auto bitcast = Ice::InstCast::create(::function, Ice::InstCast::Bitcast, result, vector.loadValue(… in createLoad()
879 …auto bitcast = Ice::InstCast::create(::function, Ice::InstCast::Bitcast, result, vector.loadValue(… in createLoad()
886 …nst Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::LoadSubVector, Ice::Intrinsics::S… in createLoad()
887 auto target = ::context->getConstantUndef(Ice::IceType_i32); in createLoad()
888 auto load = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in createLoad()
896 auto load = Ice::InstLoad::create(::function, result, ptr, align); in createLoad()
909 …auto call = Ice::InstCall::create(::function, 2, nullptr, ::context->getConstantInt64(reinterpret_… in createStore()
924 Ice::Variable *vector = ::function->makeVariable(Ice::IceType_v4i32); in createStore()
925 auto bitcast = Ice::InstCast::create(::function, Ice::InstCast::Bitcast, vector, value); in createStore()
936 Ice::Variable *vector = ::function->makeVariable(Ice::IceType_v4i32); in createStore()
937 auto bitcast = Ice::InstCast::create(::function, Ice::InstCast::Bitcast, vector, value); in createStore()
952 …nst Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::StoreSubVector, Ice::Intrinsics::… in createStore()
953 auto target = ::context->getConstantUndef(Ice::IceType_i32); in createStore()
954 auto store = Ice::InstIntrinsicCall::create(::function, 3, nullptr, target, intrinsic); in createStore()
965 auto store = Ice::InstStore::create(::function, value, ptr, align); in createStore()
974 assert(index->getType() == Ice::IceType_i32); in createGEP()
976 if(auto *constant = llvm::dyn_cast<Ice::ConstantInteger32>(index)) in createGEP()
988 if(!Ice::isByteSizedType(T(type))) in createGEP()
997 index = createZExt(index, T(Ice::IceType_i64)); in createGEP()
1001 index = createSExt(index, T(Ice::IceType_i64)); in createGEP()
1013 static Value *createCast(Ice::InstCast::OpKind op, Value *v, Type *destType) in createCast()
1020 Ice::Variable *result = ::function->makeVariable(T(destType)); in createCast()
1021 Ice::InstCast *cast = Ice::InstCast::create(::function, op, result, v); in createCast()
1029 return createCast(Ice::InstCast::Trunc, v, destType); in createTrunc()
1034 return createCast(Ice::InstCast::Zext, v, destType); in createZExt()
1039 return createCast(Ice::InstCast::Sext, v, destType); in createSExt()
1044 return createCast(Ice::InstCast::Fptosi, v, destType); in createFPToSI()
1049 return createCast(Ice::InstCast::Sitofp, v, destType); in createSIToFP()
1054 return createCast(Ice::InstCast::Fptrunc, v, destType); in createFPTrunc()
1059 return createCast(Ice::InstCast::Fpext, v, destType); in createFPExt()
1069 if(!Ice::isVectorType(v->getType()) && Ice::isVectorType(T(destType))) in createBitCast()
1075 else if(Ice::isVectorType(v->getType()) && !Ice::isVectorType(T(destType))) in createBitCast()
1083 return createCast(Ice::InstCast::Bitcast, v, destType); in createBitCast()
1086 static Value *createIntCompare(Ice::InstIcmp::ICond condition, Value *lhs, Value *rhs) in createIntCompare()
1090 …auto result = ::function->makeVariable(Ice::isScalarIntegerType(lhs->getType()) ? Ice::IceType_i1 … in createIntCompare()
1091 auto cmp = Ice::InstIcmp::create(::function, condition, result, lhs, rhs); in createIntCompare()
1099 return createIntCompare(Ice::InstIcmp::Eq, lhs, rhs); in createICmpEQ()
1104 return createIntCompare(Ice::InstIcmp::Ne, lhs, rhs); in createICmpNE()
1109 return createIntCompare(Ice::InstIcmp::Ugt, lhs, rhs); in createICmpUGT()
1114 return createIntCompare(Ice::InstIcmp::Uge, lhs, rhs); in createICmpUGE()
1119 return createIntCompare(Ice::InstIcmp::Ult, lhs, rhs); in createICmpULT()
1124 return createIntCompare(Ice::InstIcmp::Ule, lhs, rhs); in createICmpULE()
1129 return createIntCompare(Ice::InstIcmp::Sgt, lhs, rhs); in createICmpSGT()
1134 return createIntCompare(Ice::InstIcmp::Sge, lhs, rhs); in createICmpSGE()
1139 return createIntCompare(Ice::InstIcmp::Slt, lhs, rhs); in createICmpSLT()
1144 return createIntCompare(Ice::InstIcmp::Sle, lhs, rhs); in createICmpSLE()
1147 static Value *createFloatCompare(Ice::InstFcmp::FCond condition, Value *lhs, Value *rhs) in createFloatCompare()
1150 assert(Ice::isScalarFloatingType(lhs->getType()) || lhs->getType() == Ice::IceType_v4f32); in createFloatCompare()
1152 …auto result = ::function->makeVariable(Ice::isScalarFloatingType(lhs->getType()) ? Ice::IceType_i1… in createFloatCompare()
1153 auto cmp = Ice::InstFcmp::create(::function, condition, result, lhs, rhs); in createFloatCompare()
1161 return createFloatCompare(Ice::InstFcmp::Oeq, lhs, rhs); in createFCmpOEQ()
1166 return createFloatCompare(Ice::InstFcmp::Ogt, lhs, rhs); in createFCmpOGT()
1171 return createFloatCompare(Ice::InstFcmp::Oge, lhs, rhs); in createFCmpOGE()
1176 return createFloatCompare(Ice::InstFcmp::Olt, lhs, rhs); in createFCmpOLT()
1181 return createFloatCompare(Ice::InstFcmp::Ole, lhs, rhs); in createFCmpOLE()
1186 return createFloatCompare(Ice::InstFcmp::One, lhs, rhs); in createFCmpONE()
1191 return createFloatCompare(Ice::InstFcmp::Ord, lhs, rhs); in createFCmpORD()
1196 return createFloatCompare(Ice::InstFcmp::Uno, lhs, rhs); in createFCmpUNO()
1201 return createFloatCompare(Ice::InstFcmp::Ueq, lhs, rhs); in createFCmpUEQ()
1206 return createFloatCompare(Ice::InstFcmp::Ugt, lhs, rhs); in createFCmpUGT()
1211 return createFloatCompare(Ice::InstFcmp::Uge, lhs, rhs); in createFCmpUGE()
1216 return createFloatCompare(Ice::InstFcmp::Ult, lhs, rhs); in createFCmpULT()
1221 return createFloatCompare(Ice::InstFcmp::Ule, lhs, rhs); in createFCmpULE()
1226 return createFloatCompare(Ice::InstFcmp::Une, lhs, rhs); in createFCmpUNE()
1232 …auto extract = Ice::InstExtractElement::create(::function, result, vector, ::context->getConstantI… in createExtractElement()
1241 …auto insert = Ice::InstInsertElement::create(::function, result, vector, element, ::context->getCo… in createInsertElement()
1251 int size = Ice::typeNumElements(V1->getType()); in createShuffleVector()
1253 auto shuffle = Ice::InstShuffleVector::create(::function, result, V1, V2); in createShuffleVector()
1257 shuffle->addIndex(llvm::cast<Ice::ConstantInteger32>(::context->getConstantInt32(select[i]))); in createShuffleVector()
1270 auto *select = Ice::InstSelect::create(::function, result, C, ifTrue, ifFalse); in createSelect()
1278 auto switchInst = Ice::InstSwitch::create(::function, numCases, control, defaultBranch); in createSwitch()
1291 Ice::InstUnreachable *unreachable = Ice::InstUnreachable::create(::function); in createUnreachable()
1317 Value *condition = Nucleus::createConstantVector(mask, T(Ice::IceType_v4i1)); in createMask4()
1327 return T(Ice::IceType_i64); in getPointerType()
1331 return T(Ice::IceType_i32); in getPointerType()
1337 if(Ice::isVectorType(T(Ty))) in createNullValue()
1339 assert(Ice::typeNumElements(T(Ty)) <= 16); in createNullValue()
1396 return createNullValue(T(sizeof(void*) == 8 ? Ice::IceType_i64 : Ice::IceType_i32)); in createNullPointer()
1402 assert(Ice::typeWidthInBytes(T(type)) == vectorSize); in createConstantVector()
1408 Ice::VariableDeclaration::DataInitializer *dataInitializer = nullptr; in createConstantVector()
1412 case Ice::IceType_v4i32: in createConstantVector()
1413 case Ice::IceType_v4i1: in createConstantVector()
1417 …dataInitializer = Ice::VariableDeclaration::DataInitializer::create(globalPool, (const char*)initi… in createConstantVector()
1420 case Ice::IceType_v4f32: in createConstantVector()
1424 …dataInitializer = Ice::VariableDeclaration::DataInitializer::create(globalPool, (const char*)initi… in createConstantVector()
1427 case Ice::IceType_v8i16: in createConstantVector()
1428 case Ice::IceType_v8i1: in createConstantVector()
1432 …dataInitializer = Ice::VariableDeclaration::DataInitializer::create(globalPool, (const char*)initi… in createConstantVector()
1435 case Ice::IceType_v16i8: in createConstantVector()
1436 case Ice::IceType_v16i1: in createConstantVector()
1440 …dataInitializer = Ice::VariableDeclaration::DataInitializer::create(globalPool, (const char*)initi… in createConstantVector()
1447 …dataInitializer = Ice::VariableDeclaration::DataInitializer::create(globalPool, (const char*)initi… in createConstantVector()
1454 …dataInitializer = Ice::VariableDeclaration::DataInitializer::create(globalPool, (const char*)initi… in createConstantVector()
1461 …dataInitializer = Ice::VariableDeclaration::DataInitializer::create(globalPool, (const char*)initi… in createConstantVector()
1468 …dataInitializer = Ice::VariableDeclaration::DataInitializer::create(globalPool, (const char*)initi… in createConstantVector()
1475 …dataInitializer = Ice::VariableDeclaration::DataInitializer::create(globalPool, (const char*)initi… in createConstantVector()
1482 auto name = Ice::GlobalString::createWithoutString(::context); in createConstantVector()
1483 auto *variableDeclaration = Ice::VariableDeclaration::create(globalPool); in createConstantVector()
1492 Ice::Operand *ptr = ::context->getConstantSym(offset, name); in createConstantVector()
1494 Ice::Variable *result = ::function->makeVariable(T(type)); in createConstantVector()
1495 auto load = Ice::InstLoad::create(::function, result, ptr, alignment); in createConstantVector()
1508 return T(Ice::IceType_void); in getType()
1578 return T(Ice::IceType_i1); in getType()
1830 return T(Ice::IceType_i8); in getType()
2070 return T(Ice::IceType_i8); in getType()
2303 return T(Ice::IceType_i16); in getType()
2543 return T(Ice::IceType_i16); in getType()
2761 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v16i8); in AddSat()
2762Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::AddSaturateUnsigned, Ice::Intrinsics… in AddSat()
2763 auto target = ::context->getConstantUndef(Ice::IceType_i32); in AddSat()
2764 auto paddusb = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in AddSat()
2791 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v16i8); in SubSat()
2792Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::SubtractSaturateUnsigned, Ice::Intrin… in SubSat()
2793 auto target = ::context->getConstantUndef(Ice::IceType_i32); in SubSat()
2794 auto psubusw = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in SubSat()
2876 Ice::Variable *result = ::function->makeVariable(Ice::IceType_i32); in SignMask()
2877 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::SignMask, Ice::Intrinsics::Side… in SignMask()
2878 auto target = ::context->getConstantUndef(Ice::IceType_i32); in SignMask()
2879 auto movmsk = Ice::InstIntrinsicCall::create(::function, 1, result, target, intrinsic); in SignMask()
3088 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v16i8); in AddSat()
3089 …t Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::AddSaturateSigned, Ice::Intrinsics:… in AddSat()
3090 auto target = ::context->getConstantUndef(Ice::IceType_i32); in AddSat()
3091 auto paddsb = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in AddSat()
3118 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v16i8); in SubSat()
3119Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::SubtractSaturateSigned, Ice::Intrinsi… in SubSat()
3120 auto target = ::context->getConstantUndef(Ice::IceType_i32); in SubSat()
3121 auto psubsb = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in SubSat()
3152 Ice::Variable *result = ::function->makeVariable(Ice::IceType_i32); in SignMask()
3153 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::SignMask, Ice::Intrinsics::Side… in SignMask()
3154 auto target = ::context->getConstantUndef(Ice::IceType_i32); in SignMask()
3155 auto movmsk = Ice::InstIntrinsicCall::create(::function, 1, result, target, intrinsic); in SignMask()
3165 return RValue<Byte8>(createIntCompare(Ice::InstIcmp::Sgt, x.value, y.value)); in CmpGT()
3220 return T(Ice::IceType_v16i8); in getType()
3225 return T(Ice::IceType_v16i8); in getType()
3518 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v8i1); in Max()
3519 auto cmp = Ice::InstIcmp::create(::function, Ice::InstIcmp::Sle, condition, x.value, y.value); in Max()
3522 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in Max()
3523 auto select = Ice::InstSelect::create(::function, result, condition, y.value, x.value); in Max()
3531 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v8i1); in Min()
3532 auto cmp = Ice::InstIcmp::create(::function, Ice::InstIcmp::Sgt, condition, x.value, y.value); in Min()
3535 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in Min()
3536 auto select = Ice::InstSelect::create(::function, result, condition, y.value, x.value); in Min()
3561 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in AddSat()
3562 …t Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::AddSaturateSigned, Ice::Intrinsics:… in AddSat()
3563 auto target = ::context->getConstantUndef(Ice::IceType_i32); in AddSat()
3564 auto paddsw = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in AddSat()
3587 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in SubSat()
3588Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::SubtractSaturateSigned, Ice::Intrinsi… in SubSat()
3589 auto target = ::context->getConstantUndef(Ice::IceType_i32); in SubSat()
3590 auto psubsw = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in SubSat()
3613 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in MulHigh()
3614 …t Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::MultiplyHighSigned, Ice::Intrinsics… in MulHigh()
3615 auto target = ::context->getConstantUndef(Ice::IceType_i32); in MulHigh()
3616 auto pmulhw = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in MulHigh()
3637 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in MulAdd()
3638 …st Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::MultiplyAddPairs, Ice::Intrinsics:… in MulAdd()
3639 auto target = ::context->getConstantUndef(Ice::IceType_i32); in MulAdd()
3640 auto pmaddwd = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in MulAdd()
3667 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v16i8); in PackSigned()
3668 …st Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::VectorPackSigned, Ice::Intrinsics:… in PackSigned()
3669 auto target = ::context->getConstantUndef(Ice::IceType_i32); in PackSigned()
3670 auto pack = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in PackSigned()
3697 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v16i8); in PackUnsigned()
3698 …t Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::VectorPackUnsigned, Ice::Intrinsics… in PackUnsigned()
3699 auto target = ::context->getConstantUndef(Ice::IceType_i32); in PackUnsigned()
3700 auto pack = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in PackUnsigned()
3752 return RValue<Short4>(createIntCompare(Ice::InstIcmp::Sgt, x.value, y.value)); in CmpGT()
3983 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v8i1); in Max()
3984 auto cmp = Ice::InstIcmp::create(::function, Ice::InstIcmp::Ule, condition, x.value, y.value); in Max()
3987 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in Max()
3988 auto select = Ice::InstSelect::create(::function, result, condition, y.value, x.value); in Max()
3996 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v8i1); in Min()
3997 auto cmp = Ice::InstIcmp::create(::function, Ice::InstIcmp::Ugt, condition, x.value, y.value); in Min()
4000 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in Min()
4001 auto select = Ice::InstSelect::create(::function, result, condition, y.value, x.value); in Min()
4026 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in AddSat()
4027Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::AddSaturateUnsigned, Ice::Intrinsics… in AddSat()
4028 auto target = ::context->getConstantUndef(Ice::IceType_i32); in AddSat()
4029 auto paddusw = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in AddSat()
4052 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in SubSat()
4053Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::SubtractSaturateUnsigned, Ice::Intrin… in SubSat()
4054 auto target = ::context->getConstantUndef(Ice::IceType_i32); in SubSat()
4055 auto psubusw = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in SubSat()
4078 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in MulHigh()
4079Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::MultiplyHighUnsigned, Ice::Intrinsic… in MulHigh()
4080 auto target = ::context->getConstantUndef(Ice::IceType_i32); in MulHigh()
4081 auto pmulhuw = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in MulHigh()
4213 return T(Ice::IceType_v8i16); in getType()
4367 return T(Ice::IceType_v8i16); in getType()
4707 Ice::Variable *result = ::function->makeVariable(Ice::IceType_i32); in RoundInt()
4708 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::Nearbyint, Ice::Intrinsics::Sid… in RoundInt()
4709 auto target = ::context->getConstantUndef(Ice::IceType_i32); in RoundInt()
4710 auto nearbyint = Ice::InstIntrinsicCall::create(::function, 1, result, target, intrinsic); in RoundInt()
4720 return T(Ice::IceType_i32); in getType()
4797 return T(Ice::IceType_i64); in getType()
5123 return T(Ice::IceType_i32); in getType()
5917 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v4i1); in Max()
5918 auto cmp = Ice::InstIcmp::create(::function, Ice::InstIcmp::Sle, condition, x.value, y.value); in Max()
5921 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4i32); in Max()
5922 auto select = Ice::InstSelect::create(::function, result, condition, y.value, x.value); in Max()
5930 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v4i1); in Min()
5931 auto cmp = Ice::InstIcmp::create(::function, Ice::InstIcmp::Sgt, condition, x.value, y.value); in Min()
5934 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4i32); in Min()
5935 auto select = Ice::InstSelect::create(::function, result, condition, y.value, x.value); in Min()
5950 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4i32); in RoundInt()
5951 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::Nearbyint, Ice::Intrinsics::Sid… in RoundInt()
5952 auto target = ::context->getConstantUndef(Ice::IceType_i32); in RoundInt()
5953 auto nearbyint = Ice::InstIntrinsicCall::create(::function, 1, result, target, intrinsic); in RoundInt()
5979 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in PackSigned()
5980 …st Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::VectorPackSigned, Ice::Intrinsics:… in PackSigned()
5981 auto target = ::context->getConstantUndef(Ice::IceType_i32); in PackSigned()
5982 auto pack = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in PackSigned()
6005 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v8i16); in PackUnsigned()
6006 …t Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::VectorPackUnsigned, Ice::Intrinsics… in PackUnsigned()
6007 auto target = ::context->getConstantUndef(Ice::IceType_i32); in PackUnsigned()
6008 auto pack = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in PackUnsigned()
6036 Ice::Variable *result = ::function->makeVariable(Ice::IceType_i32); in SignMask()
6037 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::SignMask, Ice::Intrinsics::Side… in SignMask()
6038 auto target = ::context->getConstantUndef(Ice::IceType_i32); in SignMask()
6039 auto movmsk = Ice::InstIntrinsicCall::create(::function, 1, result, target, intrinsic); in SignMask()
6054 return T(Ice::IceType_v4i32); in getType()
6361 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v4i1); in Max()
6362 auto cmp = Ice::InstIcmp::create(::function, Ice::InstIcmp::Ule, condition, x.value, y.value); in Max()
6365 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4i32); in Max()
6366 auto select = Ice::InstSelect::create(::function, result, condition, y.value, x.value); in Max()
6374 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v4i1); in Min()
6375 auto cmp = Ice::InstIcmp::create(::function, Ice::InstIcmp::Ugt, condition, x.value, y.value); in Min()
6378 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4i32); in Min()
6379 auto select = Ice::InstSelect::create(::function, result, condition, y.value, x.value); in Min()
6387 return T(Ice::IceType_v4i32); in getType()
6420 return T(Ice::IceType_i16); in getType()
6620 Ice::Variable *result = ::function->makeVariable(Ice::IceType_f32); in Sqrt()
6621 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::Sqrt, Ice::Intrinsics::SideEffe… in Sqrt()
6622 auto target = ::context->getConstantUndef(Ice::IceType_i32); in Sqrt()
6623 auto sqrt = Ice::InstIntrinsicCall::create(::function, 1, result, target, intrinsic); in Sqrt()
6657 return T(Ice::IceType_f32); in getType()
6894 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v4i1); in Max()
6895 auto cmp = Ice::InstFcmp::create(::function, Ice::InstFcmp::Ogt, condition, x.value, y.value); in Max()
6898 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4f32); in Max()
6899 auto select = Ice::InstSelect::create(::function, result, condition, x.value, y.value); in Max()
6907 Ice::Variable *condition = ::function->makeVariable(Ice::IceType_v4i1); in Min()
6908 auto cmp = Ice::InstFcmp::create(::function, Ice::InstFcmp::Olt, condition, x.value, y.value); in Min()
6911 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4f32); in Min()
6912 auto select = Ice::InstSelect::create(::function, result, condition, x.value, y.value); in Min()
6942 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4f32); in Sqrt()
6943 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::Sqrt, Ice::Intrinsics::SideEffe… in Sqrt()
6944 auto target = ::context->getConstantUndef(Ice::IceType_i32); in Sqrt()
6945 auto sqrt = Ice::InstIntrinsicCall::create(::function, 1, result, target, intrinsic); in Sqrt()
7011 Ice::Variable *result = ::function->makeVariable(Ice::IceType_i32); in SignMask()
7012 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::SignMask, Ice::Intrinsics::Side… in SignMask()
7013 auto target = ::context->getConstantUndef(Ice::IceType_i32); in SignMask()
7014 auto movmsk = Ice::InstIntrinsicCall::create(::function, 1, result, target, intrinsic); in SignMask()
7071 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4f32); in Round()
7072 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::Round, Ice::Intrinsics::SideEff… in Round()
7073 auto target = ::context->getConstantUndef(Ice::IceType_i32); in Round()
7074 auto round = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in Round()
7091 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4f32); in Trunc()
7092 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::Round, Ice::Intrinsics::SideEff… in Trunc()
7093 auto target = ::context->getConstantUndef(Ice::IceType_i32); in Trunc()
7094 auto round = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in Trunc()
7131 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4f32); in Floor()
7132 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::Round, Ice::Intrinsics::SideEff… in Floor()
7133 auto target = ::context->getConstantUndef(Ice::IceType_i32); in Floor()
7134 auto round = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in Floor()
7151 Ice::Variable *result = ::function->makeVariable(Ice::IceType_v4f32); in Ceil()
7152 …const Ice::Intrinsics::IntrinsicInfo intrinsic = {Ice::Intrinsics::Round, Ice::Intrinsics::SideEff… in Ceil()
7153 auto target = ::context->getConstantUndef(Ice::IceType_i32); in Ceil()
7154 auto round = Ice::InstIntrinsicCall::create(::function, 2, result, target, intrinsic); in Ceil()
7169 return T(Ice::IceType_v4f32); in getType()