|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
2 | 2 | ; RUN: opt -S < %s | FileCheck %s
|
3 |
| -define <4 x i32> @load(<4 x i32>* nocapture readonly %a0) !dbg !8 { |
| 3 | +define <4 x i32> @load(ptr nocapture readonly %a0) !dbg !8 { |
4 | 4 | ; CHECK-LABEL: @load(
|
5 | 5 | ; CHECK-NEXT: entry:
|
6 |
| -; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* [[A0:%.*]], i32 16, <4 x i1> <i1 true, i1 false, i1 false, i1 true>, <4 x i32> undef), !dbg [[DBG19:![0-9]+]], !tbaa [[TBAA20:![0-9]+]] |
| 6 | +; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr [[A0:%.*]], i32 16, <4 x i1> <i1 true, i1 false, i1 false, i1 true>, <4 x i32> undef), !dbg [[DBG19:![0-9]+]], !tbaa [[TBAA20:![0-9]+]] |
7 | 7 | ; CHECK-NEXT: ret <4 x i32> [[V0]], !dbg [[DBG23:![0-9]+]]
|
8 | 8 | ;
|
9 | 9 | entry:
|
10 |
| - %v0 = call <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %a0, i32 16, <4 x i1> <i1 true, i1 false, i1 false, i1 true>, <4 x i32> undef), !dbg !19, !tbaa !20 |
| 10 | + %v0 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr %a0, i32 16, <4 x i1> <i1 true, i1 false, i1 false, i1 true>, <4 x i32> undef), !dbg !19, !tbaa !20 |
11 | 11 | ret <4 x i32> %v0, !dbg !23
|
12 | 12 | }
|
13 | 13 |
|
14 |
| -define void @store(<4 x i32> %a0, <4 x i32>* nocapture %a1) !dbg !24 { |
| 14 | +define void @store(<4 x i32> %a0, ptr nocapture %a1) !dbg !24 { |
15 | 15 | ; CHECK-LABEL: @store(
|
16 | 16 | ; CHECK-NEXT: entry:
|
17 |
| -; CHECK-NEXT: call void @llvm.masked.store.v4i32.p0v4i32(<4 x i32> [[A0:%.*]], <4 x i32>* [[A1:%.*]], i32 16, <4 x i1> <i1 false, i1 true, i1 false, i1 true>), !dbg [[DBG30:![0-9]+]], !tbaa [[TBAA20]] |
| 17 | +; CHECK-NEXT: call void @llvm.masked.store.v4i32.p0(<4 x i32> [[A0:%.*]], ptr [[A1:%.*]], i32 16, <4 x i1> <i1 false, i1 true, i1 false, i1 true>), !dbg [[DBG30:![0-9]+]], !tbaa [[TBAA20]] |
18 | 18 | ; CHECK-NEXT: ret void, !dbg [[DBG31:![0-9]+]]
|
19 | 19 | ;
|
20 | 20 | entry:
|
21 |
| - call void @llvm.masked.store.v4i32.p0v4i32(<4 x i32> %a0, <4 x i32>* %a1, i32 16, <4 x i1> <i1 false, i1 true, i1 false, i1 true>), !dbg !30, !tbaa !20 |
| 21 | + call void @llvm.masked.store.v4i32.p0(<4 x i32> %a0, ptr %a1, i32 16, <4 x i1> <i1 false, i1 true, i1 false, i1 true>), !dbg !30, !tbaa !20 |
22 | 22 | ret void, !dbg !31
|
23 | 23 | }
|
24 | 24 |
|
25 |
| -define <4 x i32> @gather(<4 x i32*> %a0) !dbg !32 { |
| 25 | +define <4 x i32> @gather(<4 x ptr> %a0) !dbg !32 { |
26 | 26 | ; CHECK-LABEL: @gather(
|
27 | 27 | ; CHECK-NEXT: entry:
|
28 |
| -; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.gather.v4i32.v4p0i32(<4 x i32*> [[A0:%.*]], i32 16, <4 x i1> <i1 true, i1 true, i1 true, i1 false>, <4 x i32> undef), !dbg [[DBG35:![0-9]+]], !tbaa [[TBAA20]] |
| 28 | +; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> [[A0:%.*]], i32 16, <4 x i1> <i1 true, i1 true, i1 true, i1 false>, <4 x i32> undef), !dbg [[DBG35:![0-9]+]], !tbaa [[TBAA20]] |
29 | 29 | ; CHECK-NEXT: ret <4 x i32> [[V0]], !dbg [[DBG36:![0-9]+]]
|
30 | 30 | ;
|
31 | 31 | entry:
|
32 |
| - %v0 = call <4 x i32> @llvm.masked.gather.v4i32.v4p0i32(<4 x i32*> %a0, i32 16, <4 x i1> <i1 true, i1 true, i1 true, i1 false>, <4 x i32> undef), !dbg !35, !tbaa !20 |
| 32 | + %v0 = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> %a0, i32 16, <4 x i1> <i1 true, i1 true, i1 true, i1 false>, <4 x i32> undef), !dbg !35, !tbaa !20 |
33 | 33 | ret <4 x i32> %v0, !dbg !36
|
34 | 34 | }
|
35 | 35 |
|
36 |
| -define void @scatter(<4 x i32> %a0, <4 x i32*> %a1) !dbg !37 { |
| 36 | +define void @scatter(<4 x i32> %a0, <4 x ptr> %a1) !dbg !37 { |
37 | 37 | ; CHECK-LABEL: @scatter(
|
38 | 38 | ; CHECK-NEXT: entry:
|
39 |
| -; CHECK-NEXT: call void @llvm.masked.scatter.v4i32.v4p0i32(<4 x i32> [[A0:%.*]], <4 x i32*> [[A1:%.*]], i32 16, <4 x i1> <i1 false, i1 true, i1 true, i1 true>), !dbg [[DBG41:![0-9]+]], !tbaa [[TBAA20]] |
| 39 | +; CHECK-NEXT: call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> [[A0:%.*]], <4 x ptr> [[A1:%.*]], i32 16, <4 x i1> <i1 false, i1 true, i1 true, i1 true>), !dbg [[DBG41:![0-9]+]], !tbaa [[TBAA20]] |
40 | 40 | ; CHECK-NEXT: ret void, !dbg [[DBG42:![0-9]+]]
|
41 | 41 | ;
|
42 | 42 | entry:
|
43 |
| - call void @llvm.masked.scatter.v4i32.v4p0i32(<4 x i32> %a0, <4 x i32*> %a1, i32 16, <4 x i1> <i1 false, i1 true, i1 true, i1 true>), !dbg !41, !tbaa !20 |
| 43 | + call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> %a0, <4 x ptr> %a1, i32 16, <4 x i1> <i1 false, i1 true, i1 true, i1 true>), !dbg !41, !tbaa !20 |
44 | 44 | ret void, !dbg !42
|
45 | 45 | }
|
46 | 46 |
|
47 |
| -define <4 x i32> @expandload(i32* nocapture readonly %a0) !dbg !43 { |
| 47 | +define <4 x i32> @expandload(ptr nocapture readonly %a0) !dbg !43 { |
48 | 48 | ; CHECK-LABEL: @expandload(
|
49 | 49 | ; CHECK-NEXT: entry:
|
50 |
| -; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.expandload.v4i32(i32* [[A0:%.*]], <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i32> undef), !dbg [[DBG49:![0-9]+]], !tbaa [[TBAA50:![0-9]+]] |
| 50 | +; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.expandload.v4i32(ptr [[A0:%.*]], <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i32> undef), !dbg [[DBG49:![0-9]+]], !tbaa [[TBAA50:![0-9]+]] |
51 | 51 | ; CHECK-NEXT: ret <4 x i32> [[V0]], !dbg [[DBG52:![0-9]+]]
|
52 | 52 | ;
|
53 | 53 | entry:
|
54 |
| - %v0 = call <4 x i32> @llvm.masked.expandload.v4i32(i32* %a0, <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i32> undef), !dbg !49, !tbaa !50 |
| 54 | + %v0 = call <4 x i32> @llvm.masked.expandload.v4i32(ptr %a0, <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i32> undef), !dbg !49, !tbaa !50 |
55 | 55 | ret <4 x i32> %v0, !dbg !52
|
56 | 56 | }
|
57 | 57 |
|
58 |
| -define void @compressstore(<4 x i32> %a0, i32* nocapture %a1) !dbg !53 { |
| 58 | +define void @compressstore(<4 x i32> %a0, ptr nocapture %a1) !dbg !53 { |
59 | 59 | ; CHECK-LABEL: @compressstore(
|
60 | 60 | ; CHECK-NEXT: entry:
|
61 |
| -; CHECK-NEXT: call void @llvm.masked.compressstore.v4i32(<4 x i32> [[A0:%.*]], i32* [[A1:%.*]], <4 x i1> <i1 false, i1 false, i1 true, i1 true>), !dbg [[DBG59:![0-9]+]], !tbaa [[TBAA50]] |
| 61 | +; CHECK-NEXT: call void @llvm.masked.compressstore.v4i32(<4 x i32> [[A0:%.*]], ptr [[A1:%.*]], <4 x i1> <i1 false, i1 false, i1 true, i1 true>), !dbg [[DBG59:![0-9]+]], !tbaa [[TBAA50]] |
62 | 62 | ; CHECK-NEXT: ret void, !dbg [[DBG60:![0-9]+]]
|
63 | 63 | ;
|
64 | 64 | entry:
|
65 |
| - call void @llvm.masked.compressstore.v4i32(<4 x i32> %a0, i32* %a1, <4 x i1> <i1 false, i1 false, i1 true, i1 true>), !dbg !59, !tbaa !50 |
| 65 | + call void @llvm.masked.compressstore.v4i32(<4 x i32> %a0, ptr %a1, <4 x i1> <i1 false, i1 false, i1 true, i1 true>), !dbg !59, !tbaa !50 |
66 | 66 | ret void, !dbg !60
|
67 | 67 | }
|
68 | 68 |
|
69 |
| -declare <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>*, i32 immarg, <4 x i1>, <4 x i32>) #0 |
70 |
| -declare void @llvm.masked.store.v4i32.p0v4i32(<4 x i32>, <4 x i32>*, i32 immarg, <4 x i1>) #1 |
71 |
| -declare <4 x i32> @llvm.masked.gather.v4i32.v4p0i32(<4 x i32*>, i32 immarg, <4 x i1>, <4 x i32>) #2 |
72 |
| -declare void @llvm.masked.scatter.v4i32.v4p0i32(<4 x i32>, <4 x i32*>, i32 immarg, <4 x i1>) #3 |
73 |
| -declare <4 x i32> @llvm.masked.expandload.v4i32(i32*, <4 x i1>, <4 x i32>) #2 |
74 |
| -declare void @llvm.masked.compressstore.v4i32(<4 x i32>, i32*, <4 x i1>) #1 |
| 69 | +declare <4 x i32> @llvm.masked.load.v4i32.p0(ptr, i32 immarg, <4 x i1>, <4 x i32>) #0 |
| 70 | +declare void @llvm.masked.store.v4i32.p0(<4 x i32>, ptr, i32 immarg, <4 x i1>) #1 |
| 71 | +declare <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr>, i32 immarg, <4 x i1>, <4 x i32>) #2 |
| 72 | +declare void @llvm.masked.scatter.v4i32.v4p0(<4 x i32>, <4 x ptr>, i32 immarg, <4 x i1>) #3 |
| 73 | +declare <4 x i32> @llvm.masked.expandload.v4i32(ptr, <4 x i1>, <4 x i32>) #2 |
| 74 | +declare void @llvm.masked.compressstore.v4i32(<4 x i32>, ptr, <4 x i1>) #1 |
75 | 75 |
|
76 | 76 | attributes #0 = { argmemonly nofree nosync nounwind readonly willreturn }
|
77 | 77 | attributes #1 = { argmemonly nofree nosync nounwind willreturn writeonly }
|
|
0 commit comments