projects
/
platform
/
upstream
/
dotnet
/
runtime.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
82ba676
)
When returning a SIMD value use v0 register as the candidate for source operand of...
author
Egor Chesakov
<Egor.Chesakov@microsoft.com>
Sat, 8 Aug 2020 00:28:41 +0000
(17:28 -0700)
committer
GitHub
<noreply@github.com>
Sat, 8 Aug 2020 00:28:41 +0000
(17:28 -0700)
src/coreclr/src/jit/lsrabuild.cpp
patch
|
blob
|
history
diff --git
a/src/coreclr/src/jit/lsrabuild.cpp
b/src/coreclr/src/jit/lsrabuild.cpp
index
d902b3a
..
e2f8775
100644
(file)
--- a/
src/coreclr/src/jit/lsrabuild.cpp
+++ b/
src/coreclr/src/jit/lsrabuild.cpp
@@
-3443,10
+3443,15
@@
int LinearScan::BuildReturn(GenTree* tree)
if (varTypeIsSIMD(tree) && !op1->IsMultiRegLclVar())
{
useCandidates = allSIMDRegs();
+ if (op1->OperGet() == GT_LCL_VAR)
+ {
+ assert(op1->TypeGet() != TYP_SIMD32);
+ useCandidates = RBM_DOUBLERET;
+ }
BuildUse(op1, useCandidates);
return 1;
}
-#endif //
!
TARGET_ARM64
+#endif // TARGET_ARM64
if (varTypeIsStruct(tree))
{