summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw7719.pp
blob: 0c3a9d9176fbd7191c3ef6fb4d58de1623a90abe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{ %cpu=i386,x86_64 }
{$asmmode intel}
program test;

{$ifdef CPU386}
  {$define USE_MMX_UNIT}
  { I do not know if SSE2 is always true for x86_64
    but mmx unit is i386 specific PM }
{$endif CPU386}

{$ifdef USE_MMX_UNIT}
uses
  mmx;
{$endif USE_MMX_UNIT}

{$APPTYPE CONSOLE}

procedure call_psrldq;
begin
  asm
    psrldq xmm2,4
  end;
end;

begin
{$ifdef USE_MMX_UNIT}
  if not is_sse2_cpu then
    begin
      Writeln('SSE2 extension not supported by CPU');
      Writeln('SSE2 specific code not run');
    end
  else
{$endif USE_MMX_UNIT}
    begin
      Writeln('SSE2 extension supported by CPU');
      call_psrldq;
      Writeln('SSE2 extension code run');
    end;
end.