Don't fold builtin into gimple when isa mismatches.
authorliuhongt <hongtao.liu@intel.com>
Thu, 24 Feb 2022 06:42:14 +0000 (14:42 +0800)
committerliuhongt <hongtao.liu@intel.com>
Mon, 14 Mar 2022 01:22:19 +0000 (09:22 +0800)
commit823b3b79cd2b137f1023742ee1ba93e8712cef0a
tree0abdbde562c7d9ce5053db2871016b462ac56738
parentb9756c0858f68419b5aa19fb8657af512bb938e2
Don't fold builtin into gimple when isa mismatches.

The patch fixes ICE in ix86_gimple_fold_builtin.

gcc/ChangeLog:

PR target/104666
* config/i386/i386-expand.cc
(ix86_check_builtin_isa_match): New func.
(ix86_expand_builtin): Move code to
ix86_check_builtin_isa_match and call it.
* config/i386/i386-protos.h
(ix86_check_builtin_isa_match): Declare.
* config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
builtin into gimple when isa mismatches.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr104666.c: New test.
gcc/config/i386/i386-expand.cc
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.cc
gcc/testsuite/gcc.target/i386/pr104666.c [new file with mode: 0644]