File tree Expand file tree Collapse file tree 2 files changed +3
-9
lines changed Expand file tree Collapse file tree 2 files changed +3
-9
lines changed Original file line number Diff line number Diff line change @@ -141,14 +141,9 @@ static void
141141mono_regstate_assign (MonoRegState * rs )
142142{
143143#ifdef MONO_ARCH_USE_SHARED_FP_SIMD_BANK
144- /* The regalloc may fail if fp and simd logical regbanks share the same physical reg bank and
145- * if the values here are not the same.
146- */
147- /* s390x has unequal regbank masks for vector and floats*/
148- #ifndef TARGET_S390X
149- g_assert (regbank_callee_regs [MONO_REG_SIMD ] == regbank_callee_regs [MONO_REG_DOUBLE ]);
150- g_assert (regbank_size [MONO_REG_SIMD ] == regbank_size [MONO_REG_DOUBLE ]);
151- #endif
144+ /* fp and simd logical banks may share the same physical reg bank with unequal overlapping registers */
145+ g_assert ((regbank_callee_regs [MONO_REG_SIMD ] & regbank_callee_regs [MONO_REG_DOUBLE ]) == regbank_callee_regs [MONO_REG_DOUBLE ]);
146+ g_assert (regbank_size [MONO_REG_SIMD ] >= regbank_size [MONO_REG_DOUBLE ]);
152147 g_assert (regbank_callee_saved_regs [MONO_REG_SIMD ] == regbank_callee_saved_regs [MONO_REG_DOUBLE ]);
153148#endif
154149
Original file line number Diff line number Diff line change @@ -151,7 +151,6 @@ struct SeqPointInfo {
151151/* f0 overlaps with v0 and vr16 is used internally */
152152#define MONO_MAX_XREGS 31
153153#define MONO_ARCH_CALLEE_XREGS 0xFFFEFFFE
154- #define MONO_ARCH_CALLEE_XREGS 0x0
155154#define MONO_ARCH_CALLEE_SAVED_XREGS 0x0
156155
157156// Does the ABI have a volatile non-parameter register, so tailcall
You can’t perform that action at this time.
0 commit comments