diff --git a/IGC/Compiler/CISACodeGen/EmitVISAPass.cpp b/IGC/Compiler/CISACodeGen/EmitVISAPass.cpp index 1fd147fc7acf..610e08bdceb8 100644 --- a/IGC/Compiler/CISACodeGen/EmitVISAPass.cpp +++ b/IGC/Compiler/CISACodeGen/EmitVISAPass.cpp @@ -4033,6 +4033,8 @@ void EmitPass::EmitGenericPointersCmp(llvm::Instruction* inst, void EmitPass::BinaryUnary(llvm::Instruction* inst, const SSource source[2], const DstModifier& modifier) { + UseVMaskPred(); + switch (inst->getOpcode()) { case Instruction::FCmp: @@ -4445,6 +4447,8 @@ void EmitPass::Unary(e_opcode opCode, const SSource sources[1], const DstModifie template void EmitPass::Alu(e_opcode opCode, const SSource sources[N], const DstModifier& modifier) { + UseVMaskPred(); + CVariable* srcs[3] = { nullptr, nullptr, nullptr }; for (uint i = 0; i < N; i++) { diff --git a/IGC/common/igc_flags.h b/IGC/common/igc_flags.h index db03da43fc56..bdf547c56f5b 100644 --- a/IGC/common/igc_flags.h +++ b/IGC/common/igc_flags.h @@ -403,7 +403,7 @@ DECLARE_IGC_REGKEY(bool, UseMTInLLD, false, "Use multi-thread DECLARE_IGC_REGKEY(bool, NoCatchAllDebugLine, false, "Don't emit special placeholder instruction to map VISA orphan instructions", false) DECLARE_IGC_REGKEY(bool, EnableTestSplitI64, false, "Test legalization that split i64 store unnecessarily, to be deleted once test is done[temp]", true) DECLARE_IGC_REGKEY(bool, ShaderDumpTranslationOnly, false, "Dump LLVM IR right after translation from SPIRV to stderr and ignore all passes", false) -DECLARE_IGC_REGKEY(bool, UseVMaskPredicate, true, "Use VMask as predicate for subspan usage", false) +DECLARE_IGC_REGKEY(bool, UseVMaskPredicate, false, "Use VMask as predicate for subspan usage", false) DECLARE_IGC_REGKEY(bool, StackOverflowDetection, false, "Inserts checks for stack overflow when stack calls are used.", true) DECLARE_IGC_GROUP("IGC Features")