mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-06 01:28:04 +02:00
43 lines
891 B
ObjectPascal
43 lines
891 B
ObjectPascal
{ %OPT=-Cg -O2 }
|
|
{ %CPU=x86_64 }
|
|
|
|
{ -Cg and -O2 options together lead to
|
|
the generation of instruction:
|
|
testq $15,U_$P$VECTORCALL_HVA_TEST1_$$_HVA@GOTPCREL(%rip)
|
|
for which the relocation was not correctly generated
|
|
in the internal assembler }
|
|
|
|
program tw38353;
|
|
|
|
{$IFNDEF CPUX86_64}
|
|
{$FATAL This test program can only be compiled on Windows or Linux 64-bit with an Intel processor }
|
|
{$ENDIF}
|
|
|
|
{$ASMMODE Intel}
|
|
{$PUSH}
|
|
{$CODEALIGN RECORDMIN=16}
|
|
{$PACKRECORDS C}
|
|
type
|
|
TM128 = record
|
|
case Byte of
|
|
0: (M128_F32: array[0..3] of Single);
|
|
1: (M128_F64: array[0..1] of Double);
|
|
end;
|
|
{$POP}
|
|
|
|
var
|
|
HVA: TM128;
|
|
|
|
begin
|
|
{$ifdef verbose}
|
|
writeln('@HVA=',hexstr(ptruint(@HVA),2*sizeof(ptruint)));
|
|
{$endif verbose}
|
|
if (PtrUInt(@HVA) and $F) <> 0 then
|
|
begin
|
|
{$ifdef verbose}
|
|
WriteLn('FAIL: HVA is not correctly aligned.');
|
|
{$endif verbose}
|
|
Halt(1);
|
|
end;
|
|
end.
|