[llvm] c275173 - [X86] Handle MO_ConstantPoolIndex in X86AsmPrinter::PrintOperand

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 9 18:16:49 PST 2019


Author: Craig Topper
Date: 2019-11-09T18:01:26-08:00
New Revision: c2751737e58c86a9c90bc8d6246893abcb06c3ca

URL: https://github.com/llvm/llvm-project/commit/c2751737e58c86a9c90bc8d6246893abcb06c3ca
DIFF: https://github.com/llvm/llvm-project/commit/c2751737e58c86a9c90bc8d6246893abcb06c3ca.diff

LOG: [X86] Handle MO_ConstantPoolIndex in X86AsmPrinter::PrintOperand

Fixes PR43952

Added: 
    llvm/test/CodeGen/X86/pr43952.ll

Modified: 
    llvm/lib/Target/X86/X86AsmPrinter.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp
index cc1e79d7a292..de13d59bca99 100644
--- a/llvm/lib/Target/X86/X86AsmPrinter.cpp
+++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp
@@ -218,6 +218,7 @@ void X86AsmPrinter::PrintOperand(const MachineInstr *MI, unsigned OpNo,
     O << MO.getImm();
     return;
 
+  case MachineOperand::MO_ConstantPoolIndex:
   case MachineOperand::MO_GlobalAddress: {
     if (IsATT)
       O << '$';

diff  --git a/llvm/test/CodeGen/X86/pr43952.ll b/llvm/test/CodeGen/X86/pr43952.ll
new file mode 100644
index 000000000000..9c6b5113669a
--- /dev/null
+++ b/llvm/test/CodeGen/X86/pr43952.ll
@@ -0,0 +1,16 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-apple-macosx10.14.0 | FileCheck %s
+
+define void @x() {
+; CHECK-LABEL: x:
+; CHECK:       ## %bb.0: ## %start
+; CHECK-NEXT:    ## InlineAsm Start
+; CHECK-EMPTY:
+; CHECK-NEXT:    vpbroadcastq {{.*}}(%rip), %zmm0 {%k1}
+; CHECK-EMPTY:
+; CHECK-NEXT:    ## InlineAsm End
+; CHECK-NEXT:    retq
+start:
+  tail call void asm sideeffect inteldialect "vpbroadcastq  zmm0{k1}, $0", "m,~{dirflag},~{fpsr},~{flags}"(i64 123)
+  ret void
+}


        


More information about the llvm-commits mailing list