@@ -625,8 +625,7 @@ void CodeGen::genSSEIntrinsic(GenTreeHWIntrinsic* node)
625
625
emit->emitIns_R (INS_setpo, EA_1BYTE, targetReg);
626
626
emit->emitIns_R (INS_sete, EA_1BYTE, tmpReg);
627
627
emit->emitIns_R_R (INS_and, EA_1BYTE, tmpReg, targetReg);
628
- emit->emitIns_R (INS_setne, EA_1BYTE, targetReg);
629
- emit->emitIns_R_R (INS_movzx, EA_1BYTE, targetReg, targetReg);
628
+ emit->emitIns_R_R (INS_movzx, EA_1BYTE, targetReg, tmpReg);
630
629
break ;
631
630
}
632
631
@@ -697,8 +696,7 @@ void CodeGen::genSSEIntrinsic(GenTreeHWIntrinsic* node)
697
696
emit->emitIns_R (INS_setpe, EA_1BYTE, targetReg);
698
697
emit->emitIns_R (INS_setne, EA_1BYTE, tmpReg);
699
698
emit->emitIns_R_R (INS_or, EA_1BYTE, tmpReg, targetReg);
700
- emit->emitIns_R (INS_setne, EA_1BYTE, targetReg);
701
- emit->emitIns_R_R (INS_movzx, EA_1BYTE, targetReg, targetReg);
699
+ emit->emitIns_R_R (INS_movzx, EA_1BYTE, targetReg, tmpReg);
702
700
break ;
703
701
}
704
702
@@ -859,8 +857,7 @@ void CodeGen::genSSE2Intrinsic(GenTreeHWIntrinsic* node)
859
857
emit->emitIns_R (INS_setpo, EA_1BYTE, targetReg);
860
858
emit->emitIns_R (INS_sete, EA_1BYTE, tmpReg);
861
859
emit->emitIns_R_R (INS_and, EA_1BYTE, tmpReg, targetReg);
862
- emit->emitIns_R (INS_setne, EA_1BYTE, targetReg);
863
- emit->emitIns_R_R (INS_movzx, EA_1BYTE, targetReg, targetReg);
860
+ emit->emitIns_R_R (INS_movzx, EA_1BYTE, targetReg, tmpReg);
864
861
break ;
865
862
}
866
863
@@ -931,8 +928,7 @@ void CodeGen::genSSE2Intrinsic(GenTreeHWIntrinsic* node)
931
928
emit->emitIns_R (INS_setpe, EA_1BYTE, targetReg);
932
929
emit->emitIns_R (INS_setne, EA_1BYTE, tmpReg);
933
930
emit->emitIns_R_R (INS_or, EA_1BYTE, tmpReg, targetReg);
934
- emit->emitIns_R (INS_setne, EA_1BYTE, targetReg);
935
- emit->emitIns_R_R (INS_movzx, EA_1BYTE, targetReg, targetReg);
931
+ emit->emitIns_R_R (INS_movzx, EA_1BYTE, targetReg, tmpReg);
936
932
break ;
937
933
}
938
934
0 commit comments