< prev index next >

src/hotspot/cpu/aarch64/aarch64.ad

Print this page




14491 instruct overflowSubL_reg_reg(rFlagsReg cr, iRegL op1, iRegL op2)
14492 %{
14493   match(Set cr (OverflowSubL op1 op2));
14494 
14495   format %{ "cmp   $op1, $op2\t# overflow check long" %}
14496   ins_cost(INSN_COST);
14497   ins_encode %{
14498     __ cmp($op1$$Register, $op2$$Register);
14499   %}
14500 
14501   ins_pipe(icmp_reg_reg);
14502 %}
14503 
14504 instruct overflowSubL_reg_imm(rFlagsReg cr, iRegL op1, immLAddSub op2)
14505 %{
14506   match(Set cr (OverflowSubL op1 op2));
14507 
14508   format %{ "cmp   $op1, $op2\t# overflow check long" %}
14509   ins_cost(INSN_COST);
14510   ins_encode %{
14511     __ cmp($op1$$Register, $op2$$constant);
14512   %}
14513 
14514   ins_pipe(icmp_reg_imm);
14515 %}
14516 
14517 instruct overflowNegI_reg(rFlagsReg cr, immI0 zero, iRegIorL2I op1)
14518 %{
14519   match(Set cr (OverflowSubI zero op1));
14520 
14521   format %{ "cmpw  zr, $op1\t# overflow check int" %}
14522   ins_cost(INSN_COST);
14523   ins_encode %{
14524     __ cmpw(zr, $op1$$Register);
14525   %}
14526 
14527   ins_pipe(icmp_reg_imm);
14528 %}
14529 
14530 instruct overflowNegL_reg(rFlagsReg cr, immI0 zero, iRegL op1)
14531 %{




14491 instruct overflowSubL_reg_reg(rFlagsReg cr, iRegL op1, iRegL op2)
14492 %{
14493   match(Set cr (OverflowSubL op1 op2));
14494 
14495   format %{ "cmp   $op1, $op2\t# overflow check long" %}
14496   ins_cost(INSN_COST);
14497   ins_encode %{
14498     __ cmp($op1$$Register, $op2$$Register);
14499   %}
14500 
14501   ins_pipe(icmp_reg_reg);
14502 %}
14503 
14504 instruct overflowSubL_reg_imm(rFlagsReg cr, iRegL op1, immLAddSub op2)
14505 %{
14506   match(Set cr (OverflowSubL op1 op2));
14507 
14508   format %{ "cmp   $op1, $op2\t# overflow check long" %}
14509   ins_cost(INSN_COST);
14510   ins_encode %{
14511     __ subs(zr, $op1$$Register, $op2$$constant);
14512   %}
14513 
14514   ins_pipe(icmp_reg_imm);
14515 %}
14516 
14517 instruct overflowNegI_reg(rFlagsReg cr, immI0 zero, iRegIorL2I op1)
14518 %{
14519   match(Set cr (OverflowSubI zero op1));
14520 
14521   format %{ "cmpw  zr, $op1\t# overflow check int" %}
14522   ins_cost(INSN_COST);
14523   ins_encode %{
14524     __ cmpw(zr, $op1$$Register);
14525   %}
14526 
14527   ins_pipe(icmp_reg_imm);
14528 %}
14529 
14530 instruct overflowNegL_reg(rFlagsReg cr, immI0 zero, iRegL op1)
14531 %{


< prev index next >