OSDN Git Service

[AArch64][SVE] Asm: Support for WHILE(LE|LO|LS|LT) instructions.
authorSander de Smalen <sander.desmalen@arm.com>
Sun, 29 Jul 2018 08:51:08 +0000 (08:51 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Sun, 29 Jul 2018 08:51:08 +0000 (08:51 +0000)
commit11c523d2b15bc7f7546a99fffa7255a0202b63a9
tree87c65c7fbb391de13d6dd6e4995c47a5ae32ef7e
parent32d3bbcc6c7c0499f027154a417d2312715ea8a4
[AArch64][SVE] Asm: Support for WHILE(LE|LO|LS|LT) instructions.

The WHILE instructions generate a predicate that is true while the
comparison of the first scalar operand (incremented for each predicate
element) with the second scalar operand is true and false thereafter.

  WHILELE  While incrementing signed scalar less than or equal to scalar
  WHILELO  While incrementing unsigned scalar lower than scalar
  WHILELS  While incrementing unsigned scalar lower than or same as scalar
  WHILELT  While incrementing signed scalar less than scalar

e.g.

  whilele  p0.s, x0, x1

  generates predicate p0 (for 32bit elements) by incrementing
  (signed) x0 and comparing that vector to splat(x1).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338211 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64SVEInstrInfo.td
lib/Target/AArch64/SVEInstrFormats.td
test/MC/AArch64/SVE/whilele-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/whilele.s [new file with mode: 0644]
test/MC/AArch64/SVE/whilelo-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/whilelo.s [new file with mode: 0644]
test/MC/AArch64/SVE/whilels-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/whilels.s [new file with mode: 0644]
test/MC/AArch64/SVE/whilelt-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/whilelt.s [new file with mode: 0644]