https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61249

            Bug ID: 61249
           Summary: _mm_frcz_ss, _mm_frcz_sd: __builtin_ia32_vfrczss,
                    __builtin_ia32_vfrczsd require 2 arguments
           Product: gcc
           Version: 4.8.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mt at debian dot org

Looking at https://gcc.gnu.org/onlinedocs/gcc/X86-Built-in-Functions.html on
the one hand and AMD's "AMD64 Architecture Programmer’s Manual
Volume 6: 128-Bit and 256-Bit XOP and FMA4 Instructions" on the other hand,
vfrczss/vfrczsd require a second argument to specify the destination.

Yet r205495 changed _mm_frcz_ss/_mm_frcz_sd so that only a single argument is
passed to the __builtin_ia32_vfrczss/vfrczsd calls.

This was detected at language level (inconsistent types), I can only speculate
that this may cause invalid code to be generated (or null operands).

Best,
Michael

PS.: The problem persists in the 4.9 branch as xopintrin.h hasn't been touched
since 4.8.

Reply via email to