comparison src/cpu/x86/vm/x86_64.ad @ 1730:f55c4f82ab9d

6978249: spill between cpu and fpu registers when those moves are fast Reviewed-by: kvn
author never
date Thu, 19 Aug 2010 14:51:47 -0700
parents e9ff18c4ace7
children 3e8fbc61cee8
comparison
equal deleted inserted replaced
1729:13b87063b4d8 1730:f55c4f82ab9d
1605 } 1605 }
1606 } 1606 }
1607 emit_opcode(*cbuf, 0x0F); 1607 emit_opcode(*cbuf, 0x0F);
1608 emit_opcode(*cbuf, 0x7E); 1608 emit_opcode(*cbuf, 0x7E);
1609 emit_rm(*cbuf, 0x3, 1609 emit_rm(*cbuf, 0x3,
1610 Matcher::_regEncode[dst_first] & 7, 1610 Matcher::_regEncode[src_first] & 7,
1611 Matcher::_regEncode[src_first] & 7); 1611 Matcher::_regEncode[dst_first] & 7);
1612 #ifndef PRODUCT 1612 #ifndef PRODUCT
1613 } else if (!do_size) { 1613 } else if (!do_size) {
1614 st->print("movdq %s, %s\t# spill", 1614 st->print("movdq %s, %s\t# spill",
1615 Matcher::regName[dst_first], 1615 Matcher::regName[dst_first],
1616 Matcher::regName[src_first]); 1616 Matcher::regName[src_first]);
1635 } 1635 }
1636 } 1636 }
1637 emit_opcode(*cbuf, 0x0F); 1637 emit_opcode(*cbuf, 0x0F);
1638 emit_opcode(*cbuf, 0x7E); 1638 emit_opcode(*cbuf, 0x7E);
1639 emit_rm(*cbuf, 0x3, 1639 emit_rm(*cbuf, 0x3,
1640 Matcher::_regEncode[dst_first] & 7, 1640 Matcher::_regEncode[src_first] & 7,
1641 Matcher::_regEncode[src_first] & 7); 1641 Matcher::_regEncode[dst_first] & 7);
1642 #ifndef PRODUCT 1642 #ifndef PRODUCT
1643 } else if (!do_size) { 1643 } else if (!do_size) {
1644 st->print("movdl %s, %s\t# spill", 1644 st->print("movdl %s, %s\t# spill",
1645 Matcher::regName[dst_first], 1645 Matcher::regName[dst_first],
1646 Matcher::regName[src_first]); 1646 Matcher::regName[src_first]);