Mercurial > hg > truffle
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); |