@@ -8093,7 +8093,7 @@ instruct compareAndSwapP(rRegI res,
80938093 ins_encode %{
80948094 __ lock();
80958095 __ cmpxchgq($newval$$Register, $mem_ptr$$Address);
8096- __ sete( $res$$Register);
8096+ __ setb(Assembler::equal, $res$$Register);
80978097 __ movzbl($res$$Register, $res$$Register);
80988098 %}
80998099 ins_pipe( pipe_cmpxchg );
@@ -8116,7 +8116,7 @@ instruct compareAndSwapL(rRegI res,
81168116 ins_encode %{
81178117 __ lock();
81188118 __ cmpxchgq($newval$$Register, $mem_ptr$$Address);
8119- __ sete( $res$$Register);
8119+ __ setb(Assembler::equal, $res$$Register);
81208120 __ movzbl($res$$Register, $res$$Register);
81218121 %}
81228122 ins_pipe( pipe_cmpxchg );
@@ -8138,7 +8138,7 @@ instruct compareAndSwapI(rRegI res,
81388138 ins_encode %{
81398139 __ lock();
81408140 __ cmpxchgl($newval$$Register, $mem_ptr$$Address);
8141- __ sete( $res$$Register);
8141+ __ setb(Assembler::equal, $res$$Register);
81428142 __ movzbl($res$$Register, $res$$Register);
81438143 %}
81448144 ins_pipe( pipe_cmpxchg );
@@ -8160,7 +8160,7 @@ instruct compareAndSwapB(rRegI res,
81608160 ins_encode %{
81618161 __ lock();
81628162 __ cmpxchgb($newval$$Register, $mem_ptr$$Address);
8163- __ sete( $res$$Register);
8163+ __ setb(Assembler::equal, $res$$Register);
81648164 __ movzbl($res$$Register, $res$$Register);
81658165 %}
81668166 ins_pipe( pipe_cmpxchg );
@@ -8182,7 +8182,7 @@ instruct compareAndSwapS(rRegI res,
81828182 ins_encode %{
81838183 __ lock();
81848184 __ cmpxchgw($newval$$Register, $mem_ptr$$Address);
8185- __ sete( $res$$Register);
8185+ __ setb(Assembler::equal, $res$$Register);
81868186 __ movzbl($res$$Register, $res$$Register);
81878187 %}
81888188 ins_pipe( pipe_cmpxchg );
@@ -8203,7 +8203,7 @@ instruct compareAndSwapN(rRegI res,
82038203 ins_encode %{
82048204 __ lock();
82058205 __ cmpxchgl($newval$$Register, $mem_ptr$$Address);
8206- __ sete( $res$$Register);
8206+ __ setb(Assembler::equal, $res$$Register);
82078207 __ movzbl($res$$Register, $res$$Register);
82088208 %}
82098209 ins_pipe( pipe_cmpxchg );
@@ -10626,40 +10626,6 @@ instruct xorL_mem_imm(memory dst, immL32 src, rFlagsReg cr)
1062610626 ins_pipe(ialu_mem_imm);
1062710627%}
1062810628
10629- // Convert Int to Boolean
10630- instruct convI2B(rRegI dst, rRegI src, rFlagsReg cr)
10631- %{
10632- match(Set dst (Conv2B src));
10633- effect(KILL cr);
10634-
10635- format %{ "testl $src, $src\t# ci2b\n\t"
10636- "setnz $dst\n\t"
10637- "movzbl $dst, $dst" %}
10638- ins_encode %{
10639- __ testl($src$$Register, $src$$Register);
10640- __ set_byte_if_not_zero($dst$$Register);
10641- __ movzbl($dst$$Register, $dst$$Register);
10642- %}
10643- ins_pipe(pipe_slow); // XXX
10644- %}
10645-
10646- // Convert Pointer to Boolean
10647- instruct convP2B(rRegI dst, rRegP src, rFlagsReg cr)
10648- %{
10649- match(Set dst (Conv2B src));
10650- effect(KILL cr);
10651-
10652- format %{ "testq $src, $src\t# cp2b\n\t"
10653- "setnz $dst\n\t"
10654- "movzbl $dst, $dst" %}
10655- ins_encode %{
10656- __ testq($src$$Register, $src$$Register);
10657- __ set_byte_if_not_zero($dst$$Register);
10658- __ movzbl($dst$$Register, $dst$$Register);
10659- %}
10660- ins_pipe(pipe_slow); // XXX
10661- %}
10662-
1066310629instruct cmpLTMask(rRegI dst, rRegI p, rRegI q, rFlagsReg cr)
1066410630%{
1066510631 match(Set dst (CmpLTMask p q));
@@ -10672,7 +10638,7 @@ instruct cmpLTMask(rRegI dst, rRegI p, rRegI q, rFlagsReg cr)
1067210638 "negl $dst" %}
1067310639 ins_encode %{
1067410640 __ cmpl($p$$Register, $q$$Register);
10675- __ setl( $dst$$Register);
10641+ __ setb(Assembler::less, $dst$$Register);
1067610642 __ movzbl($dst$$Register, $dst$$Register);
1067710643 __ negl($dst$$Register);
1067810644 %}
@@ -12828,7 +12794,7 @@ instruct cmpU3_reg_reg(rRegI dst, rRegI src1, rRegI src2, rFlagsReg flags)
1282812794 __ cmpl($src1$$Register, $src2$$Register);
1282912795 __ movl($dst$$Register, -1);
1283012796 __ jccb(Assembler::below, done);
12831- __ setne( $dst$$Register);
12797+ __ setb(Assembler::notZero, $dst$$Register);
1283212798 __ movzbl($dst$$Register, $dst$$Register);
1283312799 __ bind(done);
1283412800 %}
@@ -12854,7 +12820,7 @@ instruct cmpL3_reg_reg(rRegI dst, rRegL src1, rRegL src2, rFlagsReg flags)
1285412820 __ cmpq($src1$$Register, $src2$$Register);
1285512821 __ movl($dst$$Register, -1);
1285612822 __ jccb(Assembler::less, done);
12857- __ setne( $dst$$Register);
12823+ __ setb(Assembler::notZero, $dst$$Register);
1285812824 __ movzbl($dst$$Register, $dst$$Register);
1285912825 __ bind(done);
1286012826 %}
@@ -12880,7 +12846,7 @@ instruct cmpUL3_reg_reg(rRegI dst, rRegL src1, rRegL src2, rFlagsReg flags)
1288012846 __ cmpq($src1$$Register, $src2$$Register);
1288112847 __ movl($dst$$Register, -1);
1288212848 __ jccb(Assembler::below, done);
12883- __ setne( $dst$$Register);
12849+ __ setb(Assembler::notZero, $dst$$Register);
1288412850 __ movzbl($dst$$Register, $dst$$Register);
1288512851 __ bind(done);
1288612852 %}
0 commit comments