Skip to content

error: C-style cast from 'double' to '__m128d' #98

@yurivict

Description

@yurivict

clang8 on FreeBSD complains:

/usr/ports/math/seexpr/work/SeExpr-3.0.0/src/SeExpr2/Noise.cpp:31:45: error: C-style cast from 'double' to '__m128d' (vector of 2 'double' values) is not allowed
inline double floorSSE(double val) { return _mm_floor_sd(_mm_set_sd(0.0), _mm_set_sd(val))[0]; }
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/clang/8.0.0/include/smmintrin.h:215:30: note: expanded from macro '_mm_floor_sd'
#define _mm_floor_sd(X, Y)   _mm_round_sd((X), (Y), _MM_FROUND_FLOOR)
                             ^
/usr/lib/clang/8.0.0/include/smmintrin.h:364:3: note: expanded from macro '_mm_round_sd'
  (__m128d)__builtin_ia32_roundsd((__v2df)(__m128d)(X), \
  ^
/usr/ports/math/seexpr/work/SeExpr-3.0.0/src/SeExpr2/Noise.cpp:34:12: error: C-style cast from 'double' to '__m128d' (vector of 2 'double' values) is not allowed
    return _mm_round_sd(_mm_set_sd(0.0), _mm_set_sd(val), _MM_FROUND_TO_NEAREST_INT)[0];
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/clang/8.0.0/include/smmintrin.h:364:3: note: expanded from macro '_mm_round_sd'
  (__m128d)__builtin_ia32_roundsd((__v2df)(__m128d)(X), \
  ^
2 errors generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions