[Issue 4046] [CTFE] std.intrinsic
https://issues.dlang.org/show_bug.cgi?id=4046 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Version|D1 D2 |D2 --
[Issue 4046] [CTFE] std.intrinsic
http://d.puremagic.com/issues/show_bug.cgi?id=4046 bearophile_h...@eml.cc changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WONTFIX --- Comment #3 from bearophile_h...@eml.cc 2011-09-24 18:29:33 PDT --- (In reply to comment #1) 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. OK, then I close this But I suggest you to open an enhancement request that asks to deprecate the useless/bad intrinsics :-) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4046] [CTFE] std.intrinsic
http://d.puremagic.com/issues/show_bug.cgi?id=4046 --- Comment #1 from Don clugd...@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: ---
[Issue 4046] [CTFE] std.intrinsic
http://d.puremagic.com/issues/show_bug.cgi?id=4046 Dmitry Olshansky dmitry.o...@gmail.com changed: What|Removed |Added CC||dmitry.o...@gmail.com --- Comment #2 from Dmitry Olshansky dmitry.o...@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: ---