-
Notifications
You must be signed in to change notification settings - Fork 392
/
OMROpcodes.hpp
795 lines (792 loc) · 190 KB
/
OMROpcodes.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
/*******************************************************************************
* Copyright (c) 2000, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
* distribution and is available at http://eclipse.org/legal/epl-2.0
* or the Apache License, Version 2.0 which accompanies this distribution
* and is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License, v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
*******************************************************************************/
#ifndef OMR_OPCODEMACROS_INCL
#define OMR_OPCODEMACROS_INCL
/**
*
* Opcodes consist of (in order):
* - opcode
* - name
* - properties1
* - properties2
* - properties3
* - properties4
* - dataType
* - typeProperties
* - childProperties
* - swapChildrenOpcode
* - reverseBranchOpcode
* - booleanCompareOpcode
* - ifCompareOpcode
*
*/
#define FOR_EACH_OPCODE(MACRO) \
MACRO(\
/* opcode */ TR::BadILOp,\
"BadILOp",\
0,\
0,\
0,\
0,\
TR::NoType,\
0,\
ILChildProp::NoChildren,\
TR::BadILOp,\
TR::BadILOp,\
TR::BadILOp,\
TR::BadILOp) \
MACRO(\
TR::aconst,\
"aconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iconst,"iconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lconst,"lconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fconst,"fconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dconst,"dconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bconst,"bconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sconst,"sconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iload,"iload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fload,"fload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dload,"dload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::aload,"aload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bload,"bload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sload,"sload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lload,"lload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::irdbar,"irdbar",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::frdbar,"frdbar",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::drdbar,"drdbar",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ardbar,"ardbar",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::brdbar,"brdbar",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::srdbar,"srdbar",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lrdbar,"lrdbar",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iloadi,"iloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::floadi,"floadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dloadi,"dloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::aloadi,"aloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bloadi,"bloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sloadi,"sloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lloadi,"lloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::irdbari,"irdbari",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::frdbari,"frdbari",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::drdbari,"drdbari",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ardbari,"ardbari",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::brdbari,"brdbari",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::srdbari,"srdbari",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lrdbari,"lrdbari",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::ReadBarrierLoad,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::istore,"istore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lstore,"lstore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fstore,"fstore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dstore,"dstore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::astore,"astore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bstore,"bstore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sstore,"sstore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iwrtbar,"iwrtbar",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_CHILD(TR::Int32, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lwrtbar,"lwrtbar",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_CHILD(TR::Int64, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fwrtbar,"fwrtbar",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_CHILD(TR::Float, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dwrtbar,"dwrtbar",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_CHILD(TR::Double, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::awrtbar,"awrtbar",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,TWO_CHILD(TR::Address, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bwrtbar,"bwrtbar",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_CHILD(TR::Int8, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::swrtbar,"swrtbar",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_CHILD(TR::Int16, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lstorei,"lstorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_CHILD(TR::Address, TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fstorei,"fstorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_CHILD(TR::Address, TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dstorei,"dstorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_CHILD(TR::Address, TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::astorei,"astorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,TWO_CHILD(TR::Address, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bstorei,"bstorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_CHILD(TR::Address, TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sstorei,"sstorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_CHILD(TR::Address, TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::istorei,"istorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_CHILD(TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lwrtbari,"lwrtbari",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,THREE_CHILD(TR::Address, TR::Int64, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fwrtbari,"fwrtbari",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,THREE_CHILD(TR::Address, TR::Float, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dwrtbari,"dwrtbari",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,THREE_CHILD(TR::Address, TR::Double, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::awrtbari,"awrtbari",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,THREE_CHILD(TR::Address, TR::Address, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bwrtbari,"bwrtbari",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,THREE_CHILD(TR::Address, TR::Int8, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::swrtbari,"swrtbari",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,THREE_CHILD(TR::Address, TR::Int16, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iwrtbari,"iwrtbari",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::WriteBarrierStore| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,THREE_CHILD(TR::Address, TR::Int32, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::Goto,"goto",ILProp1::Branch | ILProp1::TreeTop,0,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ireturn,"ireturn",ILProp1::Return | ILProp1::TreeTop,ILProp2::MayUseSystemStack,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lreturn,"lreturn",ILProp1::Return | ILProp1::TreeTop,ILProp2::MayUseSystemStack,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::freturn,"freturn",ILProp1::Return | ILProp1::TreeTop,ILProp2::MayUseSystemStack,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dreturn,"dreturn",ILProp1::Return | ILProp1::TreeTop,ILProp2::MayUseSystemStack,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::areturn,"areturn",ILProp1::Return | ILProp1::TreeTop,ILProp2::MayUseSystemStack,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::Return,"return",ILProp1::Return | ILProp1::TreeTop,ILProp2::MayUseSystemStack,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::asynccheck,"asynccheck",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::MustBeLowered| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::athrow,"athrow",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::MustBeLowered | ILProp2::CanRaiseException| ILProp2::MayUseSystemStack,0,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::icall,"icall",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lcall,"lcall",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fcall,"fcall",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dcall,"dcall",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::acall,"acall",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::call,"call",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iadd,"iadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::iadd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ladd,"ladd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::ladd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fadd,"fadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Float),TR::fadd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dadd,"dadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Double),TR::dadd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::badd,"badd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::badd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sadd,"sadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sadd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::isub,"isub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lsub,"lsub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fsub,"fsub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dsub,"dsub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bsub,"bsub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ssub,"ssub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::asub,"asub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::NoType,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::imul,"imul",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::imul,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lmul,"lmul",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lmul,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fmul,"fmul",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Float),TR::fmul,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dmul,"dmul",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Double),TR::dmul,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bmul,"bmul",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::bmul,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::smul,"smul",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::smul,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::idiv,"idiv",ILProp1::Div,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ldiv,"ldiv",ILProp1::Div,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fdiv,"fdiv",ILProp1::Div,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ddiv,"ddiv",ILProp1::Div,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bdiv,"bdiv",ILProp1::Div,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sdiv,"sdiv",ILProp1::Div,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iudiv,"iudiv",ILProp1::Div,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ludiv,"ludiv",ILProp1::Div,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::irem,"irem",ILProp1::Rem,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lrem,"lrem",ILProp1::Rem,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::frem,"frem",ILProp1::Rem,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::drem,"drem",ILProp1::Rem,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::brem,"brem",ILProp1::Rem,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::srem,"srem",ILProp1::Rem,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iurem,"iurem",ILProp1::Rem,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ineg,"ineg",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lneg,"lneg",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fneg,"fneg",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dneg,"dneg",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bneg,"bneg",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sneg,"sneg",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iabs,"iabs",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse | ILProp3::Abs,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::labs,"labs",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse | ILProp3::Abs,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fabs,"fabs",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse | ILProp3::Abs,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dabs,"dabs",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse | ILProp3::Abs,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ishl,"ishl",ILProp1::LeftShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lshl,"lshl",ILProp1::LeftShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_CHILD(TR::Int64, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bshl,"bshl",ILProp1::LeftShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_CHILD(TR::Int8, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sshl,"sshl",ILProp1::LeftShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_CHILD(TR::Int16, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ishr,"ishr",ILProp1::RightShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lshr,"lshr",ILProp1::RightShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_CHILD(TR::Int64, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bshr,"bshr",ILProp1::RightShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_CHILD(TR::Int8, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sshr,"sshr",ILProp1::RightShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_CHILD(TR::Int16, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iushr,"iushr",ILProp1::RightShift | ILProp1::ShiftLogical,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lushr,"lushr",ILProp1::RightShift | ILProp1::ShiftLogical,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_CHILD(TR::Int64, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bushr,"bushr",ILProp1::RightShift | ILProp1::ShiftLogical,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_CHILD(TR::Int8, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sushr,"sushr",ILProp1::RightShift | ILProp1::ShiftLogical,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_CHILD(TR::Int16, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::irol,"irol",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::LeftRotate,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lrol,"lrol",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::LeftRotate,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_CHILD(TR::Int64, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iand,"iand",ILProp1::Commutative | ILProp1::Associative | ILProp1::And,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::iand,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::land,"land",ILProp1::Commutative | ILProp1::Associative | ILProp1::And,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::land,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::band,"band",ILProp1::Commutative | ILProp1::Associative | ILProp1::And,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::band,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sand,"sand",ILProp1::Commutative | ILProp1::Associative | ILProp1::And,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sand,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ior,"ior",ILProp1::Commutative | ILProp1::Associative | ILProp1::Or,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::ior,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lor,"lor",ILProp1::Commutative | ILProp1::Associative | ILProp1::Or,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lor,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bor,"bor",ILProp1::Commutative | ILProp1::Associative | ILProp1::Or,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::bor,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sor,"sor",ILProp1::Commutative | ILProp1::Associative | ILProp1::Or,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sor,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ixor,"ixor",ILProp1::Commutative | ILProp1::Associative | ILProp1::Xor,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::ixor,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lxor,"lxor",ILProp1::Commutative | ILProp1::Associative | ILProp1::Xor,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lxor,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bxor,"bxor",ILProp1::Commutative | ILProp1::Associative | ILProp1::Xor,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::bxor,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sxor,"sxor",ILProp1::Commutative | ILProp1::Associative | ILProp1::Xor,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sxor,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::i2l,"i2l",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SignExtension,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::i2f,"i2f",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::i2d,"i2d",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::i2b,"i2b",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::i2s,"i2s",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::i2a,"i2a",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iu2l,"iu2l",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::ZeroExtension,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iu2f,"iu2f",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iu2d,"iu2d",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iu2a,"iu2a",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::l2i,"l2i",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::l2f,"l2f",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::l2d,"l2d",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::l2b,"l2b",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::l2s,"l2s",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::l2a,"l2a",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lu2f,"lu2f",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lu2d,"lu2d",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lu2a,"lu2a",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::f2i,"f2i",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::f2l,"f2l",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::f2d,"f2d",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::f2b,"f2b",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::f2s,"f2s",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::d2i,"d2i",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::d2l,"d2l",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::d2f,"d2f",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::d2b,"d2b",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::d2s,"d2s",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::b2i,"b2i",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SignExtension,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::b2l,"b2l",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SignExtension,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::b2f,"b2f",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::b2d,"b2d",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::b2s,"b2s",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SignExtension,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::b2a,"b2a",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bu2i,"bu2i",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::ZeroExtension,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bu2l,"bu2l",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::ZeroExtension,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bu2f,"bu2f",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bu2d,"bu2d",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bu2s,"bu2s",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::ZeroExtension,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bu2a,"bu2a",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::ZeroExtension,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::s2i,"s2i",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SignExtension,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::s2l,"s2l",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SignExtension,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::s2f,"s2f",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::s2d,"s2d",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::s2b,"s2b",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::s2a,"s2a",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::su2i,"su2i",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::ZeroExtension,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::su2l,"su2l",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::ZeroExtension,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::su2f,"su2f",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::su2d,"su2d",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::su2a,"su2a",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::a2i,"a2i",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::a2l,"a2l",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::a2b,"a2b",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::a2s,"a2s",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::icmpeq,"icmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::icmpeq,TR::icmpne,TR::BadILOp,TR::ificmpeq) \
MACRO(TR::icmpne,"icmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::icmpne,TR::icmpeq,TR::BadILOp,TR::ificmpne) \
MACRO(TR::icmplt,"icmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::icmpgt,TR::icmpge,TR::BadILOp,TR::ificmplt) \
MACRO(TR::icmpge,"icmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::icmple,TR::icmplt,TR::BadILOp,TR::ificmpge) \
MACRO(TR::icmpgt,"icmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::icmplt,TR::icmple,TR::BadILOp,TR::ificmpgt) \
MACRO(TR::icmple,"icmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::icmpge,TR::icmpgt,TR::BadILOp,TR::ificmple) \
MACRO(TR::iucmpeq,"iucmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::iucmpeq,TR::iucmpne,TR::BadILOp,TR::ifiucmpeq) \
MACRO(TR::iucmpne,"iucmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::iucmpne,TR::iucmpeq,TR::BadILOp,TR::ifiucmpne) \
MACRO(TR::iucmplt,"iucmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::iucmpgt,TR::iucmpge,TR::BadILOp,TR::ifiucmplt) \
MACRO(TR::iucmpge,"iucmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::iucmple,TR::iucmplt,TR::BadILOp,TR::ifiucmpge) \
MACRO(TR::iucmpgt,"iucmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::iucmplt,TR::iucmple,TR::BadILOp,TR::ifiucmpgt) \
MACRO(TR::iucmple,"iucmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::iucmpge,TR::iucmpgt,TR::BadILOp,TR::ifiucmple) \
MACRO(TR::lcmpeq,"lcmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lcmpeq,TR::lcmpne,TR::BadILOp,TR::iflcmpeq) \
MACRO(TR::lcmpne,"lcmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lcmpne,TR::lcmpeq,TR::BadILOp,TR::iflcmpne) \
MACRO(TR::lcmplt,"lcmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lcmpgt,TR::lcmpge,TR::BadILOp,TR::iflcmplt) \
MACRO(TR::lcmpge,"lcmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lcmple,TR::lcmplt,TR::BadILOp,TR::iflcmpge) \
MACRO(TR::lcmpgt,"lcmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lcmplt,TR::lcmple,TR::BadILOp,TR::iflcmpgt) \
MACRO(TR::lcmple,"lcmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lcmpge,TR::lcmpgt,TR::BadILOp,TR::iflcmple) \
MACRO(TR::lucmpeq,"lucmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::lucmpeq,TR::lucmpne,TR::BadILOp,TR::iflucmpeq) \
MACRO(TR::lucmpne,"lucmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::lucmpne,TR::lucmpeq,TR::BadILOp,TR::iflucmpne) \
MACRO(TR::lucmplt,"lucmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::lucmpgt,TR::lucmpge,TR::BadILOp,TR::iflucmplt) \
MACRO(TR::lucmpge,"lucmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::lucmple,TR::lucmplt,TR::BadILOp,TR::iflucmpge) \
MACRO(TR::lucmpgt,"lucmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::lucmplt,TR::lucmple,TR::BadILOp,TR::iflucmpgt) \
MACRO(TR::lucmple,"lucmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::lucmpge,TR::lucmpgt,TR::BadILOp,TR::iflucmple) \
MACRO(TR::fcmpeq,"fcmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpeq,TR::fcmpneu,TR::BadILOp,TR::iffcmpeq) \
MACRO(TR::fcmpne,"fcmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpne,TR::fcmpequ,TR::BadILOp,TR::iffcmpne) \
MACRO(TR::fcmplt,"fcmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpgt,TR::fcmpgeu,TR::BadILOp,TR::iffcmplt) \
MACRO(TR::fcmpge,"fcmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmple,TR::fcmpltu,TR::BadILOp,TR::iffcmpge) \
MACRO(TR::fcmpgt,"fcmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmplt,TR::fcmpleu,TR::BadILOp,TR::iffcmpgt) \
MACRO(TR::fcmple,"fcmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpge,TR::fcmpgtu,TR::BadILOp,TR::iffcmple) \
MACRO(TR::fcmpequ,"fcmpequ",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpequ,TR::fcmpne,TR::BadILOp,TR::iffcmpequ) \
MACRO(TR::fcmpneu,"fcmpneu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpneu,TR::fcmpeq,TR::BadILOp,TR::iffcmpneu) \
MACRO(TR::fcmpltu,"fcmpltu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpgtu,TR::fcmpge,TR::BadILOp,TR::iffcmpltu) \
MACRO(TR::fcmpgeu,"fcmpgeu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpleu,TR::fcmplt,TR::BadILOp,TR::iffcmpgeu) \
MACRO(TR::fcmpgtu,"fcmpgtu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpltu,TR::fcmple,TR::BadILOp,TR::iffcmpgtu) \
MACRO(TR::fcmpleu,"fcmpleu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::fcmpgeu,TR::fcmpgt,TR::BadILOp,TR::iffcmpleu) \
MACRO(TR::dcmpeq,"dcmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpeq,TR::dcmpneu,TR::BadILOp,TR::ifdcmpeq) \
MACRO(TR::dcmpne,"dcmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpne,TR::dcmpequ,TR::BadILOp,TR::ifdcmpne) \
MACRO(TR::dcmplt,"dcmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpgt,TR::dcmpgeu,TR::BadILOp,TR::ifdcmplt) \
MACRO(TR::dcmpge,"dcmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmple,TR::dcmpltu,TR::BadILOp,TR::ifdcmpge) \
MACRO(TR::dcmpgt,"dcmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmplt,TR::dcmpleu,TR::BadILOp,TR::ifdcmpgt) \
MACRO(TR::dcmple,"dcmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpge,TR::dcmpgtu,TR::BadILOp,TR::ifdcmple) \
MACRO(TR::dcmpequ,"dcmpequ",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpequ,TR::dcmpne,TR::BadILOp,TR::ifdcmpequ) \
MACRO(TR::dcmpneu,"dcmpneu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpneu,TR::dcmpeq,TR::BadILOp,TR::ifdcmpneu) \
MACRO(TR::dcmpltu,"dcmpltu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpgtu,TR::dcmpge,TR::BadILOp,TR::ifdcmpltu) \
MACRO(TR::dcmpgeu,"dcmpgeu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpleu,TR::dcmplt,TR::BadILOp,TR::ifdcmpgeu) \
MACRO(TR::dcmpgtu,"dcmpgtu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpltu,TR::dcmple,TR::BadILOp,TR::ifdcmpgtu) \
MACRO(TR::dcmpleu,"dcmpleu",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::dcmpgeu,TR::dcmpgt,TR::BadILOp,TR::ifdcmpleu) \
MACRO(TR::acmpeq,"acmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Address),TR::acmpeq,TR::acmpne,TR::BadILOp,TR::ifacmpeq) \
MACRO(TR::acmpne,"acmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Address),TR::acmpne,TR::acmpeq,TR::BadILOp,TR::ifacmpne) \
MACRO(TR::acmplt,"acmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::UnsignedCompare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Address),TR::acmpgt,TR::acmpge,TR::BadILOp,TR::ifacmplt) \
MACRO(TR::acmpge,"acmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::UnsignedCompare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Address),TR::acmple,TR::acmplt,TR::BadILOp,TR::ifacmpge) \
MACRO(TR::acmpgt,"acmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::UnsignedCompare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Address),TR::acmplt,TR::acmple,TR::BadILOp,TR::ifacmpgt) \
MACRO(TR::acmple,"acmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::UnsignedCompare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Address),TR::acmpge,TR::acmpgt,TR::BadILOp,TR::ifacmple) \
MACRO(TR::bcmpeq,"bcmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::bcmpeq,TR::bcmpne,TR::BadILOp,TR::ifbcmpeq) \
MACRO(TR::bcmpne,"bcmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::bcmpne,TR::bcmpeq,TR::BadILOp,TR::ifbcmpne) \
MACRO(TR::bcmplt,"bcmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::bcmpgt,TR::bcmpge,TR::BadILOp,TR::ifbcmplt) \
MACRO(TR::bcmpge,"bcmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::bcmple,TR::bcmplt,TR::BadILOp,TR::ifbcmpge) \
MACRO(TR::bcmpgt,"bcmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::bcmplt,TR::bcmple,TR::BadILOp,TR::ifbcmpgt) \
MACRO(TR::bcmple,"bcmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::bcmpge,TR::bcmpgt,TR::BadILOp,TR::ifbcmple) \
MACRO(TR::bucmpeq,"bucmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::bucmpeq,TR::bucmpne,TR::BadILOp,TR::ifbucmpeq) \
MACRO(TR::bucmpne,"bucmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::bucmpne,TR::bucmpeq,TR::BadILOp,TR::ifbucmpne) \
MACRO(TR::bucmplt,"bucmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::bucmpgt,TR::bucmpge,TR::BadILOp,TR::ifbucmplt) \
MACRO(TR::bucmpge,"bucmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::bucmple,TR::bucmplt,TR::BadILOp,TR::ifbucmpge) \
MACRO(TR::bucmpgt,"bucmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::bucmplt,TR::bucmple,TR::BadILOp,TR::ifbucmpgt) \
MACRO(TR::bucmple,"bucmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::bucmpge,TR::bucmpgt,TR::BadILOp,TR::ifbucmple) \
MACRO(TR::scmpeq,"scmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::scmpeq,TR::scmpne,TR::BadILOp,TR::ifscmpeq) \
MACRO(TR::scmpne,"scmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::scmpne,TR::scmpeq,TR::BadILOp,TR::ifscmpne) \
MACRO(TR::scmplt,"scmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::scmpgt,TR::scmpge,TR::BadILOp,TR::ifscmplt) \
MACRO(TR::scmpge,"scmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::scmple,TR::scmplt,TR::BadILOp,TR::ifscmpge) \
MACRO(TR::scmpgt,"scmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::scmplt,TR::scmple,TR::BadILOp,TR::ifscmpgt) \
MACRO(TR::scmple,"scmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::scmpge,TR::scmpgt,TR::BadILOp,TR::ifscmple) \
MACRO(TR::sucmpeq,"sucmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sucmpeq,TR::sucmpne,TR::BadILOp,TR::ifsucmpeq) \
MACRO(TR::sucmpne,"sucmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sucmpne,TR::sucmpeq,TR::BadILOp,TR::ifsucmpne) \
MACRO(TR::sucmplt,"sucmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sucmpgt,TR::sucmpge,TR::BadILOp,TR::ifsucmplt) \
MACRO(TR::sucmpge,"sucmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sucmple,TR::sucmplt,TR::BadILOp,TR::ifsucmpge) \
MACRO(TR::sucmpgt,"sucmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sucmplt,TR::sucmple,TR::BadILOp,TR::ifsucmpgt) \
MACRO(TR::sucmple,"sucmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::sucmpge,TR::sucmpgt,TR::BadILOp,TR::ifsucmple) \
MACRO(TR::lcmp,"lcmp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::CondCodeComputation,ILProp3::Signum,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fcmpl,"fcmpl",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fcmpg,"fcmpg",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dcmpl,"dcmpl",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dcmpg,"dcmpg",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ificmpeq,"ificmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::ificmpeq,TR::ificmpne,TR::icmpeq,TR::BadILOp) \
MACRO(TR::ificmpne,"ificmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::ificmpne,TR::ificmpeq,TR::icmpne,TR::BadILOp) \
MACRO(TR::ificmplt,"ificmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::ificmpgt,TR::ificmpge,TR::icmplt,TR::BadILOp) \
MACRO(TR::ificmpge,"ificmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::ificmple,TR::ificmplt,TR::icmpge,TR::BadILOp) \
MACRO(TR::ificmpgt,"ificmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::ificmplt,TR::ificmple,TR::icmpgt,TR::BadILOp) \
MACRO(TR::ificmple,"ificmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::ificmpge,TR::ificmpgt,TR::icmple,TR::BadILOp) \
MACRO(TR::ifiucmpeq,"ifiucmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::ifiucmpeq,TR::ifiucmpne,TR::iucmpeq,TR::BadILOp) \
MACRO(TR::ifiucmpne,"ifiucmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::ifiucmpne,TR::ifiucmpeq,TR::iucmpne,TR::BadILOp) \
MACRO(TR::ifiucmplt,"ifiucmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::ifiucmpgt,TR::ifiucmpge,TR::iucmplt,TR::BadILOp) \
MACRO(TR::ifiucmpge,"ifiucmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::ifiucmple,TR::ifiucmplt,TR::iucmpge,TR::BadILOp) \
MACRO(TR::ifiucmpgt,"ifiucmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::ifiucmplt,TR::ifiucmple,TR::iucmpgt,TR::BadILOp) \
MACRO(TR::ifiucmple,"ifiucmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::ifiucmpge,TR::ifiucmpgt,TR::iucmple,TR::BadILOp) \
MACRO(TR::iflcmpeq,"iflcmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::iflcmpeq,TR::iflcmpne,TR::lcmpeq,TR::BadILOp) \
MACRO(TR::iflcmpne,"iflcmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::iflcmpne,TR::iflcmpeq,TR::lcmpne,TR::BadILOp) \
MACRO(TR::iflcmplt,"iflcmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::iflcmpgt,TR::iflcmpge,TR::lcmplt,TR::BadILOp) \
MACRO(TR::iflcmpge,"iflcmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::iflcmple,TR::iflcmplt,TR::lcmpge,TR::BadILOp) \
MACRO(TR::iflcmpgt,"iflcmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::iflcmplt,TR::iflcmple,TR::lcmpgt,TR::BadILOp) \
MACRO(TR::iflcmple,"iflcmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::iflcmpge,TR::iflcmpgt,TR::lcmple,TR::BadILOp) \
MACRO(TR::iflucmpeq,"iflucmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::iflucmpeq,TR::iflucmpne,TR::lucmpeq,TR::BadILOp) \
MACRO(TR::iflucmpne,"iflucmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::iflucmpne,TR::iflucmpeq,TR::lucmpne,TR::BadILOp) \
MACRO(TR::iflucmplt,"iflucmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::iflucmpgt,TR::iflucmpge,TR::lucmplt,TR::BadILOp) \
MACRO(TR::iflucmpge,"iflucmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::iflucmple,TR::iflucmplt,TR::lucmpge,TR::BadILOp) \
MACRO(TR::iflucmpgt,"iflucmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::iflucmplt,TR::iflucmple,TR::lucmpgt,TR::BadILOp) \
MACRO(TR::iflucmple,"iflucmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::iflucmpge,TR::iflucmpgt,TR::lucmple,TR::BadILOp) \
MACRO(TR::iffcmpeq,"iffcmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpeq,TR::iffcmpneu,TR::fcmpeq,TR::BadILOp) \
MACRO(TR::iffcmpne,"iffcmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpne,TR::iffcmpequ,TR::fcmpne,TR::BadILOp) \
MACRO(TR::iffcmplt,"iffcmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpgt,TR::iffcmpgeu,TR::fcmplt,TR::BadILOp) \
MACRO(TR::iffcmpge,"iffcmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmple,TR::iffcmpltu,TR::fcmpge,TR::BadILOp) \
MACRO(TR::iffcmpgt,"iffcmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmplt,TR::iffcmpleu,TR::fcmpgt,TR::BadILOp) \
MACRO(TR::iffcmple,"iffcmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpge,TR::iffcmpgtu,TR::fcmple,TR::BadILOp) \
MACRO(TR::iffcmpequ,"iffcmpequ",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpequ,TR::iffcmpne,TR::fcmpequ,TR::BadILOp) \
MACRO(TR::iffcmpneu,"iffcmpneu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpneu,TR::iffcmpeq,TR::fcmpneu,TR::BadILOp) \
MACRO(TR::iffcmpltu,"iffcmpltu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpgtu,TR::iffcmpge,TR::fcmpltu,TR::BadILOp) \
MACRO(TR::iffcmpgeu,"iffcmpgeu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpleu,TR::iffcmplt,TR::fcmpgeu,TR::BadILOp) \
MACRO(TR::iffcmpgtu,"iffcmpgtu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpltu,TR::iffcmple,TR::fcmpgtu,TR::BadILOp) \
MACRO(TR::iffcmpleu,"iffcmpleu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Float),TR::iffcmpgeu,TR::iffcmpgt,TR::fcmpleu,TR::BadILOp) \
MACRO(TR::ifdcmpeq,"ifdcmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpeq,TR::ifdcmpneu,TR::dcmpeq,TR::BadILOp) \
MACRO(TR::ifdcmpne,"ifdcmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpne,TR::ifdcmpequ,TR::dcmpne,TR::BadILOp) \
MACRO(TR::ifdcmplt,"ifdcmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpgt,TR::ifdcmpgeu,TR::dcmplt,TR::BadILOp) \
MACRO(TR::ifdcmpge,"ifdcmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmple,TR::ifdcmpltu,TR::dcmpge,TR::BadILOp) \
MACRO(TR::ifdcmpgt,"ifdcmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmplt,TR::ifdcmpleu,TR::dcmpgt,TR::BadILOp) \
MACRO(TR::ifdcmple,"ifdcmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpge,TR::ifdcmpgtu,TR::dcmple,TR::BadILOp) \
MACRO(TR::ifdcmpequ,"ifdcmpequ",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpequ,TR::ifdcmpne,TR::dcmpequ,TR::BadILOp) \
MACRO(TR::ifdcmpneu,"ifdcmpneu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpneu,TR::ifdcmpeq,TR::dcmpneu,TR::BadILOp) \
MACRO(TR::ifdcmpltu,"ifdcmpltu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpgtu,TR::ifdcmpge,TR::dcmpltu,TR::BadILOp) \
MACRO(TR::ifdcmpgeu,"ifdcmpgeu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpleu,TR::ifdcmplt,TR::dcmpgeu,TR::BadILOp) \
MACRO(TR::ifdcmpgtu,"ifdcmpgtu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpltu,TR::ifdcmple,TR::dcmpgtu,TR::BadILOp) \
MACRO(TR::ifdcmpleu,"ifdcmpleu",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,0,TR::NoType,0,TWO_SAME_CHILD(TR::Double),TR::ifdcmpgeu,TR::ifdcmpgt,TR::dcmpleu,TR::BadILOp) \
MACRO(TR::ifacmpeq,"ifacmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Address),TR::ifacmpeq,TR::ifacmpne,TR::acmpeq,TR::BadILOp) \
MACRO(TR::ifacmpne,"ifacmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Address),TR::ifacmpne,TR::ifacmpeq,TR::acmpne,TR::BadILOp) \
MACRO(TR::ifacmplt,"ifacmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess,0,TR::NoType,0,TWO_SAME_CHILD(TR::Address),TR::ifacmpgt,TR::ifacmpge,TR::acmplt,TR::BadILOp) \
MACRO(TR::ifacmpge,"ifacmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Address),TR::ifacmple,TR::ifacmplt,TR::acmpge,TR::BadILOp) \
MACRO(TR::ifacmpgt,"ifacmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Address),TR::ifacmplt,TR::ifacmple,TR::acmpgt,TR::BadILOp) \
MACRO(TR::ifacmple,"ifacmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Address),TR::ifacmpge,TR::ifacmpgt,TR::acmple,TR::BadILOp) \
MACRO(TR::ifbcmpeq,"ifbcmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int8),TR::ifbcmpeq,TR::ifbcmpne,TR::bcmpeq,TR::BadILOp) \
MACRO(TR::ifbcmpne,"ifbcmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int8),TR::ifbcmpne,TR::ifbcmpeq,TR::bcmpne,TR::BadILOp) \
MACRO(TR::ifbcmplt,"ifbcmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int8),TR::ifbcmpgt,TR::ifbcmpge,TR::bcmplt,TR::BadILOp) \
MACRO(TR::ifbcmpge,"ifbcmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int8),TR::ifbcmple,TR::ifbcmplt,TR::bcmpge,TR::BadILOp) \
MACRO(TR::ifbcmpgt,"ifbcmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int8),TR::ifbcmplt,TR::ifbcmple,TR::bcmpgt,TR::BadILOp) \
MACRO(TR::ifbcmple,"ifbcmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int8),TR::ifbcmpge,TR::ifbcmpgt,TR::bcmple,TR::BadILOp) \
MACRO(TR::ifbucmpeq,"ifbucmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::ifbucmpeq,TR::ifbucmpne,TR::bucmpeq,TR::BadILOp) \
MACRO(TR::ifbucmpne,"ifbucmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::ifbucmpne,TR::ifbucmpeq,TR::bucmpne,TR::BadILOp) \
MACRO(TR::ifbucmplt,"ifbucmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::ifbucmpgt,TR::ifbucmpge,TR::bucmplt,TR::BadILOp) \
MACRO(TR::ifbucmpge,"ifbucmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::ifbucmple,TR::ifbucmplt,TR::bucmpge,TR::BadILOp) \
MACRO(TR::ifbucmpgt,"ifbucmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::ifbucmplt,TR::ifbucmple,TR::bucmpgt,TR::BadILOp) \
MACRO(TR::ifbucmple,"ifbucmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::ifbucmpge,TR::ifbucmpgt,TR::bucmple,TR::BadILOp) \
MACRO(TR::ifscmpeq,"ifscmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int16),TR::ifscmpeq,TR::ifscmpne,TR::scmpeq,TR::BadILOp) \
MACRO(TR::ifscmpne,"ifscmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int16),TR::ifscmpne,TR::ifscmpeq,TR::scmpne,TR::BadILOp) \
MACRO(TR::ifscmplt,"ifscmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int16),TR::ifscmpgt,TR::ifscmpge,TR::scmplt,TR::BadILOp) \
MACRO(TR::ifscmpge,"ifscmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int16),TR::ifscmple,TR::ifscmplt,TR::scmpge,TR::BadILOp) \
MACRO(TR::ifscmpgt,"ifscmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfGreater,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int16),TR::ifscmplt,TR::ifscmple,TR::scmpgt,TR::BadILOp) \
MACRO(TR::ifscmple,"ifscmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,0,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int16),TR::ifscmpge,TR::ifscmpgt,TR::scmple,TR::BadILOp) \
MACRO(TR::ifsucmpeq,"ifsucmpeq",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::ifsucmpeq,TR::ifsucmpne,TR::sucmpeq,TR::BadILOp) \
MACRO(TR::ifsucmpne,"ifsucmpne",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::ifsucmpne,TR::ifsucmpeq,TR::sucmpne,TR::BadILOp) \
MACRO(TR::ifsucmplt,"ifsucmplt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::ifsucmpgt,TR::ifsucmpge,TR::sucmplt,TR::BadILOp) \
MACRO(TR::ifsucmpge,"ifsucmpge",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::ifsucmple,TR::ifsucmplt,TR::sucmpge,TR::BadILOp) \
MACRO(TR::ifsucmpgt,"ifsucmpgt",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::ifsucmplt,TR::ifsucmple,TR::sucmpgt,TR::BadILOp) \
MACRO(TR::ifsucmple,"ifsucmple",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::ifsucmpge,TR::ifsucmpgt,TR::sucmple,TR::BadILOp) \
MACRO(TR::loadaddr,"loadaddr",ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack | ILProp2::LoadAddress,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ZEROCHK,"ZEROCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::Check| ILProp2::MayUseSystemStack,0,0,TR::NoType,ILTypeProp::Reference,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::callIf,"callIf",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,0,CHILD_COUNT(ILChildProp::UnspecifiedChildCount) | FIRST_CHILD(TR::Int32) | SECOND_CHILD(ILChildProp::UnspecifiedChildType) | THIRD_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iRegLoad,"iRegLoad",ILProp1::LoadReg,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::aRegLoad,"aRegLoad",ILProp1::LoadReg,0,0,0,TR::Address,ILTypeProp::Reference,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lRegLoad,"lRegLoad",ILProp1::LoadReg,0,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fRegLoad,"fRegLoad",ILProp1::LoadReg,0,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dRegLoad,"dRegLoad",ILProp1::LoadReg,0,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sRegLoad,"sRegLoad",ILProp1::LoadReg,0,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bRegLoad,"bRegLoad",ILProp1::LoadReg,0,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iRegStore,"iRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::aRegStore,"aRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lRegStore,"lRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fRegStore,"fRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dRegStore,"dRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sRegStore,"sRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bRegStore,"bRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::GlRegDeps,"GlRegDeps",0,0,0,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iselect,"iselect",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Select,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,THREE_CHILD(TR::Int32, TR::Int32, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lselect,"lselect",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Select,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,THREE_CHILD(TR::Int32, TR::Int64, TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bselect,"bselect",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Select,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,THREE_CHILD(TR::Int32, TR::Int8, TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sselect,"sselect",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Select,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,THREE_CHILD(TR::Int32, TR::Int16, TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::aselect,"aselect",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Select,0,0,TR::Address,ILTypeProp::Reference,THREE_CHILD(TR::Int32, TR::Address, TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fselect,"fselect",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Select,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,THREE_CHILD(TR::Int32, TR::Float, TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dselect,"dselect",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Select,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,THREE_CHILD(TR::Int32, TR::Int8, TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::treetop,"treetop",ILProp1::TreeTop,0,0,0,TR::NoType,0,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::MethodEnterHook,"MethodEnterHook",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::MustBeLowered| ILProp2::MayUseSystemStack,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::MethodExitHook,"MethodExitHook",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::MustBeLowered| ILProp2::MayUseSystemStack,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::PassThrough,"PassThrough",0,ILProp2::ValueNumberShare,0,0,TR::NoType,0,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::compressedRefs,"compressedRefs",ILProp1::TreeTop,0,0,0,TR::Address,ILTypeProp::Reference,TWO_CHILD(ILChildProp::UnspecifiedChildType, TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::BBStart,"BBStart",ILProp1::TreeTop,0,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::BBEnd,"BBEnd",ILProp1::TreeTop,0,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::virem,"virem",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vimin,"vimin",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vimax,"vimax",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vigetelem,"vigetelem",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::visetelem,"visetelem",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vimergel,"vimergel",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vimergeh,"vimergeh",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpeq,"vicmpeq",0,0,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpgt,"vicmpgt",0,0,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpge,"vicmpge",0,0,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmplt,"vicmplt",0,0,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmple,"vicmple",0,0,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpalleq,"vicmpalleq",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpallne,"vicmpallne",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpallgt,"vicmpallgt",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpallge,"vicmpallge",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpalllt,"vicmpalllt",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpallle,"vicmpallle",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpanyeq,"vicmpanyeq",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpanyne,"vicmpanyne",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpanygt,"vicmpanygt",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpanyge,"vicmpanyge",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpanylt,"vicmpanylt",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vicmpanyle,"vicmpanyle",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vnot,"vnot",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vbitselect,"vbitselect",0,0,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vperm,"vperm",0,0,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vsplats,"vsplats",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdmergel,"vdmergel",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdmergeh,"vdmergeh",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdsetelem,"vdsetelem",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdgetelem,"vdgetelem",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdsel,"vdsel",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdrem,"vdrem",ILProp1::Rem,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdmadd,"vdmadd",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdnmsub,"vdnmsub",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdmsub,"vdmsub",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdmax,"vdmax",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,0,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdmin,"vdmin",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,0,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpeq,"vdcmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::VectorInt64,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpeq,TR::vdcmpne,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpne,"vdcmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::VectorInt64,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpne,TR::vdcmpeq,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpgt,"vdcmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::VectorInt64,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmplt,TR::vdcmple,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpge,"vdcmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::VectorInt64,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmple,TR::vdcmplt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmplt,"vdcmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::VectorInt64,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpgt,TR::vdcmpge,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmple,"vdcmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::VectorInt64,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpge,TR::vdcmpgt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpalleq,"vdcmpalleq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpalleq,TR::vdcmpallne,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpallne,"vdcmpallne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpallne,TR::vdcmpalleq,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpallgt,"vdcmpallgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpalllt,TR::vdcmpallle,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpallge,"vdcmpallge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpallle,TR::vdcmpalllt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpalllt,"vdcmpalllt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpallgt,TR::vdcmpallge,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpallle,"vdcmpallle",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpallge,TR::vdcmpallgt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpanyeq,"vdcmpanyeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpanyeq,TR::vdcmpanyne,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpanyne,"vdcmpanyne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpanyne,TR::vdcmpanyeq,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpanygt,"vdcmpanygt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpanylt,TR::vdcmpanyle,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpanyge,"vdcmpanyge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpanyle,TR::vdcmpanylt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpanylt,"vdcmpanylt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpanygt,TR::vdcmpanyge,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdcmpanyle,"vdcmpanyle",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vdcmpanyge,TR::vdcmpanygt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdsqrt,"vdsqrt",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdlog,"vdlog",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::Vector,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vinc,"vinc",ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdec,"vdec",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vneg,"vneg",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vcom,"vcom",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vadd,"vadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vsub,"vsub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vmul,"vmul",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdiv,"vdiv",ILProp1::Div,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vrem,"vrem",ILProp1::Rem,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vand,"vand",ILProp1::Commutative | ILProp1::Associative | ILProp1::And,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vor,"vor",ILProp1::Commutative | ILProp1::Associative | ILProp1::Or,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vxor,"vxor",ILProp1::Commutative | ILProp1::Associative | ILProp1::Xor,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vshl,"vshl",ILProp1::LeftShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vushr,"vushr",ILProp1::RightShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vshr,"vshr",ILProp1::RightShift,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vcmpeq,"vcmpeq",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmpeq,TR::vcmpne,TR::BadILOp,TR::ificmpeq) \
MACRO(TR::vcmpne,"vcmpne",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmpne,TR::vcmpeq,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vcmplt,"vcmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmpgt,TR::vcmpge,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vucmplt,"vucmplt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::Unsigned | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmpgt,TR::vcmpge,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vcmpgt,"vcmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmplt,TR::vcmple,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vucmpgt,"vucmpgt",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::Unsigned | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmplt,TR::vcmple,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vcmple,"vcmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmpge,TR::vcmpgt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vucmple,"vucmple",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::Unsigned | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmpge,TR::vcmpgt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vcmpge,"vcmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmple,TR::vcmplt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vucmpge,"vucmpge",ILProp1::BooleanCompare,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare,ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::Unsigned | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::vcmple,TR::vcmplt,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vload,"vload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vloadi,"vloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vstore,"vstore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vstorei,"vstorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vrand,"vrand",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::VectorReduction,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vreturn,"vreturn",ILProp1::Return | ILProp1::TreeTop,ILProp2::MayUseSystemStack,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vcall,"vcall",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vcalli,"vcalli",ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vselect,"vselect",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Select,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::HasNoDataType,THREE_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::v2v,"v2v",ILProp1::Conversion,ILProp2::ValueNumberShare,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vl2vd,"vl2vd",ILProp1::Conversion,ILProp2::ValueNumberShare,0,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Vector,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vconst,"vconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::getvelem,"getvelem",0,ILProp2::ValueNumberShare,0,0,TR::NoType,ILTypeProp::HasNoDataType,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vsetelem,"vsetelem",0,ILProp2::ValueNumberShare,0,0,TR::NoType,ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vbRegLoad,"vbRegLoad",ILProp1::LoadReg,0,0,0,TR::VectorInt8,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vsRegLoad,"vsRegLoad",ILProp1::LoadReg,0,0,0,TR::VectorInt16,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::viRegLoad,"viRegLoad",ILProp1::LoadReg,0,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vlRegLoad,"vlRegLoad",ILProp1::LoadReg,0,0,0,TR::VectorInt64,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vfRegLoad,"vfRegLoad",ILProp1::LoadReg,0,0,0,TR::VectorFloat,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdRegLoad,"vdRegLoad",ILProp1::LoadReg,0,0,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vbRegStore,"vbRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::VectorInt8,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vsRegStore,"vsRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::VectorInt16,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::viRegStore,"viRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::VectorInt32,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vlRegStore,"vlRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::VectorInt64,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vfRegStore,"vfRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::VectorFloat,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::vdRegStore,"vdRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::VectorDouble,ILTypeProp::Size_16 | ILTypeProp::Integer | ILTypeProp::Vector,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iuconst,"iuconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luconst,"luconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::buconst,"buconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iuload,"iuload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luload,"luload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::buload,"buload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iuloadi,"iuloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luloadi,"luloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::buloadi,"buloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Unsigned,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iustore,"iustore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lustore,"lustore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bustore,"bustore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iustorei,"iustorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_CHILD(TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lustorei,"lustorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_CHILD(TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bustorei,"bustorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Unsigned,TWO_CHILD(TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iureturn,"iureturn",ILProp1::Return | ILProp1::TreeTop,ILProp2::MayUseSystemStack,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lureturn,"lureturn",ILProp1::Return | ILProp1::TreeTop,ILProp2::MayUseSystemStack,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iucall,"iucall",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lucall,"lucall",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iuadd,"iuadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::iuadd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luadd,"luadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::luadd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::buadd,"buadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::buadd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iusub,"iusub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lusub,"lusub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::busub,"busub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iuneg,"iuneg",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luneg,"luneg",ILProp1::Neg,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::f2iu,"f2iu",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::f2lu,"f2lu",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::f2bu,"f2bu",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Unsigned,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::f2c,"f2c",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::d2iu,"d2iu",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::d2lu,"d2lu",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::d2bu,"d2bu",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Unsigned,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::d2c,"d2c",ILProp1::Conversion,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iuRegLoad,"iuRegLoad",ILProp1::LoadReg,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luRegLoad,"luRegLoad",ILProp1::LoadReg,0,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iuRegStore,"iuRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luRegStore,"luRegStore",ILProp1::StoreReg | ILProp1::TreeTop,0,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::cconst,"cconst",ILProp1::LoadConst,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::cload,"cload",ILProp1::LoadVar | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::cloadi,"cloadi",ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::cstore,"cstore",ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,ONE_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::cstorei,"cstorei",ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,TWO_CHILD(TR::Address, TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::monent,"monent",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::NoType,0,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::monexit,"monexit",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::NoType,0,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::monexitfence,"monexitfence",ILProp1::TreeTop,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::tstart,"tstart",ILProp1::HasSymbolRef | ILProp1::TreeTop,ILProp2::JumpWithMultipleTargets,ILProp3::HasBranchChild,0,TR::NoType,0,THREE_SAME_CHILD(TR::NoType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::tfinish,"tfinish",ILProp1::HasSymbolRef | ILProp1::TreeTop,0,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::tabort,"tabort",ILProp1::HasSymbolRef | ILProp1::TreeTop,0,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::instanceof,"instanceof",ILProp1::HasSymbolRef,ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::checkcast,"checkcast",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::Check | ILProp2::CheckCast| ILProp2::MayUseSystemStack,0,0,TR::Address,ILTypeProp::Reference,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::checkcastAndNULLCHK,"checkcastAndNULLCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::Check | ILProp2::CheckCast| ILProp2::MayUseSystemStack,0,0,TR::Address,ILTypeProp::Reference,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::New,"new",ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack | ILProp2::New,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::newvalue,"newvalue",ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack | ILProp2::New,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::newarray,"newarray",ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack | ILProp2::New,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::anewarray,"anewarray",ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack | ILProp2::New,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::variableNew,"variableNew",ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::variableNewArray,"variableNewArray",ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::multianewarray,"multianewarray",ILProp1::HasSymbolRef,ILProp2::MustBeLowered | ILProp2::CanRaiseException| ILProp2::MayUseSystemStack | ILProp2::New,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::arraylength,"arraylength",0,ILProp2::MustBeLowered | ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::ArrayLength,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::contigarraylength,"contigarraylength",0,ILProp2::MustBeLowered | ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::ArrayLength,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::discontigarraylength,"discontigarraylength",0,ILProp2::MustBeLowered | ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::ArrayLength,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::icalli,"icalli",ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::IndirectCallType,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iucalli,"iucalli",ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ILChildProp::IndirectCallType,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lcalli,"lcalli",ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ILChildProp::IndirectCallType,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lucalli,"lucalli",ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,ILChildProp::IndirectCallType,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fcalli,"fcalli",ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ILChildProp::IndirectCallType,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dcalli,"dcalli",ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ILChildProp::IndirectCallType,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::acalli,"acalli",ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ILChildProp::IndirectCallType,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::calli,"calli",ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::SupportedForPRE| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,0,ILChildProp::IndirectCallType,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fence,"fence",ILProp1::TreeTop | ILProp1::HasSymbolRef,0,ILProp3::Fence | ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luaddh,"luaddh",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::luaddh,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::cadd,"cadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::cadd,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::aiadd,"aiadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,TWO_CHILD(TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::aiuadd,"aiuadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,TWO_CHILD(TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::aladd,"aladd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,TWO_CHILD(TR::Address, TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::aluadd,"aluadd",ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,ILProp2::ValueNumberShare,ILProp3::LikeUse,0,TR::Address,ILTypeProp::Reference,TWO_CHILD(TR::Address, TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lusubh,"lusubh",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::csub,"csub",ILProp1::Sub,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::imulh,"imulh",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::imulh,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iumulh,"iumulh",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::iumulh,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lmulh,"lmulh",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::lmulh,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lumulh,"lumulh",ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::lumulh,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ibits2f,"ibits2f",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fbits2i,"fbits2i",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lbits2d,"lbits2d",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dbits2l,"dbits2l",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lookup,"lookup",ILProp1::TreeTop | ILProp1::Switch,ILProp2::JumpWithMultipleTargets,ILProp3::HasBranchChild,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::trtLookup,"trtLookup",ILProp1::TreeTop | ILProp1::Switch,ILProp2::JumpWithMultipleTargets,ILProp3::HasBranchChild,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::Case,"case",ILProp1::Branch | ILProp1::TreeTop,0,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::table,"table",ILProp1::TreeTop | ILProp1::Switch,ILProp2::JumpWithMultipleTargets,ILProp3::HasBranchChild,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::exceptionRangeFence,"exceptionRangeFence",ILProp1::TreeTop | ILProp1::HasSymbolRef,0,ILProp3::ExceptionRangeFence,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dbgFence,"dbgFence",ILProp1::TreeTop,0,ILProp3::ExceptionRangeFence,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::NULLCHK,"NULLCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::CanRaiseException | ILProp2::Check | ILProp2::NullCheck| ILProp2::MayUseSystemStack,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ResolveCHK,"ResolveCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::CanRaiseException | ILProp2::Check | ILProp2::ResolveCheck| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ResolveAndNULLCHK,"ResolveAndNULLCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::CanRaiseException | ILProp2::Check | ILProp2::NullCheck | ILProp2::ResolveCheck| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::DIVCHK,"DIVCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::Check| ILProp2::MayUseSystemStack,0,0,TR::NoType,0,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::OverflowCHK,"OverflowCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::Check| ILProp2::MayUseSystemStack | ILProp2::CanRaiseException,0,0,TR::NoType,0,THREE_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::UnsignedOverflowCHK,"UnsignedOverflowCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::Check| ILProp2::MayUseSystemStack | ILProp2::CanRaiseException,0,0,TR::NoType,0,THREE_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::BNDCHK,"BNDCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::CanRaiseException | ILProp2::Check | ILProp2::BndCheck| ILProp2::MayUseSystemStack,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ArrayCopyBNDCHK,"ArrayCopyBNDCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::CanRaiseException | ILProp2::Check | ILProp2::BndCheck| ILProp2::MayUseSystemStack,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::BNDCHKwithSpineCHK,"BNDCHKwithSpineCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::CanRaiseException | ILProp2::Check | ILProp2::BndCheck| ILProp2::MayUseSystemStack,ILProp3::SpineCheck,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::SpineCHK,"SpineCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::Check,ILProp3::SpineCheck,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ArrayStoreCHK,"ArrayStoreCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::CanRaiseException | ILProp2::Check| ILProp2::MayUseSystemStack,0,0,TR::Address,ILTypeProp::Reference,ONE_CHILD(ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ArrayCHK,"ArrayCHK",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare | ILProp2::CanRaiseException | ILProp2::Check| ILProp2::MayUseSystemStack,0,0,TR::Address,ILTypeProp::Reference,TWO_SAME_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::Ret,"Ret",ILProp1::TreeTop,0,0,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::arraycopy,"arraycopy",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::MayUseSystemStack | ILProp2::CanRaiseException | 0,ILProp3::LikeUse | ILProp3::LikeDef | ILProp3::SkipDynamicLitPoolOnInts,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::arrayset,"arrayset",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef | ILProp3::SkipDynamicLitPoolOnInts,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::arraytranslate,"arraytranslate",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::arraytranslateAndTest,"arraytranslateAndTest",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CanRaiseException | ILProp2::BndCheck,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::long2String,"long2String",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bitOpMem,"bitOpMem",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CondCodeComputation,ILProp3::LikeUse | ILProp3::LikeDef | ILProp3::SkipDynamicLitPoolOnInts,0,TR::Int32,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bitOpMemND,"bitOpMemND",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef | ILProp3::SkipDynamicLitPoolOnInts,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::arraycmp,"arraycmp",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CondCodeComputation,ILProp3::LikeUse | ILProp3::LikeDef | ILProp3::SkipDynamicLitPoolOnInts,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,THREE_CHILD(TR::Address, TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::arraycmpWithPad,"arraycmpWithPad",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::CondCodeComputation,ILProp3::LikeUse | ILProp3::LikeDef | ILProp3::SkipDynamicLitPoolOnInts,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::allocationFence,"allocationFence",ILProp1::TreeTop,0,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::loadFence,"loadFence",ILProp1::TreeTop | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::storeFence,"storeFence",ILProp1::TreeTop | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fullFence,"fullFence",ILProp1::TreeTop | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::MergeNew,"MergeNew",ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::CanRaiseException| ILProp2::MayUseSystemStack,ILProp3::LikeDef,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::computeCC,"computeCC",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::CondCodeComputation,0,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::butest,"butest",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::CondCodeComputation,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sutest,"sutest",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::CondCodeComputation,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bucmp,"bucmp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare | ILProp2::CondCodeComputation,ILProp3::Signum,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bcmp,"bcmp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::CondCodeComputation,ILProp3::Signum,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sucmp,"sucmp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare | ILProp2::CondCodeComputation,ILProp3::Signum,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::scmp,"scmp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::CondCodeComputation,ILProp3::Signum,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iucmp,"iucmp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare | ILProp2::CondCodeComputation,ILProp3::Signum,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::icmp,"icmp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::CondCodeComputation,ILProp3::Signum,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lucmp,"lucmp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::UnsignedCompare | ILProp2::CondCodeComputation,ILProp3::Signum,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ificmpo,"ificmpo",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::OverflowCompare,0,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::ificmpno,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ificmpno,"ificmpno",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::OverflowCompare,0,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::ificmpo,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iflcmpo,"iflcmpo",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::OverflowCompare,0,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::iflcmpno,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iflcmpno,"iflcmpno",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::OverflowCompare,0,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::iflcmpo,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ificmno,"ificmno",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::OverflowCompare,0,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::ificmnno,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ificmnno,"ificmnno",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::OverflowCompare,0,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::ificmno,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iflcmno,"iflcmno",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::OverflowCompare,0,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::iflcmnno,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iflcmnno,"iflcmnno",ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,ILProp2::OverflowCompare,0,0,TR::NoType,0,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::iflcmno,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iuaddc,"iuaddc",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SelectAdd,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luaddc,"luaddc",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SelectAdd,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iusubb,"iusubb",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SelectSub,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lusubb,"lusubb",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::SelectSub,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::icmpset,"icmpset",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,THREE_CHILD(TR::Address, TR::Int32, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lcmpset,"lcmpset",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,THREE_CHILD(TR::Address, TR::Int64, TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bztestnset,"bztestnset",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_CHILD(TR::Address, ILChildProp::UnspecifiedChildType),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ibatomicor,"ibatomicor",ILProp1::LoadVar | ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_CHILD(TR::Address, TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::isatomicor,"isatomicor",ILProp1::LoadVar | ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_CHILD(TR::Address, TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iiatomicor,"iiatomicor",ILProp1::LoadVar | ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_CHILD(TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ilatomicor,"ilatomicor",ILProp1::LoadVar | ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,ILProp2::ValueNumberShare| ILProp2::MayUseSystemStack,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::NoType,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_CHILD(TR::Address, TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dexp,"dexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::SignedExponentiation,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::branch,"branch",ILProp1::Branch | ILProp1::CompBranchOnly | ILProp1::TreeTop,0,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::igoto,"igoto",ILProp1::TreeTop,ILProp2::JumpWithMultipleTargets,0,0,TR::NoType,0,ONE_CHILD(TR::Address),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bexp,"bexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::SignedExponentiation,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::buexp,"buexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::UnsignedExponentiation,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int8),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sexp,"sexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::SignedExponentiation,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::cexp,"cexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::UnsignedExponentiation,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int16),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iexp,"iexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::SignedExponentiation,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iuexp,"iuexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::UnsignedExponentiation,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lexp,"lexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::SignedExponentiation,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::luexp,"luexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::UnsignedExponentiation,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fexp,"fexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::SignedExponentiation,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fuexp,"fuexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::UnsignedExponentiation,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_CHILD(TR::Float, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::duexp,"duexp",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::UnsignedExponentiation,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_CHILD(TR::Double, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ixfrs,"ixfrs",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lxfrs,"lxfrs",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fxfrs,"fxfrs",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dxfrs,"dxfrs",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fint,"fint",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dint,"dint",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fnint,"fnint",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dnint,"dnint",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fsqrt,"fsqrt",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dsqrt,"dsqrt",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::getstack,"getstack",0,0,0,0,TR::Address,ILTypeProp::Reference,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dealloca,"dealloca",0,0,0,0,TR::NoType,0,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::idoz,"idoz",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dcos,"dcos",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dsin,"dsin",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dtan,"dtan",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dcosh,"dcosh",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dsinh,"dsinh",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dtanh,"dtanh",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dacos,"dacos",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dasin,"dasin",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::datan,"datan",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::datan2,"datan2",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dlog,"dlog",ILProp1::Call | ILProp1::HasSymbolRef,0,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dfloor,"dfloor",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ffloor,"ffloor",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dceil,"dceil",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fceil,"fceil",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,ONE_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ibranch,"ibranch",ILProp1::TreeTop,ILProp2::JumpWithMultipleTargets,0,0,TR::NoType,0,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::mbranch,"mbranch",ILProp1::Branch,ILProp2::JumpWithMultipleTargets,0,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::getpm,"getpm",0,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::setpm,"setpm",ILProp1::TreeTop,0,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::loadAutoOffset,"loadAutoOffset",ILProp1::HasSymbolRef,0,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,ILChildProp::NoChildren,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::imax,"imax",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iumax,"iumax",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lmax,"lmax",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lumax,"lumax",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fmax,"fmax",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dmax,"dmax",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::imin,"imin",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::iumin,"iumin",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lmin,"lmin",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lumin,"lumin",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Unsigned,TWO_SAME_CHILD(TR::Int64),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::fmin,"fmin",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,0,0,TR::Float,ILTypeProp::Size_4 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Float),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::dmin,"dmin",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,0,0,TR::Double,ILTypeProp::Size_8 | ILTypeProp::Floating_Point,TWO_SAME_CHILD(TR::Double),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::trt,"trt",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::SupportedForPRE,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::trtSimple,"trtSimple",ILProp1::Call | ILProp1::HasSymbolRef,ILProp2::SupportedForPRE,ILProp3::LikeUse | ILProp3::LikeDef,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ihbit,"ihbit",0,ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ilbit,"ilbit",0,ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::inolz,"inolz",0,ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::inotz,"inotz",0,ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ipopcnt,"ipopcnt",0,ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lhbit,"lhbit",0,ILProp2::SupportedForPRE,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::llbit,"llbit",0,ILProp2::SupportedForPRE,0,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lnolz,"lnolz",0,ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lnotz,"lnotz",0,ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lpopcnt,"lpopcnt",0,ILProp2::SupportedForPRE,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ibyteswap,"ibyteswap",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::ByteSwap,0,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,ONE_CHILD(TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::bbitpermute,"bbitpermute",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int8,ILTypeProp::Size_1 | ILTypeProp::Integer,THREE_CHILD(TR::Int8, TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::sbitpermute,"sbitpermute",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int16,ILTypeProp::Size_2 | ILTypeProp::Integer,THREE_CHILD(TR::Int16, TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::ibitpermute,"ibitpermute",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int32,ILTypeProp::Size_4 | ILTypeProp::Integer,THREE_CHILD(TR::Int32, TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::lbitpermute,"lbitpermute",0,ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,ILProp3::LikeUse,0,TR::Int64,ILTypeProp::Size_8 | ILTypeProp::Integer,THREE_CHILD(TR::Int64, TR::Address, TR::Int32),TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp) \
MACRO(TR::Prefetch,"Prefetch",ILProp1::TreeTop | ILProp1::HasSymbolRef,0,0,0,TR::NoType,0,ILChildProp::Unspecified,TR::BadILOp,TR::BadILOp,TR::BadILOp,TR::BadILOp)
#endif