define i32 @test1(i32 %A) {
%B = sub i32 %A, %A
ret i32 %B
-; CHECK: @test1
+; CHECK-LABEL: @test1(
; CHECK: ret i32 0
}
define i32 @test2(i32 %A) {
%B = sub i32 %A, 0
ret i32 %B
-; CHECK: @test2
+; CHECK-LABEL: @test2(
; CHECK: ret i32 %A
}
%B = sub i32 0, %A
%C = sub i32 0, %B
ret i32 %C
-; CHECK: @test3
+; CHECK-LABEL: @test3(
; CHECK: ret i32 %A
}
%B = sub i32 0, %A
%C = sub i32 %x, %B
ret i32 %C
-; CHECK: @test4
+; CHECK-LABEL: @test4(
; CHECK: %C = add i32 %x, %A
; CHECK: ret i32 %C
}
%D = sub i32 %B, %C
%E = sub i32 %A, %D
ret i32 %E
-; CHECK: @test5
+; CHECK-LABEL: @test5(
; CHECK: %D1 = sub i32 %C, %B
; CHECK: %E = add
; CHECK: ret i32 %E
%C = and i32 %A, %B
%D = sub i32 %A, %C
ret i32 %D
-; CHECK: @test6
+; CHECK-LABEL: @test6(
; CHECK-NEXT: xor i32 %B, -1
; CHECK-NEXT: %D = and i32
; CHECK-NEXT: ret i32 %D
define i32 @test7(i32 %A) {
%B = sub i32 -1, %A
ret i32 %B
-; CHECK: @test7
+; CHECK-LABEL: @test7(
; CHECK: %B = xor i32 %A, -1
; CHECK: ret i32 %B
}
%B = mul i32 9, %A
%C = sub i32 %B, %A
ret i32 %C
-; CHECK: @test8
+; CHECK-LABEL: @test8(
; CHECK: %C = shl i32 %A, 3
; CHECK: ret i32 %C
}
%B = mul i32 3, %A
%C = sub i32 %A, %B
ret i32 %C
-; CHECK: @test9
+; CHECK-LABEL: @test9(
; CHECK: %C = mul i32 %A, -2
; CHECK: ret i32 %C
}
%D = sub i32 0, %B
%E = mul i32 %C, %D
ret i32 %E
-; CHECK: @test10
+; CHECK-LABEL: @test10(
; CHECK: %E = mul i32 %A, %B
; CHECK: ret i32 %E
}
%C = sub i32 0, %A
%E = mul i32 %C, 7
ret i32 %E
-; CHECK: @test10a
+; CHECK-LABEL: @test10a(
; CHECK: %E = mul i32 %A, -7
; CHECK: ret i32 %E
}
%C = sub i8 %A, %B
%cD = icmp ne i8 %C, 0
ret i1 %cD
-; CHECK: @test11
+; CHECK-LABEL: @test11(
; CHECK: %cD = icmp ne i8 %A, %B
; CHECK: ret i1 %cD
}
%B = ashr i32 %A, 31
%C = sub i32 0, %B
ret i32 %C
-; CHECK: @test12
+; CHECK-LABEL: @test12(
; CHECK: %C = lshr i32 %A, 31
; CHECK: ret i32 %C
}
%B = lshr i32 %A, 31
%C = sub i32 0, %B
ret i32 %C
-; CHECK: @test13
+; CHECK-LABEL: @test13(
; CHECK: %C = ashr i32 %A, 31
; CHECK: ret i32 %C
}
%C = bitcast i32 %B to i32
%D = sub i32 0, %C
ret i32 %D
-; CHECK: @test14
+; CHECK-LABEL: @test14(
; CHECK: %D = ashr i32 %A, 31
; CHECK: ret i32 %D
}
%C = sub i32 0, %A
%D = srem i32 %B, %C
ret i32 %D
-; CHECK: @test15
+; CHECK-LABEL: @test15(
; CHECK: %D = srem i32 %B, %A
; CHECK: ret i32 %D
}
%X = sdiv i32 %A, 1123
%Y = sub i32 0, %X
ret i32 %Y
-; CHECK: @test16
+; CHECK-LABEL: @test16(
; CHECK: %Y = sdiv i32 %A, -1123
; CHECK: ret i32 %Y
}
%B = sub i32 0, %A
%C = sdiv i32 %B, 1234
ret i32 %C
-; CHECK: @test17
+; CHECK-LABEL: @test17(
; CHECK: %B = sub i32 0, %A
; CHECK: %C = sdiv i32 %B, 1234
; CHECK: ret i32 %C
%tmp.12 = shl i64 %Y, 2
%tmp.8 = sub i64 %tmp.4, %tmp.12
ret i64 %tmp.8
-; CHECK: @test18
+; CHECK-LABEL: @test18(
; CHECK: ret i64 0
}
%Z = sub i32 %X, %Y
%Q = add i32 %Z, %Y
ret i32 %Q
-; CHECK: @test19
+; CHECK-LABEL: @test19(
; CHECK: ret i32 %X
}
%tmp.2 = sub i32 %g, %h
%tmp.4 = icmp ne i32 %tmp.2, %g
ret i1 %tmp.4
-; CHECK: @test20
+; CHECK-LABEL: @test20(
; CHECK: %tmp.4 = icmp ne i32 %h, 0
; CHECK: ret i1 %tmp.4
}
%tmp.2 = sub i32 %g, %h
%tmp.4 = icmp ne i32 %tmp.2, %g
ret i1 %tmp.4
-; CHECK: @test21
+; CHECK-LABEL: @test21(
; CHECK: %tmp.4 = icmp ne i32 %h, 0
; CHECK: ret i1 %tmp.4
}
%tmp4 = sub i32 0, %b
%tmp5 = icmp eq i32 %tmp2, %tmp4
ret i1 %tmp5
-; CHECK: @test22
+; CHECK-LABEL: @test22(
; CHECK: %tmp5 = icmp eq i32 %b, %a
; CHECK: ret i1 %tmp5
}
%F = trunc i64 %E to i32
%G = sub i32 %D, %F
ret i32 %G
-; CHECK: @test23
+; CHECK-LABEL: @test23(
; CHECK-NEXT: = trunc i64 %A to i32
; CHECK-NEXT: ret i32
}
%E = ptrtoint i8* %P to i64
%G = sub i64 %C, %E
ret i64 %G
-; CHECK: @test24
+; CHECK-LABEL: @test24(
; CHECK-NEXT: ret i64 %A
}
%E = ptrtoint i8* %P to i64
%G = sub i64 %E, %C
ret i64 %G
-; CHECK: @test24a
+; CHECK-LABEL: @test24a(
; CHECK-NEXT: sub i64 0, %A
; CHECK-NEXT: ret i64
}
%C = ptrtoint i16* %B to i64
%G = sub i64 %C, ptrtoint ([42 x i16]* @Arr to i64)
ret i64 %G
-; CHECK: @test24b
+; CHECK-LABEL: @test24b(
; CHECK-NEXT: shl nuw i64 %A, 1
; CHECK-NEXT: ret i64
}
%C = ptrtoint i16* %B to i64
%G = sub i64 %C, ptrtoint (i16* getelementptr ([42 x i16]* @Arr, i64 1, i64 0) to i64)
ret i64 %G
-; CHECK: @test25
+; CHECK-LABEL: @test25(
; CHECK-NEXT: shl nuw i64 %A, 1
; CHECK-NEXT: add i64 {{.*}}, -84
; CHECK-NEXT: ret i64
%shl = shl i32 3, %x
%neg = sub i32 0, %shl
ret i32 %neg
-; CHECK: @test26
+; CHECK-LABEL: @test26(
; CHECK-NEXT: shl i32 -3
; CHECK-NEXT: ret i32
}
%mul = mul i32 %y, -8
%sub = sub i32 %x, %mul
ret i32 %sub
-; CHECK: @test27
+; CHECK-LABEL: @test27(
; CHECK-NEXT: shl i32 %y, 3
; CHECK-NEXT: add i32
; CHECK-NEXT: ret i32
%mul = mul i32 %neg, %y
%sub = sub i32 %x, %mul
ret i32 %sub
-; CHECK: @test28
+; CHECK-LABEL: @test28(
; CHECK-NEXT: mul i32 %z, %y
; CHECK-NEXT: add i32
; CHECK-NEXT: ret i32
%cast2 = ptrtoint i8* %gep2 to i64
%sub = sub i64 %cast1, %cast2
ret i64 %sub
-; CHECK: @test29
+; CHECK-LABEL: @test29(
; CHECK-NEXT: sub i64 %i, %j
; CHECK-NEXT: ret i64
}
%cast2 = ptrtoint i8* %gep2 to i64
%sub = sub i64 %cast1, %cast2
ret i64 %sub
-; CHECK: @test30
+; CHECK-LABEL: @test30(
; CHECK-NEXT: %gep1.idx = shl nuw i64 %i, 2
; CHECK-NEXT: sub i64 %gep1.idx, %j
; CHECK-NEXT: ret i64