From: Cyrill G. <gor...@gm...> - 2013-08-28 10:50:33
|
On Wed, Aug 28, 2013 at 10:33:19AM +0000, Song, Jin Kyu wrote: > > > > Why you've changed flags here and a couple of other places? > > > > > > The reason is actually written in the commit message. "Since they are > > not bit masks, only one > > > instruction set is allowed for each instruction." So both SSE and MMX > > could not be set for > > > one instruction. As nasm64developer mentioned in his email, this may not > > be a proper way > > > to expand and define bits for instruction sets. And it needs a major > > restructuring of > > > instruction flags not a simple fix of increasing data type size. > > > > Yes, feature flag is broken, i know. Can't such change affect existing > > code? > > I thought this would not affect existing code because these feature flags were > set to zero until now. The only place using this flag I could find was > 'preferred disasm' part. So I slightly modified the mask bits to make it > compatible with that part of code. > > Please correct me if I am wrong since I do not think I fully understood > the whole code history of NASM. Yup, sorry for warning, it were all zeros previously, but still I think what we need here is - fix this 64 bitfield to generic bitmap (I've it in my todo list, actually for too long alredy :-) - keep all IF_ flags you don't need at moment to zeros but change IF_ value for those instructions which you need to distinguish in avx512 sake, nothing else. Once generic bitmaps will be ready we simply update all IF_ flags to have different bits set and this resolve all problems, no? |