@@ -70,3 +70,25 @@ entry:
70
70
%0 = load i32 , ptr %arrayidx1 , align 1
71
71
ret i32 %0
72
72
}
73
+
74
+ define i32 @gep_i8_vs_i32 (ptr nocapture %A , i64 %n , i64 %m ) {
75
+ ; CHECK-LABEL: 'gep_i8_vs_i32'
76
+ ; CHECK-NEXT: Src: store i32 42, ptr %arrayidx0, align 1 --> Dst: store i32 42, ptr %arrayidx0, align 1
77
+ ; CHECK-NEXT: da analyze - none!
78
+ ; CHECK-NEXT: Src: store i32 42, ptr %arrayidx0, align 1 --> Dst: store i32 42, ptr %arrayidx1, align 4
79
+ ; CHECK-NEXT: da analyze - output [|<]!
80
+ ; CHECK-NEXT: Runtime Assumptions:
81
+ ; CHECK-NEXT: Equal predicate: (zext i2 (trunc i64 %n to i2) to i64) == 0
82
+ ; CHECK-NEXT: Src: store i32 42, ptr %arrayidx1, align 4 --> Dst: store i32 42, ptr %arrayidx1, align 4
83
+ ; CHECK-NEXT: da analyze - none!
84
+ ; CHECK-NEXT: Runtime Assumptions:
85
+ ; CHECK-NEXT: Equal predicate: (zext i2 (trunc i64 %n to i2) to i64) == 0
86
+ ;
87
+ entry:
88
+ %arrayidx0 = getelementptr inbounds i8 , ptr %A , i64 %n
89
+ store i32 42 , ptr %arrayidx0 , align 1
90
+
91
+ %arrayidx1 = getelementptr inbounds i32 , ptr %A , i64 %m
92
+ store i32 42 , ptr %arrayidx1 , align 4
93
+ ret i32 0
94
+ }
0 commit comments