https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117053

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The problem is in ix86_expand_int_spaceship 

here:
+      emit_insn (gen_rtx_SET (tmp, gen_rtx_ZERO_EXTEND (GET_MODE (dest),
+                                                       lt_tmp)));

Most likely should have used:
emit_insn (gen_zero_extend<mode>si2 (tmp, lt_tmp))

But that requires some magic.

This is due to TARGET_ZERO_EXTEND_WITH_AND which is only set for 486 and
pentium:

/* X86_TUNE_ZERO_EXTEND_WITH_AND: Use AND instruction instead
   of mozbl/movwl.  */
DEF_TUNE (X86_TUNE_ZERO_EXTEND_WITH_AND, "zero_extend_with_and",
          m_486 | m_PENT)

Reply via email to