search for: lbbtest_1

Displaying 4 results from an estimated 4 matches for "lbbtest_1".

2005 Feb 22
0
[LLVMdev] Area for improvement
...; [#uses=1] br bool %exitcond, label %return, label %no_exit return: ; preds = %no_exit, %entry ret void } Note the accesses to P are using P[indvar].{real|imag}, not incrementing P. Compile this to X86, and you get this loop (using the simple instruction selector): .LBBtest_1: # no_exit mov %ESI, %EDX shl %ESI, 4 --> scale by sizeof(complex double) mov %EDI, %ECX add %EDI, %ESI mov DWORD PTR [%EDI], 0 mov DWORD PTR [%EDI + 4], 0 mov %ESI, %EDX shl %ESI, 4...
2005 Feb 22
2
[LLVMdev] Area for improvement
...%return, label %no_exit > > return: ; preds = %no_exit, %entry > ret void > } > > Note the accesses to P are using P[indvar].{real|imag}, not > incrementing P. Compile this to X86, and you get this loop (using the > simple instruction selector): > > .LBBtest_1: # no_exit > mov %ESI, %EDX > shl %ESI, 4 --> scale by sizeof(complex > double) > mov %EDI, %ECX > add %EDI, %ESI > mov DWORD PTR [%EDI], 0 > mov DWORD PTR [%EDI + 4], 0 > mov %ESI, %EDX &g...
2005 Feb 22
0
[LLVMdev] Area for improvement
...return: ; preds = %no_exit, %entry >> ret void >> } >> >> Note the accesses to P are using P[indvar].{real|imag}, not incrementing P. >> Compile this to X86, and you get this loop (using the simple instruction >> selector): >> >> .LBBtest_1: # no_exit >> mov %ESI, %EDX >> shl %ESI, 4 --> scale by sizeof(complex >> double) >> mov %EDI, %ECX >> add %EDI, %ESI >> mov DWORD PTR [%EDI], 0 >> mov DWORD PTR [%EDI + 4], 0 &g...
2005 Feb 22
5
[LLVMdev] Area for improvement
I noticed that fourinarow is one of the programs in which LLVM is much slower than GCC, so I decided to take a look and see why that is so. The program has many loops that look like this: #define ROWS 6 #define COLS 7 void init_board(char b[COLS][ROWS+1]) { int i,j; for (i=0;i<COLS;i++) for (j=0;j<ROWS;j++) b[i][j]='.';