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

--- Comment #2 from Paul Hua <paul.hua.gm at gmail dot com> ---
and and new fails:
  716 FAIL: gcc.target/mips/octeon-exts-3.c   -O2   scan-assembler-times
\\texts\\t 3                                                                    
  717 FAIL: gcc.target/mips/octeon-exts-3.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none   scan-assembler-times \\texts\\t 3                        
  718 FAIL: gcc.target/mips/octeon-exts-3.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects   scan-assembler-times \\texts\\t 3                        
  719 FAIL: gcc.target/mips/octeon-exts-3.c   -O3 -g   scan-assembler-times
\\texts\\t 3                                                                    
  720 FAIL: gcc.target/mips/octeon-exts-3.c   -Os   scan-assembler-times
\\texts\\t 3 

$cat octeon-exts-3.i

# 1
"/home/xuchenghua/GCC/gcc_git_trunk/gcc/testsuite/gcc.target/mips/octeon-exts-3.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1
"/home/xuchenghua/GCC/gcc_git_trunk/gcc/testsuite/gcc.target/mips/octeon-exts-3.c"

struct foo
{
  unsigned long long a:10;
  unsigned long long b:32;
  unsigned long long c:22;
};

__attribute__((nomips16)) unsigned
f (struct foo s)
{
  return s.b;
}

struct bar
{
  unsigned long long a:15;
  unsigned long long b:48;
  unsigned long long c:1;
};

__attribute__((nomips16)) int
g (struct bar s)
{
  return (int) s.b;
}

__attribute__((nomips16)) int
h (int i)
{
  return (i << 4) >> 24;
}


./gcc/cc1 -fpreprocessed octeon-exts-3.i -mel -quiet -dumpbase octeon-exts-3.c
-march=octeon -mgp64 -mno-micromips -mabi=64 -mllsc -mips64r2 -mno-shared
-auxbase-strip octeon-exts-3.s -O2 -version -fdiagnostics-color=never
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-ffat-lto-objects -fno-ident -o octeon-exts-3.s -mno-abicalls

good :

h:
        .frame  $sp,0,$31               # vars= 0, regs= 0/0, args= 0, gp= 0
        .mask   0x00000000,0
        .fmask  0x00000000,0
        .set    noreorder
        .set    nomacro
        jr      $31
        exts    $2,$4,20,7
        .set    macro
        .set    reorder

bad:

h:
        .frame  $sp,0,$31               # vars= 0, regs= 0/0, args= 0, gp= 0
        .mask   0x00000000,0
        .fmask  0x00000000,0
        sll     $2,$4,4
        .set    noreorder
        .set    nomacro
        jr      $31
        sra     $2,$2,24
        .set    macro
        .set    reorder

Reply via email to