[Issue 12164] Function returning ptrdiff_t.min in 64-bit returning 0 when -O is set.

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Mar 31 08:49:26 PDT 2014


https://d.puremagic.com/issues/show_bug.cgi?id=12164



--- Comment #9 from Orvid King <blah38621 at gmail.com> 2014-03-31 08:49:18 PDT ---
(In reply to comment #8)
> One thing I am curious of in that generated code, why is it allocating 16 bytes
> on the stack when it doesn't use the stack? (sub RSP, 0x10) Also, I missing
> something here, but when did parameters start getting passed in ESI and EDI?
> 
> As a bonus question, I have to ask, why are we doing that comparison with cmpsb
> when the size of the values being compared is known to be a multiple of 4, in
> which case, shouldn't we be using cmpsd? (this is quite literally a 4x speed
> improvement, as both instructions have the same cycle count)

I seem to have forgotten about cmpsq, which is available on x64, for the same
cycle count, which would be 8x faster.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list