View Revisions: Issue #35701

Summary 0035701: [Test] Test "tests/webtbs/tw13294" is possibly invalid
Revision 2019-06-18 04:24 by J. Gareth Moreton
Description The test specified checks to see if MOVD works properly when using XMM registers. However, the variable that it is reading and writing to is 64-bit, whereas MOVD specifically handles 32-bit data (it's in the "D" in the mnemonic). As thus, when the patches from 0035700 are applied, the test fails to compile on both i386 and x86_64 with the following errors:

tw13294.pp(12,7) Error: Asm: [movd reg??,mem64] invalid combination of opcode and operands
tw13294.pp(13,7) Error: Asm: [movd mem64,reg??] invalid combination of opcode and operands

This, in my eyes, is a correct failure, since the variables are of type Int64. Given the nature of the test, either it needs to be rewritten to use LongInts, or new variables of type LongInt map onto a and b using "absolute", and those passed into the assembler blocks. It's also indictive of a possible test bug anyway because the upper 32 bits of b may not be initialised.
Revision 2019-06-10 22:51 by J. Gareth Moreton
Description The test specified checks to see if MOVD works properly when using XMM registers. However, the variable that it is reading and writing to is 64-bit, whereas MOVD specifically handles 32-bit data (it's in the "D" in the mnemonic). As thus, when the patches from 0035700 are applied, the test fails to compile on both i386 and x86_64 with the following errors:

tw13294.pp(12,7) Error: Asm: [movd reg??,mem64] invalid combination of opcode and operands
tw13294.pp(13,7) Error: Asm: [movd mem64,reg??] invalid combination of opcode and operands

This, in my eyes, is a correct failure, given the variables are of type Int64. Given the nature of the test, either it needs to be rewritten to use LongInts, or new variables of type LongInt map onto a and b using "absolute", and those passed into the assembler blocks. It's also indictive of a possible test bug anyway because the upper 32 bits of b may not be initialised anyway.