mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
128-bit Binary Integer Operation tests
This commit is contained in:
parent
7a52b46d1a
commit
62f62b7ce6
@ -52,11 +52,10 @@ EXTRA_DIST = \
|
||||
test_isa_3_1_RT.vgtest test_isa_3_1_RT.stderr.exp test_isa_3_1_RT.stdout.exp \
|
||||
test_isa_3_1_XT.vgtest test_isa_3_1_XT.stderr.exp test_isa_3_1_XT.stdout.exp \
|
||||
test_isa_3_1_VRT.vgtest test_isa_3_1_VRT.stderr.exp test_isa_3_1_VRT.stdout.exp \
|
||||
test_isa_3_1_Misc.vgtest \
|
||||
test_isa_3_1_Misc.vgtest test_isa_3_1_Misc.stderr.exp test_isa_3_1_Misc.stdout.exp \
|
||||
test_isa_3_1_AT.vgtest \
|
||||
subnormal_test.stderr.exp subnormal_test.stdout.exp \
|
||||
subnormal_test.vgtest
|
||||
# test_isa_3_1_Misc.vgtest test_isa_3_1_Misc.stderr.exp test_isa_3_1_Misc.stdout.exp
|
||||
# test_isa_3_1_AT.vgtest test_isa_3_1_AT.stderr.exp test_isa_3_1_AT.stdout.exp
|
||||
|
||||
check_PROGRAMS = \
|
||||
@ -67,11 +66,12 @@ check_PROGRAMS = \
|
||||
test_isa_2_07_part1 test_isa_2_07_part2 \
|
||||
test_isa_3_0 \
|
||||
test_isa_3_1_RT test_isa_3_1_XT test_isa_3_1_VRT \
|
||||
test_isa_3_1_Misc \
|
||||
subnormal_test \
|
||||
test_tm test_touch_tm ldst_multiple data-cache-instructions \
|
||||
power6_mf_gpr std_reg_imm \
|
||||
twi_tdi tw_td power6_bcmp
|
||||
# test_isa_3_1_Misc test_isa_3_1_AT
|
||||
# test_isa_3_1_AT
|
||||
|
||||
AM_CFLAGS += @FLAG_M64@
|
||||
AM_CXXFLAGS += @FLAG_M64@
|
||||
@ -82,9 +82,9 @@ allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
|
||||
test_isa_3_1_XT_SOURCES = test_isa_3_1_XT.c test_isa_3_1_common.c
|
||||
test_isa_3_1_RT_SOURCES = test_isa_3_1_RT.c test_isa_3_1_common.c
|
||||
test_isa_3_1_VRT_SOURCES = test_isa_3_1_VRT.c test_isa_3_1_common.c
|
||||
test_isa_3_1_Misc_SOURCES = test_isa_3_1_Misc.c test_isa_3_1_common.c
|
||||
|
||||
#test_isa_3_1_AT_SOURCES = test_isa_3_1_AT.c test_isa_3_1_common.c
|
||||
#test_isa_3_1_Misc_SOURCES = test_isa_3_1_Misc.c test_isa_3_1_common.c
|
||||
|
||||
if HAS_ALTIVEC
|
||||
BUILD_FLAG_ALTIVEC = -maltivec
|
||||
@ -189,6 +189,7 @@ test_isa_3_1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(ISA_3_1_FL
|
||||
test_isa_3_1_RT_CFLAGS = $(test_isa_3_1_CFLAGS)
|
||||
test_isa_3_1_XT_CFLAGS = $(test_isa_3_1_CFLAGS)
|
||||
test_isa_3_1_VRT_CFLAGS = $(test_isa_3_1_CFLAGS)
|
||||
test_isa_3_1_Misc_CFLAGS = $(test_isa_3_1_CFLAGS)
|
||||
|
||||
subnormal_test_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(VSX_FLAG) $(ISA_2_06_FLAG) \
|
||||
@FLAG_M64@ $(ALTIVEC_FLAG) $(BUILD_FLAG_VSX) $(BUILD_FLAGS_ISA_2_06)
|
||||
|
||||
273
none/tests/ppc64/test_isa_3_1_Misc.c
Normal file
273
none/tests/ppc64/test_isa_3_1_Misc.c
Normal file
@ -0,0 +1,273 @@
|
||||
/*
|
||||
* Valgrind testcase for PowerPC ISA 3.1
|
||||
*
|
||||
* Copyright (C) 2019-2020 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||||
*
|
||||
* 64bit build:
|
||||
* gcc -Winline -Wall -g -O -mregnames -maltivec -m64
|
||||
*/
|
||||
|
||||
/*
|
||||
* 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 2 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, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#ifdef HAS_ISA_3_1
|
||||
#include <stdint.h>
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <altivec.h>
|
||||
#include <malloc.h>
|
||||
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
/* Condition Register fields.
|
||||
These are used to capture the condition register values immediately after
|
||||
the instruction under test is executed. This is done to help prevent other
|
||||
test overhead (switch statements, result compares, etc) from disturbing
|
||||
the test case results. */
|
||||
unsigned long current_cr;
|
||||
unsigned long current_fpscr;
|
||||
|
||||
struct test_list_t current_test;
|
||||
|
||||
#include "isa_3_1_helpers.h"
|
||||
|
||||
static void test_vcmpsq (void) {
|
||||
SET_CR_ZERO;
|
||||
__asm__ __volatile__ ("vcmpsq 3, %0, %1" :: "v" (vra), "v" (vrb) );
|
||||
GET_CR(current_cr); SET_CR_ZERO;
|
||||
}
|
||||
static void test_vcmpuq (void) {
|
||||
SET_CR_ZERO;
|
||||
__asm__ __volatile__ ("vcmpuq 3, %0, %1" :: "v" (vra), "v" (vrb) );
|
||||
GET_CR(current_cr); SET_CR_ZERO;
|
||||
}
|
||||
|
||||
static test_list_t testgroup_generic[] = {
|
||||
{ &test_vcmpsq, "vcmpsq", "BF,VRA,VRB"}, /* bcs */
|
||||
{ &test_vcmpuq, "vcmpuq", "BF,VRA,VRB"}, /* bcs */
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
/* Allow skipping of tests. */
|
||||
unsigned long test_count=0xffff;
|
||||
unsigned long skip_count=0;
|
||||
unsigned long setup_only=0;
|
||||
|
||||
/* Set up a setjmp/longjmp to gently handle our SIGILLs and SIGSEGVs. */
|
||||
static jmp_buf mybuf;
|
||||
|
||||
/* This (testfunction_generic) is meant to handle all of the instruction
|
||||
variations. The helpers set up the register and iterator values
|
||||
as is appropriate for the instruction being tested. */
|
||||
static void testfunction_generic (const char* instruction_name,
|
||||
test_func_t test_function,
|
||||
unsigned int ignore_flags,
|
||||
char * cur_form) {
|
||||
|
||||
identify_form_components (instruction_name , cur_form);
|
||||
debug_show_form (instruction_name, cur_form);
|
||||
set_up_iterators ();
|
||||
debug_show_iter_ranges ();
|
||||
initialize_buffer (0);
|
||||
debug_dump_buffer ();
|
||||
|
||||
for (vrai = a_start; vrai < a_iters ; vrai+=a_inc) {
|
||||
for (vrbi = b_start; vrbi < b_iters ; vrbi+=b_inc) {
|
||||
for (vrci = c_start; vrci < c_iters ; vrci+=c_inc) {
|
||||
for (vrmi = m_start; (vrmi < m_iters) ; vrmi+=m_inc) {
|
||||
CHECK_OVERRIDES
|
||||
debug_show_current_iteration ();
|
||||
// Be sure to initialize the target registers first.
|
||||
initialize_target_registers ();
|
||||
initialize_source_registers ();
|
||||
printf ("%s", instruction_name);
|
||||
print_register_header ();
|
||||
printf( " =>"); fflush (stdout);
|
||||
if (!setup_only) {
|
||||
if (enable_setjmp) {
|
||||
if ( setjmp ( mybuf ) ) {
|
||||
printf("signal tripped. (FIXME)\n");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
(*test_function) ();
|
||||
}
|
||||
print_register_footer ();
|
||||
print_result_buffer ();
|
||||
printf ("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void mykillhandler ( int x ) { longjmp (mybuf, 1); }
|
||||
void mysegvhandler ( int x ) { longjmp (mybuf, 1); }
|
||||
|
||||
static void do_tests ( void )
|
||||
{
|
||||
int groupcount;
|
||||
char * cur_form;
|
||||
test_group_t group_function = &testfunction_generic;
|
||||
test_list_t *tests = testgroup_generic;
|
||||
|
||||
struct sigaction kill_action, segv_action;
|
||||
struct sigaction old_kill_action, old_segv_action;
|
||||
if (enable_setjmp) {
|
||||
kill_action.sa_handler = mykillhandler;
|
||||
segv_action.sa_handler = mysegvhandler;
|
||||
sigemptyset ( &kill_action.sa_mask );
|
||||
sigemptyset ( &segv_action.sa_mask );
|
||||
kill_action.sa_flags = SA_NODEFER;
|
||||
segv_action.sa_flags = SA_NODEFER;
|
||||
sigaction ( SIGILL, &kill_action, &old_kill_action);
|
||||
sigaction ( SIGSEGV, &segv_action, &old_segv_action);
|
||||
}
|
||||
|
||||
for (groupcount = 0; tests[groupcount].name != NULL; groupcount++) {
|
||||
cur_form = strdup(tests[groupcount].form);
|
||||
current_test = tests[groupcount];
|
||||
if (groupcount < skip_count) continue;
|
||||
if (verbose) printf("Test #%d ,", groupcount);
|
||||
if (verbose > 1) printf(" instruction %s (v=%d)", current_test.name, verbose);
|
||||
(*group_function) (current_test.name, current_test.func, 0, cur_form );
|
||||
printf ("\n");
|
||||
if (groupcount >= (skip_count+test_count)) break;
|
||||
}
|
||||
if (debug_show_labels) printf("\n");
|
||||
printf ("All done. Tested %d different instruction groups\n", groupcount);
|
||||
}
|
||||
|
||||
static void usage (void)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Usage: test_isa_XXX [OPTIONS]\n"
|
||||
"\t-h: display this help and exit\n"
|
||||
"\t-v: increase verbosity\n"
|
||||
"\t-a <foo> : limit number of a-iterations to <foo>\n"
|
||||
"\t-b <foo> : limit number of b-iterations to <foo>\n"
|
||||
"\t-c <foo> : limit number of c-iterations to <foo>\n"
|
||||
"\t-n <foo> : limit to this number of tests.\n"
|
||||
"\t-r <foo>: run only test # <foo> \n"
|
||||
"\t\n"
|
||||
"\t-j :enable setjmp to recover from illegal insns. \n"
|
||||
"\t-m :(dev only?) lock VRM value to zero.\n"
|
||||
"\t-z :(dev only?) lock MC value to zero.\n"
|
||||
"\t-p :(dev only?) disable prefix instructions\n"
|
||||
"\t-s <foo>: skip <foo> tests \n"
|
||||
"\t-c <foo>: stop after running <foo> # of tests \n"
|
||||
"\t-f : Do the test setup but do not actually execute the test instruction. \n"
|
||||
);
|
||||
}
|
||||
|
||||
int main (int argc, char **argv)
|
||||
{
|
||||
int c;
|
||||
while ((c = getopt(argc, argv, "dhjvmpfzs:a:b:c:n:r:")) != -1) {
|
||||
switch (c) {
|
||||
case 'h':
|
||||
usage();
|
||||
return 0;
|
||||
|
||||
case 'v':
|
||||
verbose++;
|
||||
break;
|
||||
|
||||
/* Options related to limiting the test iterations. */
|
||||
case 'a':
|
||||
a_limit=atoi (optarg);
|
||||
printf ("limiting a-iters to %ld.\n", a_limit);
|
||||
break;
|
||||
case 'b':
|
||||
b_limit=atoi (optarg);
|
||||
printf ("limiting b-iters to %ld.\n", b_limit);
|
||||
break;
|
||||
case 'c':
|
||||
c_limit=atoi (optarg);
|
||||
printf ("limiting c-iters to %ld.\n", c_limit);
|
||||
break;
|
||||
case 'n': // run this number of tests.
|
||||
test_count=atoi (optarg);
|
||||
printf ("limiting to %ld tests\n", test_count);
|
||||
break;
|
||||
case 'r': // run just test #<foo>.
|
||||
skip_count=atoi (optarg);
|
||||
test_count=0;
|
||||
if (verbose) printf("Running only test number %ld\n", skip_count);
|
||||
break;
|
||||
case 's': // skip this number of tests.
|
||||
skip_count=atoi (optarg);
|
||||
printf ("skipping %ld tests\n", skip_count);
|
||||
break;
|
||||
|
||||
/* debug options. */
|
||||
case 'd':
|
||||
dump_tables=1;
|
||||
printf("DEBUG:dump_tables.\n");
|
||||
break;
|
||||
case 'f':
|
||||
setup_only=1;
|
||||
printf("DEBUG:setup_only.\n");
|
||||
break;
|
||||
case 'j':
|
||||
enable_setjmp=1;
|
||||
printf ("DEBUG:setjmp enabled.\n");
|
||||
break;
|
||||
case 'm':
|
||||
vrm_override=1;
|
||||
printf ("DEBUG:vrm override enabled.\n");
|
||||
break;
|
||||
case 'p':
|
||||
prefix_override=1;
|
||||
printf ("DEBUG:prefix override enabled.\n");
|
||||
break;
|
||||
case 'z':
|
||||
mc_override=1;
|
||||
printf ("DEBUG:MC override enabled.\n");
|
||||
break;
|
||||
default:
|
||||
usage();
|
||||
fprintf(stderr, "Unknown argument: '%c'\n", c);
|
||||
}
|
||||
}
|
||||
|
||||
generic_prologue ();
|
||||
build_vsx_table ();
|
||||
build_args_table ();
|
||||
build_float_vsx_tables ();
|
||||
|
||||
if (dump_tables) {
|
||||
dump_float_vsx_tables ();
|
||||
dump_vsxargs ();
|
||||
}
|
||||
|
||||
do_tests ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else // HAS_ISA_3_1
|
||||
int main (int argc, char **argv)
|
||||
{
|
||||
printf("NO ISA 3.1 SUPPORT\n");
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
2
none/tests/ppc64/test_isa_3_1_Misc.stderr.exp
Normal file
2
none/tests/ppc64/test_isa_3_1_Misc.stderr.exp
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
|
||||
341
none/tests/ppc64/test_isa_3_1_Misc.stdout.exp
Normal file
341
none/tests/ppc64/test_isa_3_1_Misc.stdout.exp
Normal file
@ -0,0 +1,341 @@
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 7f800000ff800000,ff8000007f800000 => [00020000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 0180055e0180077e,0000111e8000222e => [00080000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 2208400000000000,0000000000000009 => [00080000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 ffff000180000001,0000000000000000 => [00080000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq 7f800000ff800000,ff8000007f800000 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe ff8000007f800000,ff7ffffe7f7ffffe => [00020000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe 0180055e0180077e,0000111e8000222e => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe 2208400000000000,0000000000000009 => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe ffff000180000001,0000000000000000 => [00080000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq ff8000007f800000,ff7ffffe7f7ffffe 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e ff7ffffe7f7ffffe,0080000e8080000e => [00020000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e 0000000000000009,ffff000180000001 => [00040000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq ff7ffffe7f7ffffe,0080000e8080000e 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e 0080000e8080000e,0180055e0180077e => [00020000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e 0000000000000009,ffff000180000001 => [00040000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq 0080000e8080000e,0180055e0180077e 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e 0180055e0180077e,0000111e8000222e => [00020000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e 0000000000000009,ffff000180000001 => [00040000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq 0180055e0180077e,0000111e8000222e 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 0000111e8000222e,7ff0000000000000 => [00020000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 fff0000000000000,2208400000000000 => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 0000000000000009,ffff000180000001 => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq 0000111e8000222e,7ff0000000000000 8000000000000000,7f800000ff800000 => [00040000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 0180055e0180077e,0000111e8000222e => [00080000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 7ff0000000000000,fff0000000000000 => [00020000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 2208400000000000,0000000000000009 => [00080000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 ffff000180000001,0000000000000000 => [00080000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq 7ff0000000000000,fff0000000000000 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq fff0000000000000,2208400000000000 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq fff0000000000000,2208400000000000 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 fff0000000000000,2208400000000000 => [00020000]
|
||||
vcmpsq fff0000000000000,2208400000000000 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 0000000000000009,ffff000180000001 => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq fff0000000000000,2208400000000000 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq 2208400000000000,0000000000000009 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq 2208400000000000,0000000000000009 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq 2208400000000000,0000000000000009 ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpsq 2208400000000000,0000000000000009 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpsq 2208400000000000,0000000000000009 0180055e0180077e,0000111e8000222e => [00080000]
|
||||
vcmpsq 2208400000000000,0000000000000009 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq 2208400000000000,0000000000000009 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpsq 2208400000000000,0000000000000009 fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq 2208400000000000,0000000000000009 2208400000000000,0000000000000009 => [00020000]
|
||||
vcmpsq 2208400000000000,0000000000000009 0000000000000009,ffff000180000001 => [00040000]
|
||||
vcmpsq 2208400000000000,0000000000000009 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpsq 2208400000000000,0000000000000009 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq 2208400000000000,0000000000000009 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 0180055e0180077e,0000111e8000222e => [00080000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 2208400000000000,0000000000000009 => [00080000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 0000000000000009,ffff000180000001 => [00020000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 ffff000180000001,0000000000000000 => [00080000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq 0000000000000009,ffff000180000001 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq ffff000180000001,0000000000000000 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq ffff000180000001,0000000000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq ffff000180000001,0000000000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpsq ffff000180000001,0000000000000000 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpsq ffff000180000001,0000000000000000 0180055e0180077e,0000111e8000222e => [00080000]
|
||||
vcmpsq ffff000180000001,0000000000000000 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq ffff000180000001,0000000000000000 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpsq ffff000180000001,0000000000000000 fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq ffff000180000001,0000000000000000 2208400000000000,0000000000000009 => [00080000]
|
||||
vcmpsq ffff000180000001,0000000000000000 0000000000000009,ffff000180000001 => [00040000]
|
||||
vcmpsq ffff000180000001,0000000000000000 ffff000180000001,0000000000000000 => [00020000]
|
||||
vcmpsq ffff000180000001,0000000000000000 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq ffff000180000001,0000000000000000 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 0180055e0180077e,0000111e8000222e => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 2208400000000000,0000000000000009 => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 ffff000180000001,0000000000000000 => [00080000]
|
||||
vcmpsq 0000000000000000,8000000000000000 0000000000000000,8000000000000000 => [00020000]
|
||||
vcmpsq 0000000000000000,8000000000000000 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 fff0000000000000,2208400000000000 => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 0000000000000009,ffff000180000001 => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpsq 8000000000000000,7f800000ff800000 8000000000000000,7f800000ff800000 => [00020000]
|
||||
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 7f800000ff800000,ff8000007f800000 => [00020000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 0000111e8000222e,7ff0000000000000 => [00040000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 fff0000000000000,2208400000000000 => [00040000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpuq 7f800000ff800000,ff8000007f800000 8000000000000000,7f800000ff800000 => [00040000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe ff8000007f800000,ff7ffffe7f7ffffe => [00020000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe 0000111e8000222e,7ff0000000000000 => [00040000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe fff0000000000000,2208400000000000 => [00040000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpuq ff8000007f800000,ff7ffffe7f7ffffe 8000000000000000,7f800000ff800000 => [00040000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e ff7ffffe7f7ffffe,0080000e8080000e => [00020000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e 0000000000000000,8000000000000000 => [00080000]
|
||||
vcmpuq ff7ffffe7f7ffffe,0080000e8080000e 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e 0080000e8080000e,0180055e0180077e => [00020000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e 0000000000000000,8000000000000000 => [00080000]
|
||||
vcmpuq 0080000e8080000e,0180055e0180077e 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e 0180055e0180077e,0000111e8000222e => [00020000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e 0000000000000000,8000000000000000 => [00080000]
|
||||
vcmpuq 0180055e0180077e,0000111e8000222e 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 0000111e8000222e,7ff0000000000000 => [00020000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 fff0000000000000,2208400000000000 => [00040000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 0000000000000000,8000000000000000 => [00080000]
|
||||
vcmpuq 0000111e8000222e,7ff0000000000000 8000000000000000,7f800000ff800000 => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 0000111e8000222e,7ff0000000000000 => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 7ff0000000000000,fff0000000000000 => [00020000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 fff0000000000000,2208400000000000 => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpuq 7ff0000000000000,fff0000000000000 8000000000000000,7f800000ff800000 => [00040000]
|
||||
vcmpuq fff0000000000000,2208400000000000 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq fff0000000000000,2208400000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpuq fff0000000000000,2208400000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpuq fff0000000000000,2208400000000000 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpuq fff0000000000000,2208400000000000 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq fff0000000000000,2208400000000000 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpuq fff0000000000000,2208400000000000 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq fff0000000000000,2208400000000000 fff0000000000000,2208400000000000 => [00020000]
|
||||
vcmpuq fff0000000000000,2208400000000000 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq fff0000000000000,2208400000000000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq fff0000000000000,2208400000000000 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq fff0000000000000,2208400000000000 0000000000000000,8000000000000000 => [00080000]
|
||||
vcmpuq fff0000000000000,2208400000000000 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 0180055e0180077e,0000111e8000222e => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 2208400000000000,0000000000000009 => [00020000]
|
||||
vcmpuq 2208400000000000,0000000000000009 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq 2208400000000000,0000000000000009 0000000000000000,8000000000000000 => [00080000]
|
||||
vcmpuq 2208400000000000,0000000000000009 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 7f800000ff800000,ff8000007f800000 => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 ff8000007f800000,ff7ffffe7f7ffffe => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 0000111e8000222e,7ff0000000000000 => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 7ff0000000000000,fff0000000000000 => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 fff0000000000000,2208400000000000 => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 0000000000000009,ffff000180000001 => [00020000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 0000000000000000,8000000000000000 => [00040000]
|
||||
vcmpuq 0000000000000009,ffff000180000001 8000000000000000,7f800000ff800000 => [00040000]
|
||||
vcmpuq ffff000180000001,0000000000000000 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 0080000e8080000e,0180055e0180077e => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 0180055e0180077e,0000111e8000222e => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 fff0000000000000,2208400000000000 => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 2208400000000000,0000000000000009 => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 ffff000180000001,0000000000000000 => [00020000]
|
||||
vcmpuq ffff000180000001,0000000000000000 0000000000000000,8000000000000000 => [00080000]
|
||||
vcmpuq ffff000180000001,0000000000000000 8000000000000000,7f800000ff800000 => [00080000]
|
||||
vcmpuq 0000000000000000,8000000000000000 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq 0000000000000000,8000000000000000 ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpuq 0000000000000000,8000000000000000 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpuq 0000000000000000,8000000000000000 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpuq 0000000000000000,8000000000000000 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq 0000000000000000,8000000000000000 0000111e8000222e,7ff0000000000000 => [00040000]
|
||||
vcmpuq 0000000000000000,8000000000000000 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq 0000000000000000,8000000000000000 fff0000000000000,2208400000000000 => [00040000]
|
||||
vcmpuq 0000000000000000,8000000000000000 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq 0000000000000000,8000000000000000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq 0000000000000000,8000000000000000 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq 0000000000000000,8000000000000000 0000000000000000,8000000000000000 => [00020000]
|
||||
vcmpuq 0000000000000000,8000000000000000 8000000000000000,7f800000ff800000 => [00040000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 7f800000ff800000,ff8000007f800000 => [00080000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 ff8000007f800000,ff7ffffe7f7ffffe => [00080000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 ff7ffffe7f7ffffe,0080000e8080000e => [00040000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 0080000e8080000e,0180055e0180077e => [00040000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 0180055e0180077e,0000111e8000222e => [00040000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 0000111e8000222e,7ff0000000000000 => [00080000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 7ff0000000000000,fff0000000000000 => [00080000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 fff0000000000000,2208400000000000 => [00040000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 2208400000000000,0000000000000009 => [00040000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 0000000000000009,ffff000180000001 => [00080000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 ffff000180000001,0000000000000000 => [00040000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 0000000000000000,8000000000000000 => [00080000]
|
||||
vcmpuq 8000000000000000,7f800000ff800000 8000000000000000,7f800000ff800000 => [00020000]
|
||||
|
||||
All done. Tested 2 different instruction groups
|
||||
@ -117,6 +117,76 @@ static void test_vmodud (void) {
|
||||
__asm__ __volatile__ ("vmodud %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vmulesd (void) {
|
||||
__asm__ __volatile__ ("vmulesd %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vmuleud (void) {
|
||||
__asm__ __volatile__ ("vmuleud %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vmulosd (void) {
|
||||
__asm__ __volatile__ ("vmulosd %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vmuloud (void) {
|
||||
__asm__ __volatile__ ("vmuloud %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vextsd2q (void) {
|
||||
__asm__ __volatile__ ("vextsd2q %0, %1 " : "=v" (vrt) : "v" (vrb) );
|
||||
}
|
||||
static void test_vcmpequq (void) {
|
||||
__asm__ __volatile__ ("vcmpequq %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_dotted_vcmpequq (void) {
|
||||
SET_CR_ZERO;
|
||||
__asm__ __volatile__ ("vcmpequq %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
GET_CR(current_cr); SET_CR_ZERO;
|
||||
}
|
||||
static void test_vcmpgtsq (void) {
|
||||
__asm__ __volatile__ ("vcmpgtsq %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_dotted_vcmpgtsq (void) {
|
||||
SET_CR_ZERO;
|
||||
__asm__ __volatile__ ("vcmpgtsq %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
GET_CR(current_cr); SET_CR_ZERO;
|
||||
}
|
||||
static void test_vcmpgtuq (void) {
|
||||
__asm__ __volatile__ ("vcmpgtuq %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_dotted_vcmpgtuq (void) {
|
||||
SET_CR_ZERO;
|
||||
__asm__ __volatile__ ("vcmpgtuq %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
GET_CR(current_cr); SET_CR_ZERO;
|
||||
}
|
||||
static void test_vrlq (void) {
|
||||
__asm__ __volatile__ ("vrlq %0, %1, %2" : "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vrlqmi (void) {
|
||||
__asm__ __volatile__ ("vrlqmi %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vrlqnm (void) {
|
||||
__asm__ __volatile__ ("vrlqnm %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vslq (void) {
|
||||
__asm__ __volatile__ ("vslq %0, %1, %2" : "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vsraq (void) {
|
||||
__asm__ __volatile__ ("vsraq %0, %1, %2"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vsrq (void) {
|
||||
__asm__ __volatile__ ("vsrq %0, %1, %2" : "=v" (vrt) : "v" (vra), "v" (vrb) );
|
||||
}
|
||||
static void test_vextdubvlx (void) {
|
||||
__asm__ __volatile__ ("vextdubvlx %0, %1, %2, %3"
|
||||
: "=v" (vrt) : "v" (vra), "v" (vrb), "r" (rc) );
|
||||
@ -255,6 +325,12 @@ static void test_xsmincqp (void) {
|
||||
}
|
||||
|
||||
static test_list_t testgroup_generic[] = {
|
||||
{ &test_dotted_vcmpequq, "vcmpequq.", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_dotted_vcmpgtsq, "vcmpgtsq.", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_dotted_vcmpgtuq, "vcmpgtuq.", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vcmpequq, "vcmpequq", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vcmpgtsq, "vcmpgtsq", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vcmpgtuq, "vcmpgtuq", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vdivesd, "vdivesd", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vdivesw, "vdivesw", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vdiveud, "vdiveud", "VRT,VRA,VRB"}, /* bcs */
|
||||
@ -271,6 +347,7 @@ static test_list_t testgroup_generic[] = {
|
||||
{ &test_vextduhvrx, "vextduhvrx", "VRT,VRA,VRB,RC"}, /* bcs */
|
||||
{ &test_vextduwvlx, "vextduwvlx", "VRT,VRA,VRB,RC"}, /* bcs */
|
||||
{ &test_vextduwvrx, "vextduwvrx", "VRT,VRA,VRB,RC"}, /* bcs */
|
||||
{ &test_vextsd2q, "vextsd2q", "VRT,VRB"}, /* bcs */
|
||||
{ &test_vinsblx, "vinsblx", "VRT,RA,RB"}, /* bcs */
|
||||
{ &test_vinsbrx, "vinsbrx", "VRT,RA,RB"}, /* bcs */
|
||||
{ &test_vinsbvlx, "vinsbvlx", "VRT,RA,VRB"}, /* bcs */
|
||||
@ -293,15 +370,25 @@ static test_list_t testgroup_generic[] = {
|
||||
{ &test_vmodsw, "vmodsw", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmodud, "vmodud", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmoduw, "vmoduw", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmulesd, "vmulesd", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmuleud, "vmuleud", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmulhsd, "vmulhsd", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmulhsw, "vmulhsw", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmulhud, "vmulhud", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmulhuw, "vmulhuw", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmulld, "vmulld", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmulosd, "vmulosd", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vmuloud, "vmuloud", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vrlqmi, "vrlqmi", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vrlqnm, "vrlqnm", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vrlq, "vrlq", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vsldbi_0, "vsldbi 0", "VRT,VRA,VRB,SH"}, /* bcwp */
|
||||
{ &test_vsldbi_4, "vsldbi 4", "VRT,VRA,VRB,SH"}, /* bcwp */
|
||||
{ &test_vslq, "vslq", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vsraq, "vsraq", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_vsrdbi_0, "vsrdbi 0", "VRT,VRA,VRB,SH"}, /* bcwp */
|
||||
{ &test_vsrdbi_4, "vsrdbi 4", "VRT,VRA,VRB,SH"}, /* bcwp */
|
||||
{ &test_vsrq, "vsrq", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_xscmpeqqp, "xscmpeqqp", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_xscmpgeqp, "xscmpgeqp", "VRT,VRA,VRB"}, /* bcs */
|
||||
{ &test_xscmpgtqp, "xscmpgtqp", "VRT,VRA,VRB"}, /* bcs */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user