11605 opcode(0x85); |
11605 opcode(0x85); |
11606 ins_encode(REX_reg_reg_wide(src, src), OpcP, reg_reg(src, src)); |
11606 ins_encode(REX_reg_reg_wide(src, src), OpcP, reg_reg(src, src)); |
11607 ins_pipe(ialu_cr_reg_imm); |
11607 ins_pipe(ialu_cr_reg_imm); |
11608 %} |
11608 %} |
11609 |
11609 |
11610 instruct compUB_mem_imm(rFlagsReg cr, memory mem, immU8 imm) |
11610 instruct compB_mem_imm(rFlagsReg cr, memory mem, immI8 imm) |
11611 %{ |
11611 %{ |
11612 match(Set cr (CmpI (LoadUB mem) imm)); |
11612 match(Set cr (CmpI (LoadB mem) imm)); |
11613 |
11613 |
11614 ins_cost(125); |
11614 ins_cost(125); |
11615 format %{ "cmpb $mem, $imm" %} |
11615 format %{ "cmpb $mem, $imm" %} |
11616 ins_encode %{ __ cmpb($mem$$Address, $imm$$constant); %} |
11616 ins_encode %{ __ cmpb($mem$$Address, $imm$$constant); %} |
11617 ins_pipe(ialu_cr_reg_mem); |
|
11618 %} |
|
11619 |
|
11620 instruct compB_mem_imm(rFlagsReg cr, memory mem, immI8 imm) |
|
11621 %{ |
|
11622 match(Set cr (CmpI (LoadB mem) imm)); |
|
11623 |
|
11624 ins_cost(125); |
|
11625 format %{ "cmpb $mem, $imm" %} |
|
11626 ins_encode %{ __ cmpb($mem$$Address, $imm$$constant); %} |
|
11627 ins_pipe(ialu_cr_reg_mem); |
|
11628 %} |
|
11629 |
|
11630 instruct testUB_mem_imm(rFlagsReg cr, memory mem, immU8 imm, immI0 zero) |
|
11631 %{ |
|
11632 match(Set cr (CmpI (AndI (LoadUB mem) imm) zero)); |
|
11633 |
|
11634 ins_cost(125); |
|
11635 format %{ "testb $mem, $imm" %} |
|
11636 ins_encode %{ __ testb($mem$$Address, $imm$$constant); %} |
|
11637 ins_pipe(ialu_cr_reg_mem); |
11617 ins_pipe(ialu_cr_reg_mem); |
11638 %} |
11618 %} |
11639 |
11619 |
11640 instruct testB_mem_imm(rFlagsReg cr, memory mem, immI8 imm, immI0 zero) |
11620 instruct testB_mem_imm(rFlagsReg cr, memory mem, immI8 imm, immI0 zero) |
11641 %{ |
11621 %{ |