Adds the ability to register polymorphic LLVM overrides involving vector types. (Previously, the polymorphic LLVM machinery was able to handle overrides that vary over a single integer type, but they did not handle vector types with varying sizes.)
Adds polymorphic overrides for all of the integer-related llvm.vector.reduce.* intrinsics, which work over any vector or integer size.
Adds a T1177.c test case to the crux-llvm test suite which provides some assurance that the crucible-llvm semantics work as expected.
This patch:
llvm.vector.reduce.*
intrinsics, which work over any vector or integer size.T1177.c
test case to thecrux-llvm
test suite which provides some assurance that thecrucible-llvm
semantics work as expected.Fixes https://github.com/GaloisInc/crucible/issues/1177.