Hi Jeff,> > I notice `lli -print-machineinstrs -x86-asm-syntax=(att|intel)' both > > prefix registers with `%'. Is this right? I thought AT&T did this > > and Intel didn't. The GNU gas manual concurs. > > > > http://www.gnu.org/software/binutils/manual/gas-2.9.1/html_chapter/as_16.html > > The Intel version is just a clone of the AT&T version at this time. > No one has yet taken the time to make it produce actual Intel syntax.It's a long way towards it: # AT&T. # Intel. .text .text .align 16 .align 16 .globl main .globl main .type main, @function main: main: subl $12, %esp sub esp, 12 fnstcw 10(%esp) fnstcw word ptr [esp + 10] movb $2, 11(%esp) mov byte ptr [esp + 11], 2 fldcw 10(%esp) fldcw word ptr [esp + 10] movl 20(%esp), %eax mov eax, dword ptr [esp + 20] movl 4(%eax), %eax mov eax, dword ptr [eax + 4] Just some little bits to go. Cheers, Ralph.
Hi,> It's a long way towards it: > > # AT&T. # Intel. > .text .text > .align 16 .align 16 > .globl main .globl main > .type main, @function > main: main: > subl $12, %esp sub esp, 12 > fnstcw 10(%esp) fnstcw word ptr [esp + 10] > movb $2, 11(%esp) mov byte ptr [esp + 11], 2 > fldcw 10(%esp) fldcw word ptr [esp + 10] > movl 20(%esp), %eax mov eax, dword ptr [esp + 20] > movl 4(%eax), %eax mov eax, dword ptr [eax + 4]Whoops. I've provided my post-processed version of lli's Intel output which, since I removed the `%' and lowered the `DWORD PTR' isn't a good example. Still, you get the gist; there are already significant differences between the two. Cheers, Ralph.
We know. Someone offered to do the Intel version, but did little more than a huge cut and paste of the AT&T version and then lost interest. No one else has had the time or inclination to finish the (barely begun) job. Patches accepted :) Ralph Corderoy wrote:> Hi, > > >> It's a long way towards it: >> >> # AT&T. # Intel. >> .text .text >> .align 16 .align 16 >> .globl main .globl main >> .type main, @function >> main: main: >> subl $12, %esp sub esp, 12 >> fnstcw 10(%esp) fnstcw word ptr [esp + 10] >> movb $2, 11(%esp) mov byte ptr [esp + 11], 2 >> fldcw 10(%esp) fldcw word ptr [esp + 10] >> movl 20(%esp), %eax mov eax, dword ptr [esp + 20] >> movl 4(%eax), %eax mov eax, dword ptr [eax + 4] >> > > Whoops. I've provided my post-processed version of lli's Intel output > which, since I removed the `%' and lowered the `DWORD PTR' isn't a good > example. Still, you get the gist; there are already significant > differences between the two. > > Cheers, > > > Ralph. > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060429/f8fc076a/attachment.html>