@@ -15,7 +15,7 @@ use std::num::NonZero;
15
15
// CHECK-LABEL: @is_zero_slice_long
16
16
#[ no_mangle]
17
17
pub fn is_zero_slice_long ( data : & [ u8 ; 456 ] ) -> bool {
18
- // CHECK: %[[BCMP:.+]] = tail call i32 @{{bcmp|memcmp}}({{.+}})
18
+ // CHECK: %[[BCMP:.+]] = tail call i32 @{{bcmp|memcmp}}({{.+}} 456 )
19
19
// CHECK-NEXT: %[[EQ:.+]] = icmp eq i32 %[[BCMP]], 0
20
20
// CHECK-NEXT: ret i1 %[[EQ]]
21
21
& data[ ..] == [ 0 ; 456 ]
@@ -48,7 +48,7 @@ pub fn is_zero_array(data: &[u8; 4]) -> bool {
48
48
#[ no_mangle]
49
49
fn eq_slice_of_nested_u8 ( x : & [ [ u8 ; 3 ] ] , y : & [ [ u8 ; 3 ] ] ) -> bool {
50
50
// CHECK: icmp eq [[USIZE]] %1, %3
51
- // CHECK: %[[BYTES:.+]] = mul nsw [[USIZE]] %1, 3
51
+ // CHECK: %[[BYTES:.+]] = mul nuw nsw [[USIZE]] %1, 3
52
52
// CHECK: tail call{{( noundef)?}} i32 @{{bcmp|memcmp}}(ptr
53
53
// CHECK-SAME: , [[USIZE]]{{( noundef)?}} %[[BYTES]])
54
54
x == y
@@ -60,7 +60,7 @@ fn eq_slice_of_nested_u8(x: &[[u8; 3]], y: &[[u8; 3]]) -> bool {
60
60
#[ no_mangle]
61
61
fn eq_slice_of_i32 ( x : & [ i32 ] , y : & [ i32 ] ) -> bool {
62
62
// CHECK: icmp eq [[USIZE]] %1, %3
63
- // CHECK: %[[BYTES:.+]] = shl nsw [[USIZE]] %1, 2
63
+ // CHECK: %[[BYTES:.+]] = shl nuw nsw [[USIZE]] %1, 2
64
64
// CHECK: tail call{{( noundef)?}} i32 @{{bcmp|memcmp}}(ptr
65
65
// CHECK-SAME: , [[USIZE]]{{( noundef)?}} %[[BYTES]])
66
66
x == y
@@ -72,7 +72,7 @@ fn eq_slice_of_i32(x: &[i32], y: &[i32]) -> bool {
72
72
#[ no_mangle]
73
73
fn eq_slice_of_nonzero ( x : & [ NonZero < i32 > ] , y : & [ NonZero < i32 > ] ) -> bool {
74
74
// CHECK: icmp eq [[USIZE]] %1, %3
75
- // CHECK: %[[BYTES:.+]] = shl nsw [[USIZE]] %1, 2
75
+ // CHECK: %[[BYTES:.+]] = shl nuw nsw [[USIZE]] %1, 2
76
76
// CHECK: tail call{{( noundef)?}} i32 @{{bcmp|memcmp}}(ptr
77
77
// CHECK-SAME: , [[USIZE]]{{( noundef)?}} %[[BYTES]])
78
78
x == y
@@ -84,7 +84,7 @@ fn eq_slice_of_nonzero(x: &[NonZero<i32>], y: &[NonZero<i32>]) -> bool {
84
84
#[ no_mangle]
85
85
fn eq_slice_of_option_of_nonzero ( x : & [ Option < NonZero < i16 > > ] , y : & [ Option < NonZero < i16 > > ] ) -> bool {
86
86
// CHECK: icmp eq [[USIZE]] %1, %3
87
- // CHECK: %[[BYTES:.+]] = shl nsw [[USIZE]] %1, 1
87
+ // CHECK: %[[BYTES:.+]] = shl nuw nsw [[USIZE]] %1, 1
88
88
// CHECK: tail call{{( noundef)?}} i32 @{{bcmp|memcmp}}(ptr
89
89
// CHECK-SAME: , [[USIZE]]{{( noundef)?}} %[[BYTES]])
90
90
x == y
0 commit comments