@@ -318,7 +318,7 @@ class DXILOp<int opcode, DXILOpClass opclass> {
318
318
def Abs : DXILOp<6, unary> {
319
319
let Doc = "Returns the absolute value of the input.";
320
320
let LLVMIntrinsic = int_fabs;
321
- let arguments = [LLVMMatchType<0> ];
321
+ let arguments = [overloadTy ];
322
322
let result = overloadTy;
323
323
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy, doubleTy]>];
324
324
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -338,7 +338,7 @@ def IsInf : DXILOp<9, isSpecialFloat> {
338
338
def Cos : DXILOp<12, unary> {
339
339
let Doc = "Returns cosine(theta) for theta in radians.";
340
340
let LLVMIntrinsic = int_cos;
341
- let arguments = [LLVMMatchType<0> ];
341
+ let arguments = [overloadTy ];
342
342
let result = overloadTy;
343
343
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
344
344
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -348,7 +348,7 @@ def Cos : DXILOp<12, unary> {
348
348
def Sin : DXILOp<13, unary> {
349
349
let Doc = "Returns sine(theta) for theta in radians.";
350
350
let LLVMIntrinsic = int_sin;
351
- let arguments = [LLVMMatchType<0> ];
351
+ let arguments = [overloadTy ];
352
352
let result = overloadTy;
353
353
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
354
354
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -358,7 +358,7 @@ def Sin : DXILOp<13, unary> {
358
358
def Tan : DXILOp<14, unary> {
359
359
let Doc = "Returns tangent(theta) for theta in radians.";
360
360
let LLVMIntrinsic = int_tan;
361
- let arguments = [LLVMMatchType<0> ];
361
+ let arguments = [overloadTy ];
362
362
let result = overloadTy;
363
363
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
364
364
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -368,7 +368,7 @@ def Tan : DXILOp<14, unary> {
368
368
def ACos : DXILOp<15, unary> {
369
369
let Doc = "Returns the arccosine of the specified value.";
370
370
let LLVMIntrinsic = int_acos;
371
- let arguments = [LLVMMatchType<0> ];
371
+ let arguments = [overloadTy ];
372
372
let result = overloadTy;
373
373
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
374
374
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -378,7 +378,7 @@ def ACos : DXILOp<15, unary> {
378
378
def ASin : DXILOp<16, unary> {
379
379
let Doc = "Returns the arcsine of the specified value.";
380
380
let LLVMIntrinsic = int_asin;
381
- let arguments = [LLVMMatchType<0> ];
381
+ let arguments = [overloadTy ];
382
382
let result = overloadTy;
383
383
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
384
384
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -388,7 +388,7 @@ def ASin : DXILOp<16, unary> {
388
388
def ATan : DXILOp<17, unary> {
389
389
let Doc = "Returns the arctangent of the specified value.";
390
390
let LLVMIntrinsic = int_atan;
391
- let arguments = [LLVMMatchType<0> ];
391
+ let arguments = [overloadTy ];
392
392
let result = overloadTy;
393
393
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
394
394
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -398,7 +398,7 @@ def ATan : DXILOp<17, unary> {
398
398
def HCos : DXILOp<18, unary> {
399
399
let Doc = "Returns the hyperbolic cosine of the specified value.";
400
400
let LLVMIntrinsic = int_cosh;
401
- let arguments = [LLVMMatchType<0> ];
401
+ let arguments = [overloadTy ];
402
402
let result = overloadTy;
403
403
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
404
404
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -408,7 +408,7 @@ def HCos : DXILOp<18, unary> {
408
408
def HSin : DXILOp<19, unary> {
409
409
let Doc = "Returns the hyperbolic sine of the specified value.";
410
410
let LLVMIntrinsic = int_sinh;
411
- let arguments = [LLVMMatchType<0> ];
411
+ let arguments = [overloadTy ];
412
412
let result = overloadTy;
413
413
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
414
414
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -418,7 +418,7 @@ def HSin : DXILOp<19, unary> {
418
418
def HTan : DXILOp<20, unary> {
419
419
let Doc = "Returns the hyperbolic tan of the specified value.";
420
420
let LLVMIntrinsic = int_tanh;
421
- let arguments = [LLVMMatchType<0> ];
421
+ let arguments = [overloadTy ];
422
422
let result = overloadTy;
423
423
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
424
424
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -429,7 +429,7 @@ def Exp2 : DXILOp<21, unary> {
429
429
let Doc = "Returns the base 2 exponential, or 2**x, of the specified value. "
430
430
"exp2(x) = 2**x.";
431
431
let LLVMIntrinsic = int_exp2;
432
- let arguments = [LLVMMatchType<0> ];
432
+ let arguments = [overloadTy ];
433
433
let result = overloadTy;
434
434
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
435
435
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -440,7 +440,7 @@ def Frac : DXILOp<22, unary> {
440
440
let Doc = "Returns a fraction from 0 to 1 that represents the decimal part "
441
441
"of the input.";
442
442
let LLVMIntrinsic = int_dx_frac;
443
- let arguments = [LLVMMatchType<0> ];
443
+ let arguments = [overloadTy ];
444
444
let result = overloadTy;
445
445
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
446
446
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -450,7 +450,7 @@ def Frac : DXILOp<22, unary> {
450
450
def Log2 : DXILOp<23, unary> {
451
451
let Doc = "Returns the base-2 logarithm of the specified value.";
452
452
let LLVMIntrinsic = int_log2;
453
- let arguments = [LLVMMatchType<0> ];
453
+ let arguments = [overloadTy ];
454
454
let result = overloadTy;
455
455
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
456
456
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -461,7 +461,7 @@ def Sqrt : DXILOp<24, unary> {
461
461
let Doc = "Returns the square root of the specified floating-point value, "
462
462
"per component.";
463
463
let LLVMIntrinsic = int_sqrt;
464
- let arguments = [LLVMMatchType<0> ];
464
+ let arguments = [overloadTy ];
465
465
let result = overloadTy;
466
466
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
467
467
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -472,7 +472,7 @@ def RSqrt : DXILOp<25, unary> {
472
472
let Doc = "Returns the reciprocal of the square root of the specified value. "
473
473
"rsqrt(x) = 1 / sqrt(x).";
474
474
let LLVMIntrinsic = int_dx_rsqrt;
475
- let arguments = [LLVMMatchType<0> ];
475
+ let arguments = [overloadTy ];
476
476
let result = overloadTy;
477
477
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
478
478
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -483,7 +483,7 @@ def Round : DXILOp<26, unary> {
483
483
let Doc = "Returns the input rounded to the nearest integer within a "
484
484
"floating-point type.";
485
485
let LLVMIntrinsic = int_roundeven;
486
- let arguments = [LLVMMatchType<0> ];
486
+ let arguments = [overloadTy ];
487
487
let result = overloadTy;
488
488
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
489
489
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -494,7 +494,7 @@ def Floor : DXILOp<27, unary> {
494
494
let Doc =
495
495
"Returns the largest integer that is less than or equal to the input.";
496
496
let LLVMIntrinsic = int_floor;
497
- let arguments = [LLVMMatchType<0> ];
497
+ let arguments = [overloadTy ];
498
498
let result = overloadTy;
499
499
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
500
500
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -505,7 +505,7 @@ def Ceil : DXILOp<28, unary> {
505
505
let Doc = "Returns the smallest integer that is greater than or equal to the "
506
506
"input.";
507
507
let LLVMIntrinsic = int_ceil;
508
- let arguments = [LLVMMatchType<0> ];
508
+ let arguments = [overloadTy ];
509
509
let result = overloadTy;
510
510
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
511
511
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -515,7 +515,7 @@ def Ceil : DXILOp<28, unary> {
515
515
def Trunc : DXILOp<29, unary> {
516
516
let Doc = "Returns the specified value truncated to the integer component.";
517
517
let LLVMIntrinsic = int_trunc;
518
- let arguments = [LLVMMatchType<0> ];
518
+ let arguments = [overloadTy ];
519
519
let result = overloadTy;
520
520
let overloads = [Overloads<DXIL1_0, [halfTy, floatTy]>];
521
521
let stages = [Stages<DXIL1_0, [all_stages]>];
@@ -525,7 +525,7 @@ def Trunc : DXILOp<29, unary> {
525
525
def Rbits : DXILOp<30, unary> {
526
526
let Doc = "Returns the specified value with its bits reversed.";
527
527
let LLVMIntrinsic = int_bitreverse;
528
- let arguments = [LLVMMatchType<0> ];
528
+ let arguments = [overloadTy ];
529
529
let result = overloadTy;
530
530
let overloads =
531
531
[Overloads<DXIL1_0, [i16Ty, i32Ty, i64Ty]>];
@@ -536,7 +536,7 @@ def Rbits : DXILOp<30, unary> {
536
536
def FMax : DXILOp<35, binary> {
537
537
let Doc = "Float maximum. FMax(a,b) = a > b ? a : b";
538
538
let LLVMIntrinsic = int_maxnum;
539
- let arguments = [LLVMMatchType<0>, LLVMMatchType<0> ];
539
+ let arguments = [overloadTy, overloadTy ];
540
540
let result = overloadTy;
541
541
let overloads =
542
542
[Overloads<DXIL1_0, [halfTy, floatTy, doubleTy]>];
@@ -547,7 +547,7 @@ def FMax : DXILOp<35, binary> {
547
547
def FMin : DXILOp<36, binary> {
548
548
let Doc = "Float minimum. FMin(a,b) = a < b ? a : b";
549
549
let LLVMIntrinsic = int_minnum;
550
- let arguments = [LLVMMatchType<0>, LLVMMatchType<0> ];
550
+ let arguments = [overloadTy, overloadTy ];
551
551
let result = overloadTy;
552
552
let overloads =
553
553
[Overloads<DXIL1_0, [halfTy, floatTy, doubleTy]>];
@@ -558,7 +558,7 @@ def FMin : DXILOp<36, binary> {
558
558
def SMax : DXILOp<37, binary> {
559
559
let Doc = "Signed integer maximum. SMax(a,b) = a > b ? a : b";
560
560
let LLVMIntrinsic = int_smax;
561
- let arguments = [LLVMMatchType<0>, LLVMMatchType<0> ];
561
+ let arguments = [overloadTy, overloadTy ];
562
562
let result = overloadTy;
563
563
let overloads =
564
564
[Overloads<DXIL1_0, [i16Ty, i32Ty, i64Ty]>];
@@ -569,7 +569,7 @@ def SMax : DXILOp<37, binary> {
569
569
def SMin : DXILOp<38, binary> {
570
570
let Doc = "Signed integer minimum. SMin(a,b) = a < b ? a : b";
571
571
let LLVMIntrinsic = int_smin;
572
- let arguments = [LLVMMatchType<0>, LLVMMatchType<0> ];
572
+ let arguments = [overloadTy, overloadTy ];
573
573
let result = overloadTy;
574
574
let overloads =
575
575
[Overloads<DXIL1_0, [i16Ty, i32Ty, i64Ty]>];
@@ -580,7 +580,7 @@ def SMin : DXILOp<38, binary> {
580
580
def UMax : DXILOp<39, binary> {
581
581
let Doc = "Unsigned integer maximum. UMax(a,b) = a > b ? a : b";
582
582
let LLVMIntrinsic = int_umax;
583
- let arguments = [LLVMMatchType<0>, LLVMMatchType<0> ];
583
+ let arguments = [overloadTy, overloadTy ];
584
584
let result = overloadTy;
585
585
let overloads =
586
586
[Overloads<DXIL1_0, [i16Ty, i32Ty, i64Ty]>];
@@ -591,7 +591,7 @@ def UMax : DXILOp<39, binary> {
591
591
def UMin : DXILOp<40, binary> {
592
592
let Doc = "Unsigned integer minimum. UMin(a,b) = a < b ? a : b";
593
593
let LLVMIntrinsic = int_umin;
594
- let arguments = [LLVMMatchType<0>, LLVMMatchType<0> ];
594
+ let arguments = [overloadTy, overloadTy ];
595
595
let result = overloadTy;
596
596
let overloads =
597
597
[Overloads<DXIL1_0, [i16Ty, i32Ty, i64Ty]>];
@@ -603,7 +603,7 @@ def FMad : DXILOp<46, tertiary> {
603
603
let Doc = "Floating point arithmetic multiply/add operation. fmad(m,a,b) = m "
604
604
"* a + b.";
605
605
let LLVMIntrinsic = int_fmuladd;
606
- let arguments = [LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0> ];
606
+ let arguments = [overloadTy, overloadTy, overloadTy ];
607
607
let result = overloadTy;
608
608
let overloads =
609
609
[Overloads<DXIL1_0, [halfTy, floatTy, doubleTy]>];
@@ -615,7 +615,7 @@ def IMad : DXILOp<48, tertiary> {
615
615
let Doc = "Signed integer arithmetic multiply/add operation. imad(m,a,b) = m "
616
616
"* a + b.";
617
617
let LLVMIntrinsic = int_dx_imad;
618
- let arguments = [LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0> ];
618
+ let arguments = [overloadTy, overloadTy, overloadTy ];
619
619
let result = overloadTy;
620
620
let overloads =
621
621
[Overloads<DXIL1_0, [i16Ty, i32Ty, i64Ty]>];
@@ -627,7 +627,7 @@ def UMad : DXILOp<49, tertiary> {
627
627
let Doc = "Unsigned integer arithmetic multiply/add operation. umad(m,a, = m "
628
628
"* a + b.";
629
629
let LLVMIntrinsic = int_dx_umad;
630
- let arguments = [LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0> ];
630
+ let arguments = [overloadTy, overloadTy, overloadTy ];
631
631
let result = overloadTy;
632
632
let overloads =
633
633
[Overloads<DXIL1_0, [i16Ty, i32Ty, i64Ty]>];
0 commit comments