@@ -8229,6 +8229,134 @@ OPCODE_MACRO(\
8229
8229
/* .ifCompareOpCode = */ TR::BadILOp, \
8230
8230
/* .description = */ \
8231
8231
)
8232
+ OPCODE_MACRO(\
8233
+ /* .operation = */ bcompressbits, \
8234
+ /* .name = */ "bcompressbits", \
8235
+ /* .properties1 = */ 0, \
8236
+ /* .properties2 = */ ILProp2::SupportedForPRE, \
8237
+ /* .properties3 = */ 0, \
8238
+ /* .properties4 = */ 0, \
8239
+ /* .dataType = */ TR::Int8, \
8240
+ /* .typeProperties = */ ILTypeProp::Size_1 | ILTypeProp::Integer, \
8241
+ /* .childProperties = */ TWO_SAME_CHILD(TR::Int8), \
8242
+ /* .swapChildrenOpCode = */ TR::BadILOp, \
8243
+ /* .reverseBranchOpCode = */ TR::BadILOp, \
8244
+ /* .booleanCompareOpCode = */ TR::BadILOp, \
8245
+ /* .ifCompareOpCode = */ TR::BadILOp, \
8246
+ /* .description = compress bits from child1 selected by 1 bits in child2 into low bits of result */
8247
+ )
8248
+ OPCODE_MACRO(\
8249
+ /* .operation = */ scompressbits, \
8250
+ /* .name = */ "scompressbits", \
8251
+ /* .properties1 = */ 0, \
8252
+ /* .properties2 = */ ILProp2::SupportedForPRE, \
8253
+ /* .properties3 = */ 0, \
8254
+ /* .properties4 = */ 0, \
8255
+ /* .dataType = */ TR::Int16, \
8256
+ /* .typeProperties = */ ILTypeProp::Size_2 | ILTypeProp::Integer, \
8257
+ /* .childProperties = */ TWO_SAME_CHILD(TR::Int16), \
8258
+ /* .swapChildrenOpCode = */ TR::BadILOp, \
8259
+ /* .reverseBranchOpCode = */ TR::BadILOp, \
8260
+ /* .booleanCompareOpCode = */ TR::BadILOp, \
8261
+ /* .ifCompareOpCode = */ TR::BadILOp, \
8262
+ /* .description = compress bits from child1 selected by 1 bits in child2 into low bits of result */
8263
+ )
8264
+ OPCODE_MACRO(\
8265
+ /* .operation = */ icompressbits, \
8266
+ /* .name = */ "icompressbits", \
8267
+ /* .properties1 = */ 0, \
8268
+ /* .properties2 = */ ILProp2::SupportedForPRE, \
8269
+ /* .properties3 = */ 0, \
8270
+ /* .properties4 = */ 0, \
8271
+ /* .dataType = */ TR::Int32, \
8272
+ /* .typeProperties = */ ILTypeProp::Size_4 | ILTypeProp::Integer, \
8273
+ /* .childProperties = */ TWO_SAME_CHILD(TR::Int32), \
8274
+ /* .swapChildrenOpCode = */ TR::BadILOp, \
8275
+ /* .reverseBranchOpCode = */ TR::BadILOp, \
8276
+ /* .booleanCompareOpCode = */ TR::BadILOp, \
8277
+ /* .ifCompareOpCode = */ TR::BadILOp, \
8278
+ /* .description = compress bits from child1 selected by 1 bits in child2 into low bits of result */
8279
+ )
8280
+ OPCODE_MACRO(\
8281
+ /* .operation = */ lcompressbits, \
8282
+ /* .name = */ "lcompressbits", \
8283
+ /* .properties1 = */ 0, \
8284
+ /* .properties2 = */ ILProp2::SupportedForPRE, \
8285
+ /* .properties3 = */ 0, \
8286
+ /* .properties4 = */ 0, \
8287
+ /* .dataType = */ TR::Int64, \
8288
+ /* .typeProperties = */ ILTypeProp::Size_8 | ILTypeProp::Integer, \
8289
+ /* .childProperties = */ TWO_SAME_CHILD(TR::Int64), \
8290
+ /* .swapChildrenOpCode = */ TR::BadILOp, \
8291
+ /* .reverseBranchOpCode = */ TR::BadILOp, \
8292
+ /* .booleanCompareOpCode = */ TR::BadILOp, \
8293
+ /* .ifCompareOpCode = */ TR::BadILOp, \
8294
+ /* .description = compress bits from child1 selected by 1 bits in child2 into low bits of result */
8295
+ )
8296
+ OPCODE_MACRO(\
8297
+ /* .operation = */ bexpandbits, \
8298
+ /* .name = */ "bexpandbits", \
8299
+ /* .properties1 = */ 0, \
8300
+ /* .properties2 = */ ILProp2::SupportedForPRE, \
8301
+ /* .properties3 = */ 0, \
8302
+ /* .properties4 = */ 0, \
8303
+ /* .dataType = */ TR::Int8, \
8304
+ /* .typeProperties = */ ILTypeProp::Size_1 | ILTypeProp::Integer, \
8305
+ /* .childProperties = */ TWO_SAME_CHILD(TR::Int8), \
8306
+ /* .swapChildrenOpCode = */ TR::BadILOp, \
8307
+ /* .reverseBranchOpCode = */ TR::BadILOp, \
8308
+ /* .booleanCompareOpCode = */ TR::BadILOp, \
8309
+ /* .ifCompareOpCode = */ TR::BadILOp, \
8310
+ /* .description = starting from lowest bit, deposit bits from child1 into bits of result selected by 1 bits in child2 */
8311
+ )
8312
+ OPCODE_MACRO(\
8313
+ /* .operation = */ sexpandbits, \
8314
+ /* .name = */ "sexpandbits", \
8315
+ /* .properties1 = */ 0, \
8316
+ /* .properties2 = */ ILProp2::SupportedForPRE, \
8317
+ /* .properties3 = */ 0, \
8318
+ /* .properties4 = */ 0, \
8319
+ /* .dataType = */ TR::Int16, \
8320
+ /* .typeProperties = */ ILTypeProp::Size_2 | ILTypeProp::Integer, \
8321
+ /* .childProperties = */ TWO_SAME_CHILD(TR::Int16), \
8322
+ /* .swapChildrenOpCode = */ TR::BadILOp, \
8323
+ /* .reverseBranchOpCode = */ TR::BadILOp, \
8324
+ /* .booleanCompareOpCode = */ TR::BadILOp, \
8325
+ /* .ifCompareOpCode = */ TR::BadILOp, \
8326
+ /* .description = starting from lowest bit, deposit bits from child1 into bits of result selected by 1 bits in child2 */
8327
+ )
8328
+ OPCODE_MACRO(\
8329
+ /* .operation = */ iexpandbits, \
8330
+ /* .name = */ "iexpandbits", \
8331
+ /* .properties1 = */ 0, \
8332
+ /* .properties2 = */ ILProp2::SupportedForPRE, \
8333
+ /* .properties3 = */ 0, \
8334
+ /* .properties4 = */ 0, \
8335
+ /* .dataType = */ TR::Int32, \
8336
+ /* .typeProperties = */ ILTypeProp::Size_4 | ILTypeProp::Integer, \
8337
+ /* .childProperties = */ TWO_SAME_CHILD(TR::Int32), \
8338
+ /* .swapChildrenOpCode = */ TR::BadILOp, \
8339
+ /* .reverseBranchOpCode = */ TR::BadILOp, \
8340
+ /* .booleanCompareOpCode = */ TR::BadILOp, \
8341
+ /* .ifCompareOpCode = */ TR::BadILOp, \
8342
+ /* .description = starting from lowest bit, deposit bits from child1 into bits of result selected by 1 bits in child2 */
8343
+ )
8344
+ OPCODE_MACRO(\
8345
+ /* .operation = */ lexpandbits, \
8346
+ /* .name = */ "lexpandbits", \
8347
+ /* .properties1 = */ 0, \
8348
+ /* .properties2 = */ ILProp2::SupportedForPRE, \
8349
+ /* .properties3 = */ 0, \
8350
+ /* .properties4 = */ 0, \
8351
+ /* .dataType = */ TR::Int64, \
8352
+ /* .typeProperties = */ ILTypeProp::Size_8 | ILTypeProp::Integer, \
8353
+ /* .childProperties = */ TWO_SAME_CHILD(TR::Int64), \
8354
+ /* .swapChildrenOpCode = */ TR::BadILOp, \
8355
+ /* .reverseBranchOpCode = */ TR::BadILOp, \
8356
+ /* .booleanCompareOpCode = */ TR::BadILOp, \
8357
+ /* .ifCompareOpCode = */ TR::BadILOp, \
8358
+ /* .description = starting from lowest bit, deposit bits from child1 into bits of result selected by 1 bits in child2 */
8359
+ )
8232
8360
OPCODE_MACRO(\
8233
8361
/* .opcode = */ sbyteswap, \
8234
8362
/* .name = */ "sbyteswap", \
0 commit comments