This patch adds support for the "vector count trailing zeroes", "vector compare not equal" and "vector compare not equal or zero instructions" as well as "scalar count trailing zeroes" instructions. It also changes the vector negation to use XXLNOR (when VSX is enabled) so as not to increase register pressure (previously this was done with a splat immediate of all ones followed by an XXLXOR). This was done because the altivec.h builtins (patch to follow) use vector negation and the use of an additional register for the splat immediate is not optimal.
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Aside from a couple minor comments, this LGTM.
lib/Target/PowerPC/PPCISelLowering.cpp | ||
---|---|---|
219 | Need to update this comment | |
7689 | maybe want to add an llvm_unreachable for the default case. | |
7770 | And here |
Need to update this comment