From: Hyung-Kyu Choi Date: Tue, 13 Jun 2017 13:04:23 +0000 (+0900) Subject: [RyuJIT/ARM32] Enable HasMultiRegRetVal() for struct X-Git-Tag: submit/tizen/20210909.063632~11030^2~6925^2~460^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b3c0cd51d348e59e30dcfdda7e459c82fb9edecf;p=platform%2Fupstream%2Fdotnet%2Fruntime.git [RyuJIT/ARM32] Enable HasMultiRegRetVal() for struct This will pass some tests and will trigger NYI assertions as expected. Signed-off-by: Hyung-Kyu Choi Commit migrated from https://github.com/dotnet/coreclr/commit/c5782d53e52ecbbce25b182c8b8b50da0d18f243 --- diff --git a/src/coreclr/src/jit/gentree.h b/src/coreclr/src/jit/gentree.h index 21a9609..7a2cc4c 100644 --- a/src/coreclr/src/jit/gentree.h +++ b/src/coreclr/src/jit/gentree.h @@ -3507,9 +3507,12 @@ struct GenTreeCall final : public GenTree // bool HasMultiRegRetVal() const { -#if (defined(_TARGET_X86_) || defined(_TARGET_ARM_)) && !defined(LEGACY_BACKEND) +#if defined(_TARGET_X86_) && !defined(LEGACY_BACKEND) // LEGACY_BACKEND does not use multi reg returns for calls with long return types return varTypeIsLong(gtType); +#elif FEATURE_MULTIREG_RET && (defined(_TARGET_ARM_) && !defined(LEGACY_BACKEND)) + // LEGACY_BACKEND does not use multi reg returns for calls with long return types + return varTypeIsLong(gtType) || (varTypeIsStruct(gtType) && !HasRetBufArg()); #elif FEATURE_MULTIREG_RET return varTypeIsStruct(gtType) && !HasRetBufArg(); #else