Refactor to handle all icmp constant expressions

Another few showed up in one of Chris' kernels
Handle constant SDiv expressions
Use SIMD translations in constants

Constants can be vectors too
Merge branch 'master' into llvm-trunk