[BPF] Fix assembly parsing errors for atomic_fetch_* instructions
authorEduard Zingerman <eddyz87@gmail.com>
Mon, 3 Apr 2023 02:05:23 +0000 (05:05 +0300)
committerEduard Zingerman <eddyz87@gmail.com>
Tue, 4 Apr 2023 21:55:32 +0000 (00:55 +0300)
commitd0d1431ab1c88dd2fb8c09ae28909da3fb5f3a57
treed59d767e6818e1268d66978e97afc14b90e06cde
parent8bfb2b6d771ce1aa817b621bc922c1ab92eda034
[BPF] Fix assembly parsing errors for atomic_fetch_* instructions

Fixes BPF assembler parsing errors for the following instructions:
- atomic_fetch_add
- atomic_fetch_and
- atomic_fetch_xor
- atomic_fetch_or
- cmpxchg32_32
- cmpxchg_64
- xchg32_32
- xchg_64

Also add a test to verify that all instructions could be assembled and disassembled.

Differential Revision: https://reviews.llvm.org/D147421
llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
llvm/test/CodeGen/BPF/assembler-disassembler.s [new file with mode: 0644]