added haswell optimized kernel