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

--- Comment #6 from Carlos Tripiana Montes <tripiana at gmail dot com> ---
Hope you guys can do that and fix this problem soon. It would much appreciated
as we are (at Barcelona Supercomputing Center, Spain) doing research on KNL and
we need the fastest/most robust code we can obtain.

Thanks in advance.

(In reply to Ilya Enkovich from comment #5)
> (In reply to Jakub Jelinek from comment #3)
> > I'd say it is a bug in ix86_fp_cmp_code_to_pcmp_immediate that it handles
> > only a small portion of the FP comparison codes, while VCMPP[SD]
> > instructions should be able to handle everything needed.
> > But, I'm also surprised where the values in that function come from.
> > Looking at the D modifier expansion in i386.c that is used for AVX vcmp, I
> > see that:
> > code      %D3 emits     corresponding imm   
> > ix86_fp_cmp_code_to_pcmp_immediate
> > UNEQ      eq_us         0x18                 ICE
> > EQ        eq            0                    8
> > UNLT      nge           9                    ICE
> > LT        lt            1                    0x19
> > UNLE      ngt           0xa                  ICE
> > LE        le            2                    0x1a
> > UNORDERED unord         3                    ICE
> > LTGT      neq_oq        0xc                  ICE
> > NE        neq           4                    4
> > GE        ge            0xd                  0x15
> > UNGE      nlt           5                    ICE
> > GT        gt            0xe                  0x16
> > UNGT      nle           6                    ICE
> > ORDERED   ord           7                    ICE
> > So, there is agreement only on NE and nothing else.
> 
> I took values for ix86_fp_cmp_code_to_pcmp_immediate from some table Kirill
> gave me and seems all values I used were unordered non-signaling variants. 
> I don't fully understand the logic of imms in this table.  Some of them are
> signalling and some of them are not.  Also why is NE unordered?  But I
> suspect there is good reason for such choice and suppose AVX512 compares
> should be put in a consistent state with AVX ones by fixing
> ix86_fp_cmp_code_to_pcmp_immediate appropriately.

Reply via email to