Optimize idiv-int/lit for powers of 2.

before:

                   DivideIntByConstant10  32 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
                  DivideIntByConstant100  32 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
    DivideIntByConstant100_HandOptimized  34 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                    DivideIntByConstant2  32 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
                 DivideIntByConstant2048  22 XXXXXXXXXXXXXXXXXXX|||||||
                    DivideIntByConstant8  20 XXXXXXXXXXXXXXXXX||||||||
                   DivideIntByVariable10  21 XXXXXXXXXXXXXXXXXX|||||||
                    DivideIntByVariable2  21 XXXXXXXXXXXXXXXXXX|||||||

after:

                               benchmark  ns logarithmic runtime
                   DivideIntByConstant10  32 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                  DivideIntByConstant100  32 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    DivideIntByConstant100_HandOptimized  33 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                    DivideIntByConstant2  11 XXXXXXXXX|||||||||||
                 DivideIntByConstant2048  13 XXXXXXXXXXX|||||||||||
                    DivideIntByConstant8  13 XXXXXXXXXXX|||||||||||
                   DivideIntByVariable10  21 XXXXXXXXXXXXXXXXXXX|||||||
                    DivideIntByVariable2  22 XXXXXXXXXXXXXXXXXXXX||||||

Bug: 2614702
Change-Id: I9dde73d80580446a362cdcc9b82959a4b6bfb384
1 file changed