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

            Bug ID: 91016
           Summary: A suspicious code in config/i386/i386-expand.c
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

16048    /* generate 0.5, 1.0 and -0.5 */
 16049    half = force_reg (mode, const_double_from_real_value (dconsthalf,
mode));
 16050    one = expand_simple_binop (mode, PLUS, half, half, NULL_RTX, 0,
OPTAB_DIRECT);
 16051    mhalf = expand_simple_binop (mode, MINUS, half, one, NULL_RTX,
 16052                                 0, OPTAB_DIRECT);
 16053  
 16054    /* Compensate.  */
 16055    tmp = gen_reg_rtx (mode);
 16056    /* xa2 = xa2 - (dxa > 0.5 ? 1 : 0) */
 16057    tmp = ix86_expand_sse_compare_mask (UNGT, dxa, half, false);
 16058    emit_insn (gen_rtx_SET (tmp, gen_rtx_AND (mode, one, tmp)));
 16059    xa2 = expand_simple_binop (mode, MINUS, xa2, tmp, NULL_RTX, 0,
OPTAB_DIRECT);
 16060    /* xa2 = xa2 + (dxa <= -0.5 ? 1 : 0) */
 16061    tmp = ix86_expand_sse_compare_mask (UNGE, mhalf, dxa, false);
 16062    emit_insn (gen_rtx_SET (tmp, gen_rtx_AND (mode, one, tmp)));
 16063    xa2 = expand_simple_binop (mode, PLUS, xa2, tmp, NULL_RTX, 0,
OPTAB_DIRECT);

As seen, 'tmp' at 16055 is never used.
Can please port maintainers take a look?

Reply via email to