• Home
  • Raw
  • Download

Lines Matching refs:shfl

3 declare {i32, i1} @llvm.nvvm.shfl.down.i32p(i32, i32, i32)
4 declare {float, i1} @llvm.nvvm.shfl.down.f32p(float, i32, i32)
5 declare {i32, i1} @llvm.nvvm.shfl.up.i32p(i32, i32, i32)
6 declare {float, i1} @llvm.nvvm.shfl.up.f32p(float, i32, i32)
7 declare {i32, i1} @llvm.nvvm.shfl.bfly.i32p(i32, i32, i32)
8 declare {float, i1} @llvm.nvvm.shfl.bfly.f32p(float, i32, i32)
9 declare {i32, i1} @llvm.nvvm.shfl.idx.i32p(i32, i32, i32)
10 declare {float, i1} @llvm.nvvm.shfl.idx.f32p(float, i32, i32)
12 ; CHECK-LABEL: .func{{.*}}shfl.i32.rrr
13 define {i32, i1} @shfl.i32.rrr(i32 %a, i32 %b, i32 %c) {
17 ; CHECK: shfl.down.b32 [[OUT:%r[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], [[B]], [[C]];
19 %val = call {i32, i1} @llvm.nvvm.shfl.down.i32p(i32 %a, i32 %b, i32 %c)
23 ; CHECK-LABEL: .func{{.*}}shfl.i32.irr
24 define {i32, i1} @shfl.i32.irr(i32 %a, i32 %b, i32 %c) {
28 ; CHECK: shfl.down.b32 [[OUT:%r[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], [[B]], [[C]];
30 %val = call {i32, i1} @llvm.nvvm.shfl.down.i32p(i32 %a, i32 %b, i32 %c)
34 ; CHECK-LABEL: .func{{.*}}shfl.i32.rri
35 define {i32, i1} @shfl.i32.rri(i32 %a, i32 %b) {
38 ; CHECK: shfl.down.b32 [[OUT:%r[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], [[B]], 1;
40 %val = call {i32, i1} @llvm.nvvm.shfl.down.i32p(i32 %a, i32 %b, i32 1)
44 ; CHECK-LABEL: .func{{.*}}shfl.i32.iri
45 define {i32, i1} @shfl.i32.iri(i32 %a, i32 %b) {
48 ; CHECK: shfl.down.b32 [[OUT:%r[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], [[B]], 2;
50 %val = call {i32, i1} @llvm.nvvm.shfl.down.i32p(i32 %a, i32 %b, i32 2)
54 ; CHECK-LABEL: .func{{.*}}shfl.i32.rir
55 define {i32, i1} @shfl.i32.rir(i32 %a, i32 %c) {
58 ; CHECK: shfl.down.b32 [[OUT:%r[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], 1, [[C]];
60 %val = call {i32, i1} @llvm.nvvm.shfl.down.i32p(i32 %a, i32 1, i32 %c)
64 ; CHECK-LABEL: .func{{.*}}shfl.i32.iir
65 define {i32, i1} @shfl.i32.iir(i32 %a, i32 %c) {
68 ; CHECK: shfl.down.b32 [[OUT:%r[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], 2, [[C]];
70 %val = call {i32, i1} @llvm.nvvm.shfl.down.i32p(i32 %a, i32 2, i32 %c)
74 ; CHECK-LABEL: .func{{.*}}shfl.i32.rii
75 define {i32, i1} @shfl.i32.rii(i32 %a) {
77 ; CHECK: shfl.down.b32 [[OUT:%r[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], 1, 2;
79 %val = call {i32, i1} @llvm.nvvm.shfl.down.i32p(i32 %a, i32 1, i32 2)
83 ; CHECK-LABEL: .func{{.*}}shfl.i32.iii
84 define {i32, i1} @shfl.i32.iii(i32 %a, i32 %b) {
86 ; CHECK: shfl.down.b32 [[OUT:%r[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], 2, 3;
88 %val = call {i32, i1} @llvm.nvvm.shfl.down.i32p(i32 %a, i32 2, i32 3)
94 ; CHECK-LABEL: .func{{.*}}shfl.f32.rrr
95 define {float, i1} @shfl.f32.rrr(float %a, i32 %b, i32 %c) {
99 ; CHECK: shfl.down.b32 [[OUT:%f[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], [[B]], [[C]];
101 %val = call {float, i1} @llvm.nvvm.shfl.down.f32p(float %a, i32 %b, i32 %c)
105 ; CHECK-LABEL: .func{{.*}}shfl.f32.irr
106 define {float, i1} @shfl.f32.irr(float %a, i32 %b, i32 %c) {
110 ; CHECK: shfl.down.b32 [[OUT:%f[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], [[B]], [[C]];
112 %val = call {float, i1} @llvm.nvvm.shfl.down.f32p(float %a, i32 %b, i32 %c)
116 ; CHECK-LABEL: .func{{.*}}shfl.f32.rri
117 define {float, i1} @shfl.f32.rri(float %a, i32 %b) {
120 ; CHECK: shfl.down.b32 [[OUT:%f[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], [[B]], 1;
122 %val = call {float, i1} @llvm.nvvm.shfl.down.f32p(float %a, i32 %b, i32 1)
126 ; CHECK-LABEL: .func{{.*}}shfl.f32.iri
127 define {float, i1} @shfl.f32.iri(float %a, i32 %b) {
130 ; CHECK: shfl.down.b32 [[OUT:%f[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], [[B]], 2;
132 %val = call {float, i1} @llvm.nvvm.shfl.down.f32p(float %a, i32 %b, i32 2)
136 ; CHECK-LABEL: .func{{.*}}shfl.f32.rir
137 define {float, i1} @shfl.f32.rir(float %a, i32 %c) {
140 ; CHECK: shfl.down.b32 [[OUT:%f[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], 1, [[C]];
142 %val = call {float, i1} @llvm.nvvm.shfl.down.f32p(float %a, i32 1, i32 %c)
146 ; CHECK-LABEL: .func{{.*}}shfl.f32.iir
147 define {float, i1} @shfl.f32.iir(float %a, i32 %c) {
150 ; CHECK: shfl.down.b32 [[OUT:%f[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], 2, [[C]];
152 %val = call {float, i1} @llvm.nvvm.shfl.down.f32p(float %a, i32 2, i32 %c)
156 ; CHECK-LABEL: .func{{.*}}shfl.f32.rii
157 define {float, i1} @shfl.f32.rii(float %a) {
159 ; CHECK: shfl.down.b32 [[OUT:%f[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], 1, 2;
161 %val = call {float, i1} @llvm.nvvm.shfl.down.f32p(float %a, i32 1, i32 2)
165 ; CHECK-LABEL: .func{{.*}}shfl.f32.iii
166 define {float, i1} @shfl.f32.iii(float %a, i32 %b) {
168 ; CHECK: shfl.down.b32 [[OUT:%f[0-9]+]]|[[OUTP:%p[0-9]+]], [[A]], 2, 3;
170 %val = call {float, i1} @llvm.nvvm.shfl.down.f32p(float %a, i32 2, i32 3)