diff src/cpu/x86/vm/macroAssembler_x86.hpp @ 7477:038dd2875b94

8005419: Improve intrinsics code performance on x86 by using AVX2 Summary: use 256bit vpxor,vptest instructions in String.compareTo() and equals() intrinsics. Reviewed-by: twisti
author kvn
date Tue, 08 Jan 2013 11:30:51 -0800
parents 00af3a3a8df4
children b30b3c2a0cf2 db9981fd3124
line wrap: on
line diff
--- a/src/cpu/x86/vm/macroAssembler_x86.hpp	Mon Jan 07 14:08:28 2013 -0800
+++ b/src/cpu/x86/vm/macroAssembler_x86.hpp	Tue Jan 08 11:30:51 2013 -0800
@@ -1011,6 +1011,10 @@
       Assembler::vxorpd(dst, nds, src, vector256);
   }
 
+  // Simple version for AVX2 256bit vectors
+  void vpxor(XMMRegister dst, XMMRegister src) { Assembler::vpxor(dst, dst, src, true); }
+  void vpxor(XMMRegister dst, Address src) { Assembler::vpxor(dst, dst, src, true); }
+
   // Move packed integer values from low 128 bit to hign 128 bit in 256 bit vector.
   void vinserti128h(XMMRegister dst, XMMRegister nds, XMMRegister src) {
     if (UseAVX > 1) // vinserti128h is available only in AVX2