rsqrtss: Compiler wronly warns about wrong memory operand size
Original Reporter info from Mantis: Ewald
-
Reporter name:
Original Reporter info from Mantis: Ewald
- Reporter name:
Description:
When compiling this (AT&T syntax):
=== code start ===
Function Fast_ReciprocalSquareRoot(number: Single): Single;
Begin
Asm
RSQRTSS number, %xmm0
MOVLPS %xmm0, __Result
End ['xmm0'];
End;
=== code end ===
The compiler warns me: Warning: Check size of memory operand "rsqrtss: memory-operand-size is 32 bits, but expected [128 bits]"
.
This warning should not be, as the memory operand of RSQRTSS is only 32 bits wide, according to page 3-619 of the Intel Architecture Software Developer's Manual, volume 2: Instruction Set Reference.
For ease of reference, this page says the same as the mentioned manual: http://www.jaist.ac.jp/iscenter-new/mpc/altix/altixdata/opt/intel/vtune/doc/users_guide/mergedProjects/analyzer_ec/mergedProjects/reference_olh/mergedProjects/instructions/instruct32_hh/vc281.htm
Mantis conversion info:
- Mantis ID: 26791
- Build: 28331