Displaying 5 results from an estimated 5 matches for "lbbinit_board_1".
2005 Feb 22
5
[LLVMdev] Area for improvement
...;i++)
b[i][ROWS]=0;
}
This generates the following X86 code:
.text
.align 16
.globl init_board
.type init_board, @function
init_board:
subl $4, %esp
movl %esi, (%esp)
movl 8(%esp), %eax
movl $0, %ecx
.LBBinit_board_1: # loopexit.1
imull $7, %ecx, %edx
movl %eax, %esi
addl %edx, %esi
movb $46, (%esi)
imull $7, %ecx, %edx
movl %eax, %esi
addl %edx, %esi
leal 1(%esi), %edx
movb $46, (%edx)
imull $7, %ecx, %edx
movl %eax, %es...
2005 Feb 22
0
[LLVMdev] Area for improvement
...new selection dag code generator, the outer loop
> is unrolled also and nothing is left but a bunch of movb instructions. Much,
> much faster.
For the record, instead of the ugly code above, the new isel generates:
init_board:
mov %EAX, DWORD PTR [%ESP + 4]
mov %ECX, 0
.LBBinit_board_1: # loopexit.1
imul %EDX, %ECX, 7
mov BYTE PTR [%EAX + %EDX], 46
mov BYTE PTR [%EAX + %EDX + 1], 46
mov BYTE PTR [%EAX + %EDX + 2], 46
mov BYTE PTR [%EAX + %EDX + 3], 46
mov BYTE PTR [%EAX + %EDX + 4], 46
mov BYTE PTR [%EAX + %EDX...
2005 Feb 22
2
[LLVMdev] Area for improvement
...gt; outer loop is unrolled also and nothing is left but a bunch of movb
>> instructions. Much, much faster.
>
>
> For the record, instead of the ugly code above, the new isel generates:
>
> init_board:
> mov %EAX, DWORD PTR [%ESP + 4]
> mov %ECX, 0
> .LBBinit_board_1: # loopexit.1
> imul %EDX, %ECX, 7
> mov BYTE PTR [%EAX + %EDX], 46
> mov BYTE PTR [%EAX + %EDX + 1], 46
> mov BYTE PTR [%EAX + %EDX + 2], 46
> mov BYTE PTR [%EAX + %EDX + 3], 46
> mov BYTE PTR [%EAX + %EDX + 4], 46
>...
2005 Feb 22
0
[LLVMdev] Area for improvement
...hing is left but a bunch of movb
>>> instructions. Much, much faster.
>>
>>
>> For the record, instead of the ugly code above, the new isel generates:
>>
>> init_board:
>> mov %EAX, DWORD PTR [%ESP + 4]
>> mov %ECX, 0
>> .LBBinit_board_1: # loopexit.1
>> imul %EDX, %ECX, 7
>> mov BYTE PTR [%EAX + %EDX], 46
>> mov BYTE PTR [%EAX + %EDX + 1], 46
>> mov BYTE PTR [%EAX + %EDX + 2], 46
>> mov BYTE PTR [%EAX + %EDX + 3], 46
>> mov BYTE PTR [%EAX + %...
2005 Feb 22
0
[LLVMdev] Area for improvement
...the following X86 code:
>
> .text
> .align 16
> .globl init_board
> .type init_board, @function
> init_board:
> subl $4, %esp
> movl %esi, (%esp)
> movl 8(%esp), %eax
> movl $0, %ecx
> .LBBinit_board_1: # loopexit.1
> imull $7, %ecx, %edx
> movl %eax, %esi
> addl %edx, %esi
> movb $46, (%esi)
> imull $7, %ecx, %edx
> movl %eax, %esi
> addl %edx, %esi
> leal 1(%esi), %edx
> movb $46, (%edx)
>...