[all-commits] [llvm/llvm-project] 798a89: [SystemZ] Fix address operand parsing incompatibil...

Ulrich Weigand via All-commits all-commits at lists.llvm.org
Fri Nov 15 08:39:38 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 798a8941824dc2f83a169812e0edf7971d5f772b
      https://github.com/llvm/llvm-project/commit/798a8941824dc2f83a169812e0edf7971d5f772b
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-11-15 (Fri, 15 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/test/MC/SystemZ/insn-bad-z13.s
    M llvm/test/MC/SystemZ/insn-good-z13.s
    M llvm/test/MC/SystemZ/insn-good.s
    M llvm/test/MC/SystemZ/tokens.s

  Log Message:
  -----------
  [SystemZ] Fix address operand parsing incompatibilities with GAS

The LLVM AsmParser showed different behavior compared to GAS when
parsing address operands in the following two ways:

- If the address operand only has a single register (no comma),
  it is always interpreted as base register by GAS, even in the
  vector-index case (vgef etc.)  This means the following is
  actually incorrect usage, as the base cannot be a vector
  register: vgef %v0, 0(%v1), 0.

- GAS allows specifying a missing base register by using a
  comma after the first register, e.g. vgef %v0, 0(%v1,), 0.



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