687 lines
23 KiB
Text
687 lines
23 KiB
Text
|
# Copyright 2021-2022 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.
|
||
|
|
||
|
# Test PowerPC instructions disassembly of power10 instructions.
|
||
|
|
||
|
standard_testfile .s
|
||
|
set objfile [standard_output_file ${testfile}.o]
|
||
|
|
||
|
if {![istarget "powerpc*-*-*"]} then {
|
||
|
verbose "Skipping PowerPC instructions disassembly."
|
||
|
return
|
||
|
}
|
||
|
|
||
|
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug}] != "" } {
|
||
|
untested "PowerPC instructions disassembly"
|
||
|
return -1
|
||
|
}
|
||
|
|
||
|
clean_restart ${objfile}
|
||
|
|
||
|
# Disassemble the function.
|
||
|
set func ""
|
||
|
|
||
|
gdb_test "set disassembler-options power10"
|
||
|
set test "disass func"
|
||
|
gdb_test_multiple $test $test {
|
||
|
-re "\r\nDump of assembler code for function func:(\r\n.*\r\n)End of assembler dump.\r\n$gdb_prompt $" {
|
||
|
set func $expect_out(1,string)
|
||
|
pass $test
|
||
|
}
|
||
|
}
|
||
|
|
||
|
proc instr_to_patt {instr} {
|
||
|
global decimal hex
|
||
|
# 0x0000000000000018 <+24>: stxvd2x vs43,r4,r5
|
||
|
return "\[ \t\]*$hex <\\+$decimal>:\[ \t\]*[string_to_regexp $instr]"
|
||
|
}
|
||
|
|
||
|
proc func_check {instr} {
|
||
|
global func
|
||
|
|
||
|
set test "found: $instr"
|
||
|
if [regexp -nocase -line [instr_to_patt $instr] $func] {
|
||
|
pass $test
|
||
|
} else {
|
||
|
fail $test
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func_check "brd r0,r1"
|
||
|
func_check "brh r0,r1"
|
||
|
func_check "brw r0,r1"
|
||
|
func_check "cfuged r0,r1,r2"
|
||
|
func_check "cntlzdm r0,r1,r2"
|
||
|
func_check "cnttzdm r0,r1,r2"
|
||
|
func_check "dcffixqq f28,v0"
|
||
|
func_check "dctfixqq v0,f26"
|
||
|
func_check "lxvkq vs0,1"
|
||
|
func_check "lxvkq vs0,16"
|
||
|
func_check "lxvkq vs0,17"
|
||
|
func_check "lxvkq vs0,18"
|
||
|
func_check "lxvkq vs0,19"
|
||
|
func_check "lxvkq vs0,2"
|
||
|
func_check "lxvkq vs0,20"
|
||
|
func_check "lxvkq vs0,21"
|
||
|
func_check "lxvkq vs0,22"
|
||
|
func_check "lxvkq vs0,23"
|
||
|
func_check "lxvkq vs0,24"
|
||
|
func_check "lxvkq vs0,3"
|
||
|
func_check "lxvkq vs0,4"
|
||
|
func_check "lxvkq vs0,5"
|
||
|
func_check "lxvkq vs0,6"
|
||
|
func_check "lxvkq vs0,7"
|
||
|
func_check "lxvkq vs0,8"
|
||
|
func_check "lxvkq vs0,9"
|
||
|
func_check "lxvp vs20,0(0)"
|
||
|
func_check "lxvp vs20,16(0)"
|
||
|
func_check "lxvp vs20,32(0)"
|
||
|
func_check "lxvpx vs20,0,r1"
|
||
|
func_check "lxvrbx vs0,r1,r2"
|
||
|
func_check "lxvrdx vs0,r1,r2"
|
||
|
func_check "lxvrhx vs0,r1,r2"
|
||
|
func_check "lxvrwx vs0,r1,r2"
|
||
|
func_check "mfvsrld r0,vs26"
|
||
|
func_check "mfvsrld r0,vs27"
|
||
|
func_check "mfvsrld r0,vs28"
|
||
|
func_check "mfvsrld r0,vs29"
|
||
|
func_check "mffprd r0,f26"
|
||
|
func_check "mffprd r0,f27"
|
||
|
func_check "mffprd r0,f28"
|
||
|
func_check "mffprd r0,f29"
|
||
|
func_check "mtvsrbm v0,r1"
|
||
|
func_check "mtvsrbmi v0,0"
|
||
|
func_check "mtvsrbmi v0,3"
|
||
|
func_check "mtvsrbmi v0,7"
|
||
|
func_check "mtvsrdm v0,r1"
|
||
|
func_check "mtvsrhm v0,r1"
|
||
|
func_check "mtvsrqm v0,r1"
|
||
|
func_check "mtvsrwm v0,r1"
|
||
|
func_check "paddi r0,r1,0"
|
||
|
func_check "paddi r0,r1,12"
|
||
|
func_check "paddi r0,r1,48"
|
||
|
func_check "paddi r0,r1,98"
|
||
|
func_check "pdepd r0,r1,r2"
|
||
|
func_check "pextd r0,r1,r2"
|
||
|
func_check "plbz r0,0(r1)"
|
||
|
func_check "plbz r0,16(r1)"
|
||
|
func_check "plbz r0,32(r1)"
|
||
|
func_check "plbz r0,64(r1)"
|
||
|
func_check "plbz r0,8(r1)"
|
||
|
func_check "pld r0,0(r1)"
|
||
|
func_check "pld r0,16(r1)"
|
||
|
func_check "pld r0,32(r1)"
|
||
|
func_check "pld r0,64(r1)"
|
||
|
func_check "pld r0,8(r1)"
|
||
|
func_check "plfd f28,0(0)"
|
||
|
func_check "plfd f28,16(0)"
|
||
|
func_check "plfd f28,32(0)"
|
||
|
func_check "plfd f28,4(0)"
|
||
|
func_check "plfd f28,64(0)"
|
||
|
func_check "plfd f28,8(0)"
|
||
|
func_check "plfs f28,0(0)"
|
||
|
func_check "plfs f28,16(0)"
|
||
|
func_check "plfs f28,32(0)"
|
||
|
func_check "plfs f28,4(0)"
|
||
|
func_check "plfs f28,64(0)"
|
||
|
func_check "plfs f28,8(0)"
|
||
|
func_check "plha r0,0(r1)"
|
||
|
func_check "plha r0,16(r1)"
|
||
|
func_check "plha r0,32(r1)"
|
||
|
func_check "plha r0,64(r1)"
|
||
|
func_check "plha r0,8(r1)"
|
||
|
func_check "plhz r0,0(r1)"
|
||
|
func_check "plhz r0,16(r1)"
|
||
|
func_check "plhz r0,32(r1)"
|
||
|
func_check "plhz r0,64(r1)"
|
||
|
func_check "plhz r0,8(r1)"
|
||
|
func_check "plq r26,0(0)"
|
||
|
func_check "plq r26,16(0)"
|
||
|
func_check "plq r26,32(0)"
|
||
|
func_check "plq r26,48(0)"
|
||
|
func_check "plq r26,64(0)"
|
||
|
func_check "plq r26,8(0)"
|
||
|
func_check "plwa r0,0(r1)"
|
||
|
func_check "plwa r0,16(r1)"
|
||
|
func_check "plwa r0,32(r1)"
|
||
|
func_check "plwa r0,64(r1)"
|
||
|
func_check "plwa r0,8(r1)"
|
||
|
func_check "plwz r0,0(r1)"
|
||
|
func_check "plwz r0,16(r1)"
|
||
|
func_check "plwz r0,32(r1)"
|
||
|
func_check "plwz r0,64(r1)"
|
||
|
func_check "plwz r0,8(r1)"
|
||
|
func_check "plxsd v0,0(r1)"
|
||
|
func_check "plxsd v0,16(r1)"
|
||
|
func_check "plxsd v0,32(r1)"
|
||
|
func_check "plxsd v0,4(r1)"
|
||
|
func_check "plxsd v0,64(r1)"
|
||
|
func_check "plxsd v0,8(r1)"
|
||
|
func_check "plxssp v0,0(r1)"
|
||
|
func_check "plxssp v0,16(r1)"
|
||
|
func_check "plxssp v0,32(r1)"
|
||
|
func_check "plxssp v0,4(r1)"
|
||
|
func_check "plxssp v0,64(r1)"
|
||
|
func_check "plxssp v0,8(r1)"
|
||
|
func_check "plxv vs0,0(r1)"
|
||
|
func_check "plxv vs0,16(r1)"
|
||
|
func_check "plxv vs0,4(r1)"
|
||
|
func_check "plxv vs0,8(r1)"
|
||
|
func_check "plxvp vs20,0(0)"
|
||
|
func_check "plxvp vs20,16(0)"
|
||
|
func_check "plxvp vs20,24(0)"
|
||
|
func_check "plxvp vs20,32(0)"
|
||
|
func_check "plxvp vs20,8(0)"
|
||
|
func_check "pmxvbf16ger2 a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvbf16ger2 a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvbf16ger2 a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvbf16ger2 a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvbf16ger2 a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvbf16ger2 a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvbf16ger2 a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvbf16ger2 a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvbf16ger2nn a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvbf16ger2nn a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvbf16ger2nn a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvbf16ger2nn a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvbf16ger2nn a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvbf16ger2nn a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvbf16ger2nn a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvbf16ger2nn a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvbf16ger2np a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvbf16ger2np a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvbf16ger2np a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvbf16ger2np a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvbf16ger2np a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvbf16ger2np a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvbf16ger2np a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvbf16ger2np a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvbf16ger2pn a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvbf16ger2pn a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvbf16ger2pn a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvbf16ger2pn a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvbf16ger2pn a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvbf16ger2pn a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvbf16ger2pn a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvbf16ger2pn a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvbf16ger2pp a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvbf16ger2pp a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvbf16ger2pp a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvbf16ger2pp a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvbf16ger2pp a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvbf16ger2pp a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvbf16ger2pp a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvbf16ger2pp a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvf16ger2 a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvf16ger2 a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvf16ger2 a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvf16ger2 a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvf16ger2 a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvf16ger2 a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvf16ger2 a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvf16ger2 a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvf16ger2nn a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvf16ger2nn a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvf16ger2nn a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvf16ger2nn a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvf16ger2nn a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvf16ger2nn a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvf16ger2nn a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvf16ger2nn a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvf16ger2np a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvf16ger2np a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvf16ger2np a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvf16ger2np a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvf16ger2np a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvf16ger2np a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvf16ger2np a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvf16ger2np a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvf16ger2pn a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvf16ger2pn a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvf16ger2pn a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvf16ger2pn a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvf16ger2pn a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvf16ger2pn a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvf16ger2pn a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvf16ger2pn a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvf16ger2pp a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvf16ger2pp a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvf16ger2pp a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvf16ger2pp a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvf16ger2pp a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvf16ger2pp a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvf16ger2pp a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvf16ger2pp a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvf32ger a4,vs0,vs1,0,0"
|
||
|
func_check "pmxvf32ger a4,vs0,vs1,0,13"
|
||
|
func_check "pmxvf32ger a4,vs0,vs1,11,0"
|
||
|
func_check "pmxvf32ger a4,vs0,vs1,11,13"
|
||
|
func_check "pmxvf32gernn a4,vs0,vs1,0,0"
|
||
|
func_check "pmxvf32gernn a4,vs0,vs1,0,13"
|
||
|
func_check "pmxvf32gernn a4,vs0,vs1,11,0"
|
||
|
func_check "pmxvf32gernn a4,vs0,vs1,11,13"
|
||
|
func_check "pmxvf32gernp a4,vs0,vs1,0,0"
|
||
|
func_check "pmxvf32gernp a4,vs0,vs1,0,13"
|
||
|
func_check "pmxvf32gernp a4,vs0,vs1,11,0"
|
||
|
func_check "pmxvf32gernp a4,vs0,vs1,11,13"
|
||
|
func_check "pmxvf32gerpn a4,vs0,vs1,0,0"
|
||
|
func_check "pmxvf32gerpn a4,vs0,vs1,0,13"
|
||
|
func_check "pmxvf32gerpn a4,vs0,vs1,11,0"
|
||
|
func_check "pmxvf32gerpn a4,vs0,vs1,11,13"
|
||
|
func_check "pmxvf32gerpp a4,vs0,vs1,0,0"
|
||
|
func_check "pmxvf32gerpp a4,vs0,vs1,0,13"
|
||
|
func_check "pmxvf32gerpp a4,vs0,vs1,11,0"
|
||
|
func_check "pmxvf32gerpp a4,vs0,vs1,11,13"
|
||
|
func_check "pmxvf64ger a4,vs22,vs0,0,0"
|
||
|
func_check "pmxvf64ger a4,vs22,vs0,0,1"
|
||
|
func_check "pmxvf64ger a4,vs22,vs0,11,0"
|
||
|
func_check "pmxvf64ger a4,vs22,vs0,11,1"
|
||
|
func_check "pmxvf64gernn a4,vs22,vs0,0,0"
|
||
|
func_check "pmxvf64gernn a4,vs22,vs0,0,1"
|
||
|
func_check "pmxvf64gernn a4,vs22,vs0,11,0"
|
||
|
func_check "pmxvf64gernn a4,vs22,vs0,11,1"
|
||
|
func_check "pmxvf64gernp a4,vs22,vs0,0,0"
|
||
|
func_check "pmxvf64gernp a4,vs22,vs0,0,1"
|
||
|
func_check "pmxvf64gernp a4,vs22,vs0,11,0"
|
||
|
func_check "pmxvf64gernp a4,vs22,vs0,11,1"
|
||
|
func_check "pmxvf64gerpn a4,vs22,vs0,0,0"
|
||
|
func_check "pmxvf64gerpn a4,vs22,vs0,0,1"
|
||
|
func_check "pmxvf64gerpn a4,vs22,vs0,11,0"
|
||
|
func_check "pmxvf64gerpn a4,vs22,vs0,11,1"
|
||
|
func_check "pmxvf64gerpp a4,vs22,vs0,0,0"
|
||
|
func_check "pmxvf64gerpp a4,vs22,vs0,0,1"
|
||
|
func_check "pmxvf64gerpp a4,vs22,vs0,11,0"
|
||
|
func_check "pmxvf64gerpp a4,vs22,vs0,11,1"
|
||
|
func_check "pmxvi16ger2 a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvi16ger2 a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvi16ger2 a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvi16ger2 a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvi16ger2 a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvi16ger2 a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvi16ger2 a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvi16ger2 a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvi16ger2pp a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvi16ger2pp a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvi16ger2pp a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvi16ger2pp a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvi16ger2pp a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvi16ger2pp a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvi16ger2pp a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvi16ger2pp a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvi16ger2s a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvi16ger2s a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvi16ger2s a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvi16ger2s a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvi16ger2s a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvi16ger2s a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvi16ger2s a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvi16ger2s a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvi16ger2spp a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvi16ger2spp a4,vs0,vs1,0,0,1"
|
||
|
func_check "pmxvi16ger2spp a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvi16ger2spp a4,vs0,vs1,0,13,1"
|
||
|
func_check "pmxvi16ger2spp a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvi16ger2spp a4,vs0,vs1,11,0,1"
|
||
|
func_check "pmxvi16ger2spp a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvi16ger2spp a4,vs0,vs1,11,13,1"
|
||
|
func_check "pmxvi4ger8 a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvi4ger8 a4,vs0,vs1,0,0,45"
|
||
|
func_check "pmxvi4ger8 a4,vs0,vs1,0,1,0"
|
||
|
func_check "pmxvi4ger8 a4,vs0,vs1,0,1,45"
|
||
|
func_check "pmxvi4ger8 a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvi4ger8 a4,vs0,vs1,11,0,45"
|
||
|
func_check "pmxvi4ger8 a4,vs0,vs1,11,1,0"
|
||
|
func_check "pmxvi4ger8 a4,vs0,vs1,11,1,45"
|
||
|
func_check "pmxvi4ger8pp a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvi4ger8pp a4,vs0,vs1,0,0,45"
|
||
|
func_check "pmxvi4ger8pp a4,vs0,vs1,0,1,0"
|
||
|
func_check "pmxvi4ger8pp a4,vs0,vs1,0,1,45"
|
||
|
func_check "pmxvi4ger8pp a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvi4ger8pp a4,vs0,vs1,11,0,45"
|
||
|
func_check "pmxvi4ger8pp a4,vs0,vs1,11,1,0"
|
||
|
func_check "pmxvi4ger8pp a4,vs0,vs1,11,1,45"
|
||
|
func_check "pmxvi8ger4 a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvi8ger4 a4,vs0,vs1,0,0,5"
|
||
|
func_check "pmxvi8ger4 a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvi8ger4 a4,vs0,vs1,0,13,5"
|
||
|
func_check "pmxvi8ger4 a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvi8ger4 a4,vs0,vs1,11,0,5"
|
||
|
func_check "pmxvi8ger4 a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvi8ger4 a4,vs0,vs1,11,13,5"
|
||
|
func_check "pmxvi8ger4pp a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvi8ger4pp a4,vs0,vs1,0,0,5"
|
||
|
func_check "pmxvi8ger4pp a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvi8ger4pp a4,vs0,vs1,0,13,5"
|
||
|
func_check "pmxvi8ger4pp a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvi8ger4pp a4,vs0,vs1,11,0,5"
|
||
|
func_check "pmxvi8ger4pp a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvi8ger4pp a4,vs0,vs1,11,13,5"
|
||
|
func_check "pmxvi8ger4spp a4,vs0,vs1,0,0,0"
|
||
|
func_check "pmxvi8ger4spp a4,vs0,vs1,0,0,5"
|
||
|
func_check "pmxvi8ger4spp a4,vs0,vs1,0,13,0"
|
||
|
func_check "pmxvi8ger4spp a4,vs0,vs1,0,13,5"
|
||
|
func_check "pmxvi8ger4spp a4,vs0,vs1,11,0,0"
|
||
|
func_check "pmxvi8ger4spp a4,vs0,vs1,11,0,5"
|
||
|
func_check "pmxvi8ger4spp a4,vs0,vs1,11,13,0"
|
||
|
func_check "pmxvi8ger4spp a4,vs0,vs1,11,13,5"
|
||
|
#/* pstb extended mnemonics can suppress (r1) or the trailing ,0 or ,1, see ISA.
|
||
|
func_check "pstb r0,0(r1)"
|
||
|
func_check "pstb r0,16(r1)"
|
||
|
func_check "pstb r0,32(r1)"
|
||
|
func_check "pstb r0,8(r1)"
|
||
|
func_check "pstd r0,0(r1)"
|
||
|
func_check "pstd r0,16(r1)"
|
||
|
func_check "pstd r0,32(r1)"
|
||
|
func_check "pstd r0,8(r1)"
|
||
|
func_check "pstfd f26,0(0)"
|
||
|
func_check "pstfd f26,16(0)"
|
||
|
func_check "pstfd f26,32(0)"
|
||
|
func_check "pstfd f26,4(0)"
|
||
|
func_check "pstfd f26,8(0)"
|
||
|
func_check "pstfs f26,0(0)"
|
||
|
func_check "pstfs f26,16(0)"
|
||
|
func_check "pstfs f26,32(0)"
|
||
|
func_check "pstfs f26,4(0)"
|
||
|
func_check "pstfs f26,8(0)"
|
||
|
func_check "psth r0,0(r1)"
|
||
|
func_check "psth r0,16(r1)"
|
||
|
func_check "psth r0,32(r1)"
|
||
|
func_check "psth r0,8(r1)"
|
||
|
func_check "pstq r24,0(0)"
|
||
|
func_check "pstq r24,16(0)"
|
||
|
func_check "pstq r24,32(0)"
|
||
|
func_check "pstq r24,64(0)"
|
||
|
func_check "pstq r24,8(0)"
|
||
|
func_check "pstw r0,0(r1)"
|
||
|
func_check "pstw r0,16(r1)"
|
||
|
func_check "pstw r0,32(r1)"
|
||
|
func_check "pstw r0,8(r1)"
|
||
|
func_check "pstxsd v22,0(0)"
|
||
|
func_check "pstxsd v22,16(0)"
|
||
|
func_check "pstxsd v22,32(0)"
|
||
|
func_check "pstxsd v22,4(0)"
|
||
|
func_check "pstxsd v22,64(0)"
|
||
|
func_check "pstxsd v22,8(0)"
|
||
|
func_check "pstxssp v22,0(0)"
|
||
|
func_check "pstxssp v22,16(0)"
|
||
|
func_check "pstxssp v22,32(0)"
|
||
|
func_check "pstxssp v22,4(0)"
|
||
|
func_check "pstxssp v22,64(0)"
|
||
|
func_check "pstxssp v22,8(0)"
|
||
|
func_check "pstxv vs0,0(r1)"
|
||
|
func_check "pstxv vs0,16(r1)"
|
||
|
func_check "pstxv vs0,4(r1)"
|
||
|
func_check "pstxv vs0,8(r1)"
|
||
|
func_check "pstxvp vs20,0(0)"
|
||
|
func_check "pstxvp vs20,16(0)"
|
||
|
func_check "pstxvp vs20,32(0)"
|
||
|
func_check "pstxvp vs20,48(0)"
|
||
|
# lt,gt,eq,so map to cr0 0,1,2,3 ; cr1,cr2 extend from there. lt=0 ; gt=1 ; eq=2 ; so=3
|
||
|
func_check "setbc r26,lt"
|
||
|
func_check "setbc r26,gt"
|
||
|
func_check "setbc r26,eq"
|
||
|
func_check "setbc r26,so"
|
||
|
func_check "setbc r26,4*cr1+so"
|
||
|
func_check "setbc r26,4*cr2+lt"
|
||
|
func_check "setbc r26,4*cr7+so"
|
||
|
|
||
|
func_check "setbcr r26,4*cr7+so"
|
||
|
func_check "setbcr r26,4*cr1+so"
|
||
|
func_check "setbcr r26,4*cr2+lt"
|
||
|
|
||
|
func_check "setnbc r26,lt"
|
||
|
func_check "setnbc r26,so"
|
||
|
func_check "setnbc r26,4*cr7+so"
|
||
|
func_check "setnbc r26,4*cr1+so"
|
||
|
func_check "setnbc r26,4*cr2+lt"
|
||
|
|
||
|
func_check "setnbcr r26,lt"
|
||
|
func_check "setnbcr r26,so"
|
||
|
func_check "setnbcr r26,4*cr7+so"
|
||
|
func_check "setnbcr r26,4*cr1+so"
|
||
|
func_check "setnbcr r26,4*cr2+lt"
|
||
|
|
||
|
func_check "stxvp vs20,0(0)"
|
||
|
func_check "stxvp vs20,16(0)"
|
||
|
func_check "stxvp vs20,32(0)"
|
||
|
func_check "stxvp vs20,48(0)"
|
||
|
func_check "stxvpx vs20,0,r1"
|
||
|
func_check "stxvrbx vs0,r1,r2"
|
||
|
func_check "stxvrdx vs0,r1,r2"
|
||
|
func_check "stxvrhx vs0,r1,r2"
|
||
|
func_check "stxvrwx vs0,r1,r2"
|
||
|
func_check "vcfuged v0,v1,v2"
|
||
|
func_check "vclrlb v0,v1,r2"
|
||
|
func_check "vclrrb v0,v1,r2"
|
||
|
func_check "vclzdm v0,v1,v2"
|
||
|
func_check "vcmpequq v0,v1,v2"
|
||
|
func_check "vcmpgtsq v0,v1,v2"
|
||
|
func_check "vcmpgtuq v0,v1,v2"
|
||
|
func_check "vcmpsq cr3,v0,v1"
|
||
|
func_check "vcmpuq cr3,v0,v1"
|
||
|
func_check "vcntmbb r0,v1,0"
|
||
|
func_check "vcntmbb r0,v1,1"
|
||
|
func_check "vcntmbd r0,v1,0"
|
||
|
func_check "vcntmbd r0,v1,1"
|
||
|
func_check "vcntmbh r0,v1,0"
|
||
|
func_check "vcntmbh r0,v1,1"
|
||
|
func_check "vcntmbw r0,v1,0"
|
||
|
func_check "vcntmbw r0,v1,1"
|
||
|
func_check "vctzdm v0,v1,v2"
|
||
|
func_check "vdivesd v0,v1,v2"
|
||
|
func_check "vdivesq v0,v1,v2"
|
||
|
func_check "vdivesw v0,v1,v2"
|
||
|
func_check "vdiveud v0,v1,v2"
|
||
|
func_check "vdiveuq v0,v1,v2"
|
||
|
func_check "vdiveuw v0,v1,v2"
|
||
|
func_check "vdivsd v0,v1,v2"
|
||
|
func_check "vdivsq v0,v1,v2"
|
||
|
func_check "vdivsw v0,v1,v2"
|
||
|
func_check "vdivud v0,v1,v2"
|
||
|
func_check "vdivuq v0,v1,v2"
|
||
|
func_check "vdivuw v0,v1,v2"
|
||
|
func_check "vexpandbm v0,v1"
|
||
|
func_check "vexpanddm v0,v1"
|
||
|
func_check "vexpandhm v0,v1"
|
||
|
func_check "vexpandqm v0,v1"
|
||
|
func_check "vexpandwm v0,v1"
|
||
|
func_check "vextddvlx v0,v1,v2,r3"
|
||
|
func_check "vextddvrx v0,v1,v2,r3"
|
||
|
func_check "vextdubvlx v0,v1,v2,r3"
|
||
|
func_check "vextdubvrx v0,v1,v2,r3"
|
||
|
func_check "vextduhvlx v0,v1,v2,r3"
|
||
|
func_check "vextduhvrx v0,v1,v2,r3"
|
||
|
func_check "vextduwvlx v0,v1,v2,r3"
|
||
|
func_check "vextduwvrx v0,v1,v2,r3"
|
||
|
func_check "vextractbm r0,v1"
|
||
|
func_check "vextractdm r0,v1"
|
||
|
func_check "vextracthm r0,v1"
|
||
|
func_check "vextractqm r0,v1"
|
||
|
func_check "vextractwm r0,v1"
|
||
|
func_check "vextsd2q v0,v1"
|
||
|
func_check "vgnb r0,v1,2"
|
||
|
func_check "vgnb r0,v1,3"
|
||
|
func_check "vgnb r0,v1,4"
|
||
|
func_check "vgnb r0,v1,5"
|
||
|
func_check "vgnb r0,v1,6"
|
||
|
func_check "vgnb r0,v1,7"
|
||
|
func_check "vinsblx v0,r1,r2"
|
||
|
func_check "vinsbrx v0,r1,r2"
|
||
|
func_check "vinsbvlx v0,r1,v2"
|
||
|
func_check "vinsbvrx v0,r1,v2"
|
||
|
func_check "vinsd v0,r1,3"
|
||
|
func_check "vinsd v0,r1,7"
|
||
|
func_check "vinsdlx v0,r1,r2"
|
||
|
func_check "vinsdrx v0,r1,r2"
|
||
|
func_check "vinshlx v0,r1,r2"
|
||
|
func_check "vinshrx v0,r1,r2"
|
||
|
func_check "vinshvlx v0,r1,v2"
|
||
|
func_check "vinshvrx v0,r1,v2"
|
||
|
func_check "vinsw v0,r1,3"
|
||
|
func_check "vinsw v0,r1,7"
|
||
|
func_check "vinswlx v0,r1,r2"
|
||
|
func_check "vinswrx v0,r1,r2"
|
||
|
func_check "vinswvlx v0,r1,v2"
|
||
|
func_check "vinswvrx v0,r1,v2"
|
||
|
func_check "vmodsd v0,v1,v2"
|
||
|
func_check "vmodsq v0,v1,v2"
|
||
|
func_check "vmodsw v0,v1,v2"
|
||
|
func_check "vmodud v0,v1,v2"
|
||
|
func_check "vmoduq v0,v1,v2"
|
||
|
func_check "vmoduw v0,v1,v2"
|
||
|
func_check "vmsumcud v0,v1,v2,v3"
|
||
|
func_check "vmulesd v0,v1,v2"
|
||
|
func_check "vmuleud v0,v1,v2"
|
||
|
func_check "vmulhsd v0,v1,v2"
|
||
|
func_check "vmulhsw v0,v1,v2"
|
||
|
func_check "vmulhud v0,v1,v2"
|
||
|
func_check "vmulhuw v0,v1,v2"
|
||
|
func_check "vmulld v0,v1,v2"
|
||
|
func_check "vmulosd v0,v1,v2"
|
||
|
func_check "vmuloud v0,v1,v2"
|
||
|
func_check "vpdepd v0,v1,v2"
|
||
|
func_check "vpextd v0,v1,v2"
|
||
|
func_check "vrlq v0,v1,v2"
|
||
|
func_check "vrlqmi v0,v1,v2"
|
||
|
func_check "vrlqnm v0,v1,v2"
|
||
|
func_check "vsldbi v0,v1,v2,0"
|
||
|
func_check "vsldbi v0,v1,v2,4"
|
||
|
func_check "vslq v0,v1,v2"
|
||
|
func_check "vsraq v0,v1,v2"
|
||
|
func_check "vsrdbi v0,v1,v2,0"
|
||
|
func_check "vsrdbi v0,v1,v2,4"
|
||
|
func_check "vsrq v0,v1,v2"
|
||
|
func_check "vstribl v0,v1"
|
||
|
func_check "vstribl. v0,v1"
|
||
|
func_check "vstribr v0,v1"
|
||
|
func_check "vstribr. v0,v1"
|
||
|
func_check "vstrihl v0,v1"
|
||
|
func_check "vstrihl. v0,v1"
|
||
|
func_check "vstrihr v0,v1"
|
||
|
func_check "vstrihr. v0,v1"
|
||
|
func_check "xscmpeqqp v0,v1,v2"
|
||
|
func_check "xscmpgeqp v0,v1,v2"
|
||
|
func_check "xscmpgtqp v0,v1,v2"
|
||
|
func_check "xscvqpsqz v0,v1"
|
||
|
func_check "xscvqpuqz v0,v1"
|
||
|
func_check "xscvsqqp v0,v1"
|
||
|
func_check "xscvuqqp v0,v1"
|
||
|
func_check "xsmaxcqp v0,v1,v2"
|
||
|
func_check "xsmincqp v0,v1,v2"
|
||
|
func_check "xvbf16ger2 a4,vs0,vs1"
|
||
|
func_check "xvbf16ger2nn a4,vs0,vs1"
|
||
|
func_check "xvbf16ger2np a4,vs0,vs1"
|
||
|
func_check "xvbf16ger2pn a4,vs0,vs1"
|
||
|
func_check "xvbf16ger2pp a4,vs0,vs1"
|
||
|
func_check "xvcvbf16spn vs0,vs1"
|
||
|
func_check "xvcvspbf16 vs0,vs1"
|
||
|
func_check "xvf16ger2 a4,vs0,vs1"
|
||
|
func_check "xvf16ger2nn a4,vs0,vs1"
|
||
|
func_check "xvf16ger2np a4,vs0,vs1"
|
||
|
func_check "xvf16ger2pn a4,vs0,vs1"
|
||
|
func_check "xvf16ger2pp a4,vs0,vs1"
|
||
|
func_check "xvf32ger a4,vs0,vs1"
|
||
|
func_check "xvf32gernn a4,vs0,vs1"
|
||
|
func_check "xvf32gernp a4,vs0,vs1"
|
||
|
func_check "xvf32gerpn a4,vs0,vs1"
|
||
|
func_check "xvf32gerpp a4,vs0,vs1"
|
||
|
func_check "xvf64ger a4,vs22,vs0"
|
||
|
func_check "xvf64gernn a4,vs22,vs0"
|
||
|
func_check "xvf64gernp a4,vs22,vs0"
|
||
|
func_check "xvf64gerpn a4,vs22,vs0"
|
||
|
func_check "xvf64gerpp a4,vs22,vs0"
|
||
|
func_check "xvi16ger2 a4,vs0,vs1"
|
||
|
func_check "xvi16ger2pp a4,vs0,vs1"
|
||
|
func_check "xvi16ger2s a4,vs0,vs1"
|
||
|
func_check "xvi16ger2spp a4,vs0,vs1"
|
||
|
func_check "xvi4ger8 a4,vs0,vs1"
|
||
|
func_check "xvi4ger8pp a4,vs0,vs1"
|
||
|
func_check "xvi8ger4 a4,vs0,vs1"
|
||
|
func_check "xvi8ger4pp a4,vs0,vs1"
|
||
|
func_check "xvi8ger4spp a4,vs0,vs1"
|
||
|
func_check "xvtlsbb cr3,vs0"
|
||
|
func_check "xxblendvb vs0,vs1,vs2,vs3"
|
||
|
func_check "xxblendvd vs0,vs1,vs2,vs3"
|
||
|
func_check "xxblendvh vs0,vs1,vs2,vs3"
|
||
|
func_check "xxblendvw vs0,vs1,vs2,vs3"
|
||
|
func_check "xxeval vs0,vs1,vs2,vs3,0"
|
||
|
func_check "xxeval vs0,vs1,vs2,vs3,3"
|
||
|
func_check "xxgenpcvbm vs0,v1,0"
|
||
|
func_check "xxgenpcvbm vs0,v1,1"
|
||
|
func_check "xxgenpcvbm vs0,v1,2"
|
||
|
func_check "xxgenpcvbm vs0,v1,3"
|
||
|
func_check "xxgenpcvdm vs0,v1,0"
|
||
|
func_check "xxgenpcvdm vs0,v1,1"
|
||
|
func_check "xxgenpcvdm vs0,v1,2"
|
||
|
func_check "xxgenpcvdm vs0,v1,3"
|
||
|
func_check "xxgenpcvhm vs0,v1,0"
|
||
|
func_check "xxgenpcvhm vs0,v1,1"
|
||
|
func_check "xxgenpcvhm vs0,v1,2"
|
||
|
func_check "xxgenpcvhm vs0,v1,3"
|
||
|
func_check "xxgenpcvwm vs0,v1,0"
|
||
|
func_check "xxgenpcvwm vs0,v1,1"
|
||
|
func_check "xxgenpcvwm vs0,v1,2"
|
||
|
func_check "xxgenpcvwm vs0,v1,3"
|
||
|
func_check "xxmfacc a4"
|
||
|
func_check "xxmtacc a4"
|
||
|
func_check "xxpermx vs0,vs1,vs2,vs3,0"
|
||
|
func_check "xxpermx vs0,vs1,vs2,vs3,3"
|
||
|
func_check "xxsetaccz a4"
|
||
|
func_check "xxsplti32dx vs0,0,2779096485"
|
||
|
func_check "xxsplti32dx vs0,0,4294967295"
|
||
|
func_check "xxsplti32dx vs0,0,127"
|
||
|
func_check "xxsplti32dx vs0,0,15"
|
||
|
func_check "xxsplti32dx vs0,0,3"
|
||
|
func_check "xxsplti32dx vs0,0,31"
|
||
|
func_check "xxsplti32dx vs0,0,32768"
|
||
|
func_check "xxsplti32dx vs0,0,63"
|
||
|
func_check "xxsplti32dx vs0,0,66535"
|
||
|
func_check "xxsplti32dx vs0,0,7"
|
||
|
func_check "xxsplti32dx vs0,1,2779096485"
|
||
|
func_check "xxsplti32dx vs0,1,4294967295"
|
||
|
func_check "xxsplti32dx vs0,1,127"
|
||
|
func_check "xxsplti32dx vs0,1,15"
|
||
|
func_check "xxsplti32dx vs0,1,3"
|
||
|
func_check "xxsplti32dx vs0,1,31"
|
||
|
func_check "xxsplti32dx vs0,1,32768"
|
||
|
func_check "xxsplti32dx vs0,1,63"
|
||
|
func_check "xxsplti32dx vs0,1,66535"
|
||
|
func_check "xxsplti32dx vs0,1,7"
|
||
|
func_check "xxspltidp vs0,0"
|
||
|
func_check "xxspltidp vs0,8388608"
|
||
|
func_check "xxspltidp vs0,8388609"
|
||
|
func_check "xxspltidp vs0,8594245"
|
||
|
func_check "xxspltidp vs0,16777215"
|
||
|
func_check "xxspltidp vs0,838860800"
|
||
|
func_check "xxspltidp vs0,2139095040"
|
||
|
func_check "xxspltidp vs0,2139095041"
|
||
|
func_check "xxspltidp vs0,2139300677"
|
||
|
func_check "xxspltidp vs0,2147483647"
|
||
|
func_check "xxspltidp vs0,2147483648"
|
||
|
func_check "xxspltidp vs0,2155872256"
|
||
|
func_check "xxspltidp vs0,2155872257"
|
||
|
func_check "xxspltidp vs0,2156077893"
|
||
|
func_check "xxspltidp vs0,2164260863"
|
||
|
func_check "xxspltidp vs0,4286578688"
|
||
|
func_check "xxspltidp vs0,4286578689"
|
||
|
func_check "xxspltidp vs0,4286784325"
|
||
|
func_check "xxspltidp vs0,4294967295"
|
||
|
func_check "xxspltiw vs0,0"
|
||
|
func_check "xxspltiw vs0,1"
|
||
|
func_check "xxspltiw vs0,3"
|
||
|
func_check "xxspltiw vs0,8"
|