Author: Slater Wold
Date: 13:45:41 02/15/04
Go up one level in this thread
On February 15, 2004 at 16:29:51, Dann Corbit wrote: >On February 15, 2004 at 16:25:36, Slater Wold wrote: > >>On February 15, 2004 at 16:21:56, Dann Corbit wrote: >> >>>On February 15, 2004 at 16:20:48, Slater Wold wrote: >>> >>>>On February 15, 2004 at 16:10:55, Dann Corbit wrote: >>>> >>>>>On February 15, 2004 at 15:45:02, Slater Wold wrote: >>>>> >>>>>>My setup: >>>>>> >>>>>>AMD FX 51 >>>>>>Windows 2003 Enterprise (64 bit) >>>>>>Intel 8.0 Compiler >>>>>> >>>>>> >>>>>>Why would compiling Crafty 19.10 be 15% slower when defining /DVC_INLINE_ASM & >>>>>>/DUSE_ASSEMBLY? >>>>>> >>>>>>Has anyone else ever seen that? >>>>> >>>>>It may mean that the compiler generated better assembly than you did. >>>>> >>>>>It may also mean that you pulled in the wrong assembly. Old x86 assembly will >>>>>run on the AMD opteron type systems. It is the new stuff that will really be >>>>>snappy. >>>> >>>>ICC doesn't seem to like Bob's assembly code to start off with. >>>> >>>> >>>>vcinline.h(28): warning #1011: missing return statement at end of non-void funct >>>>ion "PopCnt" >>>> } >>>> ^ >>>> >>>>vcinline.h(41): warning #1011: missing return statement at end of non-void funct >>>>ion "FirstOne" >>>> } >>>> ^ >>>> >>>>vcinline.h(54): warning #1011: missing return statement at end of non-void funct >>>>ion "LastOne" >>>> } >>>> ^ >>> >>>Compiler bug. It does not recall that the return is stored in EAX. >>> >>>Print the rest of the routine that it is crying about. I am guessing it is >>>pulling in the wrong assembly. >> >>That's the only thing. I don't know enough about assembly to know what the hell >>is going on. :) > >I don't know where Bob's AMD 64 assembly is. Probably a .s file, since he uses >GCC (or maybe he is using Intel now -- not sure). tst.s? .file "tst.c" .globl ans .data .align 4 .type ans,@object .size ans,4 ans: .long -1 .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "val? " .LC1: .string "%d" .LC2: .string "ans=%d\n" .text .globl main .type main,@function main: pushl %ebp movl %esp, %ebp pushl %edi pushl %esi pushl %ebx subl $12, %esp andl $-16, %esp subl $12, %esp pushl $.LC0 call printf addl $8, %esp leal -24(%ebp), %eax pushl %eax pushl $.LC1 call scanf addl $8, %esp ZZ: Command not found. movl %ebx, %edx #APP xorl %ebx, %ebx testl %edx, %edx jz 2f 1: leal -1(%edx), %eax incl %ebx andl %eax, %edx jnz 1b 2: testl %ecx, %ecx jz 4f 3: leal -1(%ecx), %eax incl %ebx andl %eax, %ecx jnz 3b 4: movl %ebx,ans #NO_APP pushl %ebx pushl $.LC2 call printf addl $8, %esp pushl ans pushl $.LC2 call printf leal -12(%ebp), %esp popl %ebx popl %esi popl %edi leave ret .Lfe1: .size main,.Lfe1-main .ident "GCC: (GNU) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)"
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.