www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 10714] New: inlining issue with core.bitop.bt no longer being an intrinsic

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=10714

           Summary: inlining issue with core.bitop.bt no longer being an
                    intrinsic
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: druntime
        AssignedTo: nobody puremagic.com
        ReportedBy: code dawg.eu



With https://github.com/D-Programming-Language/druntime/pull/388 core.bitop.bt
was changed from an intrinsic to a function and relies on the optimizer to
recognize the pattern. While that work inlining the function call might fail
resulting in a net performance drawback.
I think we should keep the pattern recognition but to core.bitop.bt back into
an intrinsic.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 25 2013
parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=10714


bearophile_hugs eml.cc changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bearophile_hugs eml.cc





 I think we should keep the pattern recognition but to core.bitop.bt back into
 an intrinsic.
For the bit rotations the situation is even worse (see Issue 5728 and Issue 6829 ), because in Phobos we don't even have the function that contains the recognized pattern, so it's kind of easy for programmers to write the pattern wrong or for compilers to miss the pattern. (Currently both dmd and ldc2 don't recognize some rotations.) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 25 2013