https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102811
--- Comment #22 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>: https://gcc.gnu.org/g:9519b694afbf9a35c36cf9f14d35d1c0e9e8cacc commit r12-5573-g9519b694afbf9a35c36cf9f14d35d1c0e9e8cacc Author: liuhongt <hongtao....@intel.com> Date: Fri Nov 26 23:24:20 2021 +0800 Fix regression introduced by r12-5536. There're several failures: 1. unsupported instruction `pextrw` for "pextrw $0, %xmm31, 16(%rax)" %vpextrw should be used in output templates. 2. ICE in get_attr_memory for movhi_internal since some alternatives are marked as TYPE_SSELOG. use TYPE_SSELOG1 instead. Also this patch fixs a typo and some latent bugs which are related to moving HImode from/to sse register w/o TARGET_AVX512FP16. gcc/ChangeLog: PR target/102811 PR target/103463 * config/i386/i386.c (ix86_secondary_reload): Without TARGET_SSE4_1, General register is needed to move HImode from sse register to memory. * config/i386/sse.md (*vec_extrachf): Use %vpextrw instead of pextrw in output templates. * config/i386/i386.md (movhi_internal): Ditto, also fix typo of MEM_P (operands[1]) and adjust mode/prefix/type attribute for alternatives related to sse register.