Youren Shen via llvm-dev
2018-Jun-30 14:57 UTC
[llvm-dev] Using BuildMI to insert Intel MPX instruction BNDCU failed
Hello everyone, I'm a newbie of llvm. I'm trying to insert Intel MPX instruction BNDCU with BuildMI. I add my machinefunctionpass at addPreEmitPass2. Here is the code of insertion: BuildMI(MBB, MI, DL, TII->get(X86::BNDCU64rr)).addReg(X86::BND2, RegState::Define).addReg(X86::R10); And here is to stack track when I compiler program with modified llc: /home/shenyouren/workspace/build-llvm/bin/llc -o obj/simple.s obj/simple-opt.bc llc: /home/shenyouren/workspace/llvm/include/llvm/ADT/SmallVector.h:154: const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2>>::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type) const [with T = llvm::MCOperand; <template-parameter-1-2> void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::const_reference = const llvm::MCOperand&;llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type long unsigned int]: Assertion `idx < size()' failed. Stack dump: 0. Program arguments: /home/shenyouren/workspace/build-llvm/bin/llc -o obj/simple.s obj/simple-opt.bc 1. Running pass 'Function Pass Manager' on module 'obj/simple-opt.bc'. 2. Running pass 'X86 Assembly Printer' on function '@main' #0 0x0000000003879bdf llvm::sys::PrintStackTrace(llvm::raw_ostream&) /home/shenyouren/workspace/llvm/lib/Support/Unix/Signals.inc:398:0 #1 0x0000000003879c72 PrintStackTraceSignalHandler(void*) /home/shenyouren/workspace/llvm/lib/Support/Unix/Signals.inc:462:0 #2 0x0000000003877e5b llvm::sys::RunSignalHandlers() /home/shenyouren/workspace/llvm/lib/Support/Signals.cpp:49:0 #3 0x0000000003879454 SignalHandler(int) /home/shenyouren/workspace/llvm/lib/Support/Unix/Signals.inc:252:0 #4 0x00007fcc8f4c9390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390) #5 0x00007fcc8e67e428 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x35428) #6 0x00007fcc8e68002a abort (/lib/x86_64-linux-gnu/libc.so.6+0x3702a) #7 0x00007fcc8e676bd7 (/lib/x86_64-linux-gnu/libc.so.6+0x2dbd7) #8 0x00007fcc8e676c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82) #9 0x00000000016b63bb llvm::SmallVectorTemplateCommon<llvm::MCOperand, void>::operator[](unsigned long) const /home/shenyouren/workspace/llvm/include/llvm/ADT/SmallVector.h:154:0 #10 0x00000000016b63bb llvm::MCInst::getOperand(unsigned int) const /home/shenyouren/workspace/llvm/include/llvm/MC/MCInst.h:182:0 #11 0x00000000026695fd llvm::X86ATTInstPrinter::printOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&) /home/shenyouren/workspace/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp:185:0 #12 0x0000000002664c06 llvm::X86ATTInstPrinter::printInstruction(llvm::MCInst const*, llvm::raw_ostream&) /home/shenyouren/workspace/build-llvm/lib/Target/X86/X86GenAsmWriter.inc:48204:0 #13 0x0000000002668edc llvm::X86ATTInstPrinter::printInst(llvm::MCInst const*, llvm::raw_ostream&, llvm::StringRef, llvm::MCSubtargetInfo const&) /home/shenyouren/workspace/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp:89:0 #14 0x00000000031d5811 llvm::MCTargetStreamer::prettyPrintAsm(llvm::MCInstPrinter&, llvm::raw_ostream&, llvm::MCInst const&, llvm::MCSubtargetInfo const&) /home/shenyouren/workspace/llvm/lib/MC/MCStreamer.cpp:856:0 #15 0x00000000031690e2 (anonymous namespace)::MCAsmStreamer::EmitInstruction(llvm::MCInst const&, llvm::MCSubtargetInfo const&, bool) /home/shenyouren/workspace/llvm/lib/MC/MCAsmStreamer.cpp:1752:0 #16 0x0000000002355fdf llvm::X86AsmPrinter::EmitAndCountInstruction(llvm::MCInst&) /home/shenyouren/workspace/llvm/lib/Target/X86/X86MCInstLower.cpp:107:0 #17 0x0000000002360ae9 llvm::X86AsmPrinter::EmitInstruction(llvm::MachineInstr const*) /home/shenyouren/workspace/llvm/lib/Target/X86/X86MCInstLower.cpp:2604:0 #18 0x000000000292e629 llvm::AsmPrinter::EmitFunctionBody() /home/shenyouren/workspace/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1086:0 #19 0x0000000002352908 llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) /home/shenyouren/workspace/llvm/lib/Target/X86/X86AsmPrinter.cpp:79:0 #20 0x0000000002bc6afa llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/shenyouren/workspace/llvm/lib/CodeGen/MachineFunctionPass.cpp:62:0 #21 0x000000000307eeac llvm::FPPassManager::runOnFunction(llvm::Function&) /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1520:0 #22 0x000000000307f045 llvm::FPPassManager::runOnModule(llvm::Module&) /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1541:0 #23 0x000000000307f3c0 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1597:0 #24 0x000000000307fad5 llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1700:0 #25 0x000000000307fce1 llvm::legacy::PassManager::run(llvm::Module&) /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1732:0 #26 0x00000000013e9361 compileModule(char**, llvm::LLVMContext&) /home/shenyouren/workspace/llvm/tools/llc/llc.cpp:575:0 #27 0x00000000013e7a6d main /home/shenyouren/workspace/llvm/tools/llc/llc.cpp:345:0 #28 0x00007fcc8e669830 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20830) #29 0x00000000013e5779 _start (/home/shenyouren/workspace/build-llvm/bin/llc+0x13e5779) Makefile:25: recipe for target 'obj/simple.s' failed I have checked X86ATTInstPrinter::printInstruction(llvm::MCInst const*, llvm::raw_ostream&) /home/shenyouren/workspace/build-llvm/lib/Target/X86/X86GenAsmWriter.inc:48204, and it will invoke printOperand(MI, 2, O); And I guess the BNDCU only have 2 operand, that's why it failed. But I don't know how to fix it. Is there anyone know how to solve this problem? I really appreciate for any help! -- Best Regards. Youren Shen -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180630/4322e770/attachment.html>
Craig Topper via llvm-dev
2018-Jul-01 17:41 UTC
[llvm-dev] Using BuildMI to insert Intel MPX instruction BNDCU failed
BNDCU shouldn't be printing more than 2 operands. On trunk right now, it uses case 4 for the first fragment (operand 1). Case 1 for the second fragment (a comma and a space). And fragment 2 for the third fragment (operand 0). Are you using trunk or an earlier version? ~Craig On Sun, Jul 1, 2018 at 10:14 AM Youren Shen via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hello everyone, I'm a newbie of llvm. I'm trying to insert Intel MPX > instruction BNDCU with BuildMI. I add my machinefunctionpass > at addPreEmitPass2. > Here is the code of insertion: > > BuildMI(MBB, MI, DL, TII->get(X86::BNDCU64rr)).addReg(X86::BND2, > RegState::Define).addReg(X86::R10); > > And here is to stack track when I compiler program with modified llc: > /home/shenyouren/workspace/build-llvm/bin/llc -o obj/simple.s > obj/simple-opt.bc > llc: /home/shenyouren/workspace/llvm/include/llvm/ADT/SmallVector.h:154: > const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> > >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> > >::size_type) const [with T = llvm::MCOperand; <template-parameter-1-2> > void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> > >::const_reference = const llvm::MCOperand&; > llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type > long unsigned int]: Assertion `idx < size()' failed. > Stack dump: > 0. Program arguments: /home/shenyouren/workspace/build-llvm/bin/llc > -o obj/simple.s obj/simple-opt.bc > 1. Running pass 'Function Pass Manager' on module 'obj/simple-opt.bc'. > 2. Running pass 'X86 Assembly Printer' on function '@main' > #0 0x0000000003879bdf llvm::sys::PrintStackTrace(llvm::raw_ostream&) > /home/shenyouren/workspace/llvm/lib/Support/Unix/Signals.inc:398:0 > #1 0x0000000003879c72 PrintStackTraceSignalHandler(void*) > /home/shenyouren/workspace/llvm/lib/Support/Unix/Signals.inc:462:0 > #2 0x0000000003877e5b llvm::sys::RunSignalHandlers() > /home/shenyouren/workspace/llvm/lib/Support/Signals.cpp:49:0 > #3 0x0000000003879454 SignalHandler(int) > /home/shenyouren/workspace/llvm/lib/Support/Unix/Signals.inc:252:0 > #4 0x00007fcc8f4c9390 __restore_rt > (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390) > #5 0x00007fcc8e67e428 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x35428) > #6 0x00007fcc8e68002a abort (/lib/x86_64-linux-gnu/libc.so.6+0x3702a) > #7 0x00007fcc8e676bd7 (/lib/x86_64-linux-gnu/libc.so.6+0x2dbd7) > #8 0x00007fcc8e676c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82) > #9 0x00000000016b63bb llvm::SmallVectorTemplateCommon<llvm::MCOperand, > void>::operator[](unsigned long) const > /home/shenyouren/workspace/llvm/include/llvm/ADT/SmallVector.h:154:0 > #10 0x00000000016b63bb llvm::MCInst::getOperand(unsigned int) const > /home/shenyouren/workspace/llvm/include/llvm/MC/MCInst.h:182:0 > #11 0x00000000026695fd llvm::X86ATTInstPrinter::printOperand(llvm::MCInst > const*, unsigned int, llvm::raw_ostream&) > /home/shenyouren/workspace/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp:185:0 > #12 0x0000000002664c06 > llvm::X86ATTInstPrinter::printInstruction(llvm::MCInst const*, > llvm::raw_ostream&) > /home/shenyouren/workspace/build-llvm/lib/Target/X86/X86GenAsmWriter.inc:48204:0 > #13 0x0000000002668edc llvm::X86ATTInstPrinter::printInst(llvm::MCInst > const*, llvm::raw_ostream&, llvm::StringRef, llvm::MCSubtargetInfo const&) > /home/shenyouren/workspace/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp:89:0 > #14 0x00000000031d5811 > llvm::MCTargetStreamer::prettyPrintAsm(llvm::MCInstPrinter&, > llvm::raw_ostream&, llvm::MCInst const&, llvm::MCSubtargetInfo const&) > /home/shenyouren/workspace/llvm/lib/MC/MCStreamer.cpp:856:0 > #15 0x00000000031690e2 (anonymous > namespace)::MCAsmStreamer::EmitInstruction(llvm::MCInst const&, > llvm::MCSubtargetInfo const&, bool) > /home/shenyouren/workspace/llvm/lib/MC/MCAsmStreamer.cpp:1752:0 > #16 0x0000000002355fdf > llvm::X86AsmPrinter::EmitAndCountInstruction(llvm::MCInst&) > /home/shenyouren/workspace/llvm/lib/Target/X86/X86MCInstLower.cpp:107:0 > #17 0x0000000002360ae9 > llvm::X86AsmPrinter::EmitInstruction(llvm::MachineInstr const*) > /home/shenyouren/workspace/llvm/lib/Target/X86/X86MCInstLower.cpp:2604:0 > #18 0x000000000292e629 llvm::AsmPrinter::EmitFunctionBody() > /home/shenyouren/workspace/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1086:0 > #19 0x0000000002352908 > llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) > /home/shenyouren/workspace/llvm/lib/Target/X86/X86AsmPrinter.cpp:79:0 > #20 0x0000000002bc6afa > llvm::MachineFunctionPass::runOnFunction(llvm::Function&) > /home/shenyouren/workspace/llvm/lib/CodeGen/MachineFunctionPass.cpp:62:0 > #21 0x000000000307eeac llvm::FPPassManager::runOnFunction(llvm::Function&) > /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1520:0 > #22 0x000000000307f045 llvm::FPPassManager::runOnModule(llvm::Module&) > /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1541:0 > #23 0x000000000307f3c0 (anonymous > namespace)::MPPassManager::runOnModule(llvm::Module&) > /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1597:0 > #24 0x000000000307fad5 llvm::legacy::PassManagerImpl::run(llvm::Module&) > /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1700:0 > #25 0x000000000307fce1 llvm::legacy::PassManager::run(llvm::Module&) > /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1732:0 > #26 0x00000000013e9361 compileModule(char**, llvm::LLVMContext&) > /home/shenyouren/workspace/llvm/tools/llc/llc.cpp:575:0 > #27 0x00000000013e7a6d main > /home/shenyouren/workspace/llvm/tools/llc/llc.cpp:345:0 > #28 0x00007fcc8e669830 __libc_start_main > (/lib/x86_64-linux-gnu/libc.so.6+0x20830) > #29 0x00000000013e5779 _start > (/home/shenyouren/workspace/build-llvm/bin/llc+0x13e5779) > Makefile:25: recipe for target 'obj/simple.s' failed > > I have checked X86ATTInstPrinter::printInstruction(llvm::MCInst const*, > llvm::raw_ostream&) > /home/shenyouren/workspace/build-llvm/lib/Target/X86/X86GenAsmWriter.inc:48204, > and it will invoke printOperand(MI, 2, O); And I guess the BNDCU only have > 2 operand, that's why it failed. > But I don't know how to fix it. > Is there anyone know how to solve this problem? I really appreciate for > any help! > -- > Best Regards. > Youren Shen > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180701/e9abe968/attachment.html>
Craig Topper via llvm-dev
2018-Jul-01 17:52 UTC
[llvm-dev] Using BuildMI to insert Intel MPX instruction BNDCU failed
Also shouldn't, BND2 be a use not a def. The instruction takes a BND register and a GPR as inputs. It's output is to signal #BR if the check fails. ~Craig On Sun, Jul 1, 2018 at 10:41 AM Craig Topper <craig.topper at gmail.com> wrote:> BNDCU shouldn't be printing more than 2 operands. > > On trunk right now, it uses case 4 for the first fragment (operand 1). > Case 1 for the second fragment (a comma and a space). And fragment 2 for > the third fragment (operand 0). > > Are you using trunk or an earlier version? > > ~Craig > > > On Sun, Jul 1, 2018 at 10:14 AM Youren Shen via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hello everyone, I'm a newbie of llvm. I'm trying to insert Intel MPX >> instruction BNDCU with BuildMI. I add my machinefunctionpass >> at addPreEmitPass2. >> Here is the code of insertion: >> >> BuildMI(MBB, MI, DL, TII->get(X86::BNDCU64rr)).addReg(X86::BND2, >> RegState::Define).addReg(X86::R10); >> >> And here is to stack track when I compiler program with modified llc: >> /home/shenyouren/workspace/build-llvm/bin/llc -o obj/simple.s >> obj/simple-opt.bc >> llc: /home/shenyouren/workspace/llvm/include/llvm/ADT/SmallVector.h:154: >> const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >> >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >> >::size_type) const [with T = llvm::MCOperand; <template-parameter-1-2> >> void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >> >::const_reference = const llvm::MCOperand&; >> llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type >> long unsigned int]: Assertion `idx < size()' failed. >> Stack dump: >> 0. Program arguments: /home/shenyouren/workspace/build-llvm/bin/llc >> -o obj/simple.s obj/simple-opt.bc >> 1. Running pass 'Function Pass Manager' on module >> 'obj/simple-opt.bc'. >> 2. Running pass 'X86 Assembly Printer' on function '@main' >> #0 0x0000000003879bdf llvm::sys::PrintStackTrace(llvm::raw_ostream&) >> /home/shenyouren/workspace/llvm/lib/Support/Unix/Signals.inc:398:0 >> #1 0x0000000003879c72 PrintStackTraceSignalHandler(void*) >> /home/shenyouren/workspace/llvm/lib/Support/Unix/Signals.inc:462:0 >> #2 0x0000000003877e5b llvm::sys::RunSignalHandlers() >> /home/shenyouren/workspace/llvm/lib/Support/Signals.cpp:49:0 >> #3 0x0000000003879454 SignalHandler(int) >> /home/shenyouren/workspace/llvm/lib/Support/Unix/Signals.inc:252:0 >> #4 0x00007fcc8f4c9390 __restore_rt >> (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390) >> #5 0x00007fcc8e67e428 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x35428) >> #6 0x00007fcc8e68002a abort (/lib/x86_64-linux-gnu/libc.so.6+0x3702a) >> #7 0x00007fcc8e676bd7 (/lib/x86_64-linux-gnu/libc.so.6+0x2dbd7) >> #8 0x00007fcc8e676c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82) >> #9 0x00000000016b63bb llvm::SmallVectorTemplateCommon<llvm::MCOperand, >> void>::operator[](unsigned long) const >> /home/shenyouren/workspace/llvm/include/llvm/ADT/SmallVector.h:154:0 >> #10 0x00000000016b63bb llvm::MCInst::getOperand(unsigned int) const >> /home/shenyouren/workspace/llvm/include/llvm/MC/MCInst.h:182:0 >> #11 0x00000000026695fd llvm::X86ATTInstPrinter::printOperand(llvm::MCInst >> const*, unsigned int, llvm::raw_ostream&) >> /home/shenyouren/workspace/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp:185:0 >> #12 0x0000000002664c06 >> llvm::X86ATTInstPrinter::printInstruction(llvm::MCInst const*, >> llvm::raw_ostream&) >> /home/shenyouren/workspace/build-llvm/lib/Target/X86/X86GenAsmWriter.inc:48204:0 >> #13 0x0000000002668edc llvm::X86ATTInstPrinter::printInst(llvm::MCInst >> const*, llvm::raw_ostream&, llvm::StringRef, llvm::MCSubtargetInfo const&) >> /home/shenyouren/workspace/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp:89:0 >> #14 0x00000000031d5811 >> llvm::MCTargetStreamer::prettyPrintAsm(llvm::MCInstPrinter&, >> llvm::raw_ostream&, llvm::MCInst const&, llvm::MCSubtargetInfo const&) >> /home/shenyouren/workspace/llvm/lib/MC/MCStreamer.cpp:856:0 >> #15 0x00000000031690e2 (anonymous >> namespace)::MCAsmStreamer::EmitInstruction(llvm::MCInst const&, >> llvm::MCSubtargetInfo const&, bool) >> /home/shenyouren/workspace/llvm/lib/MC/MCAsmStreamer.cpp:1752:0 >> #16 0x0000000002355fdf >> llvm::X86AsmPrinter::EmitAndCountInstruction(llvm::MCInst&) >> /home/shenyouren/workspace/llvm/lib/Target/X86/X86MCInstLower.cpp:107:0 >> #17 0x0000000002360ae9 >> llvm::X86AsmPrinter::EmitInstruction(llvm::MachineInstr const*) >> /home/shenyouren/workspace/llvm/lib/Target/X86/X86MCInstLower.cpp:2604:0 >> #18 0x000000000292e629 llvm::AsmPrinter::EmitFunctionBody() >> /home/shenyouren/workspace/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1086:0 >> #19 0x0000000002352908 >> llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) >> /home/shenyouren/workspace/llvm/lib/Target/X86/X86AsmPrinter.cpp:79:0 >> #20 0x0000000002bc6afa >> llvm::MachineFunctionPass::runOnFunction(llvm::Function&) >> /home/shenyouren/workspace/llvm/lib/CodeGen/MachineFunctionPass.cpp:62:0 >> #21 0x000000000307eeac >> llvm::FPPassManager::runOnFunction(llvm::Function&) >> /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1520:0 >> #22 0x000000000307f045 llvm::FPPassManager::runOnModule(llvm::Module&) >> /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1541:0 >> #23 0x000000000307f3c0 (anonymous >> namespace)::MPPassManager::runOnModule(llvm::Module&) >> /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1597:0 >> #24 0x000000000307fad5 llvm::legacy::PassManagerImpl::run(llvm::Module&) >> /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1700:0 >> #25 0x000000000307fce1 llvm::legacy::PassManager::run(llvm::Module&) >> /home/shenyouren/workspace/llvm/lib/IR/LegacyPassManager.cpp:1732:0 >> #26 0x00000000013e9361 compileModule(char**, llvm::LLVMContext&) >> /home/shenyouren/workspace/llvm/tools/llc/llc.cpp:575:0 >> #27 0x00000000013e7a6d main >> /home/shenyouren/workspace/llvm/tools/llc/llc.cpp:345:0 >> #28 0x00007fcc8e669830 __libc_start_main >> (/lib/x86_64-linux-gnu/libc.so.6+0x20830) >> #29 0x00000000013e5779 _start >> (/home/shenyouren/workspace/build-llvm/bin/llc+0x13e5779) >> Makefile:25: recipe for target 'obj/simple.s' failed >> >> I have checked X86ATTInstPrinter::printInstruction(llvm::MCInst const*, >> llvm::raw_ostream&) >> /home/shenyouren/workspace/build-llvm/lib/Target/X86/X86GenAsmWriter.inc:48204, >> and it will invoke printOperand(MI, 2, O); And I guess the BNDCU only have >> 2 operand, that's why it failed. >> But I don't know how to fix it. >> Is there anyone know how to solve this problem? I really appreciate for >> any help! >> -- >> Best Regards. >> Youren Shen >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180701/26cf2d47/attachment-0001.html>