Support for narrow operands in "dangerous" operations.

This is a revert^2 of commit 636e870d55c1739e2318c2180fac349683dbfa97.

Rationale:
Under strict conditions, even operations that are sensitive
to higher order bits can vectorize by inspecting the operands
carefully. This enables more vectorization, as demonstrated
by the removal of quite a few TODOs.

Test: test-art-target, test-art-host
Change-Id: Ic2684f771d2e36df10432286198533284acaf472
15 files changed