src/cpu/sparc/vm/sparc.ad

changeset 2403
c04052fd6ae1
parent 2399
7737fa7ec2b5
child 2441
c17b998c5926
equal deleted inserted replaced
2402:cccd1b172b85 2403:c04052fd6ae1
3554 %} 3554 %}
3555 3555
3556 #ifdef _LP64 3556 #ifdef _LP64
3557 // Pointer Immediate: 64-bit 3557 // Pointer Immediate: 64-bit
3558 operand immP_set() %{ 3558 operand immP_set() %{
3559 predicate(!VM_Version::is_niagara1_plus()); 3559 predicate(!VM_Version::is_niagara_plus());
3560 match(ConP); 3560 match(ConP);
3561 3561
3562 op_cost(5); 3562 op_cost(5);
3563 // formats are generated automatically for constants and base registers 3563 // formats are generated automatically for constants and base registers
3564 format %{ %} 3564 format %{ %}
3566 %} 3566 %}
3567 3567
3568 // Pointer Immediate: 64-bit 3568 // Pointer Immediate: 64-bit
3569 // From Niagara2 processors on a load should be better than materializing. 3569 // From Niagara2 processors on a load should be better than materializing.
3570 operand immP_load() %{ 3570 operand immP_load() %{
3571 predicate(VM_Version::is_niagara1_plus() && (n->bottom_type()->isa_oop_ptr() || (MacroAssembler::insts_for_set(n->get_ptr()) > 3))); 3571 predicate(VM_Version::is_niagara_plus() && (n->bottom_type()->isa_oop_ptr() || (MacroAssembler::insts_for_set(n->get_ptr()) > 3)));
3572 match(ConP); 3572 match(ConP);
3573 3573
3574 op_cost(5); 3574 op_cost(5);
3575 // formats are generated automatically for constants and base registers 3575 // formats are generated automatically for constants and base registers
3576 format %{ %} 3576 format %{ %}
3577 interface(CONST_INTER); 3577 interface(CONST_INTER);
3578 %} 3578 %}
3579 3579
3580 // Pointer Immediate: 64-bit 3580 // Pointer Immediate: 64-bit
3581 operand immP_no_oop_cheap() %{ 3581 operand immP_no_oop_cheap() %{
3582 predicate(VM_Version::is_niagara1_plus() && !n->bottom_type()->isa_oop_ptr() && (MacroAssembler::insts_for_set(n->get_ptr()) <= 3)); 3582 predicate(VM_Version::is_niagara_plus() && !n->bottom_type()->isa_oop_ptr() && (MacroAssembler::insts_for_set(n->get_ptr()) <= 3));
3583 match(ConP); 3583 match(ConP);
3584 3584
3585 op_cost(5); 3585 op_cost(5);
3586 // formats are generated automatically for constants and base registers 3586 // formats are generated automatically for constants and base registers
3587 format %{ %} 3587 format %{ %}
3684 interface(CONST_INTER); 3684 interface(CONST_INTER);
3685 %} 3685 %}
3686 3686
3687 // Long Immediate: cheap (materialize in <= 3 instructions) 3687 // Long Immediate: cheap (materialize in <= 3 instructions)
3688 operand immL_cheap() %{ 3688 operand immL_cheap() %{
3689 predicate(!VM_Version::is_niagara1_plus() || MacroAssembler::insts_for_set64(n->get_long()) <= 3); 3689 predicate(!VM_Version::is_niagara_plus() || MacroAssembler::insts_for_set64(n->get_long()) <= 3);
3690 match(ConL); 3690 match(ConL);
3691 op_cost(0); 3691 op_cost(0);
3692 3692
3693 format %{ %} 3693 format %{ %}
3694 interface(CONST_INTER); 3694 interface(CONST_INTER);
3695 %} 3695 %}
3696 3696
3697 // Long Immediate: expensive (materialize in > 3 instructions) 3697 // Long Immediate: expensive (materialize in > 3 instructions)
3698 operand immL_expensive() %{ 3698 operand immL_expensive() %{
3699 predicate(VM_Version::is_niagara1_plus() && MacroAssembler::insts_for_set64(n->get_long()) > 3); 3699 predicate(VM_Version::is_niagara_plus() && MacroAssembler::insts_for_set64(n->get_long()) > 3);
3700 match(ConL); 3700 match(ConL);
3701 op_cost(0); 3701 op_cost(0);
3702 3702
3703 format %{ %} 3703 format %{ %}
3704 interface(CONST_INTER); 3704 interface(CONST_INTER);

mercurial