[mono] Add missing opcodes for r4 to native int conversions (#49427)
authorVlad Brezae <brezaevlad@gmail.com>
Wed, 10 Mar 2021 18:25:39 +0000 (20:25 +0200)
committerGitHub <noreply@github.com>
Wed, 10 Mar 2021 18:25:39 +0000 (20:25 +0200)
src/mono/mono/mini/cpu-arm.md
src/mono/mono/mini/cpu-arm64.md
src/mono/mono/mini/mini-arm.c
src/mono/mono/mini/mini-arm64.c
src/tests/issues.targets

index a58d4bb..b14cc6f 100644 (file)
@@ -227,6 +227,7 @@ rmove: dest:f src1:f len:4
 r4_conv_to_i1: dest:i src1:f len:88
 r4_conv_to_i2: dest:i src1:f len:88
 r4_conv_to_i4: dest:i src1:f len:88
+r4_conv_to_i: dest:i src1:f len:88
 r4_conv_to_u1: dest:i src1:f len:88
 r4_conv_to_u2: dest:i src1:f len:88
 r4_conv_to_u4: dest:i src1:f len:88
index 6b8488c..aff8905 100644 (file)
@@ -229,6 +229,7 @@ r4_conv_to_u2: dest:i src1:f len:8
 r4_conv_to_i4: dest:i src1:f len:8
 r4_conv_to_u4: dest:i src1:f len:8
 r4_conv_to_i8: dest:l src1:f len:8
+r4_conv_to_i: dest:l src1:f len:8
 r4_conv_to_u8: dest:l src1:f len:8
 r4_conv_to_r4: dest:f src1:f len:4
 r4_conv_to_r8: dest:f src1:f len:4
index 1dcbeb0..1657f76 100644 (file)
@@ -5903,6 +5903,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        code = emit_r4_to_int (cfg, code, ins->dreg, ins->sreg1, 2, FALSE);
                        break;
                case OP_RCONV_TO_I4:
+               case OP_RCONV_TO_I:
                        code = emit_r4_to_int (cfg, code, ins->dreg, ins->sreg1, 4, TRUE);
                        break;
                case OP_RCONV_TO_U4:
index e60f9fa..34efcad 100644 (file)
@@ -4335,6 +4335,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        arm_fcvtzu_sx (code, dreg, sreg1);
                        break;
                case OP_RCONV_TO_I8:
+               case OP_RCONV_TO_I:
                        arm_fcvtzs_sx (code, dreg, sreg1);
                        break;
                case OP_RCONV_TO_U8:
index 004c1fc..3db21c2 100644 (file)
         <ExcludeList Include="$(XunitTestBinBase)/Interop/StructPacking/StructPacking/**">
             <Issue>needs triage</Issue>
         </ExcludeList>
-        <ExcludeList Include="$(XunitTestBinBase)/Interop/PInvoke/Miscellaneous/ThisCall/ThisCallTest/**">
-            <Issue>https://github.com/dotnet/runtime/issues/46820</Issue>
-        </ExcludeList>
         <ExcludeList Include="$(XunitTestBinBase)/JIT/Directed/Convert/ldind_conv/**">
             <Issue>needs triage</Issue>
         </ExcludeList>