* use variables of correct size with movd (test checks whether movd only

reads 32 bit even when destination is xmm register) (mantis #35701,
    as noted by J. Gareth Moreton)

git-svn-id: trunk@42268 -
This commit is contained in:
Jonas Maebe 2019-06-22 13:31:02 +00:00
parent 67172ef705
commit fb387da807

View File

@ -6,14 +6,17 @@ program movdtest;
var
a: int64 = 128133443 or (int64(123455) shl 32);
b: int64;
al: longint absolute a;
bl: longint absolute b;
begin
b:=0;
asm
{$ifdef cpui386}
movd a, %xmm0
movd %xmm0, b
movd al, %xmm0
movd %xmm0, bl
{$else}
movd a(%rip), %xmm0
movd %xmm0, b(%rip)
movd al(%rip), %xmm0
movd %xmm0, bl(%rip)
{$endif}
end;
if b<>128133443 then