diff options
author | Palmer <palmercox@gmail.com> | 2025-01-25 23:30:55 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-25 20:30:55 -0800 |
commit | 44b85743498a88cb9fd1281bdfac47c93fcf6fee (patch) | |
tree | 6d1f355841d7725e28a7366db25cfeba75cea33d /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 6bb70a94da1b5c53143537f1d2e96602a74331ca (diff) | |
download | llvm-44b85743498a88cb9fd1281bdfac47c93fcf6fee.zip llvm-44b85743498a88cb9fd1281bdfac47c93fcf6fee.tar.gz llvm-44b85743498a88cb9fd1281bdfac47c93fcf6fee.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions