Skip to content

Commit 42fe08e

Browse files
authored
add rcl/rcr tp and latency info (#111442)
1 parent 426d58f commit 42fe08e

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

Diff for: src/coreclr/jit/codegenxarch.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -9103,9 +9103,8 @@ void CodeGen::genAmd64EmitterUnitTestsApx()
91039103
theEmitter->emitIns_R_I(INS_sar_N, EA_4BYTE, REG_ECX, 0x05);
91049104
theEmitter->emitIns_R_I(INS_rol_N, EA_4BYTE, REG_ECX, 0x05);
91059105
theEmitter->emitIns_R_I(INS_ror_N, EA_4BYTE, REG_ECX, 0x05);
9106-
// TODO-xarch-apx: not enable these 2 for now.
9107-
// theEmitter->emitIns_R_I(INS_rcl_N, EA_4BYTE, REG_ECX, 0x05);
9108-
// theEmitter->emitIns_R_I(INS_rcr_N, EA_4BYTE, REG_ECX, 0x05);
9106+
theEmitter->emitIns_R_I(INS_rcl_N, EA_4BYTE, REG_ECX, 0x05);
9107+
theEmitter->emitIns_R_I(INS_rcr_N, EA_4BYTE, REG_ECX, 0x05);
91099108

91109109
theEmitter->emitIns_R(INS_neg, EA_2BYTE, REG_EAX);
91119110
theEmitter->emitIns_R(INS_not, EA_2BYTE, REG_EAX);

Diff for: src/coreclr/jit/emitxarch.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -19230,6 +19230,8 @@ emitter::insExecutionCharacteristics emitter::getInsExecutionCharacteristics(ins
1923019230

1923119231
case INS_rcr:
1923219232
case INS_rcl:
19233+
case INS_rcr_N:
19234+
case INS_rcl_N:
1923319235
result.insThroughput = PERFSCORE_THROUGHPUT_6C;
1923419236
result.insLatency += PERFSCORE_LATENCY_6C;
1923519237
break;

Diff for: src/coreclr/jit/instrsxarch.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -913,10 +913,10 @@ INST2(ror_N, "ror", IUM_RW, 0x0008C0, 0x0008C0,
913913

914914
INST2(rcl, "rcl", IUM_RW, 0x0010D2, BAD_CODE, INS_TT_NONE, Undefined_OF | Writes_CF | Reads_CF | INS_FLAGS_Has_Wbit | Encoding_REX2)
915915
INST2(rcl_1, "rcl", IUM_RW, 0x0010D0, 0x0010D0, INS_TT_NONE, Writes_OF | Writes_CF | Reads_CF | INS_FLAGS_Has_Wbit | Encoding_REX2)
916-
INST2(rcl_N, "rcl", IUM_RW, 0x0010C0, 0x0010C0, INS_TT_NONE, Undefined_OF | Writes_CF | Reads_CF | INS_FLAGS_Has_Wbit)
916+
INST2(rcl_N, "rcl", IUM_RW, 0x0010C0, 0x0010C0, INS_TT_NONE, Undefined_OF | Writes_CF | Reads_CF | INS_FLAGS_Has_Wbit | Encoding_REX2)
917917
INST2(rcr, "rcr", IUM_RW, 0x0018D2, BAD_CODE, INS_TT_NONE, Undefined_OF | Writes_CF | Reads_CF | INS_FLAGS_Has_Wbit | Encoding_REX2)
918918
INST2(rcr_1, "rcr", IUM_RW, 0x0018D0, 0x0018D0, INS_TT_NONE, Writes_OF | Writes_CF | Reads_CF | INS_FLAGS_Has_Wbit | Encoding_REX2)
919-
INST2(rcr_N, "rcr", IUM_RW, 0x0018C0, 0x0018C0, INS_TT_NONE, Undefined_OF | Writes_CF | Reads_CF | INS_FLAGS_Has_Wbit)
919+
INST2(rcr_N, "rcr", IUM_RW, 0x0018C0, 0x0018C0, INS_TT_NONE, Undefined_OF | Writes_CF | Reads_CF | INS_FLAGS_Has_Wbit | Encoding_REX2)
920920
INST2(shl, "shl", IUM_RW, 0x0020D2, BAD_CODE, INS_TT_NONE, Undefined_OF | Writes_SF | Writes_ZF | Undefined_AF | Writes_PF | Writes_CF | INS_FLAGS_Has_Wbit | Encoding_REX2)
921921
INST2(shl_1, "shl", IUM_RW, 0x0020D0, 0x0020D0, INS_TT_NONE, Writes_OF | Writes_SF | Writes_ZF | Undefined_AF | Writes_PF | Writes_CF | INS_FLAGS_Has_Wbit | Encoding_REX2)
922922
INST2(shl_N, "shl", IUM_RW, 0x0020C0, 0x0020C0, INS_TT_NONE, Undefined_OF | Writes_SF | Writes_ZF | Undefined_AF | Writes_PF | Writes_CF | INS_FLAGS_Has_Wbit | Encoding_REX2)

0 commit comments

Comments
 (0)