comparison src/cpu/x86/vm/assembler_x86.hpp @ 2262:6bbaedb03534

7016474: string compare intrinsic improvements Reviewed-by: kvn
author never
date Wed, 09 Feb 2011 15:02:23 -0800
parents 28bf941f445e
children 41d4973cf100
comparison
equal deleted inserted replaced
2261:1957c1478794 2262:6bbaedb03534
1275 void prefetcht0(Address src); 1275 void prefetcht0(Address src);
1276 void prefetcht1(Address src); 1276 void prefetcht1(Address src);
1277 void prefetcht2(Address src); 1277 void prefetcht2(Address src);
1278 void prefetchw(Address src); 1278 void prefetchw(Address src);
1279 1279
1280 // POR - Bitwise logical OR
1281 void por(XMMRegister dst, XMMRegister src);
1282
1280 // Shuffle Packed Doublewords 1283 // Shuffle Packed Doublewords
1281 void pshufd(XMMRegister dst, XMMRegister src, int mode); 1284 void pshufd(XMMRegister dst, XMMRegister src, int mode);
1282 void pshufd(XMMRegister dst, Address src, int mode); 1285 void pshufd(XMMRegister dst, Address src, int mode);
1283 1286
1284 // Shuffle Packed Low Words 1287 // Shuffle Packed Low Words
2292 XMMRegister vec, Register tmp); 2295 XMMRegister vec, Register tmp);
2293 2296
2294 // Compare strings. 2297 // Compare strings.
2295 void string_compare(Register str1, Register str2, 2298 void string_compare(Register str1, Register str2,
2296 Register cnt1, Register cnt2, Register result, 2299 Register cnt1, Register cnt2, Register result,
2297 XMMRegister vec1, XMMRegister vec2); 2300 XMMRegister vec1);
2298 2301
2299 // Compare char[] arrays. 2302 // Compare char[] arrays.
2300 void char_arrays_equals(bool is_array_equ, Register ary1, Register ary2, 2303 void char_arrays_equals(bool is_array_equ, Register ary1, Register ary2,
2301 Register limit, Register result, Register chr, 2304 Register limit, Register result, Register chr,
2302 XMMRegister vec1, XMMRegister vec2); 2305 XMMRegister vec1, XMMRegister vec2);