Skip to content

Commit f5c8bf5

Browse files
author
Leon Clark
committed
Fix broken tests.
1 parent f566b7a commit f5c8bf5

File tree

5 files changed

+49
-50
lines changed

5 files changed

+49
-50
lines changed

clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ void test_core(void) {
7979
vec_xstd2(vd, idx, ptrd);
8080

8181
vd = vec_splat(vd, 0);
82-
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> poison, <2 x i32> zeroinitializer
83-
// CHECK-ASM: vrepg
82+
// CHECK: shufflevector <1 x double> %{{.*}}, <1 x double> poison, <2 x i32> zeroinitializer
83+
// CHECK-ASM: vlrepg
8484
vd = vec_splat(vd, 1);
8585
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> poison, <2 x i32> <i32 1, i32 1>
8686
// CHECK-ASM: vrepg

clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -777,80 +777,80 @@ void test_core(void) {
777777
// CHECK: <2 x i64> splat (i64 -4503582447501313)
778778

779779
vsc = vec_splat(vsc, 0);
780-
// CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> poison, <16 x i32> zeroinitializer
781-
// CHECK-ASM: vrepb
780+
// CHECK: shufflevector <1 x i8> %{{.*}}, <1 x i8> poison, <16 x i32> zeroinitializer
781+
// CHECK-ASM: vlrepb
782782
vsc = vec_splat(vsc, 15);
783783
// CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> poison, <16 x i32> <i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15>
784784
// CHECK-ASM: vrepb
785785
vuc = vec_splat(vuc, 0);
786-
// CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> poison, <16 x i32> zeroinitializer
787-
// CHECK-ASM: vrepb
786+
// CHECK: store volatile <16 x i8> splat (i8 {{.*}}), ptr @vuc
787+
// CHECK-ASM: vst
788788
vuc = vec_splat(vuc, 15);
789789
// CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> poison, <16 x i32> <i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15>
790790
// CHECK-ASM: vrepb
791791
vbc = vec_splat(vbc, 0);
792-
// CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> poison, <16 x i32> zeroinitializer
793-
// CHECK-ASM: vrepb
792+
// CHECK: shufflevector <1 x i8> %{{.*}}, <1 x i8> poison, <16 x i32> zeroinitializer
793+
// CHECK-ASM: vlrepb
794794
vbc = vec_splat(vbc, 15);
795795
// CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> poison, <16 x i32> <i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15>
796796
// CHECK-ASM: vrepb
797797
vss = vec_splat(vss, 0);
798-
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> poison, <8 x i32> zeroinitializer
799-
// CHECK-ASM: vreph
798+
// CHECK: shufflevector <1 x i16> %{{.*}}, <1 x i16> poison, <8 x i32> zeroinitializer
799+
// CHECK-ASM: vlreph
800800
vss = vec_splat(vss, 7);
801801
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> poison, <8 x i32> <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7>
802802
// CHECK-ASM: vreph
803803
vus = vec_splat(vus, 0);
804-
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> poison, <8 x i32> zeroinitializer
805-
// CHECK-ASM: vreph
804+
// CHECK: store volatile <8 x i16> splat (i16 {{.*}}), ptr @vus
805+
// CHECK-ASM: vst
806806
vus = vec_splat(vus, 7);
807807
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> poison, <8 x i32> <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7>
808808
// CHECK-ASM: vreph
809809
vbs = vec_splat(vbs, 0);
810-
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> poison, <8 x i32> zeroinitializer
811-
// CHECK-ASM: vreph
810+
// CHECK: shufflevector <1 x i16> %{{.*}}, <1 x i16> poison, <8 x i32> zeroinitializer
811+
// CHECK-ASM: vlreph
812812
vbs = vec_splat(vbs, 7);
813813
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> poison, <8 x i32> <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7>
814814
// CHECK-ASM: vreph
815815
vsi = vec_splat(vsi, 0);
816-
// CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> poison, <4 x i32> zeroinitializer
817-
// CHECK-ASM: vrepf
816+
// CHECK: shufflevector <1 x i32> %{{.*}}, <1 x i32> poison, <4 x i32> zeroinitializer
817+
// CHECK-ASM: vlrepf
818818
vsi = vec_splat(vsi, 3);
819819
// CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
820820
// CHECK-ASM: vrepf
821821
vui = vec_splat(vui, 0);
822-
// CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> poison, <4 x i32> zeroinitializer
823-
// CHECK-ASM: vrepf
822+
// CHECK: store volatile <4 x i32> splat (i32 {{.*}}), ptr @vui
823+
// CHECK-ASM: vst
824824
vui = vec_splat(vui, 3);
825825
// CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
826826
// CHECK-ASM: vrepf
827827
vbi = vec_splat(vbi, 0);
828-
// CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> poison, <4 x i32> zeroinitializer
829-
// CHECK-ASM: vrepf
828+
// CHECK: shufflevector <1 x i32> %{{.*}}, <1 x i32> poison, <4 x i32> zeroinitializer
829+
// CHECK-ASM: vlrepf
830830
vbi = vec_splat(vbi, 3);
831831
// CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
832832
// CHECK-ASM: vrepf
833833
vsl = vec_splat(vsl, 0);
834-
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> poison, <2 x i32> zeroinitializer
834+
// CHECK: shufflevector <1 x i64> %{{.*}}, <1 x i64> poison, <2 x i32> zeroinitializer
835835
// CHECK-ASM: vrepg
836836
vsl = vec_splat(vsl, 1);
837837
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> poison, <2 x i32> <i32 1, i32 1>
838-
// CHECK-ASM: vrepg
838+
// CHECK-ASM: vst
839839
vul = vec_splat(vul, 0);
840-
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> poison, <2 x i32> zeroinitializer
841-
// CHECK-ASM: vrepg
840+
// CHECK: store volatile <2 x i64> splat (i64 {{.*}}), ptr @vul
841+
// CHECK-ASM: vst
842842
vul = vec_splat(vul, 1);
843843
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> poison, <2 x i32> <i32 1, i32 1>
844844
// CHECK-ASM: vrepg
845845
vbl = vec_splat(vbl, 0);
846-
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> poison, <2 x i32> zeroinitializer
847-
// CHECK-ASM: vrepg
846+
// CHECK: shufflevector <1 x i64> %{{.*}}, <1 x i64> poison, <2 x i32> zeroinitializer
847+
// CHECK-ASM: vlrepg
848848
vbl = vec_splat(vbl, 1);
849849
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> poison, <2 x i32> <i32 1, i32 1>
850850
// CHECK-ASM: vrepg
851851
vd = vec_splat(vd, 0);
852-
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> poison, <2 x i32> zeroinitializer
853-
// CHECK-ASM: vrepg
852+
// CHECK: shufflevector <1 x double> %{{.*}}, <1 x double> poison, <2 x i32> zeroinitializer
853+
// CHECK-ASM: vlrepg
854854
vd = vec_splat(vd, 1);
855855
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> poison, <2 x i32> <i32 1, i32 1>
856856
// CHECK-ASM: vrepg

clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,14 +130,14 @@ void test_core(void) {
130130
// CHECK-ASM: vst
131131

132132
vf = vec_splat(vf, 0);
133-
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> poison, <4 x i32> zeroinitializer
134-
// CHECK-ASM: vrepf
133+
// CHECK: shufflevector <1 x float> %{{.*}}, <1 x float> poison, <4 x i32> zeroinitializer
134+
// CHECK-ASM: vlrepf
135135
vf = vec_splat(vf, 1);
136-
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
137-
// CHECK-ASM: vrepf
136+
// CHECK: shufflevector <2 x float> %{{.*}}, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
137+
// CHECK-ASM: vst
138138
vd = vec_splat(vd, 0);
139-
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> poison, <2 x i32> zeroinitializer
140-
// CHECK-ASM: vrepg
139+
// CHECK: shufflevector <1 x double> %{{.*}}, <1 x double> poison, <2 x i32> zeroinitializer
140+
// CHECK-ASM: vlrepg
141141
vd = vec_splat(vd, 1);
142142
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> poison, <2 x i32> <i32 1, i32 1>
143143
// CHECK-ASM: vrepg

clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -254,14 +254,14 @@ void test_core(void) {
254254
// CHECK-ASM: vstrlr
255255

256256
vf = vec_splat(vf, 0);
257-
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> poison, <4 x i32> zeroinitializer
258-
// CHECK-ASM: vrepf
257+
// CHECK: shufflevector <1 x float> %{{.*}}, <1 x float> poison, <4 x i32> zeroinitializer
258+
// CHECK-ASM: vlrepf
259259
vf = vec_splat(vf, 1);
260-
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
261-
// CHECK-ASM: vrepf
260+
// CHECK: shufflevector <2 x float> %{{.*}}, <2 x float> poison, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
261+
// CHECK-ASM: vst
262262
vd = vec_splat(vd, 0);
263-
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> poison, <2 x i32> zeroinitializer
264-
// CHECK-ASM: vrepg
263+
// CHECK: shufflevector <1 x double> %{{.*}}, <1 x double> poison, <2 x i32> zeroinitializer
264+
// CHECK-ASM: vlrepg
265265
vd = vec_splat(vd, 1);
266266
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> poison, <2 x i32> <i32 1, i32 1>
267267
// CHECK-ASM: vrepg

llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,7 @@ static bool foldPatternedLoads(Instruction &I, const DataLayout &DL) {
916916
return true;
917917
}
918918

919-
// If `I` is a load instruction, used only by shufflevector instructions with
919+
// If `I` is a load instruction, used only by shufflevector instructions with
920920
// poison values, attempt to shrink the load to only the lanes being used.
921921
static bool shrinkLoadsForBroadcast(Instruction &I) {
922922
auto *OldLoad = dyn_cast<LoadInst>(&I);
@@ -937,7 +937,7 @@ static bool shrinkLoadsForBroadcast(Instruction &I) {
937937
using IndexRange = std::pair<unsigned, unsigned>;
938938
auto GetIndexRangeInShuffles = [&]() -> std::optional<IndexRange> {
939939
auto OutputRange = IndexRange(VecTy->getNumElements(), 0u);
940-
for (auto &Use: I.uses()) {
940+
for (auto &Use : I.uses()) {
941941
// All uses must be ShuffleVector instructions.
942942
auto *Shuffle = dyn_cast<ShuffleVectorInst>(Use.getUser());
943943
if (!Shuffle)
@@ -954,7 +954,7 @@ static bool shrinkLoadsForBroadcast(Instruction &I) {
954954
auto *Op0Ty = cast<FixedVectorType>(Op0->getType());
955955
auto NumElems = Op0Ty->getNumElements();
956956

957-
for (unsigned Index: Mask) {
957+
for (unsigned Index : Mask) {
958958
if (Index < NumElems) {
959959
OutputRange.first = std::min(Index, OutputRange.first);
960960
OutputRange.second = std::max(Index, OutputRange.second);
@@ -976,26 +976,25 @@ static bool shrinkLoadsForBroadcast(Instruction &I) {
976976
auto *ElemTy = VecTy->getElementType();
977977
auto *NewVecTy = FixedVectorType::get(ElemTy, NewSize);
978978
auto *NewLoad = cast<LoadInst>(
979-
Builder.CreateLoad(NewVecTy, OldLoad->getPointerOperand()));
979+
Builder.CreateLoad(NewVecTy, OldLoad->getPointerOperand()));
980980
NewLoad->copyMetadata(I);
981981

982982
// Replace all users.
983-
auto OldShuffles = SmallVector<ShuffleVectorInst*, 4u>{};
984-
for (auto &Use: I.uses()) {
983+
auto OldShuffles = SmallVector<ShuffleVectorInst *, 4u>{};
984+
for (auto &Use : I.uses()) {
985985
auto *Shuffle = cast<ShuffleVectorInst>(Use.getUser());
986-
986+
987987
Builder.SetInsertPoint(Shuffle);
988988
Builder.SetCurrentDebugLocation(Shuffle->getDebugLoc());
989989
auto *NewShuffle = Builder.CreateShuffleVector(
990-
NewLoad, PoisonValue::get(NewVecTy), Shuffle->getShuffleMask()
991-
);
990+
NewLoad, PoisonValue::get(NewVecTy), Shuffle->getShuffleMask());
992991

993992
Shuffle->replaceAllUsesWith(NewShuffle);
994993
OldShuffles.push_back(Shuffle);
995994
}
996995

997996
// Erase old users.
998-
for (auto *Shuffle: OldShuffles)
997+
for (auto *Shuffle : OldShuffles)
999998
Shuffle->eraseFromParent();
1000999

10011000
I.eraseFromParent();

0 commit comments

Comments
 (0)