[Bug target/89750] Wrong code for _mm_comi_round_ss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89750 --- Comment #1 from H.J. Lu --- ix86_expand_sse_comi_round has /* See avxintrin.h for values. */ enum rtx_code comi_comparisons[32] = { UNEQ, GT, GE, UNORDERED, LTGT, UNLE, UNLT, ORDERED, UNEQ, UNLT, UNLE, LT, LTGT, GE, GT, LT, UNEQ, GT, GE, UNORDERED, LTGT, UNLE, UNLT, ORDERED, UNEQ, UNLT, UNLE, LT, LTGT, GE, GT, LT }; which looks wrong for #define _CMP_EQ_OQ 0x00 #define _CMP_LT_OS 0x01 #define _CMP_LE_OS 0x02 #define _CMP_UNORD_Q0x03 #define _CMP_NEQ_UQ 0x04 #define _CMP_NLT_US 0x05 #define _CMP_NLE_US 0x06 #define _CMP_ORD_Q 0x07 #define _CMP_EQ_UQ 0x08 #define _CMP_NGE_US 0x09 #define _CMP_NGT_US 0x0a #define _CMP_FALSE_OQ 0x0b #define _CMP_NEQ_OQ 0x0c #define _CMP_GE_OS 0x0d #define _CMP_GT_OS 0x0e #define _CMP_TRUE_UQ0x0f #define _CMP_EQ_OS 0x10 #define _CMP_LT_OQ 0x11 #define _CMP_LE_OQ 0x12 #define _CMP_UNORD_S0x13 #define _CMP_NEQ_US 0x14 #define _CMP_NLT_UQ 0x15 #define _CMP_NLE_UQ 0x16 #define _CMP_ORD_S 0x17 #define _CMP_EQ_US 0x18 #define _CMP_NGE_UQ 0x19 #define _CMP_NGT_UQ 0x1a #define _CMP_FALSE_OS 0x1b #define _CMP_NEQ_OS 0x1c #define _CMP_GE_OQ 0x1d #define _CMP_GT_OQ 0x1e #define _CMP_TRUE_US0x1f
[Bug target/89750] Wrong code for _mm_comi_round_ss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89750 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek --- So, fixed for 10+?
[Bug target/89750] Wrong code for _mm_comi_round_ss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89750 --- Comment #5 from Hongtao.liu --- (In reply to Jakub Jelinek from comment #4) > So, fixed for 10+? Yes.
[Bug target/89750] Wrong code for _mm_comi_round_ss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89750 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #6 from Jakub Jelinek --- .
[Bug target/89750] Wrong code for _mm_comi_round_ss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89750 --- Comment #2 from Hongtao.liu --- Created attachment 46307 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46307&action=edit Fix-ix86_expand_sse_comi_round.patch Fix ix86_expand_sse_comi_round and add runtime tests for it.
[Bug target/89750] Wrong code for _mm_comi_round_ss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89750 --- Comment #3 from liuhongt at gcc dot gnu.org --- Author: liuhongt Date: Mon Jun 3 02:20:33 2019 New Revision: 271853 URL: https://gcc.gnu.org/viewcvs?rev=271853&root=gcc&view=rev Log: 2019-05-06 H.J. Lu Hongtao Liu PR target/89750 PR target/86444 * config/i386/i386-expand.c (ix86_expand_sse_comi_round): Modified, original implementation isn't correct. 2019-05-06 H.J. Lu Hongtao Liu PR target/89750 PR target/86444 * gcc.target/i386/avx512f-vcomisd-2.c: New. * gcc.target/i386/avx512f-vcomisd-2.c: Likewise. Added: trunk/gcc/testsuite/gcc.target/i386/avx512f-vcomisd-2.c trunk/gcc/testsuite/gcc.target/i386/avx512f-vcomiss-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386-expand.c trunk/gcc/testsuite/ChangeLog