-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Open
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionsoptimizationtenet-performancePerformance related issuePerformance related issue
Milestone
Description
LegacyJIT-x64 can unroll some loops and transform something like
for (int i = 0; i < 1024; i++)
Foo(i);
to something like
for (int i = 0; i < 1024; i += 4)
{
Foo(i);
Foo(i + 1);
Foo(i + 2);
Foo(i + 3);
}
Also LegacyJIT-x64 can transform small loops like
for (int i = 0; i < 4; i++)
Foo(i);
to
Foo(0);
Foo(1);
Foo(2);
Foo(3);
I like this feature because it can increase performance in some cases.
Is it possible to implement loop unrolling in RyuJIT?
See also:
category:cq
theme:loop-opt
skill-level:expert
cost:large
hez2010, HFadeel, Daniel-Svensson, AmrAlSayed0, Enderlook and 1 more
Metadata
Metadata
Assignees
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionsoptimizationtenet-performancePerformance related issuePerformance related issue