VirtualBox

source: vbox/trunk/src/VBox/Disassembler/testcase/tstAsm3DNow-1.asm

Last change on this file was 98103, checked in by vboxsync, 17 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1; $Id: tstAsm3DNow-1.asm 98103 2023-01-17 14:15:46Z vboxsync $
2;; @file
3; Disassembly testcase - 3DNow!
4;
5
6;
7; Copyright (C) 2008-2023 Oracle and/or its affiliates.
8;
9; This file is part of VirtualBox base platform packages, as
10; available from https://www.virtualbox.org.
11;
12; This program is free software; you can redistribute it and/or
13; modify it under the terms of the GNU General Public License
14; as published by the Free Software Foundation, in version 3 of the
15; License.
16;
17; This program is distributed in the hope that it will be useful, but
18; WITHOUT ANY WARRANTY; without even the implied warranty of
19; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20; General Public License for more details.
21;
22; You should have received a copy of the GNU General Public License
23; along with this program; if not, see <https://www.gnu.org/licenses>.
24;
25; SPDX-License-Identifier: GPL-3.0-only
26;
27
28%include "tstAsm.mac"
29
30 BITS TEST_BITS
31
32 pavgusb mm1, mm0
33 pf2id mm5, mm4
34 pf2iw mm6, mm3
35 pfacc mm7, mm2
36 pfadd mm5, mm4
37 pfcmpeq mm6, mm3
38 pfcmpge mm2, mm7
39 pfcmpgt mm4, mm5
40 pfmax mm3, mm6
41 pfmin mm1, mm0
42 pfmul mm5, mm4
43 pmulhrwa mm3, mm6
44 pfnacc mm4, mm5
45 pfpnacc mm3, mm6
46 pfrcp mm0, mm1
47 pfrcpit1 mm2, mm7
48 pfrcpit2 mm4, mm5
49 pfrsqrt mm7, mm2
50 pfrsqit1 mm1, mm0
51 pfsub mm6, mm3
52 pfsubr mm0, mm1
53 pi2fd mm7, mm2
54 pi2fw mm0, mm1
55 pswapd mm2, mm7
56
57%if TEST_BITS == 16
58 %define SIB(extra)
59 %define SIB(extra)
60%else
61 %define SIB(extra) extra
62%endif
63 pf2id mm5, qword [ds:xSI SIB(+000101010h)]
64 pf2iw mm6, qword [fs:xSI SIB(+000101010h)]
65 pfacc mm7, qword [gs:xSI SIB(+000101010h)]
66 pfadd mm5, qword [ xSI SIB(+000101010h)]
67 pfcmpeq mm6, qword [ xDI SIB(*8+000101010h)]
68 pfcmpge mm2, qword [es:xSI SIB(+000100010h)]
69 pfcmpgt mm4, qword [es:xSI SIB(+000101010h)]
70 pfmax mm3, qword [es:xSI SIB(+000101010h)]
71 pfmin mm1, qword [es:xSI SIB(+000101010h)]
72 pfmul mm5, qword [es:xSI SIB(+000101000h)]
73 pfrcpit1 mm2, qword [es:xBP SIB(+000101510h)]
74%if TEST_BITS != 16
75 pavgusb mm1, qword [es:xAX SIB(+000000010h)]
76 pfpnacc mm3, qword [es:xDX SIB(+000102900h)]
77 pfrcp mm0, qword [es:xCX SIB(+000101020h)]
78 pmulhrwa mm3, qword [es:xAX SIB(+0ffffffffh)]
79 pfrcpit2 mm4, qword [es:xSP SIB(+000101310h)]
80%endif
81 pfnacc mm4, qword [es:xBX SIB(+000101010h)]
82 pfrsqrt mm7, qword [es:xSI SIB(+0f0106010h)]
83 pfrsqit1 mm1, qword [es:xDI SIB(+0001f1010h)]
84 pfsub mm6, qword [es:xSI SIB(*2)]
85 pfsubr mm0, qword [es:xSI SIB(*3)]
86 pi2fd mm7, qword [es:xSI SIB(*4)]
87 pi2fw mm0, qword [es:xSI SIB(*5)]
88 pswapd mm2, qword [es:xSI SIB(*8)]
89
90 pmulhrwa mm0, qword [ds:xBP SIB(+xDI*8+00f000001h)]
91
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use