[PATCH] D63474: [ARM] Comply with rules on ARMv8-A thumb mode partial deprecation of IT.

Huihui Zhang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 17 22:00:15 PDT 2019


huihuiz created this revision.
huihuiz added reviewers: efriedma, lebedev.ri, t.p.northover, jmolloy, aemerson, compnerd, stoklund.
Herald added subscribers: hiraditya, kristof.beyls, javed.absar.
Herald added a project: LLVM.

When identifing instructions that can be folded into a MOVCC instruction,
checking for a predicate operand is not enough, also need to check for
thumb2 function, with restrict-IT, is the machine instruction eligible for
ARMv8 IT or not.

Notes in ARMv8-A Architecture Reference Manual, section "Partial deprecation of IT"

  https://usermanual.wiki/Pdf/ARM20Architecture20Reference20ManualARMv8.1667877052.pdf

"ARMv8-A deprecates some uses of the T32 IT instruction. All uses of IT that apply to
instructions other than a single subsequent 16-bit instruction from a restricted set
are deprecated, as are explicit references to the PC within that single 16-bit
instruction. This permits the non-deprecated forms of IT and subsequent instructions
to be treated as a single 32-bit conditional instruction."


Repository:
  rL LLVM

https://reviews.llvm.org/D63474

Files:
  llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  llvm/lib/Target/ARM/ARMBaseInstrInfo.h
  llvm/test/CodeGen/ARM/2014-08-04-muls-it.ll
  llvm/test/CodeGen/ARM/CGP/arm-cgp-icmps.ll
  llvm/test/CodeGen/ARM/CGP/arm-cgp-signed-icmps.ll
  llvm/test/CodeGen/ARM/arm-and-tst-peephole.ll
  llvm/test/CodeGen/ARM/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
  llvm/test/CodeGen/ARM/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
  llvm/test/CodeGen/Thumb2/v8_deprecate_IT.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63474.205250.patch
Type: text/x-patch
Size: 11465 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190618/6e84c691/attachment.bin>


More information about the llvm-commits mailing list