[AArch64][SVE] Asm: Data-dependent loop predicate partitioning instructions.
authorSander de Smalen <sander.desmalen@arm.com>
Sat, 28 Jul 2018 14:04:52 +0000 (14:04 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Sat, 28 Jul 2018 14:04:52 +0000 (14:04 +0000)
commit8a22271900d90d9ef084a89fb87339b720c336a6
treebde4747386ff6c58bcb61a79a39d59dba54ebaf1
parent6f476979f909050d73e79b44c26ebdb9d59cdc3c
[AArch64][SVE] Asm: Data-dependent loop predicate partitioning instructions.

This patch adds support for instructions that partition a predicate
based on data-dependent termination conditions in a loop.

  BRKA      Break after the first true condition
  BRKAS     Break after the first true condition, setting condition flags
  BRKB      Break before the first true condition
  BRKBS     Break before the first true condition, setting condition flags

  BRKPA     Break after the first true condition, propagating from the
            previous partition
  BRKPAS    Break after the first true condition, propagating from the
            previous partition, setting condition flags
  BRKPB     Break before the first true condition, propagating from the
            previous partition
  BRKPBS    Break before the first true condition, propagating from the
            previous partition, setting condition flags

  BRKN      Propagate break to next partition
  BKRNS     Propagate break to next partition, setting condition flags

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338196 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
lib/Target/AArch64/AArch64SVEInstrInfo.td
lib/Target/AArch64/SVEInstrFormats.td
test/MC/AArch64/SVE/brka-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brka.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkas-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkas.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkb-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkb.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkbs-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkbs.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkn-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkn.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkns-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkns.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkpa-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkpa.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkpas-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkpas.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkpb-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkpb.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkpbs-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/brkpbs.s [new file with mode: 0644]