[mono][s390x] Fix OP_FCONV_TO_I and OP_RCONV_TO_I (#65328)
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Thu, 10 Mar 2022 20:23:58 +0000 (12:23 -0800)
committerGitHub <noreply@github.com>
Thu, 10 Mar 2022 20:23:58 +0000 (12:23 -0800)
* OP_[FR]CONV_TO_I should result in an 8-byte integer

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
src/mono/mono/mini/mini-s390x.c

index 1c4789750f0269202c4566d205d710945fe8e5f3..3414f6bea2c4ac343cc5e81aaa1a29e1ebe8f660 100644 (file)
@@ -4282,7 +4282,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        }
                        break;
                case OP_FCONV_TO_I4:
-               case OP_FCONV_TO_I:
                        s390_cfdbr (code, ins->dreg, 5, ins->sreg1);
                        break;
                case OP_FCONV_TO_U4:
@@ -4293,6 +4292,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        }
                        break;
                case OP_FCONV_TO_I8:
+               case OP_FCONV_TO_I:
                        s390_cgdbr (code, ins->dreg, 5, ins->sreg1);
                        break;
                case OP_FCONV_TO_U8:
@@ -4337,7 +4337,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        }
                        break;
                case OP_RCONV_TO_I4:
-               case OP_RCONV_TO_I:
                        s390_cfebr (code, ins->dreg, 5, ins->sreg1);
                        break;
                case OP_RCONV_TO_U4:
@@ -4348,6 +4347,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        }
                        break;
                case OP_RCONV_TO_I8:
+               case OP_RCONV_TO_I:
                        s390_cgebr (code, ins->dreg, 5, ins->sreg1);
                        break;
                case OP_RCONV_TO_U8: