site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com On Jun 30, 2008, at 12:26 PM, Clark Cox wrote: On Mon, Jun 30, 2008 at 6:38 AM, J. Aaron Pendergrass <james.pendergrass@jhuapl.edu> wrote: lwz r2,56(r30) addi r2,r2,-8 lwz r9,0(r2) lwz r2,56(r30) addi r0,r2,-4 stw r0,56(r30) lwz r2,56(r30) lwz r0,0(r2) add r0,r9,r0 lwz r2,56(r30) addi r2,r2,-8 stw r0,0(r2) With undefined behavior, there is no such thing as an "odd choice". There is no choice to be made. I'm curious what the motivation is for this particular choice. If you don't know the answer don't respond. _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... I'm aware that this is undefined. I did explicitly say that the C spec leaves this unspecified. But {1,2,7,4} seems like such an odd choice. Especially when looking at the disassembly: which really seems to be going out of its way to implement a fairly unintuitive semantics for this piece of undefined behavior and I was curious what the motivation behind this behavior might be. Of course there's a choice to be made. The compiler has to do something. It chose to do something on powerpc that is completely different from what it chooses to do on other architectures, and on other programs which have very similar undefined usages, and which seemed somewhat unintuitive (in the sense that if I were to define a particular behavior it would not have been the one I observed). This email sent to site_archiver@lists.apple.com