https://llvm.org/bugs/show_bug.cgi?id=25321

            Bug ID: 25321
           Summary: SciMark performance regression since r246985
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedb...@nondot.org
          Reporter: yaron.ke...@gmail.com
                CC: dsch...@google.com, j...@google.com,
                    llvm-bugs@lists.llvm.org, rjmcc...@apple.com
    Classification: Unclassified

SciMark2 MonteCarlo performance had regressed to less than half in r246985.

To reproduce, download http://math.nist.gov/scimark2/scimark2_1c.zip and open
it somewhere. Compile and run the benchmark with
>clang -o scimark2 -O2 *.c
>./scimark2
and look at the MonteCarlo results.

Comparing gcc 5.1, clang r246984, clang r246985 and r251299 (current svn),
gcc 5.1 and clang r246984 MonteCarlo performance are similar, although gcc
takes the lead.
clang r246985 performance was cut to less than half and stayed the same in
current svn. This may be a result of the code generated to access
Random_struct, when 17 is changed into 18 

typedef struct
{
  int m[17];                        
  int seed;                             
  int i;                                /* originally = 4 */ 

with

typedef struct
{
  int m[18];                        
  int seed;                             
  int i;                                /* originally = 4 */ 

the performance regression is gone.

>uname -a
Linux PC 3.16.0-51-generic #69~14.04.1-Ubuntu SMP Wed Oct 7 15:32:41 UTC 2015
x86_64 x86_64 x86_64 GNU/Linux

>~/bug$ gcc -v  2>&1 | grep version
gcc version 5.1.0 (Ubuntu 5.1.0-0ubuntu11~14.04.1)
>~/bug$ gcc -O2 scimark2/*.c -o scimark -lm
./scimark | grep MonteCarlo
>~/bug$ ./scimark | grep MonteCarlo
MonteCarlo:     Mflops:   672.76

>~/bug$ llvm/bin/clang -v  2>&1 | grep version
llvmclang version 3.8.0 (trunk 246984)
>~/bug$ llvm/bin/clang -O2 scimark2/*.c -o scimark -lm
./scimark | grep MonteCarlo
>~/bug$ ./scimark | grep MonteCarlo
MonteCarlo:     Mflops:   631.23

>~/bug$ llvm/fast/bin/clang -v  2>&1 | grep version
llvm/fast/bin/clang clang version 3.8.0 (trunk 246985)
>~/bug$ llvm/fast/bin/clang -O2 scimark2/*.c -o scimark -lm
./scimark | grep MonteCarlo
>~/bug$ ./scimark | grep MonteCarlo
MonteCarlo:     Mflops:   270.40

>~/bug$ llvm/fast/bin/clang -v  2>&1 | grep version
llvm/fast/bin/clang -O2 scimark2/*.c -o scimark -lm
clang version 3.8.0 (trunk 251299)
.>~/bug$ llvm/fast/bin/clang -O2 scimark2/*.c -o scimark -lm
cimark | grep MonteCarlo
>~/bug$ ./scimark | grep MonteCarlo
MonteCarlo:     Mflops:   266.42

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to