https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89803
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Jakub Jelinek from comment #3) > (In reply to Hongtao.liu from comment #1) > > Also we can use constraint "vm" instead of "v" for vfpclassp[sd] > > instructions. > > > > ndex: gcc/config/i386/sse.md > > =================================================================== > > --- gcc/config/i386/sse.md (revision 269868) > > +++ gcc/config/i386/sse.md (working copy) > > @@ -21101,7 +21101,7 @@ > > (define_insn "avx512dq_fpclass<mode><mask_scalar_merge_name>" > > [(set (match_operand:<avx512fmaskmode> 0 "register_operand" "=k") > > (unspec:<avx512fmaskmode> > > - [(match_operand:VF_AVX512VL 1 "register_operand" "v") > > + [(match_operand:VF_AVX512VL 1 "register_operand" "vm") > > (match_operand:QI 2 "const_0_to_255_operand" "n")] > > UNSPEC_FPCLASS))] > > "TARGET_AVX512DQ" > > Either "register_operand" "v", or "vector_operand" "vm" (or > nonimmediate_operand etc.). It should be nonimmediate_operand since it supports unaligned memory.