# 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 . # 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"