Author Topic: cvtsi2sd not fully supported  (Read 4486 times)

Yuri

  • Member
  • **
  • Posts: 179
cvtsi2sd not fully supported
« on: July 01, 2013, 02:10:23 PM »
In x64 mode, cvtsi2sd and cvtsi2ss should be able to work with a 64-bit memory operand, but GoAsm rejects the Q type indicator and always encodes them as 32-bit.

wjr

  • Member
  • **
  • Posts: 247
    • WJR's website
Re: cvtsi2sd not fully supported
« Reply #1 on: July 02, 2013, 02:24:30 PM »
Thanks, yes, that one does stray from the rest. I have also disallowed 16-bit registers which were getting through. For 32-bit, no other changes. For /x86, a D[...] type indicator will be required. For /x64, a D or Q[...] (or switched P) type indicator will be required. By requiring a type indicator, I also had to make sure B and W were not getting through (as well as T). This will be in the next GoAsm update once I finish getting the x64 PUSH ADDR issues sorted out...