[PATCH] Add LLVM support for remaining integer divide and permute instructions from ISA 2.06

Nemanja Ivanovic nemanja.i.ibm at gmail.com
Tue Mar 17 20:05:32 PDT 2015


Hi hfinkel, wschmidt, kbarton, echristo,

This is the back end portion of Review D8398. Similarly to the front end, the back end got flags for checking if the target implements ISA 2.06 and up (and whether it is a Power7 and up CPU), etc.

The integer divide instructions that were already implemented were changed slightly since both the record form and the non-record form were specified as "First" and "Cracked". However, Book IV states that the non-record forms are not cracked. So I have changed the multiclass to specify this.
Finally, the record form instructions are implemented only for [inline] assembly and no builtins were provided. This is consistent with GCC. As noted in the front end review, the -mpopcntd option has no effect on these (in contrast with GCC).

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D8406

Files:
  include/llvm/IR/IntrinsicsPowerPC.td
  lib/Target/PowerPC/PPCInstr64Bit.td
  lib/Target/PowerPC/PPCInstrInfo.td
  lib/Target/PowerPC/PPCSubtarget.cpp
  lib/Target/PowerPC/PPCSubtarget.h
  lib/Target/PowerPC/README.txt
  test/CodeGen/PowerPC/div-e-32.ll
  test/CodeGen/PowerPC/div-e-all.ll
  test/MC/Disassembler/PowerPC/ppc64-encoding.txt
  test/MC/PowerPC/ppc64-encoding.s

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8406.22152.patch
Type: text/x-patch
Size: 18272 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150318/67062031/attachment.bin>


More information about the llvm-commits mailing list