Mercurial > hg > truffle
diff src/cpu/x86/vm/assembler_x86.cpp @ 20311:b1bc1af04c6e
8052081: Optimize generated by C2 code for Intel's Atom processor
Summary: Allow to execute vectorization and crc32 optimization on Atom. Enable UseFPUForSpilling by default on x86.
Reviewed-by: roland
author | kvn |
---|---|
date | Tue, 05 Aug 2014 15:02:10 -0700 |
parents | 78bbf4d43a14 |
children | 166d744df0de |
line wrap: on
line diff
--- a/src/cpu/x86/vm/assembler_x86.cpp Tue Aug 12 15:17:46 2014 +0000 +++ b/src/cpu/x86/vm/assembler_x86.cpp Tue Aug 05 15:02:10 2014 -0700 @@ -3854,6 +3854,15 @@ } // Carry-Less Multiplication Quadword +void Assembler::pclmulqdq(XMMRegister dst, XMMRegister src, int mask) { + assert(VM_Version::supports_clmul(), ""); + int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66, VEX_OPCODE_0F_3A); + emit_int8(0x44); + emit_int8((unsigned char)(0xC0 | encode)); + emit_int8((unsigned char)mask); +} + +// Carry-Less Multiplication Quadword void Assembler::vpclmulqdq(XMMRegister dst, XMMRegister nds, XMMRegister src, int mask) { assert(VM_Version::supports_avx() && VM_Version::supports_clmul(), ""); bool vector256 = false;