-
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
Assigning a struct to another static variable struct (Memory<T> below)
public struct Memory<T> : IEquatable<Memory<T>>, IEquatable<ReadOnlyMemory<T>>
{
readonly OwnedMemory<T> _owner;
readonly int _id;
readonly int _index;
readonly int _length;
}Can generate a movs copy
movs qword ptr [rdi],qword ptr [rsi]
movs qword ptr [rdi],qword ptr [rsi]Would this be better as a SSE copy?
movdqu xmm0,xmmword ptr [rsi]
movdqu xmmword ptr [rdi],xmm0As seen in dotnet/corefxlab#1227 (comment)
/cc @mikedn
category:cq
theme:block-opts
skill-level:intermediate
cost:small
impact:medium
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