Lines Matching refs:MI
33 void SPIRVInstPrinter::printRemainingVariableOps(const MCInst *MI, in printRemainingVariableOps() argument
38 const unsigned NumOps = MI->getNumOperands(); in printRemainingVariableOps()
40 if (!SkipImmediates || !MI->getOperand(i).isImm()) { in printRemainingVariableOps()
43 printOperand(MI, i, O); in printRemainingVariableOps()
48 void SPIRVInstPrinter::printOpConstantVarOps(const MCInst *MI, in printOpConstantVarOps() argument
52 if (MI->getNumOperands() - StartIndex == 2) { // Handle 64 bit literals. in printOpConstantVarOps()
53 uint64_t Imm = MI->getOperand(StartIndex).getImm(); in printOpConstantVarOps()
54 Imm |= (MI->getOperand(StartIndex + 1).getImm() << 32); in printOpConstantVarOps()
57 printRemainingVariableOps(MI, StartIndex, O, true, false); in printOpConstantVarOps()
61 void SPIRVInstPrinter::recordOpExtInstImport(const MCInst *MI) { in recordOpExtInstImport() argument
65 void SPIRVInstPrinter::printInst(const MCInst *MI, uint64_t Address, in printInst() argument
68 const unsigned OpCode = MI->getOpcode(); in printInst()
69 printInstruction(MI, Address, OS); in printInst()
72 printOpDecorate(MI, OS); in printInst()
74 recordOpExtInstImport(MI); in printInst()
76 printOpExtInst(MI, OS); in printInst()
92 printAccessQualifier(MI, FirstVariableIndex, OS); in printInst()
96 printOperand(MI, FirstVariableIndex, OS); in printInst()
101 printRemainingVariableOps(MI, NumFixedOps, OS, false, true); in printInst()
108 printRemainingVariableOps(MI, NumFixedOps, OS); in printInst()
122 printMemoryOperand(MI, FirstVariableIndex, OS); in printInst()
123 printRemainingVariableOps(MI, FirstVariableIndex + 1, OS); in printInst()
144 printImageOperand(MI, FirstVariableIndex, OS); in printInst()
145 printRemainingVariableOps(MI, NumFixedOps + 1, OS); in printInst()
149 const unsigned NumOps = MI->getNumOperands(); in printInst()
152 printMemoryOperand(MI, i, OS); in printInst()
153 if (MI->getOperand(i).getImm() & in printInst()
157 printOperand(MI, i + 1, OS); in printInst()
165 printOpConstantVarOps(MI, NumFixedOps, OS); in printInst()
168 printRemainingVariableOps(MI, NumFixedOps, OS); in printInst()
178 void SPIRVInstPrinter::printOpExtInst(const MCInst *MI, raw_ostream &O) { in printOpExtInst() argument
181 MCInstrDesc MCDesc = MII.get(MI->getOpcode()); in printOpExtInst()
183 const auto NumOps = MI->getNumOperands(); in printOpExtInst()
190 printRemainingVariableOps(MI, NumFixedOps, O, true); in printOpExtInst()
193 void SPIRVInstPrinter::printOpDecorate(const MCInst *MI, raw_ostream &O) { in printOpDecorate() argument
196 MCInstrDesc MCDesc = MII.get(MI->getOpcode()); in printOpDecorate()
199 if (NumFixedOps != MI->getNumOperands()) { in printOpDecorate()
200 auto DecOp = MI->getOperand(NumFixedOps - 1); in printOpDecorate()
207 printBuiltIn(MI, NumFixedOps, O); in printOpDecorate()
210 printScope(MI, NumFixedOps, O); in printOpDecorate()
213 printFunctionParameterAttribute(MI, NumFixedOps, O); in printOpDecorate()
216 printFPRoundingMode(MI, NumFixedOps, O); in printOpDecorate()
219 printFPFastMathMode(MI, NumFixedOps, O); in printOpDecorate()
223 printStringImm(MI, NumFixedOps, O); in printOpDecorate()
226 printRemainingVariableOps(MI, NumFixedOps, O, true); in printOpDecorate()
248 void SPIRVInstPrinter::printOperand(const MCInst *MI, unsigned OpNo, in printOperand() argument
251 if (OpNo < MI->getNumOperands()) { in printOperand()
252 const MCOperand &Op = MI->getOperand(OpNo); in printOperand()
266 void SPIRVInstPrinter::printStringImm(const MCInst *MI, unsigned OpNo, in printStringImm() argument
268 const unsigned NumOps = MI->getNumOperands(); in printStringImm()
271 if (MI->getOperand(StrStartIndex).isReg()) in printStringImm()
274 std::string Str = getSPIRVStringOperand(*MI, OpNo); in printStringImm()
289 if (MI->getOpcode() == SPIRV::OpDecorate && in printStringImm()
290 MI->getOperand(1).getImm() == in printStringImm()
293 printLinkageType(MI, StrStartIndex, O); in printStringImm()
299 void SPIRVInstPrinter::printExtInst(const MCInst *MI, unsigned OpNo, in printExtInst() argument
304 void SPIRVInstPrinter::printCapability(const MCInst *MI, unsigned OpNo, in printCapability() argument
306 if (OpNo < MI->getNumOperands()) { in printCapability()
308 static_cast<SPIRV::Capability>(MI->getOperand(OpNo).getImm()); in printCapability()
313 void SPIRVInstPrinter::printSourceLanguage(const MCInst *MI, unsigned OpNo, in printSourceLanguage() argument
315 if (OpNo < MI->getNumOperands()) { in printSourceLanguage()
317 static_cast<SPIRV::SourceLanguage>(MI->getOperand(OpNo).getImm()); in printSourceLanguage()
322 void SPIRVInstPrinter::printExecutionModel(const MCInst *MI, unsigned OpNo, in printExecutionModel() argument
324 if (OpNo < MI->getNumOperands()) { in printExecutionModel()
326 static_cast<SPIRV::ExecutionModel>(MI->getOperand(OpNo).getImm()); in printExecutionModel()
331 void SPIRVInstPrinter::printAddressingModel(const MCInst *MI, unsigned OpNo, in printAddressingModel() argument
333 if (OpNo < MI->getNumOperands()) { in printAddressingModel()
335 static_cast<SPIRV::AddressingModel>(MI->getOperand(OpNo).getImm()); in printAddressingModel()
340 void SPIRVInstPrinter::printMemoryModel(const MCInst *MI, unsigned OpNo, in printMemoryModel() argument
342 if (OpNo < MI->getNumOperands()) { in printMemoryModel()
344 static_cast<SPIRV::MemoryModel>(MI->getOperand(OpNo).getImm()); in printMemoryModel()
349 void SPIRVInstPrinter::printExecutionMode(const MCInst *MI, unsigned OpNo, in printExecutionMode() argument
351 if (OpNo < MI->getNumOperands()) { in printExecutionMode()
353 static_cast<SPIRV::ExecutionMode>(MI->getOperand(OpNo).getImm()); in printExecutionMode()
358 void SPIRVInstPrinter::printStorageClass(const MCInst *MI, unsigned OpNo, in printStorageClass() argument
360 if (OpNo < MI->getNumOperands()) { in printStorageClass()
362 static_cast<SPIRV::StorageClass>(MI->getOperand(OpNo).getImm()); in printStorageClass()
367 void SPIRVInstPrinter::printDim(const MCInst *MI, unsigned OpNo, in printDim() argument
369 if (OpNo < MI->getNumOperands()) { in printDim()
370 SPIRV::Dim e = static_cast<SPIRV::Dim>(MI->getOperand(OpNo).getImm()); in printDim()
375 void SPIRVInstPrinter::printSamplerAddressingMode(const MCInst *MI, in printSamplerAddressingMode() argument
378 if (OpNo < MI->getNumOperands()) { in printSamplerAddressingMode()
380 MI->getOperand(OpNo).getImm()); in printSamplerAddressingMode()
385 void SPIRVInstPrinter::printSamplerFilterMode(const MCInst *MI, unsigned OpNo, in printSamplerFilterMode() argument
387 if (OpNo < MI->getNumOperands()) { in printSamplerFilterMode()
389 static_cast<SPIRV::SamplerFilterMode>(MI->getOperand(OpNo).getImm()); in printSamplerFilterMode()
394 void SPIRVInstPrinter::printImageFormat(const MCInst *MI, unsigned OpNo, in printImageFormat() argument
396 if (OpNo < MI->getNumOperands()) { in printImageFormat()
398 static_cast<SPIRV::ImageFormat>(MI->getOperand(OpNo).getImm()); in printImageFormat()
403 void SPIRVInstPrinter::printImageChannelOrder(const MCInst *MI, unsigned OpNo, in printImageChannelOrder() argument
405 if (OpNo < MI->getNumOperands()) { in printImageChannelOrder()
407 static_cast<SPIRV::ImageChannelOrder>(MI->getOperand(OpNo).getImm()); in printImageChannelOrder()
412 void SPIRVInstPrinter::printImageChannelDataType(const MCInst *MI, in printImageChannelDataType() argument
415 if (OpNo < MI->getNumOperands()) { in printImageChannelDataType()
417 static_cast<SPIRV::ImageChannelDataType>(MI->getOperand(OpNo).getImm()); in printImageChannelDataType()
422 void SPIRVInstPrinter::printImageOperand(const MCInst *MI, unsigned OpNo, in printImageOperand() argument
424 if (OpNo < MI->getNumOperands()) { in printImageOperand()
425 unsigned e = static_cast<unsigned>(MI->getOperand(OpNo).getImm()); in printImageOperand()
430 void SPIRVInstPrinter::printFPFastMathMode(const MCInst *MI, unsigned OpNo, in printFPFastMathMode() argument
432 if (OpNo < MI->getNumOperands()) { in printFPFastMathMode()
433 unsigned e = static_cast<unsigned>(MI->getOperand(OpNo).getImm()); in printFPFastMathMode()
438 void SPIRVInstPrinter::printFPRoundingMode(const MCInst *MI, unsigned OpNo, in printFPRoundingMode() argument
440 if (OpNo < MI->getNumOperands()) { in printFPRoundingMode()
442 static_cast<SPIRV::FPRoundingMode>(MI->getOperand(OpNo).getImm()); in printFPRoundingMode()
447 void SPIRVInstPrinter::printLinkageType(const MCInst *MI, unsigned OpNo, in printLinkageType() argument
449 if (OpNo < MI->getNumOperands()) { in printLinkageType()
451 static_cast<SPIRV::LinkageType>(MI->getOperand(OpNo).getImm()); in printLinkageType()
456 void SPIRVInstPrinter::printAccessQualifier(const MCInst *MI, unsigned OpNo, in printAccessQualifier() argument
458 if (OpNo < MI->getNumOperands()) { in printAccessQualifier()
460 static_cast<SPIRV::AccessQualifier>(MI->getOperand(OpNo).getImm()); in printAccessQualifier()
465 void SPIRVInstPrinter::printFunctionParameterAttribute(const MCInst *MI, in printFunctionParameterAttribute() argument
468 if (OpNo < MI->getNumOperands()) { in printFunctionParameterAttribute()
471 MI->getOperand(OpNo).getImm()); in printFunctionParameterAttribute()
476 void SPIRVInstPrinter::printDecoration(const MCInst *MI, unsigned OpNo, in printDecoration() argument
478 if (OpNo < MI->getNumOperands()) { in printDecoration()
480 static_cast<SPIRV::Decoration>(MI->getOperand(OpNo).getImm()); in printDecoration()
485 void SPIRVInstPrinter::printBuiltIn(const MCInst *MI, unsigned OpNo, in printBuiltIn() argument
487 if (OpNo < MI->getNumOperands()) { in printBuiltIn()
489 static_cast<SPIRV::BuiltIn>(MI->getOperand(OpNo).getImm()); in printBuiltIn()
494 void SPIRVInstPrinter::printSelectionControl(const MCInst *MI, unsigned OpNo, in printSelectionControl() argument
496 if (OpNo < MI->getNumOperands()) { in printSelectionControl()
497 unsigned e = static_cast<unsigned>(MI->getOperand(OpNo).getImm()); in printSelectionControl()
502 void SPIRVInstPrinter::printLoopControl(const MCInst *MI, unsigned OpNo, in printLoopControl() argument
504 if (OpNo < MI->getNumOperands()) { in printLoopControl()
505 unsigned e = static_cast<unsigned>(MI->getOperand(OpNo).getImm()); in printLoopControl()
510 void SPIRVInstPrinter::printFunctionControl(const MCInst *MI, unsigned OpNo, in printFunctionControl() argument
512 if (OpNo < MI->getNumOperands()) { in printFunctionControl()
513 unsigned e = static_cast<unsigned>(MI->getOperand(OpNo).getImm()); in printFunctionControl()
518 void SPIRVInstPrinter::printMemorySemantics(const MCInst *MI, unsigned OpNo, in printMemorySemantics() argument
520 if (OpNo < MI->getNumOperands()) { in printMemorySemantics()
521 unsigned e = static_cast<unsigned>(MI->getOperand(OpNo).getImm()); in printMemorySemantics()
526 void SPIRVInstPrinter::printMemoryOperand(const MCInst *MI, unsigned OpNo, in printMemoryOperand() argument
528 if (OpNo < MI->getNumOperands()) { in printMemoryOperand()
529 unsigned e = static_cast<unsigned>(MI->getOperand(OpNo).getImm()); in printMemoryOperand()
534 void SPIRVInstPrinter::printScope(const MCInst *MI, unsigned OpNo, in printScope() argument
536 if (OpNo < MI->getNumOperands()) { in printScope()
537 SPIRV::Scope e = static_cast<SPIRV::Scope>(MI->getOperand(OpNo).getImm()); in printScope()
542 void SPIRVInstPrinter::printGroupOperation(const MCInst *MI, unsigned OpNo, in printGroupOperation() argument
544 if (OpNo < MI->getNumOperands()) { in printGroupOperation()
546 static_cast<SPIRV::GroupOperation>(MI->getOperand(OpNo).getImm()); in printGroupOperation()
551 void SPIRVInstPrinter::printKernelEnqueueFlags(const MCInst *MI, unsigned OpNo, in printKernelEnqueueFlags() argument
553 if (OpNo < MI->getNumOperands()) { in printKernelEnqueueFlags()
555 static_cast<SPIRV::KernelEnqueueFlags>(MI->getOperand(OpNo).getImm()); in printKernelEnqueueFlags()
560 void SPIRVInstPrinter::printKernelProfilingInfo(const MCInst *MI, unsigned OpNo, in printKernelProfilingInfo() argument
562 if (OpNo < MI->getNumOperands()) { in printKernelProfilingInfo()
564 static_cast<SPIRV::KernelProfilingInfo>(MI->getOperand(OpNo).getImm()); in printKernelProfilingInfo()