diff --git a/llvm/test/Transforms/InstCombine/ExtractCast.ll b/llvm/test/Transforms/InstCombine/ExtractCast.ll index 9a8872f2fb1f3..91df10241d448 100644 --- a/llvm/test/Transforms/InstCombine/ExtractCast.ll +++ b/llvm/test/Transforms/InstCombine/ExtractCast.ll @@ -1,27 +1,25 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -instcombine -S -o - | FileCheck %s -; CHECK-LABEL: @a( define i32 @a(<4 x i64> %I) { -entry: -; CHECK-NOT: trunc <4 x i64> - %J = trunc <4 x i64> %I to <4 x i32> - %K = extractelement <4 x i32> %J, i32 3 -; CHECK: extractelement <4 x i64> -; CHECK: trunc i64 -; CHECK: ret - ret i32 %K +; CHECK-LABEL: @a( +; CHECK-NEXT: [[TMP1:%.*]] = extractelement <4 x i64> [[I:%.*]], i32 3 +; CHECK-NEXT: [[K:%.*]] = trunc i64 [[TMP1]] to i32 +; CHECK-NEXT: ret i32 [[K]] +; + %J = trunc <4 x i64> %I to <4 x i32> + %K = extractelement <4 x i32> %J, i32 3 + ret i32 %K } - -; CHECK-LABEL: @b( define i32 @b(<4 x float> %I) { -entry: -; CHECK-NOT: fptosi <4 x float> - %J = fptosi <4 x float> %I to <4 x i32> - %K = extractelement <4 x i32> %J, i32 3 -; CHECK: extractelement <4 x float> -; CHECK: fptosi float -; CHECK: ret - ret i32 %K +; CHECK-LABEL: @b( +; CHECK-NEXT: [[TMP1:%.*]] = extractelement <4 x float> [[I:%.*]], i32 3 +; CHECK-NEXT: [[K:%.*]] = fptosi float [[TMP1]] to i32 +; CHECK-NEXT: ret i32 [[K]] +; + %J = fptosi <4 x float> %I to <4 x i32> + %K = extractelement <4 x i32> %J, i32 3 + ret i32 %K }