February 22, 2008 [Issue 1862] New: asm: [ESI+1*EAX] should be a legal addr mode | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=1862 Summary: asm: [ESI+1*EAX] should be a legal addr mode Product: D Version: 1.025 Platform: PC OS/Version: Windows Status: NEW Severity: minor Priority: P2 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: clugdbug@yahoo.com.au Currently gives a 'bad addr mode' error, eg: asm { movapd XMM1, [ESI+1*EAX]; } It correctly accepts multipliers of 2, 4, 8, and 16, but a multiplier of 1 should be legal. The reason for wanting this is that it allows you to control which register is used for scaling. movapd XMM1, [ESI+EAX] can be encoded as either movapd XMM1, [1*ESI+EAX] or as movapd XMM1, [ESI+1*EAX] This makes a difference when you have a RAT stall caused by reading too many registers in a single clock cycle. -- |
March 07, 2008 [Issue 1862] asm: [ESI+1*EAX] should be a legal addr mode | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1862 bugzilla@digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #1 from bugzilla@digitalmars.com 2008-03-07 00:33 ------- Fixed dmd 1.028 and 2.012 -- |
Copyright © 1999-2021 by the D Language Foundation