Skip to content

Commit 0f9aada

Browse files
author
Leon Clark
committed
Fix broken tests.
1 parent b8ec653 commit 0f9aada

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
@@ -915,7 +915,7 @@ static bool foldPatternedLoads(Instruction &I, const DataLayout &DL) {
915915
return true;
916916
}
917917

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

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

981981
// Replace all users.
982-
auto OldShuffles = SmallVector<ShuffleVectorInst*, 4u>{};
983-
for (auto &Use: I.uses()) {
982+
auto OldShuffles = SmallVector<ShuffleVectorInst *, 4u>{};
983+
for (auto &Use : I.uses()) {
984984
auto *Shuffle = cast<ShuffleVectorInst>(Use.getUser());
985-
985+
986986
Builder.SetInsertPoint(Shuffle);
987987
Builder.SetCurrentDebugLocation(Shuffle->getDebugLoc());
988988
auto *NewShuffle = Builder.CreateShuffleVector(
989-
NewLoad, PoisonValue::get(NewVecTy), Shuffle->getShuffleMask()
990-
);
989+
NewLoad, PoisonValue::get(NewVecTy), Shuffle->getShuffleMask());
991990

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

996995
// Erase old users.
997-
for (auto *Shuffle: OldShuffles)
996+
for (auto *Shuffle : OldShuffles)
998997
Shuffle->eraseFromParent();
999998

1000999
I.eraseFromParent();

0 commit comments

Comments
 (0)