-
Notifications
You must be signed in to change notification settings - Fork 14.3k
Fix min_vec_size.ll test for changes in vector-combine #145392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Running the `vector-combine` pass on this test now produces a single shuffle on a loaded `<1 x float>` instead of an insert into a `<2 x float>` followed by a shuffle. This looks like a valid optimization.
@llvm/pr-subscribers-backend-directx Author: Tex Riddell (tex3d) ChangesRunning the Full diff: https://github.com/llvm/llvm-project/pull/145392.diff 1 Files Affected:
diff --git a/llvm/test/CodeGen/DirectX/min_vec_size.ll b/llvm/test/CodeGen/DirectX/min_vec_size.ll
index ba6e83ea83733..a2883a4945774 100644
--- a/llvm/test/CodeGen/DirectX/min_vec_size.ll
+++ b/llvm/test/CodeGen/DirectX/min_vec_size.ll
@@ -6,8 +6,7 @@ target triple = "dxil-unknown-shadermodel6.7-library"
; Make sure vec combine min vec size is 1 instead of 4 for float.
; CHECK:@foo()
; CHECK-NEXT:%[[LD:[0-9]+]] = load <1 x float>, ptr @a, align 8
-; CHECK-NEXT:%insert = shufflevector <1 x float> %[[LD]], <1 x float> poison, <2 x i32> <i32 0, i32 poison>
-; CHECK-NEXT:%shuffle = shufflevector <2 x float> %insert, <2 x float> poison, <2 x i32> zeroinitializer
+; CHECK-NEXT:%shuffle = shufflevector <1 x float> %1, <1 x float> poison, <2 x i32> zeroinitializer
; CHECK-NEXT:ret <2 x float> %shuffle
@a = external local_unnamed_addr constant float
|
Might be worth mentioning #144690 in the commit message as the reason this changed. Note that the test change here does match the test changes that were introduced in that PR. |
The failures from the
|
Running the `vector-combine` pass on this test now produces a single shuffle on a loaded `<1 x float>` instead of an insert into a `<2 x float>` followed by a shuffle. This test change matches changes in other tests in PR llvm#144690, which introduced the optimization.
Running the `vector-combine` pass on this test now produces a single shuffle on a loaded `<1 x float>` instead of an insert into a `<2 x float>` followed by a shuffle. This test change matches changes in other tests in PR llvm#144690, which introduced the optimization.
Running the
vector-combine
pass on this test now produces a single shuffle on a loaded<1 x float>
instead of an insert into a<2 x float>
followed by a shuffle.This test change matches changes in other tests in PR #144690, which introduced the optimization.