Mercurial > hg > truffle
diff src/cpu/x86/vm/assembler_x86.hpp @ 775:93c14e5562c4
6823354: Add intrinsics for {Integer,Long}.{numberOfLeadingZeros,numberOfTrailingZeros}()
Summary: These methods can be instrinsified by using bit scan, bit test, and population count instructions.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Wed, 06 May 2009 00:27:52 -0700 |
parents | e5b0439ef4ae |
children | 62001a362ce9 |
line wrap: on
line diff
--- a/src/cpu/x86/vm/assembler_x86.hpp Tue May 05 11:02:10 2009 -0700 +++ b/src/cpu/x86/vm/assembler_x86.hpp Wed May 06 00:27:52 2009 -0700 @@ -757,6 +757,14 @@ void andpd(XMMRegister dst, Address src); void andpd(XMMRegister dst, XMMRegister src); + void bsfl(Register dst, Register src); + void bsrl(Register dst, Register src); + +#ifdef _LP64 + void bsfq(Register dst, Register src); + void bsrq(Register dst, Register src); +#endif + void bswapl(Register reg); void bswapq(Register reg); @@ -1061,6 +1069,12 @@ void lock(); + void lzcntl(Register dst, Register src); + +#ifdef _LP64 + void lzcntq(Register dst, Register src); +#endif + enum Membar_mask_bits { StoreStore = 1 << 3, LoadStore = 1 << 2,