Skip to content

Commit a01a4f5

Browse files
committed
Updating xarch to utilize EVEX compares and blending where profitable
1 parent 3ecb1d1 commit a01a4f5

File tree

13 files changed

+1249
-397
lines changed

13 files changed

+1249
-397
lines changed

src/coreclr/jit/emitxarch.cpp

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12558,13 +12558,34 @@ void emitter::emitDispConstant(const instrDesc* id, bool skipComma) const
1255812558
{
1255912559
instruction ins = id->idIns();
1256012560

12561-
if ((ins == INS_cmppd) || (ins == INS_cmpps) || (ins == INS_cmpsd) || (ins == INS_cmpss) ||
12562-
(ins == INS_pclmulqdq) || (ins == INS_vpcmpb) || (ins == INS_vpcmpd) || (ins == INS_vpcmpq) ||
12563-
(ins == INS_vpcmpw) || (ins == INS_vpcmpub) || (ins == INS_vpcmpud) || (ins == INS_vpcmpuq) ||
12564-
(ins == INS_vpcmpuw))
12561+
switch (ins)
1256512562
{
12566-
// These instructions have pseudo-names for each possible immediate value
12567-
return;
12563+
case INS_cmppd:
12564+
case INS_cmpps:
12565+
case INS_cmpsd:
12566+
case INS_cmpss:
12567+
case INS_pclmulqdq:
12568+
case INS_vcmppd:
12569+
case INS_vcmpps:
12570+
case INS_vcmpsd:
12571+
case INS_vcmpss:
12572+
case INS_vpcmpb:
12573+
case INS_vpcmpd:
12574+
case INS_vpcmpq:
12575+
case INS_vpcmpw:
12576+
case INS_vpcmpub:
12577+
case INS_vpcmpud:
12578+
case INS_vpcmpuq:
12579+
case INS_vpcmpuw:
12580+
{
12581+
// These instructions have pseudo-names for each possible immediate value
12582+
return;
12583+
}
12584+
12585+
default:
12586+
{
12587+
break;
12588+
}
1256812589
}
1256912590

1257012591
CnsVal cnsVal;

0 commit comments

Comments
 (0)