7086394: c2/arm: enable UseFPUForSpilling
authorroland
Wed, 07 Sep 2011 09:35:52 +0200
changeset 10518 71e6d7ccdc8d
parent 10517 f92c9ff3a15f
child 10519 fb373fa38321
child 10538 d6bf448fa3ad
7086394: c2/arm: enable UseFPUForSpilling Summary: ARM has instructions to move data directly between the fpu and integer registers. Reviewed-by: kvn, never
hotspot/src/share/vm/opto/matcher.cpp
--- a/hotspot/src/share/vm/opto/matcher.cpp	Mon Sep 05 17:09:05 2011 -0700
+++ b/hotspot/src/share/vm/opto/matcher.cpp	Wed Sep 07 09:35:52 2011 +0200
@@ -501,6 +501,12 @@
      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
    }