)]}'
{
  "commit": "d8a9bfb0b39d2d331bd6e587016c779552caaffc",
  "tree": "92f7ab2efb02f5147122c48e5294db5180a06583",
  "parents": [
    "e16f4895b18d4bac812326416dbb774d5b4162ad"
  ],
  "author": {
    "name": "ayrai-gb",
    "email": "ayrai@amd.com",
    "time": "Tue Jul 07 17:26:50 2026 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Jul 07 17:26:50 2026 +0530"
  },
  "message": "[X86] Fix inline asm modifier printing across dialects (#204558)\n\nX86AsmPrinter handles several inline asm operand modifiers differently\ndepending on whether the asm block uses AT\u0026T or Intel syntax.\n\nFor `%a` and `%A`, the scalar/register operand path used AT\u0026T\npunctuation unconditionally. In Intel-dialect inline asm this could\nprint invalid forms such as `(rdi)` for an address operand or `*rdi` for\nan indirect call operand.\n\nFor `%P`, `PrintAsmMemoryOperand` passed `\"disp-only\"` to both the Intel\nand AT\u0026T memory printers, but only the Intel path honored it for\nglobal/symbol displacements with a base register. The AT\u0026T path could\ntherefore print `g(%rdi)` even though `%P` requested displacement-only\noutput.\n\nMake the affected X86 asm-printer paths dialect-aware/consistent:\n- print Intel `%a` register operands as `[reg]`\n- print Intel `%A` register operands without AT\u0026T `*`\n- make AT\u0026T `%P` honor `\"disp-only\"` for global/symbol displacements,\nmatching the existing Intel behavior\n\nFound via @jlebar\u0027s X86 LLVM bug-hunt / FuzzX effort.\n\ncc @jlebar\n\nCo-authored-by: Ayush Rai \u003cyour-email@amd.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "982048c0494301d5541429ce6bdd737f988b3853",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/X86/X86AsmPrinter.cpp",
      "new_id": "f22b89b9b6e96076d4965690e44893cf81f57259",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/X86/X86AsmPrinter.cpp"
    },
    {
      "type": "modify",
      "old_id": "e1aac95a1ff6a9b384124293e1aa37e6bffa3fd5",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/X86/asm-modifier.ll",
      "new_id": "26155f0d28ee31ed94b50b5795f41f1d5889f2d1",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/X86/asm-modifier.ll"
    }
  ]
}
