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?