This is one of the first steps at moving to replace target-dependent
authorJoel Jones <joel_k_jones@apple.com>
Fri, 13 Jul 2012 23:25:25 +0000 (23:25 +0000)
committerJoel Jones <joel_k_jones@apple.com>
Fri, 13 Jul 2012 23:25:25 +0000 (23:25 +0000)
commit06a6a300c5f7100e4665667c689369e078d2ad59
treef521fdce2377d82a92551246d1519630814ca136
parentcb41e5f6f28da51e37eb072e4bf69143fe29dacc
This is one of the first steps at moving to replace target-dependent
intrinsics with target-indepdent intrinsics.  The first instruction(s) to be
handled are the vector versions of count leading zeros (ctlz).

The changes here are to clang so that it generates a target independent
vector ctlz when it sees an ARM dependent vector ctlz.  The changes in llvm
are to match the target independent vector ctlz and in VMCore/AutoUpgrade.cpp
to update any existing bc files containing ARM dependent vector ctlzs with
target-independent ctlzs.  There are also changes to an existing test case in
llvm for ARM vector count instructions and a new test for the bitcode upgrade.

<rdar://problem/11831778>

There is deliberately no test for the change to clang, as so far as I know, no
consensus has been reached regarding how to test neon instructions in clang;
q.v. <rdar://problem/8762292>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160200 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrNEON.td
lib/VMCore/AutoUpgrade.cpp
test/Bitcode/arm32_neon_vcnt_upgrade.ll [new file with mode: 0644]
test/CodeGen/ARM/vcnt.ll