This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/88349] New: [9 regression][MIPS] Redundant store instructions generated start with r266385


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

            Bug ID: 88349
           Summary: [9 regression][MIPS]  Redundant store instructions
                    generated start with r266385
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: paul.hua.gm at gmail dot com
  Target Milestone: ---

paulhua@gcc122:~/test/debug_mult-16$ cat mult-16.i
typedef int DI __attribute__((mode(DI)));
typedef int SI __attribute__((mode(SI)));

__attribute__((mips16)) SI
f (SI x, SI y)
{
  return ((DI) x * y) >> 32;
}

good asm:

f:
        .frame  $sp,0,$31               # vars= 0, regs= 0/0, args= 0, gp= 0
        .mask   0x00000000,0
        .fmask  0x00000000,0
        mult    $4,$5
        mfhi    $3
        .set    noreorder
        .set    nomacro
        jr      $31
        move    $2,$3
        .set    macro
        .set    reorder

bad asm:

f:
        .frame  $sp,16,$31              # vars= 8, regs= 0/0, args= 0, gp= 8
        .mask   0x00000000,0
        .fmask  0x00000000,0
        addiu   $sp,-16
        mult    $4,$5
        mflo    $2
        mfhi    $3
        sw      $2,8($sp)
        sw      $3,12($sp)
        lw      $2,12($sp)
        .set    noreorder
        .set    nomacro
        jr      $31
        addiu   $sp,16
        .set    macro
        .set    reorder

cmd:

paulhua@gcc122:~/test/debug_mult-16$ ~/build/gcc-r266385_obj/gcc/cc1
-fpreprocessed mult-16.i -mel -quiet -dumpbase mult-16.c -mabi=32 -mgp32
-mlong32 -mno-micromips -march=mips64r2 -mllsc -mips64r2 -mno-shared
-auxbase-strip mult-16.s -O1 -version -fdiagnostics-color=never
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fexpensive-optimizations -ffat-lto-objects -fno-ident -o new.s

cross-gcc configure:
configure MISSING=texinfo MAKEINFO=missing --target=mips64el-linux-gnu
--enable-languages=c,c++

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]