[Issue 4046] [CTFE] std.intrinsic

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Sep 22 10:42:56 PDT 2011


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


Dmitry Olshansky <dmitry.olsh at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dmitry.olsh at gmail.com


--- Comment #2 from Dmitry Olshansky <dmitry.olsh at gmail.com> 2011-09-22 10:42:25 PDT ---
(In reply to comment #1)
> 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.

Damn, and I used them at heart of important loops in FReD ....
Thanks, I'm getting rid of them ASAP %)
This should be probably mentioned somewhere, and then there are these
problematic bsr/bsf you mentioned before.

> 
> 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