Fix a LSH width odditity

It turns out that Chisel can do whatever it wants with LSH and widths.
This patch fixes the problem by just defeating LLVM's width checking.

Note that there's a bit of trouble here in that I don't actually
understand what's going on with Chisel's width inference for some temp
nodes.  I've marked this as LARGE for now so it just doesn't run...