From: Michael Snyder <msnyder@vmware.com>
To: Hui Zhu <teawater@gmail.com>
Cc: Joel Brobecker <brobecker@adacore.com>,
gdb-patches ml <gdb-patches@sourceware.org>
Subject: Re: [RFA/i386] Prec x86 MMX 3DNow! SSE SSE2 SSE3 SSSE3 SSE4 support
Date: Mon, 29 Mar 2010 02:18:00 -0000 [thread overview]
Message-ID: <4BB00DD7.1040608@vmware.com> (raw)
In-Reply-To: <daef60381003280926g37f5b83fteec5fbbcc358af@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 306 bytes --]
One more thing. ;-)
It's not good to have 20 or 30 tests that all report the same pass/fail
message, eg: "verify xmm0". It makes it hard to determine which one is
failing. Therefore we require that each test within a given test file
has a unique output.
Take a look at this and see if you like it:
[-- Attachment #2: i386-sse-reverse.exp --]
[-- Type: text/plain, Size: 22591 bytes --]
# Copyright 2009, 2010 Free Software Foundation, Inc.
# 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; either version 3 of the License, or
# (at your option) any later version.
#
# 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 <http://www.gnu.org/licenses/>.
# This file is part of the gdb testsuite.
#
# This test tests some i386 general instructions for reverse execution.
#
if ![target_info exists gdb,can_reverse] {
return
}
if $tracelevel {
strace $tracelevel
}
set prms_id 0
set bug_id 0
if ![istarget "*86*-*linux*"] then {
verbose "Skipping i386 reverse tests."
return
}
set testfile "i386-sse-reverse"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
# some targets have leading underscores on assembly symbols.
# TODO: detect this automatically
set additional_flags ""
if [istarget "i?86-*-cygwin*"] then {
set additional_flags "additional_flags=-DSYMBOL_PREFIX=\"_\""
}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug $additional_flags]] != "" } {
untested i386-sse-reverse
return -1
}
set end_of_main [gdb_get_line_number " end of main "]
set end_sse_test [gdb_get_line_number " end sse_test "]
# Get things started.
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
runto main
if [target_info exists gdb,use_precord] {
# Activate process record/replay
gdb_test "record" "" "Turn on process record"
# FIXME: command ought to acknowledge, so we can test if it succeeded.
}
global hex
global decimal
gdb_test "break $end_sse_test" \
"Breakpoint $decimal at .* line $end_sse_test\." \
"set breakpoint at end of sse_test"
gdb_test "continue" \
" end sse_test .*" \
"continue to end of sse_test"
gdb_test "reverse-step" "xorps.*" "reverse-step to xorps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x7f7f7f007fff7fff7f7f7f007fff7fff.*" \
"verify xmm0 at end of sse_test"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x008000ff00000000008000ff00000000.*" \
"verify xmm1 at end of sse_test"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x7f7f7f007f7f7f007f7f7f007f7f7f00.*" \
"verify xmm2 at end of sse_test"
gdb_test "reverse-step" "xorpd.*" "reverse-step to xorpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x7f7f7f007fff7fff7f7f7f007fff7fff.*" \
"verify xmm0 after reverse xorps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
"verify xmm1 after reverse xorps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x7f7f7f007f7f7f007f7f7f007f7f7f00.*" \
"verify xmm2 after reverse xorps"
gdb_test "reverse-step" "unpckhps.*" "reverse-step to unpckhps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x7fff7fff7fff7fff0108200001400000.*" \
"verify xmm0 after reverse xorpd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
"verify xmm1 after reverse xorpd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x7f7f7f007f7f7f007f7f7f007f7f7f00.*" \
"verify xmm2 after reverse xorpd"
gdb_test "reverse-step" "unpckhpd.*" "reverse-step to unpckhpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm0 after reverse unpckhps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
"verify xmm1 after reverse unpckhps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x7f7f7f007f7f7f007f7f7f007f7f7f00.*" \
"verify xmm2 after reverse unpckhps"
gdb_test "reverse-step" "ucomiss.*" "reverse-step to ucomiss"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm0 after reverse unpckhpd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
"verify xmm1 after reverse unpckhpd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x7f7f7f007f7f7f007f7f7f007f7f7f00.*" \
"verify xmm2 after reverse unpckhpd"
gdb_test "reverse-step" "ucomisd.*" "reverse-step to ucomisd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm0 after reverse ucomiss"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
"verify xmm1 after reverse ucomiss"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x7f7f7f007f7f7f007f7f7f007f7f7f00.*" \
"verify xmm2 after reverse ucomiss"
gdb_test "reverse-step" "packssdw.*" "reverse-step to packssdw"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm0 after reverse ucomisd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm1 after reverse ucomisd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x7f7f7f007f7f7f007f7f7f007f7f7f00.*" \
"verify xmm2 after reverse ucomisd"
gdb_test "reverse-step" "packsswb.*" "reverse-step to packsswb"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm0 after reverse packssdw"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm1 after reverse packssdw"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm2 after reverse packssdw"
gdb_test "reverse-step" "pabsd.*" "reverse-step to pabsd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xfff02000ffc000008ff03ffeff800000.*" \
"verify xmm0 after reverse packsswb"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm1 after reverse packsswb"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm2 after reverse packsswb"
gdb_test "reverse-step" "pabsw.*" "reverse-step to pabsw"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xfff02000ffc000008ff03ffeff800000.*" \
"verify xmm0 after reverse pabsd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff82000ffc000009ff07ffeff800000.*" \
"verify xmm1 after reverse pabsd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x010820000140000061107f0201800000.*" \
"verify xmm2 after reverse pabsd"
gdb_test "reverse-step" "pabsb.*" "reverse-step to pabsb"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xfff02000ffc000008ff03ffeff800000.*" \
"verify xmm0 after reverse pabsw"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff82000ffc000009ff07ffeff800000.*" \
"verify xmm1 after reverse pabsw"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff00000ffc000008f402ffc80000000.*" \
"verify xmm2 after reverse pabsw"
gdb_test "reverse-step" "orps.*" "reverse-step to orps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xfff02000ffc000008ff03ffeff800000.*" \
"verify xmm0 after reverse pabsb"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff80000ffc000001dd0505c79000000.*" \
"verify xmm1 after reverse pabsb"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff00000ffc000008f402ffc80000000.*" \
"verify xmm2 after reverse pabsb"
gdb_test "reverse-step" "orpd.*" "reverse-step to orpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce802000000000000ef01ffeff800000.*" \
"verify xmm0 after reverse orps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff80000ffc000001dd0505c79000000.*" \
"verify xmm1 after reverse orps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff00000ffc000008f402ffc80000000.*" \
"verify xmm2 after reverse orps"
gdb_test "reverse-step" "mulss.*" "reverse-step to mulss"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce802000000000000ef01ffefe811010.*" \
"verify xmm0 after reverse orpd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff80000ffc000001dd0505c79000000.*" \
"verify xmm1 after reverse orpd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff00000ffc000008f402ffc80000000.*" \
"verify xmm2 after reverse orpd"
gdb_test "reverse-step" "mulsd.*" "reverse-step to mulsd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce802000000000000ef01ffefe811010.*" \
"verify xmm0 after reverse mulss"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff80000ffc00000ce80200000000000.*" \
"verify xmm1 after reverse mulss"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff00000ffc000008f402ffc80000000.*" \
"verify xmm2 after reverse mulss"
gdb_test "reverse-step" "mulps.*" "reverse-step to mulps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce802000000000000ef01ffefe811010.*" \
"verify xmm0 after reverse mulsd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff80000ffc00000ce80200000000000.*" \
"verify xmm1 after reverse mulsd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff0000000000000005ffffe80000000.*" \
"verify xmm2 after reverse mulsd"
gdb_test "reverse-step" "mulpd.*" "reverse-step to mulpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce802000000000000ef01ffefe811010.*" \
"verify xmm0 after reverse mulps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff00000ffc00000ff800000ff800000.*" \
"verify xmm1 after reverse mulps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff0000000000000005ffffe80000000.*" \
"verify xmm2 after reverse mulps"
gdb_test "reverse-step" "divss.*" "reverse-step to divss"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce802000000000000ef01ffefe811010.*" \
"verify xmm0 after reverse mulpd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff00000ffc00000ff800000ff800000.*" \
"verify xmm1 after reverse mulpd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff0000000000000005ffffe01001fe0.*" \
"verify xmm2 after reverse mulpd"
gdb_test "reverse-step" "divsd.*" "reverse-step to divsd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce80200000000000ce80200000000000.*" \
"verify xmm0 after reverse divss"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xfff00000ffc00000ff800000ff800000.*" \
"verify xmm1 after reverse divss"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff0000000000000005ffffe01001fe0.*" \
"verify xmm2 after reverse divss"
gdb_test "reverse-step" "divps.*" "reverse-step to divps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce80200000000000ce80200000000000.*" \
"verify xmm0 after reverse divsd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0000000000000000ff800000ff800000.*" \
"verify xmm1 after reverse divsd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xfff0000000000000005ffffe01001fe0.*" \
"verify xmm2 after reverse divsd"
gdb_test "reverse-step" "divpd.*" "reverse-step to divpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce80200000000000ce80200000000000.*" \
"verify xmm0 after reverse divps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0000000000000000ff800000ff800000.*" \
"verify xmm1 after reverse divps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xbff0000000000000bff0000000000000.*" \
"verify xmm2 after reverse divps"
gdb_test "reverse-step" "cvtpd2ps.*" "reverse-step to cvtpd2ps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0xce80200000000000ce80200000000000.*" \
"verify xmm0 after reverse divpd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xce80200000000000ce80200000000000.*" \
"verify xmm1 after reverse divpd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xbff0000000000000bff0000000000000.*" \
"verify xmm2 after reverse divpd"
gdb_test "reverse-step" "cvtdq2ps.*" "reverse-step to cvtdq2ps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x00000000000000008000000080000000.*" \
"verify xmm0 after reverse cvtpd2ps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xce80200000000000ce80200000000000.*" \
"verify xmm1 after reverse cvtpd2ps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xbff0000000000000bff0000000000000.*" \
"verify xmm2 after reverse cvtpd2ps"
gdb_test "reverse-step" "cvtpd2dq.*" "reverse-step to cvtpd2dq"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a090827262524ffffffff.*" \
"verify xmm0 after reverse cvtdq2ps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0xce80200000000000ce80200000000000.*" \
"verify xmm1 after reverse cvtdq2ps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xbff0000000000000bff0000000000000.*" \
"verify xmm2 after reverse cvtdq2ps"
gdb_test "reverse-step" "cvtdq2ps.*" "reverse-step to cvtdq2ps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a090827262524ffffffff.*" \
"verify xmm0 after reverse cvtpd2dq"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
"verify xmm1 after reverse cvtpd2dq"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xbff0000000000000bff0000000000000.*" \
"verify xmm2 after reverse cvtpd2dq"
gdb_test "reverse-step" "cvtdq2pd.*" "reverse-step to cvtdq2pd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a090827262524ffffffff.*" \
"verify xmm0 after reverse cvtdq2ps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
"verify xmm1 after reverse cvtdq2ps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
"verify xmm2 after reverse cvtdq2ps"
gdb_test "reverse-step" "comiss.*" "reverse-step to comiss"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a090827262524ffffffff.*" \
"verify xmm0 after reverse cvtdq2pd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
"verify xmm1 after reverse cvtdq2pd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
"verify xmm2 after reverse cvtdq2pd"
gdb_test "reverse-step" "comisd.*" "reverse-step to comisd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a090827262524ffffffff.*" \
"verify xmm0 after reverse comiss"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
"verify xmm1 after reverse comiss"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
"verify xmm2 after reverse comiss"
gdb_test "reverse-step" "cmpss.*" "reverse-step to cmpss"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm0 after reverse comisd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
"verify xmm1 after reverse comisd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
"verify xmm2 after reverse comisd"
gdb_test "reverse-step" "cmpsd.*" "reverse-step to cmpsd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm0 after reverse cmpss"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x00000000000000000000000000000000.*" \
"verify xmm1 after reverse cmpss"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
"verify xmm2 after reverse cmpss"
gdb_test "reverse-step" "cmpps.*" "reverse-step to cmpps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm0 after reverse cmpsd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x00000000000000000000000000000000.*" \
"verify xmm1 after reverse cmpsd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm2 after reverse cmpsd"
gdb_test "reverse-step" "cmppd.*" "reverse-step to cmppd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm0 after reverse cmpps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm1 after reverse cmpps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm2 after reverse cmpps"
gdb_test "reverse-step" "blendvps.*" "reverse-step to blendvps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm0 after reverse cmppd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm1 after reverse cmppd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm2 after reverse cmppd"
gdb_test "reverse-step" "blendvpd.*" "reverse-step to blendvpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm0 after reverse blendvps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm1 after reverse blendvps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm2 after reverse blendvps"
gdb_test "reverse-step" "blendps.*" "reverse-step to blendps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm0 after reverse blendvpd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm1 after reverse blendvpd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm2 after reverse blendvpd"
gdb_test "reverse-step" "blendpd.*" "reverse-step to blendpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
"verify xmm0 after reverse blendps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm1 after reverse blendps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm2 after reverse blendps"
gdb_test "reverse-step" "andps.*" "reverse-step to andps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
"verify xmm0 after reverse blendpd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252400000000.*" \
"verify xmm1 after reverse blendpd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
"verify xmm2 after reverse blendpd"
gdb_test "reverse-step" "andpd.*" "reverse-step to andpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
"verify xmm0 after reverse andps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252400000000.*" \
"verify xmm1 after reverse andps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
"verify xmm2 after reverse andps"
gdb_test "reverse-step" "addsubps.*" "reverse-step to addsubps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
"verify xmm0 after reverse andpd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252423222120.*" \
"verify xmm1 after reverse andpd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
"verify xmm2 after reverse andpd"
gdb_test "reverse-step" "addsubpd.*" "reverse-step to addsubpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
"verify xmm0 after reverse addsubps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252423222120.*" \
"verify xmm1 after reverse addsubps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
"verify xmm2 after reverse addsubps"
gdb_test "reverse-step" "addss.*" "reverse-step to addss"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \
"verify xmm0 after reverse addsubpd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252423222120.*" \
"verify xmm1 after reverse addsubpd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
"verify xmm2 after reverse addsubpd"
gdb_test "reverse-step" "addsd.*" "reverse-step to addsd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \
"verify xmm0 after reverse addss"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
"verify xmm1 after reverse addss"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
"verify xmm2 after reverse addss"
gdb_test "reverse-step" "addps.*" "reverse-step to addps"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \
"verify xmm0 after reverse addsd"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
"verify xmm1 after reverse addsd"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
"verify xmm2 after reverse addsd"
gdb_test "reverse-step" "addpd.*" "reverse-step to addpd"
gdb_test "info register xmm0" \
"xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \
"verify xmm0 after reverse addps"
gdb_test "info register xmm1" \
"xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
"verify xmm1 after reverse addps"
gdb_test "info register xmm2" \
"xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
"verify xmm2 after reverse addps"
prev parent reply other threads:[~2010-03-29 2:18 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-07 15:00 [RFA] " Hui Zhu
2009-12-07 16:54 ` Michael Snyder
2009-12-07 17:16 ` Michael Snyder
2009-12-07 17:43 ` Joel Brobecker
2009-12-07 17:54 ` Michael Snyder
2009-12-07 18:00 ` Joel Brobecker
2009-12-07 18:05 ` Michael Snyder
2009-12-08 5:51 ` Hui Zhu
2009-12-08 19:56 ` Michael Snyder
2009-12-07 18:08 ` Doug Evans
2009-12-08 17:43 ` Tom Tromey
2009-12-10 19:52 ` Michael Snyder
2009-12-11 15:00 ` Hui Zhu
2009-12-13 4:28 ` Hui Zhu
2009-12-13 10:35 ` Hui Zhu
2009-12-14 18:24 ` Michael Snyder
2009-12-15 1:47 ` Hui Zhu
2009-12-18 19:44 ` Michael Snyder
2010-01-08 16:07 ` Hui Zhu
2010-01-08 18:45 ` Michael Snyder
2010-01-09 12:28 ` [RFA/i386] " Joel Brobecker
2010-01-11 2:48 ` Hui Zhu
2010-01-11 4:05 ` Joel Brobecker
2010-01-12 1:38 ` Michael Snyder
2010-03-28 16:27 ` Hui Zhu
2010-03-29 1:35 ` Michael Snyder
2010-03-29 1:36 ` Michael Snyder
2010-03-29 9:25 ` Hui Zhu
2010-03-29 1:40 ` Michael Snyder
2010-03-29 2:23 ` Hui Zhu
2010-03-29 13:21 ` Hui Zhu
2010-03-29 17:52 ` Michael Snyder
2010-03-29 18:11 ` Michael Snyder
2010-03-30 6:29 ` Hui Zhu
2010-03-30 12:55 ` Hui Zhu
2010-04-01 15:36 ` Hui Zhu
2010-04-01 21:50 ` Michael Snyder
2010-04-02 5:14 ` Hui Zhu
2010-03-29 2:18 ` Michael Snyder [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BB00DD7.1040608@vmware.com \
--to=msnyder@vmware.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=teawater@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox