-
Notifications
You must be signed in to change notification settings - Fork 5.4k
.unaligned prefix ignored on initblk and cpblk #5236
Copy link
Copy link
Closed
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/additionshelp wanted[up-for-grabs] Good issue for external contributors[up-for-grabs] Good issue for external contributorsoptimizationtenet-performancePerformance related issuePerformance related issue
Milestone
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/additionshelp wanted[up-for-grabs] Good issue for external contributors[up-for-grabs] Good issue for external contributorsoptimizationtenet-performancePerformance related issuePerformance related issue
Type
Fields
Give feedbackNo fields configured for issues without a type.
Strictly speaking the JIT needs to make sure to generate references that are aligned with respect to the byte size specified by any unaligned prefix on initblk and cpblk. Today's implemented ignores them.
For some architectures, generating unaligned references may cause execution faults at runtime. For others, they can be less efficient than aligned references. At the moment all the targets RyuJIT supports do not require this for correctness, but might benefit on the performance side, especially for large block operations.
The MC++ compiler does generate these block operations today with unaligned prefixes to capture the original access size when vectorizing array initialization loops to block set operations (initblk).
category:correctness
theme:msil
skill-level:intermediate
cost:small