[prev in list] [next in list] [prev in thread] [next in thread] 

List:       llvm-dev
Subject:    Re: [LLVMdev] clang modifying clobbered register in case of inline assembly resulting in data corrup
From:       Eli Friedman <eli.friedman () gmail ! com>
Date:       2012-11-29 9:07:17
Message-ID: CAJdarcGahcKP8qVoqOxLEAxSwJ3RcwGgbvT1woQAzqkAJVRacQ () mail ! gmail ! com
[Download RAW message or body]

On Wed, Nov 28, 2012 at 11:49 PM, Karthik Bhat <karthikthecool@gmail.com> wrote:
> In this case the value of data[0] has got corrupted as clang is not
> honoring clobbered register and stores a different value in $eax.

Not a bug; that isn't how clobbers work.  We don't make any guarantees
about the values of registers between inline asm statements.  If you
need an operand in a particular register, see
http://gcc.gnu.org/onlinedocs/gcc/Local-Reg-Vars.html etc.

-Eli
_______________________________________________
LLVM Developers mailing list
LLVMdev@cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic