[X86] Handle MO_ConstantPoolIndex in X86AsmPrinter::PrintOperand
authorCraig Topper <craig.topper@gmail.com>
Sun, 10 Nov 2019 01:58:56 +0000 (17:58 -0800)
committerCraig Topper <craig.topper@gmail.com>
Sun, 10 Nov 2019 02:01:26 +0000 (18:01 -0800)
Fixes PR43952

llvm/lib/Target/X86/X86AsmPrinter.cpp
llvm/test/CodeGen/X86/pr43952.ll [new file with mode: 0644]

index cc1e79d..de13d59 100644 (file)
@@ -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 (file)
index 0000000..9c6b511
--- /dev/null
@@ -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
+}