318 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=riscv64 -mcpu=sifive-x390 -instruction-tables=full -iterations=1 < %s | FileCheck %s3 4# The legal (SEW, LMUL) pairs are:5# (e8, mf8) (e8, mf4) (e8, mf2) (e8, m1) (e8, m2) (e8, m4) (e8, m8)6# (e16, mf4) (e16, mf2) (e16, m1) (e16, m2) (e16, m4) (e16, m8)7# (e32, mf2) (e32, m1) (e32, m2) (e32, m4) (e32, m8)8# (e64, m1) (e64, m2) (e64, m4) (e64, m8)9 10vsetvli zero, zero, e8, mf8, tu, mu11vrgather.vv v8, v16, v2412vrgatherei16.vv v8, v16, v2413vcompress.vm v8, v16, v2414vsetvli zero, zero, e8, mf4, tu, mu15vrgather.vv v8, v16, v2416vrgatherei16.vv v8, v16, v2417vcompress.vm v8, v16, v2418vsetvli zero, zero, e8, mf2, tu, mu19vrgather.vv v8, v16, v2420vrgatherei16.vv v8, v16, v2421vcompress.vm v8, v16, v2422vsetvli zero, zero, e8, m1, tu, mu23vrgather.vv v8, v16, v2424vrgatherei16.vv v8, v16, v2425vcompress.vm v8, v16, v2426vsetvli zero, zero, e8, m2, tu, mu27vrgather.vv v8, v16, v2428vrgatherei16.vv v8, v16, v2429vcompress.vm v8, v16, v2430vsetvli zero, zero, e8, m4, tu, mu31vrgather.vv v8, v16, v2432vrgatherei16.vv v8, v16, v2433vcompress.vm v8, v16, v2434vsetvli zero, zero, e8, m8, tu, mu35vrgather.vv v8, v16, v2436vrgatherei16.vv v8, v16, v2437vcompress.vm v8, v16, v2438vsetvli zero, zero, e16, mf4, tu, mu39vrgather.vv v8, v16, v2440vrgatherei16.vv v8, v16, v2441vcompress.vm v8, v16, v2442vsetvli zero, zero, e16, mf2, tu, mu43vrgather.vv v8, v16, v2444vrgatherei16.vv v8, v16, v2445vcompress.vm v8, v16, v2446vsetvli zero, zero, e16, m1, tu, mu47vrgather.vv v8, v16, v2448vrgatherei16.vv v8, v16, v2449vcompress.vm v8, v16, v2450vsetvli zero, zero, e16, m2, tu, mu51vrgather.vv v8, v16, v2452vrgatherei16.vv v8, v16, v2453vcompress.vm v8, v16, v2454vsetvli zero, zero, e16, m4, tu, mu55vrgather.vv v8, v16, v2456vrgatherei16.vv v8, v16, v2457vcompress.vm v8, v16, v2458vsetvli zero, zero, e16, m8, tu, mu59vrgather.vv v8, v16, v2460vrgatherei16.vv v8, v16, v2461vcompress.vm v8, v16, v2462vsetvli zero, zero, e32, mf2, tu, mu63vrgather.vv v8, v16, v2464vrgatherei16.vv v8, v16, v2465vcompress.vm v8, v16, v2466vsetvli zero, zero, e32, m1, tu, mu67vrgather.vv v8, v16, v2468vrgatherei16.vv v8, v16, v2469vcompress.vm v8, v16, v2470vsetvli zero, zero, e32, m2, tu, mu71vrgather.vv v8, v16, v2472vrgatherei16.vv v8, v16, v2473vcompress.vm v8, v16, v2474vsetvli zero, zero, e32, m4, tu, mu75vrgather.vv v8, v16, v2476vrgatherei16.vv v8, v16, v2477vcompress.vm v8, v16, v2478vsetvli zero, zero, e32, m8, tu, mu79vrgather.vv v8, v16, v2480vrgatherei16.vv v8, v16, v2481vcompress.vm v8, v16, v2482vsetvli zero, zero, e64, m1, tu, mu83vrgather.vv v8, v16, v2484vrgatherei16.vv v8, v16, v2485vcompress.vm v8, v16, v2486vsetvli zero, zero, e64, m2, tu, mu87vrgather.vv v8, v16, v2488vrgatherei16.vv v8, v16, v2489vcompress.vm v8, v16, v2490vsetvli zero, zero, e64, m4, tu, mu91vrgather.vv v8, v16, v2492vrgatherei16.vv v8, v16, v2493vcompress.vm v8, v16, v2494vsetvli zero, zero, e64, m8, tu, mu95vrgather.vv v8, v16, v2496vrgatherei16.vv v8, v16, v2497vcompress.vm v8, v16, v2498 99# CHECK: Resources:100# CHECK-NEXT: [0] - VLEN1024X300SiFive7FDiv:1101# CHECK-NEXT: [1] - VLEN1024X300SiFive7IDiv:1102# CHECK-NEXT: [2] - VLEN1024X300SiFive7PipeA:1103# CHECK-NEXT: [3] - VLEN1024X300SiFive7PipeAB:2 VLEN1024X300SiFive7PipeA, VLEN1024X300SiFive7PipeB104# CHECK-NEXT: [4] - VLEN1024X300SiFive7PipeB:1105# CHECK-NEXT: [5] - VLEN1024X300SiFive7VA1:1106# CHECK-NEXT: [6] - VLEN1024X300SiFive7VA1OrVA2:2 VLEN1024X300SiFive7VA1, VLEN1024X300SiFive7VA2107# CHECK-NEXT: [7] - VLEN1024X300SiFive7VA2:1108# CHECK-NEXT: [8] - VLEN1024X300SiFive7VCQ:1109# CHECK-NEXT: [9] - VLEN1024X300SiFive7VL:1110# CHECK-NEXT: [10] - VLEN1024X300SiFive7VS:1111 112# CHECK: Instruction Info:113# CHECK-NEXT: [1]: #uOps114# CHECK-NEXT: [2]: Latency115# CHECK-NEXT: [3]: RThroughput116# CHECK-NEXT: [4]: MayLoad117# CHECK-NEXT: [5]: MayStore118# CHECK-NEXT: [6]: HasSideEffects (U)119# CHECK-NEXT: [7]: Bypass Latency120# CHECK-NEXT: [8]: Resources (<Name> | <Name>[<ReleaseAtCycle>] | <Name>[<AcquireAtCycle>,<ReleaseAtCycle])121# CHECK-NEXT: [9]: LLVM Opcode Name122 123# CHECK: [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:124# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e8, mf8, tu, mu125# CHECK-NEXT: 1 4 5.00 4 VLEN1024X300SiFive7VA1[1,6],VLEN1024X300SiFive7VA1OrVA2[1,6],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24126# CHECK-NEXT: 1 71 20.00 71 VLEN1024X300SiFive7VA1[1,21],VLEN1024X300SiFive7VA1OrVA2[1,21],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24127# CHECK-NEXT: 1 4 8.00 4 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24128# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e8, mf4, tu, mu129# CHECK-NEXT: 1 4 5.00 4 VLEN1024X300SiFive7VA1[1,6],VLEN1024X300SiFive7VA1OrVA2[1,6],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24130# CHECK-NEXT: 1 71 36.00 71 VLEN1024X300SiFive7VA1[1,37],VLEN1024X300SiFive7VA1OrVA2[1,37],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24131# CHECK-NEXT: 1 4 8.00 4 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24132# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e8, mf2, tu, mu133# CHECK-NEXT: 1 4 5.00 4 VLEN1024X300SiFive7VA1[1,6],VLEN1024X300SiFive7VA1OrVA2[1,6],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24134# CHECK-NEXT: 1 71 68.00 71 VLEN1024X300SiFive7VA1[1,69],VLEN1024X300SiFive7VA1OrVA2[1,69],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24135# CHECK-NEXT: 1 4 8.00 4 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24136# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e8, m1, tu, mu137# CHECK-NEXT: 1 7 8.00 7 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24138# CHECK-NEXT: 1 71 132.00 71 VLEN1024X300SiFive7VA1[1,133],VLEN1024X300SiFive7VA1OrVA2[1,133],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24139# CHECK-NEXT: 1 135 135.00 135 VLEN1024X300SiFive7VA1[1,136],VLEN1024X300SiFive7VA1OrVA2[1,136],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24140# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e8, m2, tu, mu141# CHECK-NEXT: 1 19 20.00 19 VLEN1024X300SiFive7VA1[1,21],VLEN1024X300SiFive7VA1OrVA2[1,21],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24142# CHECK-NEXT: 1 71 260.00 71 VLEN1024X300SiFive7VA1[1,261],VLEN1024X300SiFive7VA1OrVA2[1,261],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24143# CHECK-NEXT: 1 263 263.00 263 VLEN1024X300SiFive7VA1[1,264],VLEN1024X300SiFive7VA1OrVA2[1,264],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24144# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e8, m4, tu, mu145# CHECK-NEXT: 1 67 68.00 67 VLEN1024X300SiFive7VA1[1,69],VLEN1024X300SiFive7VA1OrVA2[1,69],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24146# CHECK-NEXT: 1 71 516.00 71 VLEN1024X300SiFive7VA1[1,517],VLEN1024X300SiFive7VA1OrVA2[1,517],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24147# CHECK-NEXT: 1 519 519.00 519 VLEN1024X300SiFive7VA1[1,520],VLEN1024X300SiFive7VA1OrVA2[1,520],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24148# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e8, m8, tu, mu149# CHECK-NEXT: 1 259 260.00 259 VLEN1024X300SiFive7VA1[1,261],VLEN1024X300SiFive7VA1OrVA2[1,261],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24150# CHECK-NEXT: 1 71 1028.00 71 VLEN1024X300SiFive7VA1[1,1029],VLEN1024X300SiFive7VA1OrVA2[1,1029],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24151# CHECK-NEXT: 1 1031 1031.00 1031 VLEN1024X300SiFive7VA1[1,1032],VLEN1024X300SiFive7VA1OrVA2[1,1032],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24152# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e16, mf4, tu, mu153# CHECK-NEXT: 1 4 5.00 4 VLEN1024X300SiFive7VA1[1,6],VLEN1024X300SiFive7VA1OrVA2[1,6],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24154# CHECK-NEXT: 1 39 20.00 39 VLEN1024X300SiFive7VA1[1,21],VLEN1024X300SiFive7VA1OrVA2[1,21],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24155# CHECK-NEXT: 1 4 8.00 4 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24156# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e16, mf2, tu, mu157# CHECK-NEXT: 1 4 5.00 4 VLEN1024X300SiFive7VA1[1,6],VLEN1024X300SiFive7VA1OrVA2[1,6],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24158# CHECK-NEXT: 1 39 36.00 39 VLEN1024X300SiFive7VA1[1,37],VLEN1024X300SiFive7VA1OrVA2[1,37],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24159# CHECK-NEXT: 1 4 8.00 4 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24160# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e16, m1, tu, mu161# CHECK-NEXT: 1 7 8.00 7 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24162# CHECK-NEXT: 1 39 68.00 39 VLEN1024X300SiFive7VA1[1,69],VLEN1024X300SiFive7VA1OrVA2[1,69],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24163# CHECK-NEXT: 1 71 71.00 71 VLEN1024X300SiFive7VA1[1,72],VLEN1024X300SiFive7VA1OrVA2[1,72],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24164# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e16, m2, tu, mu165# CHECK-NEXT: 1 19 20.00 19 VLEN1024X300SiFive7VA1[1,21],VLEN1024X300SiFive7VA1OrVA2[1,21],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24166# CHECK-NEXT: 1 39 132.00 39 VLEN1024X300SiFive7VA1[1,133],VLEN1024X300SiFive7VA1OrVA2[1,133],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24167# CHECK-NEXT: 1 135 135.00 135 VLEN1024X300SiFive7VA1[1,136],VLEN1024X300SiFive7VA1OrVA2[1,136],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24168# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e16, m4, tu, mu169# CHECK-NEXT: 1 67 68.00 67 VLEN1024X300SiFive7VA1[1,69],VLEN1024X300SiFive7VA1OrVA2[1,69],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24170# CHECK-NEXT: 1 39 260.00 39 VLEN1024X300SiFive7VA1[1,261],VLEN1024X300SiFive7VA1OrVA2[1,261],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24171# CHECK-NEXT: 1 263 263.00 263 VLEN1024X300SiFive7VA1[1,264],VLEN1024X300SiFive7VA1OrVA2[1,264],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24172# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e16, m8, tu, mu173# CHECK-NEXT: 1 259 260.00 259 VLEN1024X300SiFive7VA1[1,261],VLEN1024X300SiFive7VA1OrVA2[1,261],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24174# CHECK-NEXT: 1 39 516.00 39 VLEN1024X300SiFive7VA1[1,517],VLEN1024X300SiFive7VA1OrVA2[1,517],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24175# CHECK-NEXT: 1 519 519.00 519 VLEN1024X300SiFive7VA1[1,520],VLEN1024X300SiFive7VA1OrVA2[1,520],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24176# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e32, mf2, tu, mu177# CHECK-NEXT: 1 4 5.00 4 VLEN1024X300SiFive7VA1[1,6],VLEN1024X300SiFive7VA1OrVA2[1,6],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24178# CHECK-NEXT: 1 23 20.00 23 VLEN1024X300SiFive7VA1[1,21],VLEN1024X300SiFive7VA1OrVA2[1,21],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24179# CHECK-NEXT: 1 4 8.00 4 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24180# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e32, m1, tu, mu181# CHECK-NEXT: 1 7 8.00 7 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24182# CHECK-NEXT: 1 23 36.00 23 VLEN1024X300SiFive7VA1[1,37],VLEN1024X300SiFive7VA1OrVA2[1,37],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24183# CHECK-NEXT: 1 39 39.00 39 VLEN1024X300SiFive7VA1[1,40],VLEN1024X300SiFive7VA1OrVA2[1,40],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24184# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e32, m2, tu, mu185# CHECK-NEXT: 1 19 20.00 19 VLEN1024X300SiFive7VA1[1,21],VLEN1024X300SiFive7VA1OrVA2[1,21],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24186# CHECK-NEXT: 1 23 68.00 23 VLEN1024X300SiFive7VA1[1,69],VLEN1024X300SiFive7VA1OrVA2[1,69],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24187# CHECK-NEXT: 1 71 71.00 71 VLEN1024X300SiFive7VA1[1,72],VLEN1024X300SiFive7VA1OrVA2[1,72],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24188# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e32, m4, tu, mu189# CHECK-NEXT: 1 67 68.00 67 VLEN1024X300SiFive7VA1[1,69],VLEN1024X300SiFive7VA1OrVA2[1,69],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24190# CHECK-NEXT: 1 23 132.00 23 VLEN1024X300SiFive7VA1[1,133],VLEN1024X300SiFive7VA1OrVA2[1,133],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24191# CHECK-NEXT: 1 135 135.00 135 VLEN1024X300SiFive7VA1[1,136],VLEN1024X300SiFive7VA1OrVA2[1,136],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24192# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e32, m8, tu, mu193# CHECK-NEXT: 1 259 260.00 259 VLEN1024X300SiFive7VA1[1,261],VLEN1024X300SiFive7VA1OrVA2[1,261],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24194# CHECK-NEXT: 1 23 260.00 23 VLEN1024X300SiFive7VA1[1,261],VLEN1024X300SiFive7VA1OrVA2[1,261],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24195# CHECK-NEXT: 1 263 263.00 263 VLEN1024X300SiFive7VA1[1,264],VLEN1024X300SiFive7VA1OrVA2[1,264],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24196# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e64, m1, tu, mu197# CHECK-NEXT: 1 7 8.00 7 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24198# CHECK-NEXT: 1 15 20.00 15 VLEN1024X300SiFive7VA1[1,21],VLEN1024X300SiFive7VA1OrVA2[1,21],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24199# CHECK-NEXT: 1 23 23.00 23 VLEN1024X300SiFive7VA1[1,24],VLEN1024X300SiFive7VA1OrVA2[1,24],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24200# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e64, m2, tu, mu201# CHECK-NEXT: 1 19 20.00 19 VLEN1024X300SiFive7VA1[1,21],VLEN1024X300SiFive7VA1OrVA2[1,21],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24202# CHECK-NEXT: 1 15 36.00 15 VLEN1024X300SiFive7VA1[1,37],VLEN1024X300SiFive7VA1OrVA2[1,37],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24203# CHECK-NEXT: 1 39 39.00 39 VLEN1024X300SiFive7VA1[1,40],VLEN1024X300SiFive7VA1OrVA2[1,40],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24204# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e64, m4, tu, mu205# CHECK-NEXT: 1 67 68.00 67 VLEN1024X300SiFive7VA1[1,69],VLEN1024X300SiFive7VA1OrVA2[1,69],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24206# CHECK-NEXT: 1 15 68.00 15 VLEN1024X300SiFive7VA1[1,69],VLEN1024X300SiFive7VA1OrVA2[1,69],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24207# CHECK-NEXT: 1 71 71.00 71 VLEN1024X300SiFive7VA1[1,72],VLEN1024X300SiFive7VA1OrVA2[1,72],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24208# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli zero, zero, e64, m8, tu, mu209# CHECK-NEXT: 1 131 132.00 131 VLEN1024X300SiFive7VA1[1,133],VLEN1024X300SiFive7VA1OrVA2[1,133],VLEN1024X300SiFive7VCQ VRGATHER_VV vrgather.vv v8, v16, v24210# CHECK-NEXT: 1 15 132.00 15 VLEN1024X300SiFive7VA1[1,133],VLEN1024X300SiFive7VA1OrVA2[1,133],VLEN1024X300SiFive7VCQ VRGATHEREI16_VV vrgatherei16.vv v8, v16, v24211# CHECK-NEXT: 1 135 135.00 135 VLEN1024X300SiFive7VA1[1,136],VLEN1024X300SiFive7VA1OrVA2[1,136],VLEN1024X300SiFive7VCQ VCOMPRESS_VM vcompress.vm v8, v16, v24212 213# CHECK: Resources:214# CHECK-NEXT: [0] - VLEN1024X300SiFive7FDiv215# CHECK-NEXT: [1] - VLEN1024X300SiFive7IDiv216# CHECK-NEXT: [2] - VLEN1024X300SiFive7PipeA217# CHECK-NEXT: [3] - VLEN1024X300SiFive7PipeB218# CHECK-NEXT: [4] - VLEN1024X300SiFive7VA1219# CHECK-NEXT: [5] - VLEN1024X300SiFive7VA2220# CHECK-NEXT: [6] - VLEN1024X300SiFive7VCQ221# CHECK-NEXT: [7] - VLEN1024X300SiFive7VL222# CHECK-NEXT: [8] - VLEN1024X300SiFive7VS223 224# CHECK: Resource pressure per iteration:225# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8]226# CHECK-NEXT: - - 22.00 - 9016.00 - 66.00 - -227 228# CHECK: Resource pressure by instruction:229# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] Instructions:230# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e8, mf8, tu, mu231# CHECK-NEXT: - - - - 6.00 - 1.00 - - vrgather.vv v8, v16, v24232# CHECK-NEXT: - - - - 21.00 - 1.00 - - vrgatherei16.vv v8, v16, v24233# CHECK-NEXT: - - - - 9.00 - 1.00 - - vcompress.vm v8, v16, v24234# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e8, mf4, tu, mu235# CHECK-NEXT: - - - - 6.00 - 1.00 - - vrgather.vv v8, v16, v24236# CHECK-NEXT: - - - - 37.00 - 1.00 - - vrgatherei16.vv v8, v16, v24237# CHECK-NEXT: - - - - 9.00 - 1.00 - - vcompress.vm v8, v16, v24238# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e8, mf2, tu, mu239# CHECK-NEXT: - - - - 6.00 - 1.00 - - vrgather.vv v8, v16, v24240# CHECK-NEXT: - - - - 69.00 - 1.00 - - vrgatherei16.vv v8, v16, v24241# CHECK-NEXT: - - - - 9.00 - 1.00 - - vcompress.vm v8, v16, v24242# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e8, m1, tu, mu243# CHECK-NEXT: - - - - 9.00 - 1.00 - - vrgather.vv v8, v16, v24244# CHECK-NEXT: - - - - 133.00 - 1.00 - - vrgatherei16.vv v8, v16, v24245# CHECK-NEXT: - - - - 136.00 - 1.00 - - vcompress.vm v8, v16, v24246# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e8, m2, tu, mu247# CHECK-NEXT: - - - - 21.00 - 1.00 - - vrgather.vv v8, v16, v24248# CHECK-NEXT: - - - - 261.00 - 1.00 - - vrgatherei16.vv v8, v16, v24249# CHECK-NEXT: - - - - 264.00 - 1.00 - - vcompress.vm v8, v16, v24250# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e8, m4, tu, mu251# CHECK-NEXT: - - - - 69.00 - 1.00 - - vrgather.vv v8, v16, v24252# CHECK-NEXT: - - - - 517.00 - 1.00 - - vrgatherei16.vv v8, v16, v24253# CHECK-NEXT: - - - - 520.00 - 1.00 - - vcompress.vm v8, v16, v24254# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e8, m8, tu, mu255# CHECK-NEXT: - - - - 261.00 - 1.00 - - vrgather.vv v8, v16, v24256# CHECK-NEXT: - - - - 1029.00 - 1.00 - - vrgatherei16.vv v8, v16, v24257# CHECK-NEXT: - - - - 1032.00 - 1.00 - - vcompress.vm v8, v16, v24258# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e16, mf4, tu, mu259# CHECK-NEXT: - - - - 6.00 - 1.00 - - vrgather.vv v8, v16, v24260# CHECK-NEXT: - - - - 21.00 - 1.00 - - vrgatherei16.vv v8, v16, v24261# CHECK-NEXT: - - - - 9.00 - 1.00 - - vcompress.vm v8, v16, v24262# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e16, mf2, tu, mu263# CHECK-NEXT: - - - - 6.00 - 1.00 - - vrgather.vv v8, v16, v24264# CHECK-NEXT: - - - - 37.00 - 1.00 - - vrgatherei16.vv v8, v16, v24265# CHECK-NEXT: - - - - 9.00 - 1.00 - - vcompress.vm v8, v16, v24266# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e16, m1, tu, mu267# CHECK-NEXT: - - - - 9.00 - 1.00 - - vrgather.vv v8, v16, v24268# CHECK-NEXT: - - - - 69.00 - 1.00 - - vrgatherei16.vv v8, v16, v24269# CHECK-NEXT: - - - - 72.00 - 1.00 - - vcompress.vm v8, v16, v24270# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e16, m2, tu, mu271# CHECK-NEXT: - - - - 21.00 - 1.00 - - vrgather.vv v8, v16, v24272# CHECK-NEXT: - - - - 133.00 - 1.00 - - vrgatherei16.vv v8, v16, v24273# CHECK-NEXT: - - - - 136.00 - 1.00 - - vcompress.vm v8, v16, v24274# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e16, m4, tu, mu275# CHECK-NEXT: - - - - 69.00 - 1.00 - - vrgather.vv v8, v16, v24276# CHECK-NEXT: - - - - 261.00 - 1.00 - - vrgatherei16.vv v8, v16, v24277# CHECK-NEXT: - - - - 264.00 - 1.00 - - vcompress.vm v8, v16, v24278# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e16, m8, tu, mu279# CHECK-NEXT: - - - - 261.00 - 1.00 - - vrgather.vv v8, v16, v24280# CHECK-NEXT: - - - - 517.00 - 1.00 - - vrgatherei16.vv v8, v16, v24281# CHECK-NEXT: - - - - 520.00 - 1.00 - - vcompress.vm v8, v16, v24282# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e32, mf2, tu, mu283# CHECK-NEXT: - - - - 6.00 - 1.00 - - vrgather.vv v8, v16, v24284# CHECK-NEXT: - - - - 21.00 - 1.00 - - vrgatherei16.vv v8, v16, v24285# CHECK-NEXT: - - - - 9.00 - 1.00 - - vcompress.vm v8, v16, v24286# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e32, m1, tu, mu287# CHECK-NEXT: - - - - 9.00 - 1.00 - - vrgather.vv v8, v16, v24288# CHECK-NEXT: - - - - 37.00 - 1.00 - - vrgatherei16.vv v8, v16, v24289# CHECK-NEXT: - - - - 40.00 - 1.00 - - vcompress.vm v8, v16, v24290# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e32, m2, tu, mu291# CHECK-NEXT: - - - - 21.00 - 1.00 - - vrgather.vv v8, v16, v24292# CHECK-NEXT: - - - - 69.00 - 1.00 - - vrgatherei16.vv v8, v16, v24293# CHECK-NEXT: - - - - 72.00 - 1.00 - - vcompress.vm v8, v16, v24294# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e32, m4, tu, mu295# CHECK-NEXT: - - - - 69.00 - 1.00 - - vrgather.vv v8, v16, v24296# CHECK-NEXT: - - - - 133.00 - 1.00 - - vrgatherei16.vv v8, v16, v24297# CHECK-NEXT: - - - - 136.00 - 1.00 - - vcompress.vm v8, v16, v24298# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e32, m8, tu, mu299# CHECK-NEXT: - - - - 261.00 - 1.00 - - vrgather.vv v8, v16, v24300# CHECK-NEXT: - - - - 261.00 - 1.00 - - vrgatherei16.vv v8, v16, v24301# CHECK-NEXT: - - - - 264.00 - 1.00 - - vcompress.vm v8, v16, v24302# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e64, m1, tu, mu303# CHECK-NEXT: - - - - 9.00 - 1.00 - - vrgather.vv v8, v16, v24304# CHECK-NEXT: - - - - 21.00 - 1.00 - - vrgatherei16.vv v8, v16, v24305# CHECK-NEXT: - - - - 24.00 - 1.00 - - vcompress.vm v8, v16, v24306# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e64, m2, tu, mu307# CHECK-NEXT: - - - - 21.00 - 1.00 - - vrgather.vv v8, v16, v24308# CHECK-NEXT: - - - - 37.00 - 1.00 - - vrgatherei16.vv v8, v16, v24309# CHECK-NEXT: - - - - 40.00 - 1.00 - - vcompress.vm v8, v16, v24310# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e64, m4, tu, mu311# CHECK-NEXT: - - - - 69.00 - 1.00 - - vrgather.vv v8, v16, v24312# CHECK-NEXT: - - - - 69.00 - 1.00 - - vrgatherei16.vv v8, v16, v24313# CHECK-NEXT: - - - - 72.00 - 1.00 - - vcompress.vm v8, v16, v24314# CHECK-NEXT: - - 1.00 - - - - - - vsetvli zero, zero, e64, m8, tu, mu315# CHECK-NEXT: - - - - 133.00 - 1.00 - - vrgather.vv v8, v16, v24316# CHECK-NEXT: - - - - 133.00 - 1.00 - - vrgatherei16.vv v8, v16, v24317# CHECK-NEXT: - - - - 136.00 - 1.00 - - vcompress.vm v8, v16, v24318