84 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -mtriple=riscv64 -mattr=+m,+v -passes=slp-vectorizer -S < %s | FileCheck %s3 4; CHECK-NOT: TreeEntryToStridedPtrInfoMap is not cleared5define void @const_stride_1_no_reordering(ptr %pl, ptr %ps) {6; CHECK-LABEL: define void @const_stride_1_no_reordering(7; CHECK-SAME: ptr [[PL:%.*]], ptr [[PS:%.*]]) #[[ATTR0:[0-9]+]] {8; CHECK-NEXT: [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 09; CHECK-NEXT: [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 010; CHECK-NEXT: [[TMP1:%.*]] = load <16 x i8>, ptr [[GEP_L0]], align 111; CHECK-NEXT: store <16 x i8> [[TMP1]], ptr [[GEP_S0]], align 112; CHECK-NEXT: ret void13;14 %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 015 %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 116 %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 217 %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 318 %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 419 %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 520 %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 621 %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 722 %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 823 %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 924 %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 1025 %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 1126 %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 1227 %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 1328 %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 1429 %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 1530 31 %load0 = load i8, ptr %gep_l032 %load1 = load i8, ptr %gep_l133 %load2 = load i8, ptr %gep_l234 %load3 = load i8, ptr %gep_l335 %load4 = load i8, ptr %gep_l436 %load5 = load i8, ptr %gep_l537 %load6 = load i8, ptr %gep_l638 %load7 = load i8, ptr %gep_l739 %load8 = load i8, ptr %gep_l840 %load9 = load i8, ptr %gep_l941 %load10 = load i8, ptr %gep_l1042 %load11 = load i8, ptr %gep_l1143 %load12 = load i8, ptr %gep_l1244 %load13 = load i8, ptr %gep_l1345 %load14 = load i8, ptr %gep_l1446 %load15 = load i8, ptr %gep_l1547 48 %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 049 %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 150 %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 251 %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 352 %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 453 %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 554 %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 655 %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 756 %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 857 %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 958 %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 1059 %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 1160 %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 1261 %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 1362 %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 1463 %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 1564 65 store i8 %load0, ptr %gep_s066 store i8 %load1, ptr %gep_s167 store i8 %load2, ptr %gep_s268 store i8 %load3, ptr %gep_s369 store i8 %load4, ptr %gep_s470 store i8 %load5, ptr %gep_s571 store i8 %load6, ptr %gep_s672 store i8 %load7, ptr %gep_s773 store i8 %load8, ptr %gep_s874 store i8 %load9, ptr %gep_s975 store i8 %load10, ptr %gep_s1076 store i8 %load11, ptr %gep_s1177 store i8 %load12, ptr %gep_s1278 store i8 %load13, ptr %gep_s1379 store i8 %load14, ptr %gep_s1480 store i8 %load15, ptr %gep_s1581 82 ret void83}84