diff --git a/llvm-spirv/include/LLVMSPIRVExtensions.inc b/llvm-spirv/include/LLVMSPIRVExtensions.inc index 85b374e411441..8c6e5bc504f42 100644 --- a/llvm-spirv/include/LLVMSPIRVExtensions.inc +++ b/llvm-spirv/include/LLVMSPIRVExtensions.inc @@ -7,6 +7,7 @@ EXT(SPV_EXT_shader_atomic_float_min_max) EXT(SPV_KHR_no_integer_wrap_decoration) EXT(SPV_KHR_float_controls) EXT(SPV_KHR_linkonce_odr) +EXT(SPV_KHR_expect_assume) EXT(SPV_INTEL_subgroups) EXT(SPV_INTEL_media_block_io) EXT(SPV_INTEL_device_side_avc_motion_estimation) diff --git a/llvm-spirv/lib/SPIRV/SPIRVReader.cpp b/llvm-spirv/lib/SPIRV/SPIRVReader.cpp index bb17f3f48464b..ecc91d9652c48 100644 --- a/llvm-spirv/lib/SPIRV/SPIRVReader.cpp +++ b/llvm-spirv/lib/SPIRV/SPIRVReader.cpp @@ -2545,16 +2545,16 @@ Value *SPIRVToLLVM::transValueWithoutDecoration(SPIRVValue *BV, Function *F, return mapValue(BV, Call); } - case internal::OpAssumeTrueINTEL: { + case OpAssumeTrueKHR: { IRBuilder<> Builder(BB); - SPIRVAssumeTrueINTEL *BC = static_cast(BV); + SPIRVAssumeTrueKHR *BC = static_cast(BV); Value *Condition = transValue(BC->getCondition(), F, BB); return mapValue(BV, Builder.CreateAssumption(Condition)); } - case internal::OpExpectINTEL: { + case OpExpectKHR: { IRBuilder<> Builder(BB); - SPIRVExpectINTELInstBase *BC = static_cast(BV); + SPIRVExpectKHRInstBase *BC = static_cast(BV); Type *RetTy = transType(BC->getType()); Value *Val = transValue(BC->getOperand(0), F, BB); Value *ExpVal = transValue(BC->getOperand(1), F, BB); diff --git a/llvm-spirv/lib/SPIRV/SPIRVWriter.cpp b/llvm-spirv/lib/SPIRV/SPIRVWriter.cpp index 48d5f18c27c49..c94c3ceeb073b 100644 --- a/llvm-spirv/lib/SPIRV/SPIRVWriter.cpp +++ b/llvm-spirv/lib/SPIRV/SPIRVWriter.cpp @@ -2520,12 +2520,11 @@ SPIRVValue *LLVMToSPIRVBase::transIntrinsicInst(IntrinsicInst *II, switch (II->getIntrinsicID()) { case Intrinsic::assume: { // llvm.assume translation is currently supported only within - // SPV_INTEL_optimization_hints extension, ignore it otherwise, since it's + // SPV_KHR_expect_assume extension, ignore it otherwise, since it's // an optimization hint - if (BM->isAllowedToUseExtension( - ExtensionID::SPV_INTEL_optimization_hints)) { + if (BM->isAllowedToUseExtension(ExtensionID::SPV_KHR_expect_assume)) { SPIRVValue *Condition = transValue(II->getArgOperand(0), BB); - return BM->addAssumeTrueINTELInst(Condition, BB); + return BM->addAssumeTrueKHRInst(Condition, BB); } return nullptr; } @@ -2636,14 +2635,13 @@ SPIRVValue *LLVMToSPIRVBase::transIntrinsicInst(IntrinsicInst *II, } case Intrinsic::expect: { // llvm.expect translation is currently supported only within - // SPV_INTEL_optimization_hints extension, replace it with a translated - // value of #0 operand otherwise, since it's an optimization hint + // SPV_KHR_expect_assume extension, replace it with a translated value of #0 + // operand otherwise, since it's an optimization hint SPIRVValue *Value = transValue(II->getArgOperand(0), BB); - if (BM->isAllowedToUseExtension( - ExtensionID::SPV_INTEL_optimization_hints)) { + if (BM->isAllowedToUseExtension(ExtensionID::SPV_KHR_expect_assume)) { SPIRVType *Ty = transType(II->getType()); SPIRVValue *ExpectedValue = transValue(II->getArgOperand(1), BB); - return BM->addExpectINTELInst(Ty, Value, ExpectedValue, BB); + return BM->addExpectKHRInst(Ty, Value, ExpectedValue, BB); } return Value; } diff --git a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVInstruction.h b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVInstruction.h index d84409261adf2..282fb9b69064c 100644 --- a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVInstruction.h +++ b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVInstruction.h @@ -2817,12 +2817,12 @@ _SPIRV_OP(GenericPtrMemSemantics, true, 4, false) _SPIRV_OP(GenericCastToPtrExplicit, true, 5, false, 1) #undef _SPIRV_OP -class SPIRVAssumeTrueINTEL : public SPIRVInstruction { +class SPIRVAssumeTrueKHR : public SPIRVInstruction { public: - static const Op OC = internal::OpAssumeTrueINTEL; + static const Op OC = OpAssumeTrueKHR; static const SPIRVWord FixedWordCount = 2; - SPIRVAssumeTrueINTEL(SPIRVId TheCondition, SPIRVBasicBlock *BB) + SPIRVAssumeTrueKHR(SPIRVId TheCondition, SPIRVBasicBlock *BB) : SPIRVInstruction(FixedWordCount, OC, BB), ConditionId(TheCondition) { validate(); setHasNoId(); @@ -2830,17 +2830,17 @@ class SPIRVAssumeTrueINTEL : public SPIRVInstruction { assert(BB && "Invalid BB"); } - SPIRVAssumeTrueINTEL() : SPIRVInstruction(OC), ConditionId(SPIRVID_MAX) { + SPIRVAssumeTrueKHR() : SPIRVInstruction(OC), ConditionId(SPIRVID_MAX) { setHasNoId(); setHasNoType(); } SPIRVCapVec getRequiredCapability() const override { - return getVec(internal::CapabilityOptimizationHintsINTEL); + return getVec(CapabilityExpectAssumeKHR); } llvm::Optional getRequiredExtension() const override { - return ExtensionID::SPV_INTEL_optimization_hints; + return ExtensionID::SPV_KHR_expect_assume; } SPIRVValue *getCondition() const { return getValue(ConditionId); } @@ -2854,23 +2854,22 @@ class SPIRVAssumeTrueINTEL : public SPIRVInstruction { SPIRVId ConditionId; }; -class SPIRVExpectINTELInstBase : public SPIRVInstTemplateBase { +class SPIRVExpectKHRInstBase : public SPIRVInstTemplateBase { protected: SPIRVCapVec getRequiredCapability() const override { - return getVec(internal::CapabilityOptimizationHintsINTEL); + return getVec(CapabilityExpectAssumeKHR); } llvm::Optional getRequiredExtension() const override { - return ExtensionID::SPV_INTEL_optimization_hints; + return ExtensionID::SPV_KHR_expect_assume; } }; -#define _SPIRV_OP_INTERNAL(x, ...) \ - typedef SPIRVInstTemplate \ +#define _SPIRV_OP(x, ...) \ + typedef SPIRVInstTemplate \ SPIRV##x; -_SPIRV_OP_INTERNAL(ExpectINTEL, true, 5) -#undef _SPIRV_OP_INTERNAL +_SPIRV_OP(ExpectKHR, true, 5) +#undef _SPIRV_OP class SPIRVSubgroupShuffleINTELInstBase : public SPIRVInstTemplateBase { protected: diff --git a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.cpp b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.cpp index 20c1751ac8e02..77da7b10d44e8 100644 --- a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.cpp +++ b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.cpp @@ -436,11 +436,6 @@ class SPIRVModuleImpl : public SPIRVModule { SPIRVBasicBlock *) override; SPIRVInstruction *addSampledImageInst(SPIRVType *, SPIRVValue *, SPIRVValue *, SPIRVBasicBlock *) override; - SPIRVInstruction *addAssumeTrueINTELInst(SPIRVValue *Condition, - SPIRVBasicBlock *BB) override; - SPIRVInstruction *addExpectINTELInst(SPIRVType *ResultTy, SPIRVValue *Value, - SPIRVValue *ExpectedValue, - SPIRVBasicBlock *BB) override; template SPIRVEntry *getOrAddMemAliasingINTELInst(std::vector Args, llvm::MDNode *MD); @@ -450,6 +445,11 @@ class SPIRVModuleImpl : public SPIRVModule { llvm::MDNode *MD) override; SPIRVEntry *getOrAddAliasScopeListDeclINTELInst(std::vector Args, llvm::MDNode *MD) override; + SPIRVInstruction *addAssumeTrueKHRInst(SPIRVValue *Condition, + SPIRVBasicBlock *BB) override; + SPIRVInstruction *addExpectKHRInst(SPIRVType *ResultTy, SPIRVValue *Value, + SPIRVValue *ExpectedValue, + SPIRVBasicBlock *BB) override; virtual SPIRVId getExtInstSetId(SPIRVExtInstSetKind Kind) const override; @@ -1566,17 +1566,17 @@ SPIRVInstruction *SPIRVModuleImpl::addSampledImageInst(SPIRVType *ResultTy, BB); } -SPIRVInstruction *SPIRVModuleImpl::addAssumeTrueINTELInst(SPIRVValue *Condition, - SPIRVBasicBlock *BB) { - return addInstruction(new SPIRVAssumeTrueINTEL(Condition->getId(), BB), BB); +SPIRVInstruction *SPIRVModuleImpl::addAssumeTrueKHRInst(SPIRVValue *Condition, + SPIRVBasicBlock *BB) { + return addInstruction(new SPIRVAssumeTrueKHR(Condition->getId(), BB), BB); } -SPIRVInstruction *SPIRVModuleImpl::addExpectINTELInst(SPIRVType *ResultTy, - SPIRVValue *Value, - SPIRVValue *ExpectedValue, - SPIRVBasicBlock *BB) { +SPIRVInstruction *SPIRVModuleImpl::addExpectKHRInst(SPIRVType *ResultTy, + SPIRVValue *Value, + SPIRVValue *ExpectedValue, + SPIRVBasicBlock *BB) { return addInstruction(SPIRVInstTemplateBase::create( - internal::OpExpectINTEL, ResultTy, getId(), + OpExpectKHR, ResultTy, getId(), getVec(Value->getId(), ExpectedValue->getId()), BB, this), BB); diff --git a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.h b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.h index abc3c8dc6c716..f8bb5a47cebaf 100644 --- a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.h +++ b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.h @@ -446,18 +446,18 @@ class SPIRVModule { virtual SPIRVInstruction *addSampledImageInst(SPIRVType *, SPIRVValue *, SPIRVValue *, SPIRVBasicBlock *) = 0; - virtual SPIRVInstruction *addAssumeTrueINTELInst(SPIRVValue *Condition, - SPIRVBasicBlock *BB) = 0; - virtual SPIRVInstruction *addExpectINTELInst(SPIRVType *ResultTy, - SPIRVValue *Value, - SPIRVValue *ExpectedValue, - SPIRVBasicBlock *BB) = 0; virtual SPIRVEntry *getOrAddAliasDomainDeclINTELInst( std::vector Args, llvm::MDNode *MD) = 0; virtual SPIRVEntry *getOrAddAliasScopeDeclINTELInst( std::vector Args, llvm::MDNode *MD) = 0; virtual SPIRVEntry *getOrAddAliasScopeListDeclINTELInst( std::vector Args, llvm::MDNode *MD) = 0; + virtual SPIRVInstruction *addAssumeTrueKHRInst(SPIRVValue *Condition, + SPIRVBasicBlock *BB) = 0; + virtual SPIRVInstruction *addExpectKHRInst(SPIRVType *ResultTy, + SPIRVValue *Value, + SPIRVValue *ExpectedValue, + SPIRVBasicBlock *BB) = 0; virtual SPIRVId getExtInstSetId(SPIRVExtInstSetKind Kind) const = 0; diff --git a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h index 17201ad0d39cf..3275a406d4780 100644 --- a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h +++ b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h @@ -525,7 +525,7 @@ template <> inline void SPIRVMap::init() { add(CapabilityAtomicFloat16MinMaxEXT, "AtomicFloat16MinMaxEXT"); add(CapabilityVectorComputeINTEL, "VectorComputeINTEL"); add(CapabilityVectorAnyINTEL, "VectorAnyINTEL"); - add(internal::CapabilityOptimizationHintsINTEL, "OptimizationHintsINTEL"); + add(CapabilityExpectAssumeKHR, "ExpectAssumeKHR"); add(CapabilitySubgroupAvcMotionEstimationINTEL, "SubgroupAvcMotionEstimationINTEL"); add(CapabilitySubgroupAvcMotionEstimationIntraINTEL, diff --git a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVOpCodeEnum.h b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVOpCodeEnum.h index 7a2c53882cb13..4b700f17efaad 100644 --- a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVOpCodeEnum.h +++ b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVOpCodeEnum.h @@ -344,6 +344,8 @@ _SPIRV_OP(AsmINTEL, 5610) _SPIRV_OP(AsmCallINTEL, 5611) _SPIRV_OP(AtomicFMinEXT, 5614) _SPIRV_OP(AtomicFMaxEXT, 5615) +_SPIRV_OP(AssumeTrueKHR, 5630) +_SPIRV_OP(ExpectKHR, 5631) _SPIRV_OP(VmeImageINTEL, 5699) _SPIRV_OP(TypeVmeImageINTEL, 5700) _SPIRV_OP(TypeAvcImePayloadINTEL, 5701) diff --git a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVOpCodeEnumInternal.h b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVOpCodeEnumInternal.h index b8b98c1e7dae0..b91b571fa46e2 100644 --- a/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVOpCodeEnumInternal.h +++ b/llvm-spirv/lib/SPIRV/libSPIRV/SPIRVOpCodeEnumInternal.h @@ -1,7 +1,5 @@ #include "spirv_internal.hpp" -_SPIRV_OP_INTERNAL(AssumeTrueINTEL, internal::OpAssumeTrueINTEL) -_SPIRV_OP_INTERNAL(ExpectINTEL, internal::OpExpectINTEL) _SPIRV_OP_INTERNAL(Forward, internal::OpForward) _SPIRV_OP_INTERNAL(AliasDomainDeclINTEL, internal::OpAliasDomainDeclINTEL) _SPIRV_OP_INTERNAL(AliasScopeDeclINTEL, internal::OpAliasScopeDeclINTEL) diff --git a/llvm-spirv/lib/SPIRV/libSPIRV/spirv.hpp b/llvm-spirv/lib/SPIRV/libSPIRV/spirv.hpp index f25aa267844b2..bcedce7303384 100644 --- a/llvm-spirv/lib/SPIRV/libSPIRV/spirv.hpp +++ b/llvm-spirv/lib/SPIRV/libSPIRV/spirv.hpp @@ -1020,6 +1020,7 @@ enum Capability { CapabilityAtomicFloat16MinMaxEXT = 5616, CapabilityVectorComputeINTEL = 5617, CapabilityVectorAnyINTEL = 5619, + CapabilityExpectAssumeKHR = 5629, CapabilitySubgroupAvcMotionEstimationINTEL = 5696, CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697, CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698, @@ -1587,6 +1588,8 @@ enum Op { OpAsmCallINTEL = 5611, OpAtomicFMinEXT = 5614, OpAtomicFMaxEXT = 5615, + OpAssumeTrueKHR = 5630, + OpExpectKHR = 5631, OpDecorateString = 5632, OpDecorateStringGOOGLE = 5632, OpMemberDecorateString = 5633, diff --git a/llvm-spirv/lib/SPIRV/libSPIRV/spirv_internal.hpp b/llvm-spirv/lib/SPIRV/libSPIRV/spirv_internal.hpp index b65f6d6aca810..875853c1ba743 100644 --- a/llvm-spirv/lib/SPIRV/libSPIRV/spirv_internal.hpp +++ b/llvm-spirv/lib/SPIRV/libSPIRV/spirv_internal.hpp @@ -35,8 +35,6 @@ enum InternalLinkageType { }; enum InternalOp { - IOpAssumeTrueINTEL = 5630, - IOpExpectINTEL = 5631, IOpAliasDomainDeclINTEL = 5911, IOpAliasScopeDeclINTEL = 5912, IOpAliasScopeListDeclINTEL = 5913, @@ -56,7 +54,6 @@ enum InternalDecoration { }; enum InternalCapability { - ICapOptimizationHintsINTEL = 5629, ICapFPGADSPControlINTEL = 5908, ICapMemoryAccessAliasingINTEL = 5910, ICapFPGAInvocationPipeliningAttributesINTEL = 5916, @@ -80,8 +77,6 @@ constexpr LinkageType LinkageTypeInternal = static_cast(ILTInternal); constexpr Op OpForward = static_cast(IOpForward); -constexpr Op OpAssumeTrueINTEL = static_cast(IOpAssumeTrueINTEL); -constexpr Op OpExpectINTEL = static_cast(IOpExpectINTEL); constexpr Op OpAliasDomainDeclINTEL = static_cast(IOpAliasDomainDeclINTEL); constexpr Op OpAliasScopeDeclINTEL = static_cast(IOpAliasScopeDeclINTEL); constexpr Op OpAliasScopeListDeclINTEL = @@ -101,8 +96,6 @@ constexpr Decoration DecorationPipelineEnableINTEL = constexpr Decoration DecorationCallableFunctionINTEL = static_cast(IDecCallableFunctionINTEL); -constexpr Capability CapabilityOptimizationHintsINTEL = - static_cast(ICapOptimizationHintsINTEL); constexpr Capability CapabilityFastCompositeINTEL = static_cast(ICapFastCompositeINTEL); constexpr Capability CapabilityOptNoneINTEL = diff --git a/llvm-spirv/test/llvm-intrinsics/assume.ll b/llvm-spirv/test/llvm-intrinsics/assume.ll index 07a16d316c7c3..a615a8b4d68c1 100644 --- a/llvm-spirv/test/llvm-intrinsics/assume.ll +++ b/llvm-spirv/test/llvm-intrinsics/assume.ll @@ -1,5 +1,5 @@ ; RUN: llvm-as %s -o %t.bc -; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_INTEL_optimization_hints -o %t.spv +; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_KHR_expect_assume -o %t.spv ; RUN: llvm-spirv %t.spv -to-text -o %t.spt ; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV ; RUN: llvm-spirv -r %t.spv -o %t.bc @@ -12,20 +12,20 @@ ; RUN: llvm-spirv -r %t.spv -o %t.bc ; RUN: llvm-dis < %t.bc | FileCheck %s --check-prefix=CHECK-LLVM-NO-EXT -; CHECK-SPIRV: Capability OptimizationHintsINTEL -; CHECK-SPIRV: Extension "SPV_INTEL_optimization_hints" +; CHECK-SPIRV: Capability ExpectAssumeKHR +; CHECK-SPIRV: Extension "SPV_KHR_expect_assume" ; CHECK-SPIRV: Name [[COMPARE:[0-9]+]] "cmp" ; CHECK-SPIRV: INotEqual {{[0-9]+}} [[COMPARE]] {{[0-9]+}} {{[0-9]+}} -; CHECK-SPIRV: AssumeTrueINTEL [[COMPARE]] +; CHECK-SPIRV: AssumeTrueKHR [[COMPARE]] ; CHECK-LLVM: %cmp = icmp ne i32 %0, 0 ; CHECK-LLVM: call void @llvm.assume(i1 %cmp) -; CHECK-SPIRV-NO-EXT-NOT: Capability OptimizationHintsINTEL -; CHECK-SPIRV-NO-EXT-NOT: Extension "SPV_INTEL_optimization_hints" +; CHECK-SPIRV-NO-EXT-NOT: Capability ExpectAssumeKHR +; CHECK-SPIRV-NO-EXT-NOT: Extension "SPV_KHR_expect_assume" ; CHECK-SPIRV-NO-EXT: Name [[COMPARE:[0-9]+]] "cmp" ; CHECK-SPIRV-NO-EXT: INotEqual {{[0-9]+}} [[COMPARE]] {{[0-9]+}} {{[0-9]+}} -; CHECK-SPIRV-NO-EXT-NOT: AssumeTrueINTEL [[COMPARE]] +; CHECK-SPIRV-NO-EXT-NOT: AssumeTrueKHR [[COMPARE]] ; CHECK-LLVM-NO-EXT: %cmp = icmp ne i32 %0, 0 ; CHECK-LLVM-NO-EXT-NOT: call void @llvm.assume(i1 %cmp) diff --git a/llvm-spirv/test/llvm-intrinsics/expect.ll b/llvm-spirv/test/llvm-intrinsics/expect.ll index 6726455645a58..e1133bbb39b0f 100644 --- a/llvm-spirv/test/llvm-intrinsics/expect.ll +++ b/llvm-spirv/test/llvm-intrinsics/expect.ll @@ -1,5 +1,5 @@ ; RUN: llvm-as %s -o %t.bc -; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_INTEL_optimization_hints -o %t.spv +; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_KHR_expect_assume -o %t.spv ; RUN: llvm-spirv %t.spv -to-text -o %t.spt ; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV ; RUN: llvm-spirv -r %t.spv -o %t.bc @@ -12,8 +12,8 @@ ; RUN: llvm-spirv -r %t.spv -o %t.bc ; RUN: llvm-dis < %t.bc | FileCheck %s --check-prefix=CHECK-LLVM-NO-EXT -; CHECK-SPIRV: Capability OptimizationHintsINTEL -; CHECK-SPIRV: Extension "SPV_INTEL_optimization_hints" +; CHECK-SPIRV: Capability ExpectAssumeKHR +; CHECK-SPIRV: Extension "SPV_KHR_expect_assume" ; CHECK-SPIRV: Name [[FUNPARAM:[0-9]+]] "x.addr" ; CHECK-SPIRV: Name [[VALUE1:[0-9]+]] "conv" ; CHECK-SPIRV: Name [[VALUE2:[0-9]+]] "conv" @@ -21,13 +21,13 @@ ; CHECK-SPIRV: Constant [[TYPEID]] [[EXPVAL1:[0-9]+]] {{[0-9]+}} {{[0-9]+}} ; CHECK-SPIRV: Function -; CHECK-SPIRV: ExpectINTEL [[TYPEID]] [[RES1:[0-9]+]] [[VALUE1]] [[EXPVAL1]] +; CHECK-SPIRV: ExpectKHR [[TYPEID]] [[RES1:[0-9]+]] [[VALUE1]] [[EXPVAL1]] ; CHECK-SPIRV: INotEqual {{[0-9]+}} {{[0-9]+}} [[RES1]] {{[0-9]+}} ; CHECK-SPIRV: Function ; CHECK-SPIRV: FunctionCall {{[0-9]+}} [[FUNRES:[0-9]+]] {{[0-9]+}} ; CHECK-SPIRV: SConvert [[TYPEID]] [[EXPVAL2:[0-9]+]] [[FUNRES]] -; CHECK-SPIRV: ExpectINTEL {{[0-9]+}} [[RES2:[0-9]+]] [[VALUE2]] [[EXPVAL2]] +; CHECK-SPIRV: ExpectKHR {{[0-9]+}} [[RES2:[0-9]+]] [[VALUE2]] [[EXPVAL2]] ; CHECK-SPIRV: INotEqual {{[0-9]+}} {{[0-9]+}} [[RES2]] {{[0-9]+}} ; CHECK-LLVM: define spir_func i32 @_Z12expect_consti{{.*}} @@ -44,16 +44,16 @@ ; CHECK-LLVM: %[[RES2:[a-z0-9]+]] = call i64 @llvm.expect.i64(i64 %[[CONV2A]], i64 %[[CONV2B]]) ; CHECK-LLVM: %{{.*}} = icmp ne i64 %[[RES2]], 0 -; CHECK-SPIRV-NO-EXT-NOT: Capability OptimizationHintsINTEL -; CHECK-SPIRV-NO-EXT-NOT: Extension "SPV_INTEL_optimization_hints" +; CHECK-SPIRV-NO-EXT-NOT: Capability ExpectAssumeKHR +; CHECK-SPIRV-NO-EXT-NOT: Extension "SPV_KHR_expect_assume" ; CHECK-SPIRV-NO-EXT: Function -; CHECK-SPIRV-NO-EXT-NOT: ExpectINTEL {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} +; CHECK-SPIRV-NO-EXT-NOT: ExpectKHR {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} ; CHECK-SPIRV-NO-EXT: SConvert {{[0-9]+}} [[RES1:[0-9]+]] {{[0-9]+}} ; CHECK-SPIRV-NO-EXT: INotEqual {{[0-9]+}} {{[0-9]+}} [[RES1]] {{[0-9]+}} ; CHECK-SPIRV-NO-EXT: Function ; CHECK-SPIRV-NO-EXT: SConvert {{[0-9]+}} [[RES2:[0-9]+]] {{[0-9]+}} -; CHECK-SPIRV-NO-EXT-NOT: ExpectINTEL {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} +; CHECK-SPIRV-NO-EXT-NOT: ExpectKHR {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} ; CHECK-SPIRV-NO-EXT: INotEqual {{[0-9]+}} {{[0-9]+}} [[RES2]] {{[0-9]+}} ; CHECK-LLVM-NO-EXT: define spir_func i32 @_Z12expect_consti{{.*}}