[Issue 4046] [CTFE] std.intrinsic

2015-06-09 Thread via Digitalmars-d-bugs
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

2011-09-24 Thread d-bugmail
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

2011-09-22 Thread d-bugmail
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

2011-09-22 Thread d-bugmail
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: ---