Fix ICE [PR target/100549]
authorliuhongt <hongtao.liu@intel.com>
Thu, 13 May 2021 05:08:16 +0000 (13:08 +0800)
committerliuhongt <hongtao.liu@intel.com>
Mon, 17 May 2021 12:04:31 +0000 (20:04 +0800)
commit45063c0506a00f2673049d46f12a6061dca4692f
tree5614bce502a55951297d8b9202617fda439ab323
parent0ca93e302bf496b71bee839b3c121e1f7363fcf0
Fix ICE [PR target/100549]

When arg0 is same as arg1 in __builtin_ia32_pcmpgtw,
gimple_build (&stmts, GT_EXPR, cmp_type, arg0, arg1) will simplify the
comparison to vector constant 0, no stmts is generated, which causes
ICE in gsi_insert_before (gsi, stmts, GSI_SAME_STMT). So use
gsi_insert_seq_before instead which will handle NULL seq.

gcc/ChangeLog:

PR target/100549
* config/i386/i386.c (ix86_gimple_fold_builtin): Use
gsi_insert_seq_before instead.

gcc/testsuite/ChangeLog:

PR target/100549
* gcc.target/i386/pr100549.c: New test.
gcc/config/i386/i386.c
gcc/testsuite/gcc.target/i386/pr100549.c [new file with mode: 0644]