Skip to content

Multiple Mono Mini Targets and Mono Interpreter missing support for float->nint casting. #46820

@jkoritzinsky

Description

@jkoritzinsky

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions