14
14
15
15
// The format of this database matches clang/Basic/Builtins.def.
16
16
17
+ #if defined(BUILTIN) && !defined(TARGET_BUILTIN)
18
+ # define TARGET_BUILTIN (ID, TYPE, ATTRS, FEATURE ) BUILTIN(ID, TYPE, ATTRS)
19
+ #endif
20
+
17
21
// Special Registers
18
22
19
23
BUILTIN (__nvvm_read_ptx_sreg_tid_x, " i" , " nc" )
@@ -452,18 +456,28 @@ BUILTIN(__builtin_ptx_get_image_channel_orderi_, "ii", "")
452
456
BUILTIN(__nvvm_atom_add_g_i, " iiD*1i" , " n" )
453
457
BUILTIN(__nvvm_atom_add_s_i, " iiD*3i" , " n" )
454
458
BUILTIN(__nvvm_atom_add_gen_i, " iiD*i" , " n" )
459
+ TARGET_BUILTIN(__nvvm_atom_cta_add_gen_i, " iiD*i" , " n" , " satom" )
460
+ TARGET_BUILTIN(__nvvm_atom_sys_add_gen_i, " iiD*i" , " n" , " satom" )
455
461
BUILTIN(__nvvm_atom_add_g_l, " LiLiD*1Li" , " n" )
456
462
BUILTIN(__nvvm_atom_add_s_l, " LiLiD*3Li" , " n" )
457
463
BUILTIN(__nvvm_atom_add_gen_l, " LiLiD*Li" , " n" )
464
+ TARGET_BUILTIN(__nvvm_atom_cta_add_gen_l, " LiLiD*Li" , " n" , " satom" )
465
+ TARGET_BUILTIN(__nvvm_atom_sys_add_gen_l, " LiLiD*Li" , " n" , " satom" )
458
466
BUILTIN(__nvvm_atom_add_g_ll, " LLiLLiD*1LLi" , " n" )
459
467
BUILTIN(__nvvm_atom_add_s_ll, " LLiLLiD*3LLi" , " n" )
460
468
BUILTIN(__nvvm_atom_add_gen_ll, " LLiLLiD*LLi" , " n" )
469
+ TARGET_BUILTIN(__nvvm_atom_cta_add_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
470
+ TARGET_BUILTIN(__nvvm_atom_sys_add_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
461
471
BUILTIN(__nvvm_atom_add_g_f, " ffD*1f" , " n" )
462
472
BUILTIN(__nvvm_atom_add_s_f, " ffD*3f" , " n" )
463
473
BUILTIN(__nvvm_atom_add_gen_f, " ffD*f" , " n" )
474
+ TARGET_BUILTIN(__nvvm_atom_cta_add_gen_f, " ffD*f" , " n" , " satom" )
475
+ TARGET_BUILTIN(__nvvm_atom_sys_add_gen_f, " ffD*f" , " n" , " satom" )
464
476
BUILTIN(__nvvm_atom_add_g_d, " ddD*1d" , " n" )
465
477
BUILTIN(__nvvm_atom_add_s_d, " ddD*3d" , " n" )
466
478
BUILTIN(__nvvm_atom_add_gen_d, " ddD*d" , " n" )
479
+ TARGET_BUILTIN(__nvvm_atom_cta_add_gen_d, " ddD*d" , " n" , " satom" )
480
+ TARGET_BUILTIN(__nvvm_atom_sys_add_gen_d, " ddD*d" , " n" , " satom" )
467
481
468
482
BUILTIN(__nvvm_atom_sub_g_i, " iiD*1i" , " n" )
469
483
BUILTIN(__nvvm_atom_sub_s_i, " iiD*3i" , " n" )
@@ -478,97 +492,155 @@ BUILTIN(__nvvm_atom_sub_gen_ll, "LLiLLiD*LLi", "n")
478
492
BUILTIN(__nvvm_atom_xchg_g_i, " iiD*1i" , " n" )
479
493
BUILTIN(__nvvm_atom_xchg_s_i, " iiD*3i" , " n" )
480
494
BUILTIN(__nvvm_atom_xchg_gen_i, " iiD*i" , " n" )
495
+ TARGET_BUILTIN(__nvvm_atom_cta_xchg_gen_i, " iiD*i" , " n" , " satom" )
496
+ TARGET_BUILTIN(__nvvm_atom_sys_xchg_gen_i, " iiD*i" , " n" , " satom" )
481
497
BUILTIN(__nvvm_atom_xchg_g_l, " LiLiD*1Li" , " n" )
482
498
BUILTIN(__nvvm_atom_xchg_s_l, " LiLiD*3Li" , " n" )
483
499
BUILTIN(__nvvm_atom_xchg_gen_l, " LiLiD*Li" , " n" )
500
+ TARGET_BUILTIN(__nvvm_atom_cta_xchg_gen_l, " LiLiD*Li" , " n" , " satom" )
501
+ TARGET_BUILTIN(__nvvm_atom_sys_xchg_gen_l, " LiLiD*Li" , " n" , " satom" )
484
502
BUILTIN(__nvvm_atom_xchg_g_ll, " LLiLLiD*1LLi" , " n" )
485
503
BUILTIN(__nvvm_atom_xchg_s_ll, " LLiLLiD*3LLi" , " n" )
486
504
BUILTIN(__nvvm_atom_xchg_gen_ll, " LLiLLiD*LLi" , " n" )
505
+ TARGET_BUILTIN(__nvvm_atom_cta_xchg_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
506
+ TARGET_BUILTIN(__nvvm_atom_sys_xchg_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
487
507
488
508
BUILTIN(__nvvm_atom_max_g_i, " iiD*1i" , " n" )
489
509
BUILTIN(__nvvm_atom_max_s_i, " iiD*3i" , " n" )
490
510
BUILTIN(__nvvm_atom_max_gen_i, " iiD*i" , " n" )
511
+ TARGET_BUILTIN(__nvvm_atom_cta_max_gen_i, " iiD*i" , " n" , " satom" )
512
+ TARGET_BUILTIN(__nvvm_atom_sys_max_gen_i, " iiD*i" , " n" , " satom" )
491
513
BUILTIN(__nvvm_atom_max_g_ui, " UiUiD*1Ui" , " n" )
492
514
BUILTIN(__nvvm_atom_max_s_ui, " UiUiD*3Ui" , " n" )
493
515
BUILTIN(__nvvm_atom_max_gen_ui, " UiUiD*Ui" , " n" )
516
+ TARGET_BUILTIN(__nvvm_atom_cta_max_gen_ui, " UiUiD*Ui" , " n" , " satom" )
517
+ TARGET_BUILTIN(__nvvm_atom_sys_max_gen_ui, " UiUiD*Ui" , " n" , " satom" )
494
518
BUILTIN(__nvvm_atom_max_g_l, " LiLiD*1Li" , " n" )
495
519
BUILTIN(__nvvm_atom_max_s_l, " LiLiD*3Li" , " n" )
496
520
BUILTIN(__nvvm_atom_max_gen_l, " LiLiD*Li" , " n" )
521
+ TARGET_BUILTIN(__nvvm_atom_cta_max_gen_l, " LiLiD*Li" , " n" , " satom" )
522
+ TARGET_BUILTIN(__nvvm_atom_sys_max_gen_l, " LiLiD*Li" , " n" , " satom" )
497
523
BUILTIN(__nvvm_atom_max_g_ul, " ULiULiD*1ULi" , " n" )
498
524
BUILTIN(__nvvm_atom_max_s_ul, " ULiULiD*3ULi" , " n" )
499
525
BUILTIN(__nvvm_atom_max_gen_ul, " ULiULiD*ULi" , " n" )
526
+ TARGET_BUILTIN(__nvvm_atom_cta_max_gen_ul, " ULiULiD*ULi" , " n" , " satom" )
527
+ TARGET_BUILTIN(__nvvm_atom_sys_max_gen_ul, " ULiULiD*ULi" , " n" , " satom" )
500
528
BUILTIN(__nvvm_atom_max_g_ll, " LLiLLiD*1LLi" , " n" )
501
529
BUILTIN(__nvvm_atom_max_s_ll, " LLiLLiD*3LLi" , " n" )
502
530
BUILTIN(__nvvm_atom_max_gen_ll, " LLiLLiD*LLi" , " n" )
531
+ TARGET_BUILTIN(__nvvm_atom_cta_max_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
532
+ TARGET_BUILTIN(__nvvm_atom_sys_max_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
503
533
BUILTIN(__nvvm_atom_max_g_ull, " ULLiULLiD*1ULLi" , " n" )
504
534
BUILTIN(__nvvm_atom_max_s_ull, " ULLiULLiD*3ULLi" , " n" )
505
535
BUILTIN(__nvvm_atom_max_gen_ull, " ULLiULLiD*ULLi" , " n" )
536
+ TARGET_BUILTIN(__nvvm_atom_cta_max_gen_ull, " ULLiULLiD*ULLi" , " n" , " satom" )
537
+ TARGET_BUILTIN(__nvvm_atom_sys_max_gen_ull, " ULLiULLiD*ULLi" , " n" , " satom" )
506
538
507
539
BUILTIN(__nvvm_atom_min_g_i, " iiD*1i" , " n" )
508
540
BUILTIN(__nvvm_atom_min_s_i, " iiD*3i" , " n" )
509
541
BUILTIN(__nvvm_atom_min_gen_i, " iiD*i" , " n" )
542
+ TARGET_BUILTIN(__nvvm_atom_cta_min_gen_i, " iiD*i" , " n" , " satom" )
543
+ TARGET_BUILTIN(__nvvm_atom_sys_min_gen_i, " iiD*i" , " n" , " satom" )
510
544
BUILTIN(__nvvm_atom_min_g_ui, " UiUiD*1Ui" , " n" )
511
545
BUILTIN(__nvvm_atom_min_s_ui, " UiUiD*3Ui" , " n" )
512
546
BUILTIN(__nvvm_atom_min_gen_ui, " UiUiD*Ui" , " n" )
547
+ TARGET_BUILTIN(__nvvm_atom_cta_min_gen_ui, " UiUiD*Ui" , " n" , " satom" )
548
+ TARGET_BUILTIN(__nvvm_atom_sys_min_gen_ui, " UiUiD*Ui" , " n" , " satom" )
513
549
BUILTIN(__nvvm_atom_min_g_l, " LiLiD*1Li" , " n" )
514
550
BUILTIN(__nvvm_atom_min_s_l, " LiLiD*3Li" , " n" )
515
551
BUILTIN(__nvvm_atom_min_gen_l, " LiLiD*Li" , " n" )
552
+ TARGET_BUILTIN(__nvvm_atom_cta_min_gen_l, " LiLiD*Li" , " n" , " satom" )
553
+ TARGET_BUILTIN(__nvvm_atom_sys_min_gen_l, " LiLiD*Li" , " n" , " satom" )
516
554
BUILTIN(__nvvm_atom_min_g_ul, " ULiULiD*1ULi" , " n" )
517
555
BUILTIN(__nvvm_atom_min_s_ul, " ULiULiD*3ULi" , " n" )
518
556
BUILTIN(__nvvm_atom_min_gen_ul, " ULiULiD*ULi" , " n" )
557
+ TARGET_BUILTIN(__nvvm_atom_cta_min_gen_ul, " ULiULiD*ULi" , " n" , " satom" )
558
+ TARGET_BUILTIN(__nvvm_atom_sys_min_gen_ul, " ULiULiD*ULi" , " n" , " satom" )
519
559
BUILTIN(__nvvm_atom_min_g_ll, " LLiLLiD*1LLi" , " n" )
520
560
BUILTIN(__nvvm_atom_min_s_ll, " LLiLLiD*3LLi" , " n" )
521
561
BUILTIN(__nvvm_atom_min_gen_ll, " LLiLLiD*LLi" , " n" )
562
+ TARGET_BUILTIN(__nvvm_atom_cta_min_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
563
+ TARGET_BUILTIN(__nvvm_atom_sys_min_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
522
564
BUILTIN(__nvvm_atom_min_g_ull, " ULLiULLiD*1ULLi" , " n" )
523
565
BUILTIN(__nvvm_atom_min_s_ull, " ULLiULLiD*3ULLi" , " n" )
524
566
BUILTIN(__nvvm_atom_min_gen_ull, " ULLiULLiD*ULLi" , " n" )
567
+ TARGET_BUILTIN(__nvvm_atom_cta_min_gen_ull, " ULLiULLiD*ULLi" , " n" , " satom" )
568
+ TARGET_BUILTIN(__nvvm_atom_sys_min_gen_ull, " ULLiULLiD*ULLi" , " n" , " satom" )
525
569
526
570
BUILTIN(__nvvm_atom_inc_g_ui, " UiUiD*1Ui" , " n" )
527
571
BUILTIN(__nvvm_atom_inc_s_ui, " UiUiD*3Ui" , " n" )
528
572
BUILTIN(__nvvm_atom_inc_gen_ui, " UiUiD*Ui" , " n" )
573
+ TARGET_BUILTIN(__nvvm_atom_cta_inc_gen_ui, " UiUiD*Ui" , " n" , " satom" )
574
+ TARGET_BUILTIN(__nvvm_atom_sys_inc_gen_ui, " UiUiD*Ui" , " n" , " satom" )
529
575
BUILTIN(__nvvm_atom_dec_g_ui, " UiUiD*1Ui" , " n" )
530
576
BUILTIN(__nvvm_atom_dec_s_ui, " UiUiD*3Ui" , " n" )
531
577
BUILTIN(__nvvm_atom_dec_gen_ui, " UiUiD*Ui" , " n" )
578
+ TARGET_BUILTIN(__nvvm_atom_cta_dec_gen_ui, " UiUiD*Ui" , " n" , " satom" )
579
+ TARGET_BUILTIN(__nvvm_atom_sys_dec_gen_ui, " UiUiD*Ui" , " n" , " satom" )
532
580
533
581
BUILTIN(__nvvm_atom_and_g_i, " iiD*1i" , " n" )
534
582
BUILTIN(__nvvm_atom_and_s_i, " iiD*3i" , " n" )
535
583
BUILTIN(__nvvm_atom_and_gen_i, " iiD*i" , " n" )
584
+ TARGET_BUILTIN(__nvvm_atom_cta_and_gen_i, " iiD*i" , " n" , " satom" )
585
+ TARGET_BUILTIN(__nvvm_atom_sys_and_gen_i, " iiD*i" , " n" , " satom" )
536
586
BUILTIN(__nvvm_atom_and_g_l, " LiLiD*1Li" , " n" )
537
587
BUILTIN(__nvvm_atom_and_s_l, " LiLiD*3Li" , " n" )
538
588
BUILTIN(__nvvm_atom_and_gen_l, " LiLiD*Li" , " n" )
589
+ TARGET_BUILTIN(__nvvm_atom_cta_and_gen_l, " LiLiD*Li" , " n" , " satom" )
590
+ TARGET_BUILTIN(__nvvm_atom_sys_and_gen_l, " LiLiD*Li" , " n" , " satom" )
539
591
BUILTIN(__nvvm_atom_and_g_ll, " LLiLLiD*1LLi" , " n" )
540
592
BUILTIN(__nvvm_atom_and_s_ll, " LLiLLiD*3LLi" , " n" )
541
593
BUILTIN(__nvvm_atom_and_gen_ll, " LLiLLiD*LLi" , " n" )
594
+ TARGET_BUILTIN(__nvvm_atom_cta_and_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
595
+ TARGET_BUILTIN(__nvvm_atom_sys_and_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
542
596
543
597
BUILTIN(__nvvm_atom_or_g_i, " iiD*1i" , " n" )
544
598
BUILTIN(__nvvm_atom_or_s_i, " iiD*3i" , " n" )
545
599
BUILTIN(__nvvm_atom_or_gen_i, " iiD*i" , " n" )
600
+ TARGET_BUILTIN(__nvvm_atom_cta_or_gen_i, " iiD*i" , " n" , " satom" )
601
+ TARGET_BUILTIN(__nvvm_atom_sys_or_gen_i, " iiD*i" , " n" , " satom" )
546
602
BUILTIN(__nvvm_atom_or_g_l, " LiLiD*1Li" , " n" )
547
603
BUILTIN(__nvvm_atom_or_s_l, " LiLiD*3Li" , " n" )
548
604
BUILTIN(__nvvm_atom_or_gen_l, " LiLiD*Li" , " n" )
605
+ TARGET_BUILTIN(__nvvm_atom_cta_or_gen_l, " LiLiD*Li" , " n" , " satom" )
606
+ TARGET_BUILTIN(__nvvm_atom_sys_or_gen_l, " LiLiD*Li" , " n" , " satom" )
549
607
BUILTIN(__nvvm_atom_or_g_ll, " LLiLLiD*1LLi" , " n" )
550
608
BUILTIN(__nvvm_atom_or_s_ll, " LLiLLiD*3LLi" , " n" )
551
609
BUILTIN(__nvvm_atom_or_gen_ll, " LLiLLiD*LLi" , " n" )
610
+ TARGET_BUILTIN(__nvvm_atom_cta_or_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
611
+ TARGET_BUILTIN(__nvvm_atom_sys_or_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
552
612
553
613
BUILTIN(__nvvm_atom_xor_g_i, " iiD*1i" , " n" )
554
614
BUILTIN(__nvvm_atom_xor_s_i, " iiD*3i" , " n" )
555
615
BUILTIN(__nvvm_atom_xor_gen_i, " iiD*i" , " n" )
616
+ TARGET_BUILTIN(__nvvm_atom_cta_xor_gen_i, " iiD*i" , " n" , " satom" )
617
+ TARGET_BUILTIN(__nvvm_atom_sys_xor_gen_i, " iiD*i" , " n" , " satom" )
556
618
BUILTIN(__nvvm_atom_xor_g_l, " LiLiD*1Li" , " n" )
557
619
BUILTIN(__nvvm_atom_xor_s_l, " LiLiD*3Li" , " n" )
558
620
BUILTIN(__nvvm_atom_xor_gen_l, " LiLiD*Li" , " n" )
621
+ TARGET_BUILTIN(__nvvm_atom_cta_xor_gen_l, " LiLiD*Li" , " n" , " satom" )
622
+ TARGET_BUILTIN(__nvvm_atom_sys_xor_gen_l, " LiLiD*Li" , " n" , " satom" )
559
623
BUILTIN(__nvvm_atom_xor_g_ll, " LLiLLiD*1LLi" , " n" )
560
624
BUILTIN(__nvvm_atom_xor_s_ll, " LLiLLiD*3LLi" , " n" )
561
625
BUILTIN(__nvvm_atom_xor_gen_ll, " LLiLLiD*LLi" , " n" )
626
+ TARGET_BUILTIN(__nvvm_atom_cta_xor_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
627
+ TARGET_BUILTIN(__nvvm_atom_sys_xor_gen_ll, " LLiLLiD*LLi" , " n" , " satom" )
562
628
563
629
BUILTIN(__nvvm_atom_cas_g_i, " iiD*1ii" , " n" )
564
630
BUILTIN(__nvvm_atom_cas_s_i, " iiD*3ii" , " n" )
565
631
BUILTIN(__nvvm_atom_cas_gen_i, " iiD*ii" , " n" )
632
+ TARGET_BUILTIN(__nvvm_atom_cta_cas_gen_i, " iiD*ii" , " n" , " satom" )
633
+ TARGET_BUILTIN(__nvvm_atom_sys_cas_gen_i, " iiD*ii" , " n" , " satom" )
566
634
BUILTIN(__nvvm_atom_cas_g_l, " LiLiD*1LiLi" , " n" )
567
635
BUILTIN(__nvvm_atom_cas_s_l, " LiLiD*3LiLi" , " n" )
568
636
BUILTIN(__nvvm_atom_cas_gen_l, " LiLiD*LiLi" , " n" )
637
+ TARGET_BUILTIN(__nvvm_atom_cta_cas_gen_l, " LiLiD*LiLi" , " n" , " satom" )
638
+ TARGET_BUILTIN(__nvvm_atom_sys_cas_gen_l, " LiLiD*LiLi" , " n" , " satom" )
569
639
BUILTIN(__nvvm_atom_cas_g_ll, " LLiLLiD*1LLiLLi" , " n" )
570
640
BUILTIN(__nvvm_atom_cas_s_ll, " LLiLLiD*3LLiLLi" , " n" )
571
641
BUILTIN(__nvvm_atom_cas_gen_ll, " LLiLLiD*LLiLLi" , " n" )
642
+ TARGET_BUILTIN(__nvvm_atom_cta_cas_gen_ll, " LLiLLiD*LLiLLi" , " n" , " satom" )
643
+ TARGET_BUILTIN(__nvvm_atom_sys_cas_gen_ll, " LLiLLiD*LLiLLi" , " n" , " satom" )
572
644
573
645
// Compiler Error Warn
574
646
BUILTIN(__nvvm_compiler_error, " vcC*4" , " n" )
@@ -611,3 +683,4 @@ BUILTIN(__nvvm_ldg_f4, "E4fE4fC*", "")
611
683
BUILTIN(__nvvm_ldg_d2, " E2dE2dC*" , " " )
612
684
613
685
#undef BUILTIN
686
+ #undef TARGET_BUILTIN
0 commit comments