| 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 |