[win/asan] GetInstructionSize: Fix `83 E4 XX` to return 3. (#119644)
[llvm-project.git] / llvm / test / Analysis / AliasSet / memloc-vscale.ll
blob6b416046374057317ce30995a568dc6e670870a6
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt -S < %s -passes=print-alias-sets 2>&1 | FileCheck %s
4 ; CHECK-LABEL: Alias sets for function 'sn'
5 ; CHECK: AliasSet[{{.*}}, 1] must alias, Mod       Memory locations: (ptr %p, LocationSize::precise(vscale x 16)), (ptr %p, LocationSize::precise(8))
6 define void @sn(ptr %p) {;
7   store <vscale x 2 x i64> zeroinitializer, ptr %p, align 2
8   store i64 0, ptr %p, align 2
9   ret void
12 ; CHECK-LABEL: Alias sets for function 'ns'
13 ; CHECK: AliasSet[{{.*}}, 1] must alias, Mod       Memory locations: (ptr %p, LocationSize::precise(8)), (ptr %p, LocationSize::precise(vscale x 16))
14 define void @ns(ptr %p) {
15   store i64 0, ptr %p, align 2
16   store <vscale x 2 x i64> zeroinitializer, ptr %p, align 2
17   ret void
20 ; CHECK-LABEL: Alias sets for function 'ss':
21 ; CHECK: AliasSet[{{.*}}, 1] must alias, Mod       Memory locations: (ptr %p, LocationSize::precise(vscale x 16))
22 define void @ss(ptr %p) {
23   store <vscale x 2 x i64> zeroinitializer, ptr %p, align 2
24   store <vscale x 2 x i64> zeroinitializer, ptr %p, align 2
25   ret void
28 ; CHECK-LABEL: Alias sets for function 'ss2':
29 ; CHECK: AliasSet[{{.*}}, 1] must alias, Mod       Memory locations: (ptr %p, LocationSize::precise(vscale x 16)), (ptr %p, LocationSize::precise(vscale x 32))
30 define void @ss2(ptr %p) {
31   store <vscale x 2 x i64> zeroinitializer, ptr %p, align 2
32   store <vscale x 2 x i64> zeroinitializer, ptr %p, align 2
33   store <vscale x 4 x i64> zeroinitializer, ptr %p, align 2
34   ret void
36 ; CHECK-LABEL: Alias sets for function 'son':
37 ; CHECK: AliasSet[{{.*}}, 1] must alias, Mod       Memory locations: (ptr %g, LocationSize::precise(vscale x 16))
38 ; CHECK: AliasSet[{{.*}}, 1] must alias, Mod       Memory locations: (ptr %p, LocationSize::precise(8))
39 define void @son(ptr %p) {
40   %g = getelementptr i8, ptr %p, i64 8
41   store <vscale x 2 x i64> zeroinitializer, ptr %g, align 2
42   store i64 0, ptr %p, align 2
43   ret void
46 ; CHECK-LABEL: Alias sets for function 'sno':
47 ; CHECK: AliasSet[{{.*}}, 2] may alias, Mod       Memory locations: (ptr %p, LocationSize::precise(vscale x 16)), (ptr %g, LocationSize::precise(8))
48 define void @sno(ptr %p) {
49   %g = getelementptr i8, ptr %p, i64 8
50   store <vscale x 2 x i64> zeroinitializer, ptr %p, align 2
51   store i64 0, ptr %g, align 2
52   ret void