diff --git a/src/share/vm/opto/matcher.cpp b/src/share/vm/opto/matcher.cpp index 4b16bbad2862adc7e631ad1f377ea4624c8aa1c0..3244a944bbd01c496818040413d8041688638764 100644 --- a/src/share/vm/opto/matcher.cpp +++ b/src/share/vm/opto/matcher.cpp @@ -501,6 +501,12 @@ void Matcher::init_first_stack_mask() { idealreg2spillmask[Op_RegP]->OR(*idealreg2regmask[Op_RegD]); #else idealreg2spillmask[Op_RegP]->OR(*idealreg2regmask[Op_RegF]); +#ifdef ARM + // ARM has support for moving 64bit values between a pair of + // integer registers and a double register + idealreg2spillmask[Op_RegL]->OR(*idealreg2regmask[Op_RegD]); + idealreg2spillmask[Op_RegD]->OR(*idealreg2regmask[Op_RegL]); +#endif #endif }