From 6ad836ffa02892de3332c44207de7a2634af0d03 Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Thu, 31 Jul 2025 11:16:40 +0200 Subject: [PATCH 1/2] Test extra platform failures --- .../extra-platforms/runtime-extra-platforms-maccatalyst.yml | 2 ++ src/libraries/tests.proj | 1 + src/mono/mono/mini/intrinsics.c | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml index 8b1b2dbc59962c..8bbdb7fa5f8a82 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml @@ -185,6 +185,8 @@ jobs: value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - name: monoContainsChange value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ] + - name: timeoutPerTestInMinutes + value: 30 jobParameters: testGroup: innerloop nameSuffix: AllSubsets_NativeAOT_RuntimeTests_AppSandbox diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 64c690245b51c5..ddac5d56050f22 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -334,6 +334,7 @@ + diff --git a/src/mono/mono/mini/intrinsics.c b/src/mono/mono/mini/intrinsics.c index 6ec87adc090b77..ff2d44eea7484b 100644 --- a/src/mono/mono/mini/intrinsics.c +++ b/src/mono/mono/mini/intrinsics.c @@ -2391,6 +2391,10 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign } if (opcode != 0) { + // Skip intrinsic for single->int64 conversions in AOT scenarios where OP_RCONV_TO_I8 emulation is problematic + if (!isDouble && (tto_type == MONO_TYPE_I8 || tto_type == MONO_TYPE_U8) && cfg->compile_aot) + return NULL; + int ireg = mono_alloc_ireg (cfg); EMIT_NEW_UNALU (cfg, ins, opcode, ireg, args [0]->dreg); ins->type = tto_stack; From f4171f835d1c402bcf1530c10c864d764d3c8ab6 Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Fri, 1 Aug 2025 11:57:23 +0200 Subject: [PATCH 2/2] Revert changes --- .../extra-platforms/runtime-extra-platforms-maccatalyst.yml | 2 -- src/mono/mono/mini/intrinsics.c | 4 ---- 2 files changed, 6 deletions(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml index 8bbdb7fa5f8a82..8b1b2dbc59962c 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml @@ -185,8 +185,6 @@ jobs: value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - name: monoContainsChange value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ] - - name: timeoutPerTestInMinutes - value: 30 jobParameters: testGroup: innerloop nameSuffix: AllSubsets_NativeAOT_RuntimeTests_AppSandbox diff --git a/src/mono/mono/mini/intrinsics.c b/src/mono/mono/mini/intrinsics.c index ff2d44eea7484b..6ec87adc090b77 100644 --- a/src/mono/mono/mini/intrinsics.c +++ b/src/mono/mono/mini/intrinsics.c @@ -2391,10 +2391,6 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign } if (opcode != 0) { - // Skip intrinsic for single->int64 conversions in AOT scenarios where OP_RCONV_TO_I8 emulation is problematic - if (!isDouble && (tto_type == MONO_TYPE_I8 || tto_type == MONO_TYPE_U8) && cfg->compile_aot) - return NULL; - int ireg = mono_alloc_ireg (cfg); EMIT_NEW_UNALU (cfg, ins, opcode, ireg, args [0]->dreg); ins->type = tto_stack;