Mercurial > hg > graal-compiler
comparison src/share/vm/opto/matcher.cpp @ 3909:c2d3caa64b3e
7086394: c2/arm: enable UseFPUForSpilling
Summary: ARM has instructions to move data directly between the fpu and integer registers.
Reviewed-by: kvn, never
author | roland |
---|---|
date | Wed, 07 Sep 2011 09:35:52 +0200 |
parents | c26de9aef2ed |
children | 670a74b863fc |
comparison
equal
deleted
inserted
replaced
3908:7588156f5cf9 | 3909:c2d3caa64b3e |
---|---|
499 idealreg2spillmask[Op_RegL]->OR(*idealreg2regmask[Op_RegD]); | 499 idealreg2spillmask[Op_RegL]->OR(*idealreg2regmask[Op_RegD]); |
500 idealreg2spillmask[Op_RegD]->OR(*idealreg2regmask[Op_RegL]); | 500 idealreg2spillmask[Op_RegD]->OR(*idealreg2regmask[Op_RegL]); |
501 idealreg2spillmask[Op_RegP]->OR(*idealreg2regmask[Op_RegD]); | 501 idealreg2spillmask[Op_RegP]->OR(*idealreg2regmask[Op_RegD]); |
502 #else | 502 #else |
503 idealreg2spillmask[Op_RegP]->OR(*idealreg2regmask[Op_RegF]); | 503 idealreg2spillmask[Op_RegP]->OR(*idealreg2regmask[Op_RegF]); |
504 #ifdef ARM | |
505 // ARM has support for moving 64bit values between a pair of | |
506 // integer registers and a double register | |
507 idealreg2spillmask[Op_RegL]->OR(*idealreg2regmask[Op_RegD]); | |
508 idealreg2spillmask[Op_RegD]->OR(*idealreg2regmask[Op_RegL]); | |
509 #endif | |
504 #endif | 510 #endif |
505 } | 511 } |
506 | 512 |
507 // Make up debug masks. Any spill slot plus callee-save registers. | 513 // Make up debug masks. Any spill slot plus callee-save registers. |
508 // Caller-save registers are assumed to be trashable by the various | 514 // Caller-save registers are assumed to be trashable by the various |