brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · 77d3ac1 Raw
86 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -mtriple=riscv64 -mattr=+m,+v \3; RUN: -passes=slp-vectorizer \4; RUN: -slp-disable-tree-reorder=true -slp-force-strided-loads=true \5; RUN: -S < %s | FileCheck %s6 7define void @const_stride_reversed(ptr %pl, ptr %ps) {8; CHECK-LABEL: define void @const_stride_reversed(9; CHECK-SAME: ptr [[PL:%.*]], ptr [[PS:%.*]]) #[[ATTR0:[0-9]+]] {10; CHECK-NEXT:    [[GEP_L15:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 1511; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 012; CHECK-NEXT:    [[TMP2:%.*]] = call <16 x i8> @llvm.experimental.vp.strided.load.v16i8.p0.i64(ptr align 16 [[GEP_L15]], i64 -1, <16 x i1> splat (i1 true), i32 16)13; CHECK-NEXT:    store <16 x i8> [[TMP2]], ptr [[GEP_S0]], align 1614; CHECK-NEXT:    ret void15;16  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 017  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 118  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 219  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 320  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 421  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 522  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 623  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 724  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 825  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 926  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 1027  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 1128  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 1229  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 1330  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 1431  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 1532 33  %load0  = load i8, ptr %gep_l0 , align 1634  %load1  = load i8, ptr %gep_l1 , align 1635  %load2  = load i8, ptr %gep_l2 , align 1636  %load3  = load i8, ptr %gep_l3 , align 1637  %load4  = load i8, ptr %gep_l4 , align 1638  %load5  = load i8, ptr %gep_l5 , align 1639  %load6  = load i8, ptr %gep_l6 , align 1640  %load7  = load i8, ptr %gep_l7 , align 1641  %load8  = load i8, ptr %gep_l8 , align 1642  %load9  = load i8, ptr %gep_l9 , align 1643  %load10 = load i8, ptr %gep_l10, align 1644  %load11 = load i8, ptr %gep_l11, align 1645  %load12 = load i8, ptr %gep_l12, align 1646  %load13 = load i8, ptr %gep_l13, align 1647  %load14 = load i8, ptr %gep_l14, align 1648  %load15 = load i8, ptr %gep_l15, align 1649 50  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 051  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 152  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 253  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 354  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 455  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 556  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 657  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 758  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 859  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 960  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 1061  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 1162  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 1263  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 1364  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 1465  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 1566 67  store i8 %load0, ptr %gep_s15, align 1668  store i8 %load1, ptr %gep_s14, align 1669  store i8 %load2, ptr %gep_s13, align 1670  store i8 %load3, ptr %gep_s12, align 1671  store i8 %load4, ptr %gep_s11, align 1672  store i8 %load5, ptr %gep_s10, align 1673  store i8 %load6, ptr %gep_s9, align 1674  store i8 %load7, ptr %gep_s8, align 1675  store i8 %load8, ptr %gep_s7, align 1676  store i8 %load9, ptr %gep_s6, align 1677  store i8 %load10, ptr %gep_s5, align 1678  store i8 %load11, ptr %gep_s4, align 1679  store i8 %load12, ptr %gep_s3, align 1680  store i8 %load13, ptr %gep_s2, align 1681  store i8 %load14, ptr %gep_s1, align 1682  store i8 %load15, ptr %gep_s0, align 1683 84  ret void85}86