@@ -2558,6 +2558,78 @@ entry:
2558
2558
; CHECK: st.release.cta.shared.f64
2559
2559
tail call void @llvm.nvvm.st.shared.f.release.cta.p3f64.f64 (double addrspace (3 )* %dfp3 , double %df );
2560
2560
2561
+ ; CHECK: ld.volatile.s32
2562
+ %tmpldst144 = tail call i32 @llvm.nvvm.ld.gen.i.volatile.i32.p0 (i32* %ip );
2563
+
2564
+ ; CHECK: ld.volatile.global.s32
2565
+ %tmpldst145 = tail call i32 @llvm.nvvm.ld.global.i.volatile.i32.p1 (i32 addrspace (1 )* %ip1 );
2566
+
2567
+ ; CHECK: ld.volatile.shared.s32
2568
+ %tmpldst146 = tail call i32 @llvm.nvvm.ld.shared.i.volatile.i32.p3 (i32 addrspace (3 )* %ip3 );
2569
+
2570
+ ; CHECK: ld.volatile.s64
2571
+ %tmpldst147 = tail call i64 @llvm.nvvm.ld.gen.i.volatile.i64.p0 (i64* %llp );
2572
+
2573
+ ; CHECK: ld.volatile.global.s64
2574
+ %tmpldst148 = tail call i64 @llvm.nvvm.ld.global.i.volatile.i64.p1 (i64 addrspace (1 )* %llp1 );
2575
+
2576
+ ; CHECK: ld.volatile.shared.s64
2577
+ %tmpldst149 = tail call i64 @llvm.nvvm.ld.shared.i.volatile.i64.p3 (i64 addrspace (3 )* %llp3 );
2578
+
2579
+ ; CHECK: ld.volatile.f32
2580
+ %tmpldst150 = tail call float @llvm.nvvm.ld.gen.f.volatile.f32.p0 (float * %fp );
2581
+
2582
+ ; CHECK: ld.volatile.global.f32
2583
+ %tmpldst151 = tail call float @llvm.nvvm.ld.global.f.volatile.f32.p1 (float addrspace (1 )* %fp1 );
2584
+
2585
+ ; CHECK: ld.volatile.shared.f32
2586
+ %tmpldst152 = tail call float @llvm.nvvm.ld.shared.f.volatile.f32.p3 (float addrspace (3 )* %fp3 );
2587
+
2588
+ ; CHECK: ld.volatile.f64
2589
+ %tmpldst153 = tail call double @llvm.nvvm.ld.gen.f.volatile.f64.p0 (double * %dfp );
2590
+
2591
+ ; CHECK: ld.volatile.global.f64
2592
+ %tmpldst154 = tail call double @llvm.nvvm.ld.global.f.volatile.f64.p1 (double addrspace (1 )* %dfp1 );
2593
+
2594
+ ; CHECK: ld.volatile.shared.f64
2595
+ %tmpldst155 = tail call double @llvm.nvvm.ld.shared.f.volatile.f64.p3 (double addrspace (3 )* %dfp3 );
2596
+
2597
+ ; CHECK: st.volatile.s32
2598
+ tail call void @llvm.nvvm.st.gen.i.volatile.p0i32.i32 (i32* %ip , i32 %i );
2599
+
2600
+ ; CHECK: st.volatile.global.s32
2601
+ tail call void @llvm.nvvm.st.global.i.volatile.p1i32.i32 (i32 addrspace (1 )* %ip1 , i32 %i );
2602
+
2603
+ ; CHECK: st.volatile.shared.s32
2604
+ tail call void @llvm.nvvm.st.shared.i.volatile.p3i32.i32 (i32 addrspace (3 )* %ip3 , i32 %i );
2605
+
2606
+ ; CHECK: st.volatile.s64
2607
+ tail call void @llvm.nvvm.st.gen.i.volatile.p0i64.i64 (i64* %llp , i64 %ll );
2608
+
2609
+ ; CHECK: st.volatile.global.s64
2610
+ tail call void @llvm.nvvm.st.global.i.volatile.p1i64.i64 (i64 addrspace (1 )* %llp1 , i64 %ll );
2611
+
2612
+ ; CHECK: st.volatile.shared.s64
2613
+ tail call void @llvm.nvvm.st.shared.i.volatile.p3i64.i64 (i64 addrspace (3 )* %llp3 , i64 %ll );
2614
+
2615
+ ; CHECK: st.volatile.f32
2616
+ tail call void @llvm.nvvm.st.gen.f.volatile.p0f32.f32 (float * %fp , float %f );
2617
+
2618
+ ; CHECK: st.volatile.global.f32
2619
+ tail call void @llvm.nvvm.st.global.f.volatile.p1f32.f32 (float addrspace (1 )* %fp1 , float %f );
2620
+
2621
+ ; CHECK: st.volatile.shared.f32
2622
+ tail call void @llvm.nvvm.st.shared.f.volatile.p3f32.f32 (float addrspace (3 )* %fp3 , float %f );
2623
+
2624
+ ; CHECK: st.volatile.f64
2625
+ tail call void @llvm.nvvm.st.gen.f.volatile.p0f64.f64 (double * %dfp , double %df );
2626
+
2627
+ ; CHECK: st.volatile.global.f64
2628
+ tail call void @llvm.nvvm.st.global.f.volatile.p1f64.f64 (double addrspace (1 )* %dfp1 , double %df );
2629
+
2630
+ ; CHECK: st.volatile.shared.f64
2631
+ tail call void @llvm.nvvm.st.shared.f.volatile.p3f64.f64 (double addrspace (3 )* %dfp3 , double %df );
2632
+
2561
2633
; CHECK: ret
2562
2634
ret void
2563
2635
}
@@ -2720,6 +2792,30 @@ declare void @llvm.nvvm.st.shared.f.cta.p3f64.f64(double addrspace(3)* nocapture
2720
2792
declare void @llvm.nvvm.st.gen.f.release.cta.p0f64.f64 (double * nocapture , double ) #1
2721
2793
declare void @llvm.nvvm.st.global.f.release.cta.p1f64.f64 (double addrspace (1 )* nocapture , double ) #1
2722
2794
declare void @llvm.nvvm.st.shared.f.release.cta.p3f64.f64 (double addrspace (3 )* nocapture , double ) #1
2795
+ declare i32 @llvm.nvvm.ld.gen.i.volatile.i32.p0 (i32* nocapture ) #1
2796
+ declare i32 @llvm.nvvm.ld.global.i.volatile.i32.p1 (i32 addrspace (1 )* nocapture ) #1
2797
+ declare i32 @llvm.nvvm.ld.shared.i.volatile.i32.p3 (i32 addrspace (3 )* nocapture ) #1
2798
+ declare i64 @llvm.nvvm.ld.gen.i.volatile.i64.p0 (i64* nocapture ) #1
2799
+ declare i64 @llvm.nvvm.ld.global.i.volatile.i64.p1 (i64 addrspace (1 )* nocapture ) #1
2800
+ declare i64 @llvm.nvvm.ld.shared.i.volatile.i64.p3 (i64 addrspace (3 )* nocapture ) #1
2801
+ declare float @llvm.nvvm.ld.gen.f.volatile.f32.p0 (float * nocapture ) #1
2802
+ declare float @llvm.nvvm.ld.global.f.volatile.f32.p1 (float addrspace (1 )* nocapture ) #1
2803
+ declare float @llvm.nvvm.ld.shared.f.volatile.f32.p3 (float addrspace (3 )* nocapture ) #1
2804
+ declare double @llvm.nvvm.ld.gen.f.volatile.f64.p0 (double * nocapture ) #1
2805
+ declare double @llvm.nvvm.ld.global.f.volatile.f64.p1 (double addrspace (1 )* nocapture ) #1
2806
+ declare double @llvm.nvvm.ld.shared.f.volatile.f64.p3 (double addrspace (3 )* nocapture ) #1
2807
+ declare void @llvm.nvvm.st.gen.i.volatile.p0i32.i32 (i32* nocapture , i32 ) #1
2808
+ declare void @llvm.nvvm.st.global.i.volatile.p1i32.i32 (i32 addrspace (1 )* nocapture , i32 ) #1
2809
+ declare void @llvm.nvvm.st.shared.i.volatile.p3i32.i32 (i32 addrspace (3 )* nocapture , i32 ) #1
2810
+ declare void @llvm.nvvm.st.gen.i.volatile.p0i64.i64 (i64* nocapture , i64 ) #1
2811
+ declare void @llvm.nvvm.st.global.i.volatile.p1i64.i64 (i64 addrspace (1 )* nocapture , i64 ) #1
2812
+ declare void @llvm.nvvm.st.shared.i.volatile.p3i64.i64 (i64 addrspace (3 )* nocapture , i64 ) #1
2813
+ declare void @llvm.nvvm.st.gen.f.volatile.p0f32.f32 (float * nocapture , float ) #1
2814
+ declare void @llvm.nvvm.st.global.f.volatile.p1f32.f32 (float addrspace (1 )* nocapture , float ) #1
2815
+ declare void @llvm.nvvm.st.shared.f.volatile.p3f32.f32 (float addrspace (3 )* nocapture , float ) #1
2816
+ declare void @llvm.nvvm.st.gen.f.volatile.p0f64.f64 (double * nocapture , double ) #1
2817
+ declare void @llvm.nvvm.st.global.f.volatile.p1f64.f64 (double addrspace (1 )* nocapture , double ) #1
2818
+ declare void @llvm.nvvm.st.shared.f.volatile.p3f64.f64 (double addrspace (3 )* nocapture , double ) #1
2723
2819
2724
2820
declare i32 @llvm.nvvm.atomic.add.gen.i.acquire.i32.p0i32 (i32* nocapture , i32 ) #1
2725
2821
declare i32 @llvm.nvvm.atomic.add.global.i.acquire.i32.p1i32 (i32 addrspace (1 )* nocapture , i32 ) #1
0 commit comments