From b3c0cd51d348e59e30dcfdda7e459c82fb9edecf Mon Sep 17 00:00:00 2001 From: Hyung-Kyu Choi Date: Tue, 13 Jun 2017 22:04:23 +0900 Subject: [PATCH] [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 --- src/coreclr/src/jit/gentree.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 -- 2.7.4