[SystemZ] Use POPCNT instruction on z196
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Tue, 31 Mar 2015 12:56:33 +0000 (12:56 +0000)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Tue, 31 Mar 2015 12:56:33 +0000 (12:56 +0000)
commitee849734207320ee844a80c065ba2848561694e0
treea0a49cd3b817be56593f54e841b85f20d8f7182f
parent64aa9d8b4cfacd8badb7d121f92af04e9ccbbd45
[SystemZ] Use POPCNT instruction on z196

We already exploit a number of instructions specific to z196,
but not yet POPCNT.  Add support for the population-count
facility, MC support for the POPCNT instruction, CodeGen
support for using POPCNT, and implement the getPopcntSupport
TargetTransformInfo hook.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233689 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
lib/Target/SystemZ/SystemZISelLowering.cpp
lib/Target/SystemZ/SystemZISelLowering.h
lib/Target/SystemZ/SystemZInstrInfo.td
lib/Target/SystemZ/SystemZOperators.td
lib/Target/SystemZ/SystemZProcessors.td
lib/Target/SystemZ/SystemZSubtarget.cpp
lib/Target/SystemZ/SystemZSubtarget.h
lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
lib/Target/SystemZ/SystemZTargetTransformInfo.h
test/CodeGen/SystemZ/ctpop-01.ll [new file with mode: 0644]
test/MC/Disassembler/SystemZ/insns.txt
test/MC/SystemZ/insn-bad.s
test/MC/SystemZ/insn-good-z196.s