http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56788



             Bug #: 56788

           Summary: _mm_frcz_sd and _mm_frcz_ss ignore their second

                    argument

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: target

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: gli...@gcc.gnu.org

            Target: x86_64-linux-gnu





#include <x86intrin.h>

__m128d f(__m128d x, __m128d y){

  return _mm_frcz_sd(x,y);

}



is compiled to:



    vfrczsd    %xmm0, %xmm0

    ret



Notice the lack of any reference to xmm1...



In my opinion, __builtin_ia32_vfrczsd should take a single argument, and the

intrinsic should call first this builtin and then __builtin_ia32_movsd.

Reply via email to