@@ -29,6 +29,17 @@ define i1 @or(i1 noundef %x, i1 noundef %x2) {
29
29
ret i1 %z
30
30
}
31
31
32
+ ; FIXME: This is a miscompile.
33
+ define i1 @or_disjoint (i1 noundef %x , i1 noundef %x2 ) {
34
+ ; CHECK-LABEL: @or_disjoint(
35
+ ; CHECK-NEXT: [[Y:%.*]] = or disjoint i1 [[X:%.*]], [[X2:%.*]]
36
+ ; CHECK-NEXT: ret i1 [[Y]]
37
+ ;
38
+ %y = or disjoint i1 %x , %x2
39
+ %z = freeze i1 %y
40
+ ret i1 %z
41
+ }
42
+
32
43
define i1 @or2 (i1 noundef %x , i1 %x2 ) {
33
44
; CHECK-LABEL: @or2(
34
45
; CHECK-NEXT: [[Y:%.*]] = or i1 [[X:%.*]], [[X2:%.*]]
@@ -61,6 +72,27 @@ define i8 @addnsw(i8 noundef %x) {
61
72
ret i8 %z
62
73
}
63
74
75
+ define i16 @zext (i8 noundef %x ) {
76
+ ; CHECK-LABEL: @zext(
77
+ ; CHECK-NEXT: [[Y:%.*]] = zext i8 [[X:%.*]] to i16
78
+ ; CHECK-NEXT: ret i16 [[Y]]
79
+ ;
80
+ %y = zext i8 %x to i16
81
+ %z = freeze i16 %y
82
+ ret i16 %z
83
+ }
84
+
85
+ define i16 @zext_nneg (i8 noundef %x ) {
86
+ ; CHECK-LABEL: @zext_nneg(
87
+ ; CHECK-NEXT: [[Y:%.*]] = zext nneg i8 [[X:%.*]] to i16
88
+ ; CHECK-NEXT: [[Z:%.*]] = freeze i16 [[Y]]
89
+ ; CHECK-NEXT: ret i16 [[Z]]
90
+ ;
91
+ %y = zext nneg i8 %x to i16
92
+ %z = freeze i16 %y
93
+ ret i16 %z
94
+ }
95
+
64
96
define {i8 , i32 } @aggr ({i8 , i32 } noundef %x ) {
65
97
; CHECK-LABEL: @aggr(
66
98
; CHECK-NEXT: ret { i8, i32 } [[X:%.*]]
@@ -107,7 +139,7 @@ define i1 @used_by_fncall(i1 %x) {
107
139
108
140
define i32 @noundef_metadata (ptr %p ) {
109
141
; CHECK-LABEL: @noundef_metadata(
110
- ; CHECK-NEXT: [[V:%.*]] = load i32, ptr [[P:%.*]], align 4, !noundef !0
142
+ ; CHECK-NEXT: [[V:%.*]] = load i32, ptr [[P:%.*]], align 4, !noundef [[META0:![0-9]+]]
111
143
; CHECK-NEXT: ret i32 [[V]]
112
144
;
113
145
%v = load i32 , ptr %p , !noundef !{}
@@ -117,7 +149,7 @@ define i32 @noundef_metadata(ptr %p) {
117
149
118
150
define {i8 , i32 } @noundef_metadata2 (ptr %p ) {
119
151
; CHECK-LABEL: @noundef_metadata2(
120
- ; CHECK-NEXT: [[V:%.*]] = load { i8, i32 }, ptr [[P:%.*]], align 4, !noundef !0
152
+ ; CHECK-NEXT: [[V:%.*]] = load { i8, i32 }, ptr [[P:%.*]], align 4, !noundef [[META0]]
121
153
; CHECK-NEXT: ret { i8, i32 } [[V]]
122
154
;
123
155
%v = load {i8 , i32 }, ptr %p , !noundef !{}
0 commit comments