comparison src/cpu/x86/vm/assembler_x86.hpp @ 681:fbde8ec322d0

6761600: Use sse 4.2 in intrinsics Summary: Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals. Reviewed-by: kvn, never, jrose
author cfang
date Tue, 31 Mar 2009 14:07:08 -0700
parents d0994e5bebce
children e5b0439ef4ae
comparison
equal deleted inserted replaced
676:d3676b4cb78c 681:fbde8ec322d0
1224 void orq(Address dst, int32_t imm32); 1224 void orq(Address dst, int32_t imm32);
1225 void orq(Register dst, int32_t imm32); 1225 void orq(Register dst, int32_t imm32);
1226 void orq(Register dst, Address src); 1226 void orq(Register dst, Address src);
1227 void orq(Register dst, Register src); 1227 void orq(Register dst, Register src);
1228 1228
1229 // SSE4.2 string instructions
1230 void pcmpestri(XMMRegister xmm1, XMMRegister xmm2, int imm8);
1231 void pcmpestri(XMMRegister xmm1, Address src, int imm8);
1232
1229 void popl(Address dst); 1233 void popl(Address dst);
1230 1234
1231 #ifdef _LP64 1235 #ifdef _LP64
1232 void popq(Address dst); 1236 void popq(Address dst);
1233 #endif 1237 #endif
1257 void pshuflw(XMMRegister dst, XMMRegister src, int mode); 1261 void pshuflw(XMMRegister dst, XMMRegister src, int mode);
1258 void pshuflw(XMMRegister dst, Address src, int mode); 1262 void pshuflw(XMMRegister dst, Address src, int mode);
1259 1263
1260 // Shift Right Logical Quadword Immediate 1264 // Shift Right Logical Quadword Immediate
1261 void psrlq(XMMRegister dst, int shift); 1265 void psrlq(XMMRegister dst, int shift);
1266
1267 // Logical Compare Double Quadword
1268 void ptest(XMMRegister dst, XMMRegister src);
1269 void ptest(XMMRegister dst, Address src);
1262 1270
1263 // Interleave Low Bytes 1271 // Interleave Low Bytes
1264 void punpcklbw(XMMRegister dst, XMMRegister src); 1272 void punpcklbw(XMMRegister dst, XMMRegister src);
1265 1273
1266 void pushl(Address src); 1274 void pushl(Address src);