Skip to content

Commit

Permalink
Merge pull request #7011 from IBMJimmyk/vectorArrayCmp
Browse files Browse the repository at this point in the history
Vector implementation for arraycmp on P8/P9
  • Loading branch information
dsouzai authored Jan 13, 2025
2 parents 9e718a6 + ea0f4dc commit 2767da3
Show file tree
Hide file tree
Showing 4 changed files with 485 additions and 24 deletions.
5 changes: 3 additions & 2 deletions compiler/p/codegen/OMRInstOpCode.enum
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
cmpl8, // Compare dword logical
cmpli4, // Compare word immediate logical
cmpli8, // Compare dword immediate logical
cmpb, // Compare Bytes
cmprb, // Compare Ranged Byte
cmpeqb, // Compare Equal Byte
cntlzd, // Count leading zeros dword
Expand Down Expand Up @@ -751,9 +752,9 @@
// vcipher, // Vector AES Cipher
// vcipherlast, // Vector AES Cipher Last
// vclzb, // Vector Count Leading Zeros Byte
// vclzd, // Vector Count Leading Zeros Dword
vclzd, // Vector Count Leading Zeros Dword
// vclzh, // Vector Count Leading Zeros Hword
// vclzw, // Vector Count Leading Zeros Word
vclzw, // Vector Count Leading Zeros Word
// vcmpbfp, // Vector Compare Bounds Floating-Point
// vcmpbfp_r, // Vector Compare Bounds Floating-Point Rc=1
// vcmpeqfp, // Vector Compare Equal To Floating-Point
Expand Down
51 changes: 31 additions & 20 deletions compiler/p/codegen/OMRInstOpCodeProperties.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -992,6 +992,17 @@
PPCOpProp_SyncSideEffectFree,
},

{
/* .mnemonic = */ OMR::InstOpCode::cmpb,
/* .name = */ "cmpb",
/* .description = "Compare Bytes", */
/* .prefix = */ 0x00000000,
/* .opcode = */ 0x7C0003F8,
/* .format = */ FORMAT_RA_RS_RB,
/* .minimumALS = */ OMR_PROCESSOR_PPC_P6,
/* .properties = */ PPCOpProp_SyncSideEffectFree,
},

{
/* .mnemonic = */ OMR::InstOpCode::cmprb,
/* .name = */ "cmprb",
Expand Down Expand Up @@ -8836,17 +8847,17 @@
/* PPCOpProp_SyncSideEffectFree, */
/* }, */

/* { */
/* .mnemonic = OMR::InstOpCode::vclzd, */
/* .name = "vclzd", */
{
/* .mnemonic = */ OMR::InstOpCode::vclzd,
/* .name = */ "vclzd",
/* .description = "Vector Count Leading Zeros Dword", */
/* .prefix = 0x00000000, */
/* .opcode = 0x100007C2, */
/* .format = FORMAT_UNKNOWN, */
/* .minimumALS = OMR_PROCESSOR_PPC_P8, */
/* .properties = PPCOpProp_IsVMX | */
/* PPCOpProp_SyncSideEffectFree, */
/* }, */
/* .prefix = */ 0x00000000,
/* .opcode = */ 0x100007C2,
/* .format = */ FORMAT_VRT_VRB,
/* .minimumALS = */ OMR_PROCESSOR_PPC_P8,
/* .properties = */ PPCOpProp_IsVMX |
PPCOpProp_SyncSideEffectFree,
},

/* { */
/* .mnemonic = OMR::InstOpCode::vclzh, */
Expand All @@ -8860,17 +8871,17 @@
/* PPCOpProp_SyncSideEffectFree, */
/* }, */

/* { */
/* .mnemonic = OMR::InstOpCode::vclzw, */
/* .name = "vclzw", */
{
/* .mnemonic = */ OMR::InstOpCode::vclzw,
/* .name = */ "vclzw",
/* .description = "Vector Count Leading Zeros Word", */
/* .prefix = 0x00000000, */
/* .opcode = 0x10000782, */
/* .format = FORMAT_UNKNOWN, */
/* .minimumALS = OMR_PROCESSOR_PPC_P8, */
/* .properties = PPCOpProp_IsVMX | */
/* PPCOpProp_SyncSideEffectFree, */
/* }, */
/* .prefix = */ 0x00000000,
/* .opcode = */ 0x10000782,
/* .format = */ FORMAT_VRT_VRB,
/* .minimumALS = */ OMR_PROCESSOR_PPC_P8,
/* .properties = */ PPCOpProp_IsVMX |
PPCOpProp_SyncSideEffectFree,
},

/* { */
/* .mnemonic = OMR::InstOpCode::vcmpbfp, */
Expand Down
Loading

0 comments on commit 2767da3

Please sign in to comment.