[Issue 4046] [CTFE] std.intrinsic

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Sep 22 06:28:04 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=4046



--- Comment #1 from Don <clugdbug at yahoo.com.au> 2011-09-22 06:27:33 PDT ---
I'm not sure why the btXX functions (bt, btc, btr, etc) exist at all.
Although they are a single instruction, they are MUCH slower than the
equivalent code using shifts or AND/OR/XOR.
For example, on Core i7 (Sandy Bridge), with a memory operand, they take 6
clock cycles!!!! You can execute 24 integer instructions in that time. On AMD
K10, they're even slower. On Pentium 4 they have a latency of EIGHTEEN clock
cycles. They're even slow on VIA processors as well -- they're not good
anywhere.

I think they should be completely removed. There's a case for the intrinsics
mentioned in bug 5703, but I think this should be a WONTFIX. To support them
would just encourage slow, non-portable code.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list