相关疑难解决方法(0)

C++错误:未在此范围内声明'_mm_sin_ps'

我正在尝试使用不同的方法来将函数应用于数组.

为什么是https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=3260,2124,4779,4779&cats=Trigonometry&text=_sin

_mm_sin_ps不知道我的范围,但是_mm_sqrt_ps

我怎么知道?并编译它没有错误.

#include <random>
#include <iostream>
#include <cmath>
#include <chrono>
#include <algorithm>
#include <valarray>
#include "immintrin.h"
#include <array>
int main()
{
    std::cout<<"start\n";
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_real_distribution<> dis(-1000, 1000);
    int N=100;
    while(N--)
    {   
        std::cout<<"\nN: "<<N;

    const int T1=4E6;
      { 
        int T=T1,T0=T1/4;
        std::array<float,T1> array;
        while(T--)
        {
            array[T]=dis(gen);
        }
        auto start_time = std::chrono::high_resolution_clock::now();
        auto it =array.begin();
        while(T0--)
        {
            __m128 X = _mm_loadu_ps(it);
            __m128 result = _mm_sin_ps(X);
            _mm_storeu_ps(it, result);
            it+=4;
        }
        auto time2=std::chrono::high_resolution_clock::now()-start_time;
            std::cout<<"\nintr1: "<<std::chrono::duration_cast<std::chrono::microseconds>(time2).count();
        }
  } …
Run Code Online (Sandbox Code Playgroud)

c++ optimization sse simd intrinsics

5
推荐指数
1
解决办法
1343
查看次数

Clang的'_mm256_pow_ps'本质在哪里?

我似乎找不到_mm_pow_ps或_mm256_pow_ps的内在函数,它们都应该包含在'immintrin.h'中。

Clang不会定义这些,还是在我不包括的标头中?

sse clang avx

3
推荐指数
1
解决办法
830
查看次数

标签 统计

sse ×2

avx ×1

c++ ×1

clang ×1

intrinsics ×1

optimization ×1

simd ×1