@@ -29,3 +29,31 @@ define ptr @f2() {
2929;
3030 ret ptr getelementptr (ptr , ptr getelementptr inbounds inrange(0 , 8 ) ([3 x ptr ], ptr @vt , i64 0 , i64 1 ), i64 3 )
3131}
32+
33+ define ptr @f3 () {
34+ ; CHECK-LABEL: @f3(
35+ ; CHECK-NEXT: ret ptr getelementptr inbounds nuw inrange(-8, 0) (i8, ptr @vt, i64 16)
36+ ;
37+ ret ptr getelementptr inrange(-16 , 8 ) (ptr , ptr getelementptr inbounds inrange(0 , 8 ) ([3 x ptr ], ptr @vt , i64 0 , i64 1 ), i64 1 )
38+ }
39+
40+ define ptr @f4 () {
41+ ; CHECK-LABEL: @f4(
42+ ; CHECK-NEXT: ret ptr getelementptr inbounds nuw inrange(-8, 8) (i8, ptr @vt, i64 16)
43+ ;
44+ ret ptr getelementptr inrange(-16 , 8 ) (ptr , ptr getelementptr inbounds inrange(0 , 24 ) ([3 x ptr ], ptr @vt , i64 0 , i64 1 ), i64 1 )
45+ }
46+
47+ define ptr @f5 () {
48+ ; CHECK-LABEL: @f5(
49+ ; CHECK-NEXT: ret ptr getelementptr inbounds nuw inrange(0, 0) (i8, ptr @vt, i64 16)
50+ ;
51+ ret ptr getelementptr inrange(0 , 8 ) (ptr , ptr getelementptr inbounds inrange(0 , 8 ) ([3 x ptr ], ptr @vt , i64 0 , i64 0 ), i64 2 )
52+ }
53+
54+ define ptr @f6 () {
55+ ; CHECK-LABEL: @f6(
56+ ; CHECK-NEXT: ret ptr getelementptr inbounds nuw inrange(-8, 8) (i8, ptr @vt, i64 16)
57+ ;
58+ ret ptr getelementptr inrange(-8 , 8 ) (ptr , ptr getelementptr inbounds inrange(-8 , 16 ) ([3 x ptr ], ptr @vt , i64 0 , i64 1 ), i64 1 )
59+ }
0 commit comments