导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    ARM Cortex A7 NEON 指令加速

    Linux
    4
    6
    2259
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • tigger
      tigger LV 7 最后由 编辑

      转载: NEON 日历 2020

      1。Arm指令集和NEON扩展

      1 条回复 最后回复 回复 引用 分享 0
      • tigger
        tigger LV 7 最后由 编辑

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

        whycan 1 条回复 最后回复 回复 引用 分享 0
        • whycan
          whycan晕哥 LV 9 @tigger 最后由 编辑

          @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 条回复 最后回复 回复 引用 分享 0
          • YuzukiTsuru
            柚木 鉉 LV 9 @whycan 最后由 编辑

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

            // ここで足し算

            ここで足し算

            BedRock 1 条回复 最后回复 回复 引用 分享 0
            • tigger
              tigger LV 7 最后由 编辑

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

              1 条回复 最后回复 回复 引用 分享 0
              • BedRock
                BedRock LV 6 @YuzukiTsuru 最后由 编辑

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

                ここで足し算

                1 条回复 最后回复 回复 引用 分享 0
                • 1 / 1
                • First post
                  Last post

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

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