[all-commits] [llvm/llvm-project] 44b857: [AArch64] Fix movk parsing with an .equ operand (#...

Palmer via All-commits all-commits at lists.llvm.org
Sat Jan 25 20:31:16 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 44b85743498a88cb9fd1281bdfac47c93fcf6fee
      https://github.com/llvm/llvm-project/commit/44b85743498a88cb9fd1281bdfac47c93fcf6fee
  Author: Palmer <palmercox at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/basic-a64-instructions.s

  Log Message:
  -----------
  [AArch64] Fix movk parsing with an .equ operand (#124428)

Prior to 5da801386c2b820a4596fc6d8da6b5f4a6da94b4, this code worked:

    .equ    p4_low_b0, 0x0000
    movk    x1, p4_low_b0, lsl 16

(The code above is from the isa-l project - I discovered this issue
while trying to compile it with clang 19 on MacOS on aarch64)

That commit fixed a different bug, but accidentally broke the case where
the second operand to movk is not a literal.

In 442f066fc464e953b7783230e95ccf2a67ebfb38, a fix was applied to handle
the case where the second operand is a value like "(Val) >> 16".
However, that didn't appear to fix the test case in this commit. In this
commit, we extend the change to handle the case where the second operand
is a identifier defined by .equ.

Fixes #124427



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list