OLD | NEW |
1 # Copyright 2009-2012 Free Software Foundation, Inc. | 1 # Copyright 2009-2012 Free Software Foundation, Inc. |
2 | 2 |
3 # This program is free software; you can redistribute it and/or modify | 3 # This program is free software; you can redistribute it and/or modify |
4 # it under the terms of the GNU General Public License as published by | 4 # it under the terms of the GNU General Public License as published by |
5 # the Free Software Foundation; either version 3 of the License, or | 5 # the Free Software Foundation; either version 3 of the License, or |
6 # (at your option) any later version. | 6 # (at your option) any later version. |
7 # | 7 # |
8 # This program is distributed in the hope that it will be useful, | 8 # This program is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 # GNU General Public License for more details. | 11 # GNU General Public License for more details. |
12 # | 12 # |
13 # You should have received a copy of the GNU General Public License | 13 # You should have received a copy of the GNU General Public License |
14 # along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
15 | 15 |
16 # This file is part of the gdb testsuite. | 16 # This file is part of the gdb testsuite. |
17 | 17 |
18 # | 18 # |
19 # This test tests some i386 general instructions for reverse execution. | 19 # This test tests some i386 general instructions for reverse execution. |
20 # | 20 # |
21 | 21 |
22 if ![supports_reverse] { | 22 if ![supports_reverse] { |
23 return | 23 return |
24 } | 24 } |
25 | 25 |
26 if $tracelevel { | |
27 strace $tracelevel | |
28 } | |
29 | |
30 | 26 |
31 if ![istarget "*86*-*linux*"] then { | 27 if ![istarget "*86*-*linux*"] then { |
32 verbose "Skipping i386 reverse tests." | 28 verbose "Skipping i386 reverse tests." |
33 return | 29 return |
34 } | 30 } |
35 | 31 |
36 set testfile "i386-sse-reverse" | 32 standard_testfile |
37 set srcfile ${testfile}.c | |
38 set binfile ${objdir}/${subdir}/${testfile} | |
39 | 33 |
40 # some targets have leading underscores on assembly symbols. | 34 # some targets have leading underscores on assembly symbols. |
41 set additional_flags [gdb_target_symbol_prefix_flags] | 35 set additional_flags [gdb_target_symbol_prefix_flags] |
42 | 36 |
43 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list
debug $additional_flags]] != "" } { | 37 if {[prepare_for_testing $testfile.exp $testfile $srcfile \ |
44 untested i386-sse-reverse | 38 » [list debug $additional_flags]]} { |
45 return -1 | 39 return -1 |
46 } | 40 } |
47 | 41 |
48 set end_of_main [gdb_get_line_number " end of main "] | 42 set end_of_main [gdb_get_line_number " end of main "] |
49 set end_sse_test [gdb_get_line_number " end sse_test "] | 43 set end_sse_test [gdb_get_line_number " end sse_test "] |
| 44 set end_ssse3_test [gdb_get_line_number " end ssse3_test "] |
50 set end_sse4_test [gdb_get_line_number " end sse4_test "] | 45 set end_sse4_test [gdb_get_line_number " end sse4_test "] |
51 | 46 |
52 # Get things started. | |
53 | |
54 gdb_exit | |
55 gdb_start | |
56 gdb_reinitialize_dir $srcdir/$subdir | |
57 gdb_load ${binfile} | |
58 runto main | 47 runto main |
59 | 48 |
60 if [supports_process_record] { | 49 if [supports_process_record] { |
61 # Activate process record/replay | 50 # Activate process record/replay |
62 gdb_test_no_output "record" "Turn on process record" | 51 gdb_test_no_output "record" "Turn on process record" |
63 } | 52 } |
64 | 53 |
65 global hex | 54 global hex |
66 global decimal | 55 global decimal |
67 | 56 |
68 #sse_test | 57 #sse_test |
69 | 58 |
70 gdb_test "break $end_sse_test" \ | 59 gdb_test "break $end_sse_test" \ |
71 "Breakpoint $decimal at .* line $end_sse_test\." \ | 60 "Breakpoint $decimal at .* line $end_sse_test\." \ |
72 "set breakpoint at end of sse_test" | 61 "set breakpoint at end of sse_test" |
73 | 62 |
74 gdb_test "continue" \ | 63 set test "continue to end of sse_test" |
75 " end sse_test .*" \ | 64 gdb_test_multiple "continue" $test { |
76 "continue to end of sse_test" | 65 -re " end sse_test .*\r\n$gdb_prompt $" { |
| 66 » pass $test |
| 67 } |
| 68 -re " Illegal instruction.*\r\n$gdb_prompt $" { |
| 69 » untested i386-sse-reverse |
| 70 » return -1 |
| 71 } |
| 72 } |
77 | 73 |
78 gdb_test "reverse-step" "xorps.*" "reverse-step to xorps" | 74 gdb_test "reverse-step" "xorps.*" "reverse-step to xorps" |
79 | 75 |
80 gdb_test "info register xmm0" \ | 76 gdb_test "info register xmm0" \ |
81 "xmm0 .*uint128 = 0x7f007f007fff7fff7f007f007fff7fff.*" \ | 77 "xmm0 .*uint128 = 0xf000c00080008000f800c00080008000.*" \ |
82 "verify xmm0 at end of sse_test" | 78 "verify xmm0 at end of sse_test" |
83 | 79 |
84 gdb_test "info register xmm1" \ | 80 gdb_test "info register xmm1" \ |
85 "xmm1 .*uint128 = 0x00ff00ff0000000000ff00ff00000000.*" \ | 81 "xmm1 .*uint128 = 0x70004000000000007800400000000000.*" \ |
86 "verify xmm1 at end of sse_test" | 82 "verify xmm1 at end of sse_test" |
87 | 83 |
88 gdb_test "info register xmm2" \ | 84 gdb_test "info register xmm2" \ |
89 "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \ | 85 "xmm2 .*uint128 = 0xf000c000f800c000f000c000f000c000.*" \ |
90 "verify xmm2 at end of sse_test" | 86 "verify xmm2 at end of sse_test" |
91 | 87 |
92 gdb_test "reverse-step" "xorpd.*" "reverse-step to xorpd" | 88 gdb_test "reverse-step" "xorpd.*" "reverse-step to xorpd" |
93 | 89 |
94 gdb_test "info register xmm0" \ | 90 gdb_test "info register xmm0" \ |
95 "xmm0 .*uint128 = 0x7f007f007fff7fff7f007f007fff7fff.*" \ | 91 "xmm0 .*uint128 = 0xf000c00080008000f800c00080008000.*" \ |
96 "verify xmm0 after reverse xorps" | 92 "verify xmm0 after reverse xorps" |
97 | 93 |
98 gdb_test "info register xmm1" \ | 94 gdb_test "info register xmm1" \ |
99 "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \ | 95 "xmm1 .*uint128 = 0x80008000800080008000800080008000.*" \ |
100 "verify xmm1 after reverse xorps" | 96 "verify xmm1 after reverse xorps" |
101 | 97 |
102 gdb_test "info register xmm2" \ | 98 gdb_test "info register xmm2" \ |
103 "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \ | 99 "xmm2 .*uint128 = 0xf000c000f800c000f000c000f000c000.*" \ |
104 "verify xmm2 after reverse xorps" | 100 "verify xmm2 after reverse xorps" |
105 | 101 |
106 gdb_test "reverse-step" "unpckhps.*" "reverse-step to unpckhps" | 102 gdb_test "reverse-step" "unpckhps.*" "reverse-step to unpckhps" |
107 | 103 |
108 gdb_test "info register xmm0" \ | 104 gdb_test "info register xmm0" \ |
109 "xmm0 .*uint128 = 0x7fff7fff7fff7fff0108000001400000.*" \ | 105 "xmm0 .*uint128 = 0x8000800080008000fff00000ffc00000.*" \ |
110 "verify xmm0 after reverse xorpd" | 106 "verify xmm0 after reverse xorpd" |
111 | 107 |
112 gdb_test "info register xmm1" \ | 108 gdb_test "info register xmm1" \ |
113 "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \ | 109 "xmm1 .*uint128 = 0x80008000800080008000800080008000.*" \ |
114 "verify xmm1 after reverse xorpd" | 110 "verify xmm1 after reverse xorpd" |
115 | 111 |
116 gdb_test "info register xmm2" \ | 112 gdb_test "info register xmm2" \ |
117 "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \ | 113 "xmm2 .*uint128 = 0xf000c000f800c000f000c000f000c000.*" \ |
118 "verify xmm2 after reverse xorpd" | 114 "verify xmm2 after reverse xorpd" |
119 | 115 |
120 gdb_test "reverse-step" "unpckhpd.*" "reverse-step to unpckhpd" | 116 gdb_test "reverse-step" "unpckhpd.*" "reverse-step to unpckhpd" |
121 | 117 |
122 gdb_test "info register xmm0" \ | 118 gdb_test "info register xmm0" \ |
123 "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \ | 119 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ |
124 "verify xmm0 after reverse unpckhps" | 120 "verify xmm0 after reverse unpckhps" |
125 | 121 |
126 gdb_test "info register xmm1" \ | 122 gdb_test "info register xmm1" \ |
127 "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \ | 123 "xmm1 .*uint128 = 0x80008000800080008000800080008000.*" \ |
128 "verify xmm1 after reverse unpckhps" | 124 "verify xmm1 after reverse unpckhps" |
129 | 125 |
130 gdb_test "info register xmm2" \ | 126 gdb_test "info register xmm2" \ |
131 "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \ | 127 "xmm2 .*uint128 = 0xf000c000f800c000f000c000f000c000.*" \ |
132 "verify xmm2 after reverse unpckhps" | 128 "verify xmm2 after reverse unpckhps" |
133 | 129 |
134 gdb_test "reverse-step" "ucomiss.*" "reverse-step to ucomiss" | 130 gdb_test "reverse-step" "ucomiss.*" "reverse-step to ucomiss" |
135 | 131 |
136 gdb_test "info register xmm0" \ | 132 gdb_test "info register xmm0" \ |
137 "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \ | 133 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ |
138 "verify xmm0 after reverse unpckhpd" | 134 "verify xmm0 after reverse unpckhpd" |
139 | 135 |
140 gdb_test "info register xmm1" \ | 136 gdb_test "info register xmm1" \ |
141 "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \ | 137 "xmm1 .*uint128 = 0x80008000800080008000800080008000.*" \ |
142 "verify xmm1 after reverse unpckhpd" | 138 "verify xmm1 after reverse unpckhpd" |
143 | 139 |
144 gdb_test "info register xmm2" \ | 140 gdb_test "info register xmm2" \ |
145 "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \ | 141 "xmm2 .*uint128 = 0xf000c000f800c000f000c000f000c000.*" \ |
146 "verify xmm2 after reverse unpckhpd" | 142 "verify xmm2 after reverse unpckhpd" |
147 | 143 |
148 gdb_test "reverse-step" "ucomisd.*" "reverse-step to ucomisd" | 144 gdb_test "reverse-step" "ucomisd.*" "reverse-step to ucomisd" |
149 | 145 |
150 gdb_test "info register xmm0" \ | 146 gdb_test "info register xmm0" \ |
151 "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \ | 147 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ |
152 "verify xmm0 after reverse ucomiss" | 148 "verify xmm0 after reverse ucomiss" |
153 | 149 |
154 gdb_test "info register xmm1" \ | 150 gdb_test "info register xmm1" \ |
155 "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \ | 151 "xmm1 .*uint128 = 0x80008000800080008000800080008000.*" \ |
156 "verify xmm1 after reverse ucomiss" | 152 "verify xmm1 after reverse ucomiss" |
157 | 153 |
158 gdb_test "info register xmm2" \ | 154 gdb_test "info register xmm2" \ |
159 "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \ | 155 "xmm2 .*uint128 = 0xf000c000f800c000f000c000f000c000.*" \ |
160 "verify xmm2 after reverse ucomiss" | 156 "verify xmm2 after reverse ucomiss" |
161 | 157 |
162 gdb_test "reverse-step" "packssdw.*" "reverse-step to packssdw" | 158 gdb_test "reverse-step" "packssdw.*" "reverse-step to packssdw" |
163 | 159 |
164 gdb_test "info register xmm0" \ | 160 gdb_test "info register xmm0" \ |
165 "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \ | 161 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ |
166 "verify xmm0 after reverse ucomisd" | 162 "verify xmm0 after reverse ucomisd" |
167 | 163 |
168 gdb_test "info register xmm1" \ | 164 gdb_test "info register xmm1" \ |
169 "xmm1 .*uint128 = 0x01080000014000000108000001400000.*" \ | 165 "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \ |
170 "verify xmm1 after reverse ucomisd" | 166 "verify xmm1 after reverse ucomisd" |
171 | 167 |
172 gdb_test "info register xmm2" \ | 168 gdb_test "info register xmm2" \ |
173 "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \ | 169 "xmm2 .*uint128 = 0xf000c000f800c000f000c000f000c000.*" \ |
174 "verify xmm2 after reverse ucomisd" | 170 "verify xmm2 after reverse ucomisd" |
175 | 171 |
176 gdb_test "reverse-step" "packsswb.*" "reverse-step to packsswb" | 172 gdb_test "reverse-step" "packsswb.*" "reverse-step to packsswb" |
177 | 173 |
178 gdb_test "info register xmm0" \ | 174 gdb_test "info register xmm0" \ |
179 "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \ | 175 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ |
180 "verify xmm0 after reverse packssdw" | 176 "verify xmm0 after reverse packssdw" |
181 | 177 |
182 gdb_test "info register xmm1" \ | 178 gdb_test "info register xmm1" \ |
183 "xmm1 .*uint128 = 0x01080000014000000108000001400000.*" \ | 179 "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \ |
184 "verify xmm1 after reverse packssdw" | 180 "verify xmm1 after reverse packssdw" |
185 | 181 |
186 gdb_test "info register xmm2" \ | 182 gdb_test "info register xmm2" \ |
187 "xmm2 .*uint128 = 0x01080000014000000108000001400000.*" \ | 183 "xmm2 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \ |
188 "verify xmm2 after reverse packssdw" | 184 "verify xmm2 after reverse packssdw" |
189 | 185 |
190 gdb_test "reverse-step" "pabsd.*" "reverse-step to pabsd" | 186 gdb_test "reverse-step" "orps.*" "reverse-step to orps" |
191 | 187 |
192 gdb_test "info register xmm0" \ | 188 gdb_test "info register xmm0" \ |
193 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ | 189 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ |
194 "verify xmm0 after reverse packsswb" | 190 "verify xmm0 after reverse packsswb" |
195 | 191 |
196 gdb_test "info register xmm1" \ | 192 gdb_test "info register xmm1" \ |
197 "xmm1 .*uint128 = 0x01080000014000000108000001400000.*" \ | 193 "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \ |
198 "verify xmm1 after reverse packsswb" | 194 "verify xmm1 after reverse packsswb" |
199 | 195 |
200 gdb_test "info register xmm2" \ | 196 gdb_test "info register xmm2" \ |
201 "xmm2 .*uint128 = 0x01080000014000000108000001400000.*" \ | 197 "xmm2 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \ |
202 "verify xmm2 after reverse packsswb" | 198 "verify xmm2 after reverse packsswb" |
203 | 199 |
204 gdb_test "reverse-step" "pabsw.*" "reverse-step to pabsw" | |
205 | |
206 gdb_test "info register xmm0" \ | |
207 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ | |
208 "verify xmm0 after reverse pabsd" | |
209 | |
210 gdb_test "info register xmm1" \ | |
211 "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \ | |
212 "verify xmm1 after reverse pabsd" | |
213 | |
214 gdb_test "info register xmm2" \ | |
215 "xmm2 .*uint128 = 0x01080000014000000108000001400000.*" \ | |
216 "verify xmm2 after reverse pabsd" | |
217 | |
218 gdb_test "reverse-step" "pabsb.*" "reverse-step to pabsb" | |
219 | |
220 gdb_test "info register xmm0" \ | |
221 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ | |
222 "verify xmm0 after reverse pabsw" | |
223 | |
224 gdb_test "info register xmm1" \ | |
225 "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \ | |
226 "verify xmm1 after reverse pabsw" | |
227 | |
228 gdb_test "info register xmm2" \ | |
229 "xmm2 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \ | |
230 "verify xmm2 after reverse pabsw" | |
231 | |
232 gdb_test "reverse-step" "orps.*" "reverse-step to orps" | |
233 | |
234 gdb_test "info register xmm0" \ | |
235 "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \ | |
236 "verify xmm0 after reverse pabsb" | |
237 | |
238 gdb_test "info register xmm1" \ | |
239 "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \ | |
240 "verify xmm1 after reverse pabsb" | |
241 | |
242 gdb_test "info register xmm2" \ | |
243 "xmm2 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \ | |
244 "verify xmm2 after reverse pabsb" | |
245 | |
246 gdb_test "reverse-step" "orpd.*" "reverse-step to orpd" | 200 gdb_test "reverse-step" "orpd.*" "reverse-step to orpd" |
247 | 201 |
248 gdb_test "info register xmm0" \ | 202 gdb_test "info register xmm0" \ |
249 "xmm0 .*uint128 = 0x0000000000000000fff80000ffc00000.*" \ | 203 "xmm0 .*uint128 = 0x0000000000000000fff80000ffc00000.*" \ |
250 "verify xmm0 after reverse orps" | 204 "verify xmm0 after reverse orps" |
251 | 205 |
252 gdb_test "info register xmm1" \ | 206 gdb_test "info register xmm1" \ |
253 "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \ | 207 "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \ |
254 "verify xmm1 after reverse orps" | 208 "verify xmm1 after reverse orps" |
255 | 209 |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 | 569 |
616 gdb_test "info register xmm1" \ | 570 gdb_test "info register xmm1" \ |
617 "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ | 571 "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
618 "verify xmm1 after reverse addps" | 572 "verify xmm1 after reverse addps" |
619 | 573 |
620 gdb_test "info register xmm2" \ | 574 gdb_test "info register xmm2" \ |
621 "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \ | 575 "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \ |
622 "verify xmm2 after reverse addps" | 576 "verify xmm2 after reverse addps" |
623 | 577 |
624 | 578 |
| 579 #ssse3_test |
| 580 |
| 581 gdb_test "continue" \ |
| 582 " end sse_test .*" \ |
| 583 "continue to end of sse_test #2" |
| 584 |
| 585 gdb_test "break $end_ssse3_test" \ |
| 586 "Breakpoint $decimal at .* line $end_ssse3_test\." \ |
| 587 "set breakpoint at end of ssse3_test" |
| 588 |
| 589 set test "continue to end of ssse3_test" |
| 590 gdb_test_multiple "continue" $test { |
| 591 -re " end ssse3_test .*\r\n$gdb_prompt $" { |
| 592 pass $test |
| 593 } |
| 594 -re " Illegal instruction.*\r\n$gdb_prompt $" { |
| 595 untested i386-ssse3-reverse |
| 596 return -1 |
| 597 } |
| 598 } |
| 599 |
| 600 gdb_test "info register xmm0" \ |
| 601 "xmm0 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
| 602 "verify xmm0 at end of ssse3_test" |
| 603 |
| 604 gdb_test "info register xmm1" \ |
| 605 "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
| 606 "verify xmm1 at end of ssse3_test" |
| 607 |
| 608 gdb_test "info register xmm2" \ |
| 609 "xmm2 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
| 610 "verify xmm2 at end of ssse3_test" |
| 611 |
| 612 gdb_test "reverse-step" "pabsd.*" "reverse-step to pabsd" |
| 613 |
| 614 gdb_test "info register xmm0" \ |
| 615 "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \ |
| 616 "verify xmm0 after reverse pabsd" |
| 617 |
| 618 gdb_test "info register xmm1" \ |
| 619 "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
| 620 "verify xmm1 after reverse pabsd" |
| 621 |
| 622 gdb_test "info register xmm2" \ |
| 623 "xmm2 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
| 624 "verify xmm2 after reverse pabsd" |
| 625 |
| 626 gdb_test "reverse-step" "pabsw.*" "reverse-step to pabsw" |
| 627 |
| 628 gdb_test "info register xmm0" \ |
| 629 "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \ |
| 630 "verify xmm0 after reverse pabsw" |
| 631 |
| 632 gdb_test "info register xmm1" \ |
| 633 "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
| 634 "verify xmm1 after reverse pabsw" |
| 635 |
| 636 gdb_test "info register xmm2" \ |
| 637 "xmm2 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
| 638 "verify xmm2 after reverse pabsw" |
| 639 |
| 640 gdb_test "reverse-step" "pabsb.*" "reverse-step to pabsb" |
| 641 |
| 642 gdb_test "info register xmm0" \ |
| 643 "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \ |
| 644 "verify xmm0 after reverse pabsb" |
| 645 |
| 646 gdb_test "info register xmm1" \ |
| 647 "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
| 648 "verify xmm1 after reverse pabsb" |
| 649 |
| 650 gdb_test "info register xmm2" \ |
| 651 "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \ |
| 652 "verify xmm2 after reverse pabsb" |
| 653 |
| 654 |
625 #sse4_test | 655 #sse4_test |
626 | 656 |
627 gdb_test "continue" \ | 657 gdb_test "continue" \ |
628 " end sse_test .*" \ | 658 " end ssse3_test .*" \ |
629 "continue to end of sse_test #2" | 659 "continue to end of ssse3_test #2" |
630 | 660 |
631 gdb_test "break $end_sse4_test" \ | 661 gdb_test "break $end_sse4_test" \ |
632 "Breakpoint $decimal at .* line $end_sse4_test\." \ | 662 "Breakpoint $decimal at .* line $end_sse4_test\." \ |
633 "set breakpoint at end of sse4_test" | 663 "set breakpoint at end of sse4_test" |
634 | 664 |
635 set test "continue to end of sse4_test" | 665 set test "continue to end of sse4_test" |
636 gdb_test_multiple "continue" $test { | 666 gdb_test_multiple "continue" $test { |
637 -re " end sse4_test .*\r\n$gdb_prompt $" { | 667 -re " end sse4_test .*\r\n$gdb_prompt $" { |
638 pass $test | 668 pass $test |
639 } | 669 } |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
691 "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \ | 721 "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \ |
692 "verify xmm0 after reverse blendps" | 722 "verify xmm0 after reverse blendps" |
693 | 723 |
694 gdb_test "info register xmm1" \ | 724 gdb_test "info register xmm1" \ |
695 "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ | 725 "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \ |
696 "verify xmm1 after reverse blendps" | 726 "verify xmm1 after reverse blendps" |
697 | 727 |
698 gdb_test "info register xmm2" \ | 728 gdb_test "info register xmm2" \ |
699 "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \ | 729 "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \ |
700 "verify xmm2 after reverse blendps" | 730 "verify xmm2 after reverse blendps" |
OLD | NEW |