Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize scalar conversions with AVX512 #84384

Merged
merged 41 commits into from
Jul 16, 2023
Merged
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
7d764be
fixing the JITDbl2Ulng helper function. The new AVX512 instruction vc…
khushal1996 May 9, 2023
f50408b
Making changes to the library test case expected output based on the …
khushal1996 May 10, 2023
f018095
Fixing the JITDbl2Ulng helper function. Also making sure that we are …
khushal1996 May 12, 2023
ffe97cd
reverting jitformat
khushal1996 May 12, 2023
a8ee861
Adding a truncate function to the Dbl2Ulng helper to make sure we avo…
khushal1996 May 15, 2023
bbd8a8b
Adding code to handle vectorized conversion for float/double to/from …
khushal1996 May 16, 2023
a21a077
reverting changes for float to ulong
khushal1996 May 16, 2023
1e3415a
enabling float to ulong conversion
khushal1996 May 16, 2023
c788c67
Making change to set w1 bit for evex
khushal1996 May 17, 2023
fbb2a90
merging with main. Picking up hwintrinsiclistxarh from main
khushal1996 May 18, 2023
9fece01
jit format
khushal1996 May 18, 2023
b40cd8e
Splitting vcvttss2usi to vcvttss2usi32 and vcvttss2usi64. Also adding…
khushal1996 May 18, 2023
710026e
undoing jitformat changes due to merge error
khushal1996 May 18, 2023
75e6acf
removing unused code and correcting throughput and latency informatio…
khushal1996 May 19, 2023
e15be4b
correcting throughput and latency for vcvttss2usi32 and placing it wi…
khushal1996 May 19, 2023
10e2876
formatting
khushal1996 May 19, 2023
9463173
formatting
khushal1996 May 19, 2023
4f7bb67
updating comments
khushal1996 May 22, 2023
a99725c
updating code for github comments. Using compIsaSupportedDebugOnly fo…
khushal1996 May 24, 2023
44390b2
reverting to original checks for ISA supported Debug only because the…
khushal1996 May 24, 2023
2f20ef3
running jitformat
khushal1996 May 24, 2023
b7dff8a
running jitformat
khushal1996 May 25, 2023
9622f78
combine the 2 nodes GT_CAST(GT_CAST(TYP_ULONG, TYP_DOUBLE), TYP_FLOAT…
khushal1996 Jun 17, 2023
d3b542f
merging with main and updating hwintrinsiclistxarch to take into cons…
khushal1996 Jun 18, 2023
8343e18
Changing noway_assert to assert to make sure compOpportunisticallyDep…
khushal1996 Jun 19, 2023
e456763
running jitformat
khushal1996 Jun 19, 2023
fdb28c6
Changing compOpportunisticallyDependsOn to compIsaSupportedDebugOnly …
khushal1996 Jun 20, 2023
e9ff179
Making code review changes. Moving around the comOpportunisticallyDep…
khushal1996 Jun 22, 2023
db2a0cb
FCALL_CONTRACT should be only used on FCalls itself
khushal1996 Jun 23, 2023
167b563
Making paralle changes to JITHelper in MathHelper for native AOT
khushal1996 Jun 23, 2023
b02a96c
resolving regression issues
khushal1996 Jun 23, 2023
fc0d127
Rolling back changes for double/float -> ulong
khushal1996 Jun 30, 2023
9b56b86
Rolling back changes for double/float -> ulong
khushal1996 Jun 30, 2023
930c473
Reverting ouf_or_range_fp_conversion to original version
khushal1996 Jun 30, 2023
b2ae110
Reverting ouf_or_range_fp_conversion to original version
khushal1996 Jun 30, 2023
0439e28
Reverting jithelpers.cpp to original versino
khushal1996 Jun 30, 2023
2166ae5
Reverting jithelpers.cpp to original version
khushal1996 Jun 30, 2023
e2a6029
Changind comments, reverting asserts, skipping to change node for cast
khushal1996 Jul 5, 2023
715fc7e
addressing review comments
khushal1996 Jul 14, 2023
dc6e41a
Update src/coreclr/jit/morph.cpp
tannergooding Jul 15, 2023
b1a31aa
Merge remote-tracking branch 'dotnet/main' into avx512-scalar-convert…
tannergooding Jul 16, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/coreclr/jit/morph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -312,13 +312,13 @@ GenTree* Compiler::fgMorphExpandCast(GenTreeCast* tree)
innerSrcType = varTypeToUnsigned(innerSrcType);

// Check if we are going from ulong->double->float
if (innerSrcType == TYP_ULONG && innerDstType == TYP_DOUBLE && dstType == TYP_FLOAT)
if ((innerSrcType == TYP_ULONG) && (innerDstType == TYP_DOUBLE) && (dstType == TYP_FLOAT))
{
if (compOpportunisticallyDependsOn(InstructionSet_AVX512F))
{
// One optimized (combined) cast here
tree = gtNewCastNode(TYP_ULONG, innerOper, true, TYP_FLOAT);
tree->gtType = TYP_FLOAT;
tree = gtNewCastNode(TYP_FLOAT, innerOper, true, TYP_FLOAT);
//tree->gtType = TYP_FLOAT;
tannergooding marked this conversation as resolved.
Show resolved Hide resolved
return fgMorphTree(tree);
}
}
Expand Down