Ok, right something for you all to try out:
www.terraspace.co.uk/uasm.zip (Windows UASM32, UASM64 2.36pre)
Size based checking for SIMD is in and I had another idea which i've put in too, automatic checking of alignment.
If you use movaps, movapd, movdqa, vmovaps, vmovapd, vmovdqa in conjunction with a variable, it will automatically warn you if the variable is not aligned to 16/32 as per the type of register you are using it with.
IE:
.data
dummy db 1
;.align 16
myVariable dd 1.0, 2.0, 3.0, 4.0
.code
movaps xmm0,myVariable ;emit warning about alignment
The checking with regard to size now doesn't care if you use byte,word,dword,real as long as the total size of the symbol is compatible it will allow it. Un-typed memory references will work as before.
Regards,
John