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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
/* $Id: tstIEMAImplDataSseBinary.S $ */
/** @file
* tstIEMAImplDataSseBinary - Test data for SSE binary instructions.
*/
/*
* Copyright (C) 2022-2023 Oracle and/or its affiliates.
*
* This file is part of VirtualBox base platform packages, as
* available from https://www.virtualbox.org.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, in version 3 of the
* License.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <https://www.gnu.org/licenses>.
*
* SPDX-License-Identifier: GPL-3.0-only
*/
#ifdef RT_OS_DARWIN
# define NAME(a_Name) _##a_Name
#else
# define NAME(a_Name) a_Name
#endif
#ifdef RT_OS_DARWIN
.section __TEXT,__const
#else
.section __TEXT
#endif
.macro IEM_TEST_DATA a_Instr, a_szDataFile
.p2align 6
.globl NAME(g_aTests_\a_Instr)
NAME(g_aTests_\a_Instr):
.incbin "\a_szDataFile"
NAME(g_aTests_end_\a_Instr):
#ifdef ASM_FORMAT_ELF
.size NAME(g_aTests_\a_Instr), . - NAME(g_aTests_\a_Instr)
.type NAME(g_aTests_\a_Instr), object
#endif
.p2align 2
.globl NAME(g_cbTests_\a_Instr)
NAME(g_cbTests_\a_Instr):
.int NAME(g_aTests_end_\a_Instr) - NAME(g_aTests_\a_Instr)
#ifdef ASM_FORMAT_ELF
.size NAME(g_cbTests_\a_Instr), 4
.type NAME(g_cbTests_\a_Instr), object
#endif
.endm
IEM_TEST_DATA addps_u128, "tstIEMAImplDataSseBinary-addps_u128.bin"
IEM_TEST_DATA mulps_u128, "tstIEMAImplDataSseBinary-mulps_u128.bin"
IEM_TEST_DATA subps_u128, "tstIEMAImplDataSseBinary-subps_u128.bin"
IEM_TEST_DATA minps_u128, "tstIEMAImplDataSseBinary-minps_u128.bin"
IEM_TEST_DATA divps_u128, "tstIEMAImplDataSseBinary-divps_u128.bin"
IEM_TEST_DATA maxps_u128, "tstIEMAImplDataSseBinary-maxps_u128.bin"
IEM_TEST_DATA haddps_u128, "tstIEMAImplDataSseBinary-haddps_u128.bin"
IEM_TEST_DATA hsubps_u128, "tstIEMAImplDataSseBinary-hsubps_u128.bin"
IEM_TEST_DATA sqrtps_u128, "tstIEMAImplDataSseBinary-sqrtps_u128.bin"
IEM_TEST_DATA addsubps_u128, "tstIEMAImplDataSseBinary-addsubps_u128.bin"
IEM_TEST_DATA cvtps2pd_u128, "tstIEMAImplDataSseBinary-cvtps2pd_u128.bin"
IEM_TEST_DATA addss_u128_r32, "tstIEMAImplDataSseBinary-addss_u128_r32.bin"
IEM_TEST_DATA mulss_u128_r32, "tstIEMAImplDataSseBinary-mulss_u128_r32.bin"
IEM_TEST_DATA subss_u128_r32, "tstIEMAImplDataSseBinary-subss_u128_r32.bin"
IEM_TEST_DATA minss_u128_r32, "tstIEMAImplDataSseBinary-minss_u128_r32.bin"
IEM_TEST_DATA divss_u128_r32, "tstIEMAImplDataSseBinary-divss_u128_r32.bin"
IEM_TEST_DATA maxss_u128_r32, "tstIEMAImplDataSseBinary-maxss_u128_r32.bin"
IEM_TEST_DATA cvtss2sd_u128_r32, "tstIEMAImplDataSseBinary-cvtss2sd_u128_r32.bin"
IEM_TEST_DATA sqrtss_u128_r32, "tstIEMAImplDataSseBinary-sqrtss_u128_r32.bin"
IEM_TEST_DATA addpd_u128, "tstIEMAImplDataSseBinary-addpd_u128.bin"
IEM_TEST_DATA mulpd_u128, "tstIEMAImplDataSseBinary-mulpd_u128.bin"
IEM_TEST_DATA subpd_u128, "tstIEMAImplDataSseBinary-subpd_u128.bin"
IEM_TEST_DATA minpd_u128, "tstIEMAImplDataSseBinary-minpd_u128.bin"
IEM_TEST_DATA divpd_u128, "tstIEMAImplDataSseBinary-divpd_u128.bin"
IEM_TEST_DATA maxpd_u128, "tstIEMAImplDataSseBinary-maxpd_u128.bin"
IEM_TEST_DATA haddpd_u128, "tstIEMAImplDataSseBinary-haddpd_u128.bin"
IEM_TEST_DATA hsubpd_u128, "tstIEMAImplDataSseBinary-hsubpd_u128.bin"
IEM_TEST_DATA sqrtpd_u128, "tstIEMAImplDataSseBinary-sqrtpd_u128.bin"
IEM_TEST_DATA addsubpd_u128, "tstIEMAImplDataSseBinary-addsubpd_u128.bin"
IEM_TEST_DATA cvtpd2ps_u128, "tstIEMAImplDataSseBinary-cvtpd2ps_u128.bin"
IEM_TEST_DATA addsd_u128_r64, "tstIEMAImplDataSseBinary-addsd_u128_r64.bin"
IEM_TEST_DATA mulsd_u128_r64, "tstIEMAImplDataSseBinary-mulsd_u128_r64.bin"
IEM_TEST_DATA subsd_u128_r64, "tstIEMAImplDataSseBinary-subsd_u128_r64.bin"
IEM_TEST_DATA minsd_u128_r64, "tstIEMAImplDataSseBinary-minsd_u128_r64.bin"
IEM_TEST_DATA divsd_u128_r64, "tstIEMAImplDataSseBinary-divsd_u128_r64.bin"
IEM_TEST_DATA maxsd_u128_r64, "tstIEMAImplDataSseBinary-maxsd_u128_r64.bin"
IEM_TEST_DATA cvtsd2ss_u128_r64, "tstIEMAImplDataSseBinary-cvtsd2ss_u128_r64.bin"
IEM_TEST_DATA sqrtsd_u128_r64, "tstIEMAImplDataSseBinary-sqrtsd_u128_r64.bin"
IEM_TEST_DATA cvttsd2si_i32_r64, "tstIEMAImplDataSseBinary-cvttsd2si_i32_r64.bin"
IEM_TEST_DATA cvtsd2si_i32_r64, "tstIEMAImplDataSseBinary-cvtsd2si_i32_r64.bin"
IEM_TEST_DATA cvttsd2si_i64_r64, "tstIEMAImplDataSseBinary-cvttsd2si_i64_r64.bin"
IEM_TEST_DATA cvtsd2si_i64_r64, "tstIEMAImplDataSseBinary-cvtsd2si_i64_r64.bin"
IEM_TEST_DATA cvttss2si_i32_r32, "tstIEMAImplDataSseBinary-cvttss2si_i32_r32.bin"
IEM_TEST_DATA cvtss2si_i32_r32, "tstIEMAImplDataSseBinary-cvtss2si_i32_r32.bin"
IEM_TEST_DATA cvttss2si_i64_r32, "tstIEMAImplDataSseBinary-cvttss2si_i64_r32.bin"
IEM_TEST_DATA cvtss2si_i64_r32, "tstIEMAImplDataSseBinary-cvtss2si_i64_r32.bin"
IEM_TEST_DATA cvtsi2ss_r32_i32, "tstIEMAImplDataSseBinary-cvtsi2ss_r32_i32.bin"
IEM_TEST_DATA cvtsi2ss_r32_i64, "tstIEMAImplDataSseBinary-cvtsi2ss_r32_i64.bin"
IEM_TEST_DATA cvtsi2sd_r64_i32, "tstIEMAImplDataSseBinary-cvtsi2sd_r64_i32.bin"
IEM_TEST_DATA cvtsi2sd_r64_i64, "tstIEMAImplDataSseBinary-cvtsi2sd_r64_i64.bin"
IEM_TEST_DATA ucomiss_u128, "tstIEMAImplDataSseCompare-ucomiss_u128.bin"
IEM_TEST_DATA vucomiss_u128, "tstIEMAImplDataSseCompare-vucomiss_u128.bin"
IEM_TEST_DATA comiss_u128, "tstIEMAImplDataSseCompare-comiss_u128.bin"
IEM_TEST_DATA vcomiss_u128, "tstIEMAImplDataSseCompare-vcomiss_u128.bin"
IEM_TEST_DATA ucomisd_u128, "tstIEMAImplDataSseCompare-ucomisd_u128.bin"
IEM_TEST_DATA vucomisd_u128, "tstIEMAImplDataSseCompare-vucomisd_u128.bin"
IEM_TEST_DATA comisd_u128, "tstIEMAImplDataSseCompare-comisd_u128.bin"
IEM_TEST_DATA vcomisd_u128, "tstIEMAImplDataSseCompare-vcomisd_u128.bin"
IEM_TEST_DATA cmpps_u128, "tstIEMAImplDataSseCompare-cmpps_u128.bin"
IEM_TEST_DATA cmpss_u128, "tstIEMAImplDataSseCompare-cmpss_u128.bin"
IEM_TEST_DATA cmppd_u128, "tstIEMAImplDataSseCompare-cmppd_u128.bin"
IEM_TEST_DATA cmpsd_u128, "tstIEMAImplDataSseCompare-cmpsd_u128.bin"
IEM_TEST_DATA cvtdq2ps_u128, "tstIEMAImplDataSseConvert-cvtdq2ps_u128.bin"
IEM_TEST_DATA cvtps2dq_u128, "tstIEMAImplDataSseConvert-cvtps2dq_u128.bin"
IEM_TEST_DATA cvttps2dq_u128, "tstIEMAImplDataSseConvert-cvttps2dq_u128.bin"
IEM_TEST_DATA cvtdq2pd_u128, "tstIEMAImplDataSseConvert-cvtdq2pd_u128.bin"
IEM_TEST_DATA cvtpd2dq_u128, "tstIEMAImplDataSseConvert-cvtpd2dq_u128.bin"
IEM_TEST_DATA cvttpd2dq_u128, "tstIEMAImplDataSseConvert-cvttpd2dq_u128.bin"
IEM_TEST_DATA cvtpd2pi_u128, "tstIEMAImplDataSseConvert-cvtpd2pi_u128.bin"
IEM_TEST_DATA cvttpd2pi_u128, "tstIEMAImplDataSseConvert-cvttpd2pi_u128.bin"
IEM_TEST_DATA cvtpi2ps_u128, "tstIEMAImplDataSseConvert-cvtpi2ps_u128.bin"
IEM_TEST_DATA cvtpi2pd_u128, "tstIEMAImplDataSseConvert-cvtpi2pd_u128.bin"
IEM_TEST_DATA cvtps2pi_u128, "tstIEMAImplDataSseConvert-cvtps2pi_u128.bin"
IEM_TEST_DATA cvttps2pi_u128, "tstIEMAImplDataSseConvert-cvttps2pi_u128.bin"
|