Description
Mono's Mini JIT compiler on multiple platforms and the Mono Interpreter both lack support for casting a float value to a native int storage.
Configuration
- .NET 6 master (found in PR)
- Mono Interpreter
- Mono Mini targeting Linux arm64
- Based on a cursory look through source, also effects Mini targetting ARM32 and LLVM
Regression?
I don't believe so.
Other information
For the interpreter, this shows up as the following assert:
- Assertion: should not be reached at /Users/runner/work/1/s/src/mono/mono/mini/interp/transform.c:5065
For JIT, this is the message that shows up. The assert initially fired from /__w/1/s/src/mono/mono/mini/mini-codegen.c:1251
"Opcode 'r4_conv_to_i' missing from machine description file."
Discovered in #46401 where a test casts a float value to the C# nint type.