This patch uses a portion of https://reviews.llvm.org/D20310 that removes the VSHRC register class. The reason for this is that these instructions have a similar need for the changes to the register classes and the other revision is on hold for now. When this revision is committed, the other one will simply be an addition of the patterns for the instructions.
The new instructions are useful for a few purposes:
- Int to Fp conversions of 1 or 2-byte values loaded from memory
- Building vectors of 1 or 2-byte integers with values loaded from memory
- Storing individual 1 or 2-byte elements from integer vectors
This patch implements all of those uses.
This should change to C++-style comments (i.e., //) as per the comment-formatting guidelines: http://llvm.org/docs/CodingStandards.html#comment-formatting