77// CHECK-LABEL: @checked_ilog2
88#[ no_mangle]
99pub fn checked_ilog2 ( val : u32 ) -> Option < u32 > {
10- // CHECK: %[[ICMP:.+]] = icmp ne i32 %val, 0
10+ // CHECK: icmp {{ne|eq}} i32 %val, 0
1111 // CHECK: %[[CTZ:.+]] = tail call range(i32 0, 33) i32 @llvm.ctlz.i32(i32 %val, i1 true)
1212 // CHECK: %[[LOG2:.+]] = xor i32 %[[CTZ]], 31
1313 val. checked_ilog ( 2 )
@@ -17,7 +17,7 @@ pub fn checked_ilog2(val: u32) -> Option<u32> {
1717// CHECK-LABEL: @checked_ilog4
1818#[ no_mangle]
1919pub fn checked_ilog4 ( val : u32 ) -> Option < u32 > {
20- // CHECK: %[[ICMP:.+]] = icmp ne i32 %val, 0
20+ // CHECK: icmp {{ne|eq}} i32 %val, 0
2121 // CHECK: %[[CTZ:.+]] = tail call range(i32 0, 33) i32 @llvm.ctlz.i32(i32 %val, i1 true)
2222 // CHECK: %[[DIV2:.+]] = lshr i32 %[[CTZ]], 1
2323 // CHECK: %[[LOG4:.+]] = xor i32 %[[DIV2]], 15
@@ -28,9 +28,9 @@ pub fn checked_ilog4(val: u32) -> Option<u32> {
2828// CHECK-LABEL: @checked_ilog16
2929#[ no_mangle]
3030pub fn checked_ilog16 ( val : u32 ) -> Option < u32 > {
31- // CHECK: %[[ICMP:.+]] = icmp ne i32 %val, 0
31+ // CHECK: icmp {{ne|eq}} i32 %val, 0
3232 // CHECK: %[[CTZ:.+]] = tail call range(i32 0, 33) i32 @llvm.ctlz.i32(i32 %val, i1 true)
3333 // CHECK: %[[DIV4:.+]] = lshr i32 %[[CTZ]], 2
34- // CHECK: %[[LOG16:.+]] = xor i32 %[[DIV2 ]], 7
34+ // CHECK: %[[LOG16:.+]] = xor i32 %[[DIV4 ]], 7
3535 val. checked_ilog ( 16 )
3636}
0 commit comments