From: anonymous c. <nas...@us...> - 2013-12-10 02:07:58
|
>>>> The newly added "[foo,bar]" syntax seems to be giving >>>> me trouble with some existing source code. I stand by >>>> what I said before -- I would like to see it gone, in favor >>>> of just the traditional comma-less "[foo+bar]" syntax. >>> >>> Could you give an example, perhaps? >> >> I haven't had a chance yet to track it down -- all I know >> for now is that something fails as soon as that change >> is in the tree. > > We'd really like something concrete here... it is almost impossible to > judge the importance of this without seeing something. After a lot of digging, I narrowed down the first problem. Here is an abstract example: | 1 bits 32 | 2 | 3 %define smac2(x,y) x,y | 4 %define smac3(x,y,z) x,y,z | 5 | 6 00000000 0F1A043E bndldx smac2(bnd0,[esi+edi]) | 7 00000004 0F1A043E bndldx smac3(bnd0,[esi,edi]) ; requires 3-arg smac | 8 00000008 0F1A043E bndldx smac2(bnd0,{[esi,edi]}) ; or explicit {...} Note that I said "first problem"... because even with that one "addressed" I am still seeing some other problem. I do not yet know what is causing that one though -- more work will be required. I really see no good reason at all for the comma syntax. Oh, and while we are at the topic of how painful MPX is, you need to preclude rIP-relative addressing for BNDMK, as well as BNDLDX and BNDSTX -- the spec says #UD. Which really ruins the whole prior NOP behavior too. :-( |