Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    ARM Cortex A7 NEON 指令加速

    Linux
    4
    6
    2259
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • tigger
      tigger LV 7 last edited by

      转载: NEON 日历 2020

      1。Arm指令集和NEON扩展

      1 Reply Last reply Reply Quote Share 0
      • tigger
        tigger LV 7 last edited by

        NEON模拟器: https://szeged.github.io/nevada/

        whycan 1 Reply Last reply Reply Quote Share 0
        • whycan
          whycan晕哥 LV 9 @tigger last edited by

          @tigger

          转载: 数组相加

          #include <arm_neon.h>
          #include <iostream>
          
          int main(int argc, char** argv)
          {
              unsigned char src0[] = {  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15};
              unsigned char src1[] = {100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115};
              unsigned char dst [] = {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0};
              uint8x16_t s0 = vld1q_u8(src0);
              uint8x16_t s1 = vld1q_u8(src1);
              uint8x16_t d  = vaddq_u8(s0, s1); // ここで足し算
              vst1q_u8(dst, d);
              for( auto i = 0;i < 16;i++)
              {
                  std::cout << i << '\t' << (int)src0[i] << '\t' << (int)src1[i] << '\t' << (int)dst[i] << std::endl;
              }
              return 0;
          }
          

          编译指令:

          arm-linux-gnueabihf-g++ -mfpu=neon -o test1 test1.cpp
          

          执行结果:

          0       0       100     100
          1       1       101     102
          2       2       102     104
          3       3       103     106
          4       4       104     108
          5       5       105     110
          6       6       106     112
          7       7       107     114
          8       8       108     116
          9       9       109     118
          10      10      110     120
          11      11      111     122
          12      12      112     124
          13      13      113     126
          14      14      114     128
          15      15      115     130
          

          试了一下,果然好用:

          cdc53116-885d-4219-900e-e4107596360e-image.png

          YuzukiTsuru 1 Reply Last reply Reply Quote Share 0
          • YuzukiTsuru
            柚木 鉉 LV 9 @whycan last edited by

            @whycan 在 ARM Cortex A7 NEON 指令加速 中说:

            // ここで足し算

            ここで足し算

            BedRock 1 Reply Last reply Reply Quote Share 0
            • tigger
              tigger LV 7 last edited by

              37a5571d-5626-40a9-81ce-edb1e06c1dcb-image.png

              1 Reply Last reply Reply Quote Share 0
              • BedRock
                BedRock LV 6 @YuzukiTsuru last edited by

                @yuzukitsuru 在 ARM Cortex A7 NEON 指令加速 中说:

                ここで足し算

                1 Reply Last reply Reply Quote Share 0
                • 1 / 1
                • First post
                  Last post

                Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                行为准则 | 用户协议 | 隐私权政策