[PATCH] D21306: [x86] AVX FP compare builtins should require AVX target feature (PR28112)

Simon Pilgrim via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 15 09:57:28 PDT 2016


RKSimon added a comment.

It seems like part of the need for this is because the _mm_cmp_ps style intrinsics are defined as macros (to get around the problem of trying to use an immediate as an argument):

  #define _mm_cmp_ps(a, b, c) __extension__ ({ \
    (__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \
                                 (__v4sf)(__m128)(b), (c)); })

which means clang can't use a __target__("avx") attribute to stop their use.

Given that I'm happy with this patch's approach - anyone else have any suggestions?


http://reviews.llvm.org/D21306





More information about the cfe-commits mailing list