[PATCH] D47716: [AArch64][SVE] Asm: Support for saturating INC/DEC (32bit scalar) instructions.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 4 06:49:31 PDT 2018


sdesmalen created this revision.
sdesmalen added reviewers: rengolin, fhahn, SjoerdMeijer, samparker.
Herald added a reviewer: javed.absar.
Herald added subscribers: rkruppe, kristof.beyls, tschuett.

The variants added by this patch are:

- SQINC     signed increment, e.g. sqinc x0, w0, all, mul #4
- SQDEC     signed decrement, e.g. sqdec x0, w0, all, mul #4
- UQINC   unsigned increment, e.g. uqinc w0, all, mul #4
- UQDEC   unsigned decrement, e.g. uqdec w0, all, mul #4

This patch includes asmparser changes to parse a GPR64 as a GPR32 in
order to satisfy the constraint check:

  x0 == GPR64(w0)

in:

  sqinc x0, w0, all, mul #4
         ^___^ (must match)


https://reviews.llvm.org/D47716

Files:
  lib/Target/AArch64/AArch64InstrFormats.td
  lib/Target/AArch64/AArch64SVEInstrInfo.td
  lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
  lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h
  lib/Target/AArch64/SVEInstrFormats.td
  test/MC/AArch64/SVE/sqdecb-diagnostics.s
  test/MC/AArch64/SVE/sqdecb.s
  test/MC/AArch64/SVE/sqdecd-diagnostics.s
  test/MC/AArch64/SVE/sqdecd.s
  test/MC/AArch64/SVE/sqdech-diagnostics.s
  test/MC/AArch64/SVE/sqdech.s
  test/MC/AArch64/SVE/sqdecw-diagnostics.s
  test/MC/AArch64/SVE/sqdecw.s
  test/MC/AArch64/SVE/sqincb-diagnostics.s
  test/MC/AArch64/SVE/sqincb.s
  test/MC/AArch64/SVE/sqincd-diagnostics.s
  test/MC/AArch64/SVE/sqincd.s
  test/MC/AArch64/SVE/sqinch-diagnostics.s
  test/MC/AArch64/SVE/sqinch.s
  test/MC/AArch64/SVE/sqincw-diagnostics.s
  test/MC/AArch64/SVE/sqincw.s
  test/MC/AArch64/SVE/uqdecb-diagnostics.s
  test/MC/AArch64/SVE/uqdecb.s
  test/MC/AArch64/SVE/uqdecd-diagnostics.s
  test/MC/AArch64/SVE/uqdecd.s
  test/MC/AArch64/SVE/uqdech-diagnostics.s
  test/MC/AArch64/SVE/uqdech.s
  test/MC/AArch64/SVE/uqdecw-diagnostics.s
  test/MC/AArch64/SVE/uqdecw.s
  test/MC/AArch64/SVE/uqincb-diagnostics.s
  test/MC/AArch64/SVE/uqincb.s
  test/MC/AArch64/SVE/uqincd-diagnostics.s
  test/MC/AArch64/SVE/uqincd.s
  test/MC/AArch64/SVE/uqinch-diagnostics.s
  test/MC/AArch64/SVE/uqinch.s
  test/MC/AArch64/SVE/uqincw-diagnostics.s
  test/MC/AArch64/SVE/uqincw.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47716.149750.patch
Type: text/x-patch
Size: 61390 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180604/bd2ed98c/attachment-0001.bin>


More information about the llvm-commits mailing list