From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678110; cv=none; d=zoho.com; s=zohoarc; b=cdTj6jmOxqEs8GaffJe3KaRRBGKo8iA89z0uLHOsZ6ypYI3CAScwTb8kwnNhClolmxcZMUu2eTTgjLyxlQQ45q6ibxjpqyF0hmsb9OWT/OuJdhpH/BgTHE0RirZhOLYK4Y/EIZrVINaQDDtYCz1MtakzTc26XDNtwFCTHRlelpk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678110; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=E9fQURWPd0DR3u1qyC+uTSJH8LreYCD0SCI7fGmWVnk=; b=XkcsNO0kgBnuiZEvPYqRVulxZy/L2O1glK5Vhp/MX1CL7l/gibnN1HKaE7pW/PhMm74ISVeVdbytACYXNKPtejDWgHvUwtVS6P8kK51C27rVoIveHUhX16Vtgv5cWNMZztUk5UpF1WchjfCXeD/GDqLzL1SPIhxfQOCS4VKv6K8= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678110123143.9536895647774; Thu, 1 Aug 2019 09:48:30 -0700 (PDT) Received: from localhost ([::1]:57686 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEFg-0004Ug-VG for importer@patchew.org; Thu, 01 Aug 2019 12:48:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57479) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEEP-000402-Ra for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEEN-0005Ic-N8 for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:09 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:60729 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEEN-0005IB-Cl for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:07 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id EFAC81A2279; Thu, 1 Aug 2019 18:47:04 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id D0CAA1A2277; Thu, 1 Aug 2019 18:47:04 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:12 +0200 Message-Id: <1564677923-23173-2-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 01/12] target/mips: Add support for DSPRAM X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, Yongbok Kim , amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Yongbok Kim The optional Data Scratch Pad RAM (DSPRAM) block provides a general scratch= pad RAM used for temporary storage of data. The DSPRAM provides a connection to on-= chip memory or memory-mapped registers, which are accessed in parallel with the = L1 data cache to minimize access latency Signed-off-by: Yongbok Kim Signed-off-by: Aleksandar Markovic --- hw/mips/cps.c | 29 +++++++- hw/misc/Makefile.objs | 1 + hw/misc/mips_dspram.c | 153 +++++++++++++++++++++++++++++++++++= ++++ include/hw/mips/cps.h | 2 + include/hw/misc/mips_dspram.h | 46 ++++++++++++ target/mips/cpu.h | 9 ++- target/mips/internal.h | 3 +- target/mips/op_helper.c | 18 +++++ target/mips/translate.c | 8 ++ target/mips/translate_init.inc.c | 2 + 10 files changed, 266 insertions(+), 5 deletions(-) create mode 100644 hw/misc/mips_dspram.c create mode 100644 include/hw/misc/mips_dspram.h diff --git a/hw/mips/cps.c b/hw/mips/cps.c index 0d459c4..c84bc64 100644 --- a/hw/mips/cps.c +++ b/hw/mips/cps.c @@ -18,6 +18,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qapi/error.h" #include "qemu/module.h" #include "hw/mips/cps.h" @@ -91,7 +92,8 @@ static void mips_cps_realize(DeviceState *dev, Error **er= rp) =20 cpu =3D MIPS_CPU(first_cpu); env =3D &cpu->env; - saar_present =3D (bool)env->saarp; + saar_present =3D env->saarp; + bool dspram_present =3D env->dspramp; =20 /* Inter-Thread Communication Unit */ if (itu_present) { @@ -102,7 +104,8 @@ static void mips_cps_realize(DeviceState *dev, Error **= errp) object_property_set_bool(OBJECT(&s->itu), saar_present, "saar-pres= ent", &err); if (saar_present) { - qdev_prop_set_ptr(DEVICE(&s->itu), "saar", (void *)&env->CP0_S= AAR); + qdev_prop_set_ptr(DEVICE(&s->itu), "saar", + (void *) &env->CP0_SAAR[0]); } object_property_set_bool(OBJECT(&s->itu), true, "realized", &err); if (err !=3D NULL) { @@ -113,6 +116,28 @@ static void mips_cps_realize(DeviceState *dev, Error *= *errp) memory_region_add_subregion(&s->container, 0, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->itu),= 0)); } + env->dspram =3D g_new0(MIPSDSPRAMState, 1); + + /* Data Scratch Pad RAM */ + if (dspram_present) { + if (!saar_present) { + error_report("%s: DSPRAM requires SAAR registers", __func__); + return; + } + object_initialize(&s->dspram, sizeof(MIPSDSPRAMState), + TYPE_MIPS_DSPRAM); + qdev_set_parent_bus(DEVICE(&s->dspram), sysbus_get_default()); + qdev_prop_set_ptr(DEVICE(&s->dspram), "saar", + &env->CP0_SAAR[1]); + object_property_set_bool(OBJECT(&s->dspram), true, "realized", &er= r); + if (err !=3D NULL) { + error_report("%s: DSPRAM initialisation failed", __func__); + error_propagate(errp, err); + return; + } + memory_region_add_subregion(&s->container, 0, + sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->dspram), 0)); + } =20 /* Cluster Power Controller */ sysbus_init_child_obj(OBJECT(dev), "cpc", &s->cpc, sizeof(s->cpc), diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs index e9aab51..5fcb4db 100644 --- a/hw/misc/Makefile.objs +++ b/hw/misc/Makefile.objs @@ -60,6 +60,7 @@ obj-$(CONFIG_STM32F2XX_SYSCFG) +=3D stm32f2xx_syscfg.o obj-$(CONFIG_MIPS_CPS) +=3D mips_cmgcr.o obj-$(CONFIG_MIPS_CPS) +=3D mips_cpc.o obj-$(CONFIG_MIPS_ITU) +=3D mips_itu.o +obj-$(CONFIG_MIPS_DSPRAM) +=3D mips_dspram.o obj-$(CONFIG_MPS2_FPGAIO) +=3D mps2-fpgaio.o obj-$(CONFIG_MPS2_SCC) +=3D mps2-scc.o =20 diff --git a/hw/misc/mips_dspram.c b/hw/misc/mips_dspram.c new file mode 100644 index 0000000..9bc155b --- /dev/null +++ b/hw/misc/mips_dspram.c @@ -0,0 +1,153 @@ +/* + * Data Scratch Pad RAM + * + * Copyright (c) 2017 Imagination Technologies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "cpu.h" +#include "qemu/log.h" +#include "exec/exec-all.h" +#include "hw/hw.h" +#include "hw/sysbus.h" +#include "sysemu/sysemu.h" +#include "hw/misc/mips_dspram.h" + +static void raise_exception(int excp) +{ + current_cpu->exception_index =3D excp; + cpu_loop_exit(current_cpu); +} + +static uint64_t dspram_read(void *opaque, hwaddr addr, unsigned size) +{ + MIPSDSPRAMState *s =3D (MIPSDSPRAMState *)opaque; + + switch (size) { + case 1: + case 2: + raise_exception(EXCP_AdEL); + return 0; + case 4: + return *(uint32_t *) &s->ramblock[addr % (1 << s->size)]; + case 8: + return *(uint64_t *) &s->ramblock[addr % (1 << s->size)]; + } + return 0; +} + +static void dspram_write(void *opaque, hwaddr addr, uint64_t data, + unsigned size) +{ + MIPSDSPRAMState *s =3D (MIPSDSPRAMState *)opaque; + + switch (size) { + case 1: + case 2: + raise_exception(EXCP_AdES); + return; + case 4: + *(uint32_t *) &s->ramblock[addr % (1 << s->size)] =3D (uint32_t) d= ata; + break; + case 8: + *(uint64_t *) &s->ramblock[addr % (1 << s->size)] =3D data; + break; + } +} + +void dspram_reconfigure(struct MIPSDSPRAMState *dspram) +{ + MemoryRegion *mr =3D &dspram->mr; + hwaddr address; + bool is_enabled; + + address =3D ((*(uint64_t *) dspram->saar) & 0xFFFFFFFE000ULL) << 4; + is_enabled =3D *(uint64_t *) dspram->saar & 1; + + memory_region_transaction_begin(); + memory_region_set_size(mr, (1 << dspram->size)); + memory_region_set_address(mr, address); + memory_region_set_enabled(mr, is_enabled); + memory_region_transaction_commit(); +} + +static const MemoryRegionOps dspram_ops =3D { + .read =3D dspram_read, + .write =3D dspram_write, + .endianness =3D DEVICE_NATIVE_ENDIAN, + .valid =3D { + .unaligned =3D false, + } +}; + +static void mips_dspram_init(Object *obj) +{ + SysBusDevice *sbd =3D SYS_BUS_DEVICE(obj); + MIPSDSPRAMState *s =3D MIPS_DSPRAM(obj); + + memory_region_init_io(&s->mr, OBJECT(s), &dspram_ops, s, + "mips-dspram", (1 << s->size)); + sysbus_init_mmio(sbd, &s->mr); +} + +static void mips_dspram_realize(DeviceState *dev, Error **errp) +{ + MIPSDSPRAMState *s =3D MIPS_DSPRAM(dev); + + /* some error handling here */ + + s->ramblock =3D g_malloc0(1 << s->size); +} + +static void mips_dspram_reset(DeviceState *dev) +{ + MIPSDSPRAMState *s =3D MIPS_DSPRAM(dev); + + *(uint64_t *) s->saar =3D s->size << 1; + memset(s->ramblock, 0, (1 << s->size)); +} + +static Property mips_dspram_properties[] =3D { + DEFINE_PROP_PTR("saar", MIPSDSPRAMState, saar), + /* default DSPRAM size is 64 KB */ + DEFINE_PROP_SIZE("size", MIPSDSPRAMState, size, 0x10), + DEFINE_PROP_END_OF_LIST(), +}; + +static void mips_dspram_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + + dc->props =3D mips_dspram_properties; + dc->realize =3D mips_dspram_realize; + dc->reset =3D mips_dspram_reset; +} + +static const TypeInfo mips_dspram_info =3D { + .name =3D TYPE_MIPS_DSPRAM, + .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_size =3D sizeof(MIPSDSPRAMState), + .instance_init =3D mips_dspram_init, + .class_init =3D mips_dspram_class_init, +}; + +static void mips_dspram_register_types(void) +{ + type_register_static(&mips_dspram_info); +} + +type_init(mips_dspram_register_types); diff --git a/include/hw/mips/cps.h b/include/hw/mips/cps.h index aab1af9..a637036 100644 --- a/include/hw/mips/cps.h +++ b/include/hw/mips/cps.h @@ -25,6 +25,7 @@ #include "hw/intc/mips_gic.h" #include "hw/misc/mips_cpc.h" #include "hw/misc/mips_itu.h" +#include "hw/misc/mips_dspram.h" =20 #define TYPE_MIPS_CPS "mips-cps" #define MIPS_CPS(obj) OBJECT_CHECK(MIPSCPSState, (obj), TYPE_MIPS_CPS) @@ -41,6 +42,7 @@ typedef struct MIPSCPSState { MIPSGICState gic; MIPSCPCState cpc; MIPSITUState itu; + MIPSDSPRAMState dspram; } MIPSCPSState; =20 qemu_irq get_cps_irq(MIPSCPSState *cps, int pin_number); diff --git a/include/hw/misc/mips_dspram.h b/include/hw/misc/mips_dspram.h new file mode 100644 index 0000000..ee99e17 --- /dev/null +++ b/include/hw/misc/mips_dspram.h @@ -0,0 +1,46 @@ +/* + * Data Scratch Pad RAM + * + * Copyright (c) 2017 Imagination Technologies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef MIPS_DSPRAM_H +#define MIPS_DSPRAM_H + +#include "hw/sysbus.h" + +#define TYPE_MIPS_DSPRAM "mips-dspram" +#define MIPS_DSPRAM(obj) OBJECT_CHECK(MIPSDSPRAMState, (obj), TYPE_MIPS_DS= PRAM) + +typedef struct MIPSDSPRAMState { + /*< private >*/ + SysBusDevice parent_obj; + /*< public >*/ + + /* 2 ^ SIZE */ + uint64_t size; + + MemoryRegion mr; + + /* SAAR */ + bool saar_present; + void *saar; + + /* ramblock */ + uint8_t *ramblock; +} MIPSDSPRAMState; + +#endif /* MIPS_DSPRAM_H */ diff --git a/target/mips/cpu.h b/target/mips/cpu.h index 21c0615..90a2ed8 100644 --- a/target/mips/cpu.h +++ b/target/mips/cpu.h @@ -453,6 +453,7 @@ struct TCState { =20 }; =20 +struct MIPSDSPRAMState; struct MIPSITUState; typedef struct CPUMIPSState CPUMIPSState; struct CPUMIPSState { @@ -1035,8 +1036,8 @@ struct CPUMIPSState { uint32_t CP0_Status_rw_bitmask; /* Read/write bits in CP0_Status */ uint32_t CP0_TCStatus_rw_bitmask; /* Read/write bits in CP0_TCStatus */ uint64_t insn_flags; /* Supported instruction set */ - int saarp; - + bool saarp; + bool dspramp; /* Fields up to this point are cleared by a CPU reset */ struct {} end_reset_fields; =20 @@ -1051,6 +1052,7 @@ struct CPUMIPSState { QEMUTimer *timer; /* Internal timer */ struct MIPSITUState *itu; MemoryRegion *itc_tag; /* ITC Configuration Tags */ + struct MIPSDSPRAMState *dspram; target_ulong exception_base; /* ExceptionBase input to the core */ }; =20 @@ -1192,6 +1194,9 @@ void cpu_mips_soft_irq(CPUMIPSState *env, int irq, in= t level); /* mips_itu.c */ void itc_reconfigure(struct MIPSITUState *tag); =20 +/* mips_dspram.c */ +void dspram_reconfigure(struct MIPSDSPRAMState *dspram); + /* helper.c */ target_ulong exception_resume_pc(CPUMIPSState *env); =20 diff --git a/target/mips/internal.h b/target/mips/internal.h index b2b41a5..f6d0d7a 100644 --- a/target/mips/internal.h +++ b/target/mips/internal.h @@ -61,7 +61,8 @@ struct mips_def_t { target_ulong CP0_EBaseWG_rw_bitmask; uint64_t insn_flags; enum mips_mmu_types mmu_type; - int32_t SAARP; + bool SAARP; + bool DSPRAMP; }; =20 extern const struct mips_def_t mips_defs[]; diff --git a/target/mips/op_helper.c b/target/mips/op_helper.c index 9e2e02f..628da45 100644 --- a/target/mips/op_helper.c +++ b/target/mips/op_helper.c @@ -1614,7 +1614,16 @@ void helper_mtc0_saar(CPUMIPSState *env, target_ulon= g arg1) itc_reconfigure(env->itu); } break; +#if defined(CONFIG_MIPS_DSPRAM) + case 1: + if (env->dspram) { + dspram_reconfigure(env->dspram); + } + break; +#endif } + } else { + helper_raise_exception(env, EXCP_RI); } } =20 @@ -1631,7 +1640,16 @@ void helper_mthc0_saar(CPUMIPSState *env, target_ulo= ng arg1) itc_reconfigure(env->itu); } break; +#if defined(CONFIG_MIPS_DSPRAM) + case 1: + if (env->dspram) { + dspram_reconfigure(env->dspram); + } + break; +#endif } + } else { + helper_raise_exception(env, EXCP_RI); } } =20 diff --git a/target/mips/translate.c b/target/mips/translate.c index ca62800..4ebeabe 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -30368,6 +30368,8 @@ void cpu_state_reset(CPUMIPSState *env) env->active_fpu.fcr31 =3D env->cpu_model->CP1_fcr31; env->msair =3D env->cpu_model->MSAIR; env->insn_flags =3D env->cpu_model->insn_flags; + env->saarp =3D env->cpu_model->SAARP; + env->dspramp =3D env->cpu_model->DSPRAMP; =20 #if defined(CONFIG_USER_ONLY) env->CP0_Status =3D (MIPS_HFLAG_UM << CP0St_KSU); @@ -30528,6 +30530,12 @@ void cpu_state_reset(CPUMIPSState *env) msa_reset(env); } =20 + /* DSPRAM */ + if (env->dspramp) { + /* Fixed DSPRAM size with Default Value */ + env->CP0_SAAR[1] =3D 0x10 << 1; + } + compute_hflags(env); restore_fp_status(env); restore_pamask(env); diff --git a/target/mips/translate_init.inc.c b/target/mips/translate_init.= inc.c index 6d145a9..1df0901 100644 --- a/target/mips/translate_init.inc.c +++ b/target/mips/translate_init.inc.c @@ -760,6 +760,8 @@ const mips_def_t mips_defs[] =3D .PABITS =3D 48, .insn_flags =3D CPU_MIPS64R6 | ASE_MSA, .mmu_type =3D MMU_TYPE_R4000, + .SAARP =3D 1, + .DSPRAMP =3D 1, }, { .name =3D "Loongson-2E", --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678280; cv=none; d=zoho.com; s=zohoarc; b=B2fiUVYrHTQ/IpGtk55aZe6vAftUV1VZ2zes15ncpnYk/nJwwjKIj7uU+KE6ubQ925eBmFa/PvhEIiWMM5s/nb/Wp+s2Pk7jSif5fjvLgwJNTsmh+CAarjU+l5un2KrbqmlsbgYE5eWIN1WxholuGsMd2e/QaGciyo5e0iCAeQQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678280; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=4QY6dryIaf4cULvGTBniQaPJf49+/LKx//8XGUV1Tdo=; b=S0xrr+hT7lnTm7/22RkuYl7lJwboR3+FS0usic56kYkGPhQ5hVCFixzj/a+GabWf6VyDnGMgwHzpFCC71YWak71zylF5pY9Qy4Hcy8lZ5tx8g/deKfriME+mMyvXfx+pkG5LIW9oSVkcoADpE4EgMxta/1EvOzSvscT9Z+nTrhg= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678280132338.2850910907838; Thu, 1 Aug 2019 09:51:20 -0700 (PDT) Received: from localhost ([::1]:57704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEIR-00081N-3Z for importer@patchew.org; Thu, 01 Aug 2019 12:51:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57509) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEEn-0004FA-Fn for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEEm-0005Nq-1m for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:33 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35733 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEEl-0005Nf-OK for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:32 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id B4EE01A2264; Thu, 1 Aug 2019 18:47:29 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 99D591A2233; Thu, 1 Aug 2019 18:47:29 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:13 +0200 Message-Id: <1564677923-23173-3-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 02/12] target/mips: Amend CP0 WatchHi register implementation X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, Yongbok Kim , amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Yongbok Kim WatchHi is extended by the field MemoryMapID with the GINVT instruction. The field is accessible by MTHC0/MFHC0 in 32-bit architectures and DMTC0/ DMFC0 in 64-bit architectures. Signed-off-by: Yongbok Kim Signed-off-by: Aleksandar Markovic --- target/mips/cpu.h | 2 +- target/mips/helper.h | 3 +++ target/mips/machine.c | 6 +++--- target/mips/op_helper.c | 23 +++++++++++++++++++++-- target/mips/translate.c | 42 +++++++++++++++++++++++++++++++++++++++++- 5 files changed, 69 insertions(+), 7 deletions(-) diff --git a/target/mips/cpu.h b/target/mips/cpu.h index 90a2ed8..6406ba8 100644 --- a/target/mips/cpu.h +++ b/target/mips/cpu.h @@ -898,7 +898,7 @@ struct CPUMIPSState { /* * CP0 Register 19 */ - int32_t CP0_WatchHi[8]; + uint64_t CP0_WatchHi[8]; #define CP0WH_ASID 16 /* * CP0 Register 20 diff --git a/target/mips/helper.h b/target/mips/helper.h index 51f0e1c..aad0951 100644 --- a/target/mips/helper.h +++ b/target/mips/helper.h @@ -78,6 +78,7 @@ DEF_HELPER_1(mfc0_maar, tl, env) DEF_HELPER_1(mfhc0_maar, tl, env) DEF_HELPER_2(mfc0_watchlo, tl, env, i32) DEF_HELPER_2(mfc0_watchhi, tl, env, i32) +DEF_HELPER_2(mfhc0_watchhi, tl, env, i32) DEF_HELPER_1(mfc0_debug, tl, env) DEF_HELPER_1(mftc0_debug, tl, env) #ifdef TARGET_MIPS64 @@ -89,6 +90,7 @@ DEF_HELPER_1(dmfc0_tcschefback, tl, env) DEF_HELPER_1(dmfc0_lladdr, tl, env) DEF_HELPER_1(dmfc0_maar, tl, env) DEF_HELPER_2(dmfc0_watchlo, tl, env, i32) +DEF_HELPER_2(dmfc0_watchhi, tl, env, i32) DEF_HELPER_1(dmfc0_saar, tl, env) #endif /* TARGET_MIPS64 */ =20 @@ -159,6 +161,7 @@ DEF_HELPER_2(mthc0_maar, void, env, tl) DEF_HELPER_2(mtc0_maari, void, env, tl) DEF_HELPER_3(mtc0_watchlo, void, env, tl, i32) DEF_HELPER_3(mtc0_watchhi, void, env, tl, i32) +DEF_HELPER_3(mthc0_watchhi, void, env, tl, i32) DEF_HELPER_2(mtc0_xcontext, void, env, tl) DEF_HELPER_2(mtc0_framemask, void, env, tl) DEF_HELPER_2(mtc0_debug, void, env, tl) diff --git a/target/mips/machine.c b/target/mips/machine.c index eb2d970..c3e52f8 100644 --- a/target/mips/machine.c +++ b/target/mips/machine.c @@ -213,8 +213,8 @@ const VMStateDescription vmstate_tlb =3D { =20 const VMStateDescription vmstate_mips_cpu =3D { .name =3D "cpu", - .version_id =3D 18, - .minimum_version_id =3D 18, + .version_id =3D 19, + .minimum_version_id =3D 19, .post_load =3D cpu_post_load, .fields =3D (VMStateField[]) { /* Active TC */ @@ -297,7 +297,7 @@ const VMStateDescription vmstate_mips_cpu =3D { VMSTATE_INT32(env.CP0_MAARI, MIPSCPU), VMSTATE_UINTTL(env.lladdr, MIPSCPU), VMSTATE_UINTTL_ARRAY(env.CP0_WatchLo, MIPSCPU, 8), - VMSTATE_INT32_ARRAY(env.CP0_WatchHi, MIPSCPU, 8), + VMSTATE_UINT64_ARRAY(env.CP0_WatchHi, MIPSCPU, 8), VMSTATE_UINTTL(env.CP0_XContext, MIPSCPU), VMSTATE_INT32(env.CP0_Framemask, MIPSCPU), VMSTATE_INT32(env.CP0_Debug, MIPSCPU), diff --git a/target/mips/op_helper.c b/target/mips/op_helper.c index 628da45..279b800 100644 --- a/target/mips/op_helper.c +++ b/target/mips/op_helper.c @@ -979,7 +979,12 @@ target_ulong helper_mfc0_watchlo(CPUMIPSState *env, ui= nt32_t sel) =20 target_ulong helper_mfc0_watchhi(CPUMIPSState *env, uint32_t sel) { - return env->CP0_WatchHi[sel]; + return (int32_t) env->CP0_WatchHi[sel]; +} + +target_ulong helper_mfhc0_watchhi(CPUMIPSState *env, uint32_t sel) +{ + return env->CP0_WatchHi[sel] >> 32; } =20 target_ulong helper_mfc0_debug(CPUMIPSState *env) @@ -1055,6 +1060,11 @@ target_ulong helper_dmfc0_saar(CPUMIPSState *env) } return 0; } + +target_ulong helper_dmfc0_watchhi(CPUMIPSState *env, uint32_t sel) +{ + return env->CP0_WatchHi[sel]; +} #endif /* TARGET_MIPS64 */ =20 void helper_mtc0_index(CPUMIPSState *env, target_ulong arg1) @@ -1896,11 +1906,20 @@ void helper_mtc0_watchlo(CPUMIPSState *env, target_= ulong arg1, uint32_t sel) =20 void helper_mtc0_watchhi(CPUMIPSState *env, target_ulong arg1, uint32_t se= l) { - int mask =3D 0x40000FF8 | (env->CP0_EntryHi_ASID_mask << CP0WH_ASID); + uint64_t mask =3D 0x40000FF8 | (env->CP0_EntryHi_ASID_mask << CP0WH_AS= ID); + if ((env->CP0_Config5 >> CP0C5_MI) & 1) { + mask |=3D 0xFFFFFFFF00000000ULL; /* MMID */ + } env->CP0_WatchHi[sel] =3D arg1 & mask; env->CP0_WatchHi[sel] &=3D ~(env->CP0_WatchHi[sel] & arg1 & 0x7); } =20 +void helper_mthc0_watchhi(CPUMIPSState *env, target_ulong arg1, uint32_t s= el) +{ + env->CP0_WatchHi[sel] =3D ((uint64_t) (arg1) << 32) | + (env->CP0_WatchHi[sel] & 0x00000000ffffffffULL= ); +} + void helper_mtc0_xcontext(CPUMIPSState *env, target_ulong arg1) { target_ulong mask =3D (1ULL << (env->SEGBITS - 7)) - 1; diff --git a/target/mips/translate.c b/target/mips/translate.c index 4ebeabe..b40468d 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -2547,6 +2547,7 @@ typedef struct DisasContext { bool nan2008; bool abs2008; bool saar; + bool mi; } DisasContext; =20 #define DISAS_STOP DISAS_TARGET_0 @@ -6680,6 +6681,25 @@ static void gen_mfhc0(DisasContext *ctx, TCGv arg, i= nt reg, int sel) goto cp0_unimplemented; } break; + case CP0_REGISTER_19: + switch (sel) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + /* upper 32 bits are only available when Config5MI !=3D 0 */ + CP0_CHECK(ctx->mi); + gen_mfhc0_load64(arg, offsetof(CPUMIPSState, CP0_WatchHi[sel])= , 0); + register_name =3D "WatchHi"; + break; + default: + goto cp0_unimplemented; + } + break; case CP0_REGISTER_28: switch (sel) { case 0: @@ -6766,6 +6786,25 @@ static void gen_mthc0(DisasContext *ctx, TCGv arg, i= nt reg, int sel) goto cp0_unimplemented; } break; + case CP0_REGISTER_19: + switch (sel) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + /* upper 32 bits are only available when Config5MI !=3D 0 */ + CP0_CHECK(ctx->mi); + gen_helper_0e1i(mthc0_watchhi, arg, sel); + register_name =3D "WatchHi"; + break; + default: + goto cp0_unimplemented; + } + break; case CP0_REGISTER_28: switch (sel) { case 0: @@ -8805,7 +8844,7 @@ static void gen_dmfc0(DisasContext *ctx, TCGv arg, in= t reg, int sel) case 6: case 7: CP0_CHECK(ctx->CP0_Config1 & (1 << CP0C1_WR)); - gen_helper_1e0i(mfc0_watchhi, arg, sel); + gen_helper_1e0i(dmfc0_watchhi, arg, sel); register_name =3D "WatchHi"; break; default: @@ -29965,6 +30004,7 @@ static void mips_tr_init_disas_context(DisasContext= Base *dcbase, CPUState *cs) ctx->mrp =3D (env->CP0_Config5 >> CP0C5_MRP) & 1; ctx->nan2008 =3D (env->active_fpu.fcr31 >> FCR31_NAN2008) & 1; ctx->abs2008 =3D (env->active_fpu.fcr31 >> FCR31_ABS2008) & 1; + ctx->mi =3D (env->CP0_Config5 >> CP0C5_MI) & 1; restore_cpu_state(env, ctx); #ifdef CONFIG_USER_ONLY ctx->mem_idx =3D MIPS_HFLAG_UM; --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678189; cv=none; d=zoho.com; s=zohoarc; b=Fyo1fNhDwGS+G3X98bwItilLBNNTU3ja3s+5hy920slog05yDfz8ve0mS9158WCPLaRHJmp5JkdDqxaIsNwK1UwtZCMtKVJe4lcmNbz56H8Mc7U6Al3LaMM/MSSUs1z4vpS4eEEjDGk9sE6rItOKf0aqlC0ggAYFRYg2HthTdWM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678189; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=DLUGZRUQAI1zE27zUmdEXlx/Cc37TP9NxcZ9iNhL9z0=; b=AwgzmSnwFxqBHttmX8rIJJ9tWxIgHKLcIlCVBV7HqkIQsGJIzXQDC13QjSG6FiJvM95mnyp3VPLi1AhnE9tCnn75UV3wWXoMCQxOndaOHHS4ADf1nj1AA0K9QozkJbNbivqUnWrVzCfke/I4AS0FidYHpchZvPIYHBJhjK/I+P0= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678189582449.37173142283723; Thu, 1 Aug 2019 09:49:49 -0700 (PDT) Received: from localhost ([::1]:57698 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEGy-0006I5-KX for importer@patchew.org; Thu, 01 Aug 2019 12:49:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57570) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEEy-0004Yv-F6 for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEEx-0005RV-HG for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:44 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35764 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEEx-0005R8-Ar for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:43 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 30EBD1A2264; Thu, 1 Aug 2019 18:47:41 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 187171A2233; Thu, 1 Aug 2019 18:47:41 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:14 +0200 Message-Id: <1564677923-23173-4-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 03/12] target/mips: Update vmstate structures related to MemoryMapID register X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, Yongbok Kim , amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Yongbok Kim Add migration support for MemoryMapID registers. Signed-off-by: Yongbok Kim Signed-off-by: Aleksandar Markovic --- target/mips/machine.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/target/mips/machine.c b/target/mips/machine.c index c3e52f8..e23b767 100644 --- a/target/mips/machine.c +++ b/target/mips/machine.c @@ -137,6 +137,7 @@ static int get_tlb(QEMUFile *f, void *pv, size_t size, qemu_get_betls(f, &v->VPN); qemu_get_be32s(f, &v->PageMask); qemu_get_be16s(f, &v->ASID); + qemu_get_be32s(f, &v->MMID); qemu_get_be16s(f, &flags); v->G =3D (flags >> 10) & 1; v->C0 =3D (flags >> 7) & 3; @@ -162,6 +163,7 @@ static int put_tlb(QEMUFile *f, void *pv, size_t size, r4k_tlb_t *v =3D pv; =20 uint16_t asid =3D v->ASID; + uint32_t mmid =3D v->MMID; uint16_t flags =3D ((v->EHINV << 15) | (v->RI1 << 14) | (v->RI0 << 13) | @@ -178,6 +180,7 @@ static int put_tlb(QEMUFile *f, void *pv, size_t size, qemu_put_betls(f, &v->VPN); qemu_put_be32s(f, &v->PageMask); qemu_put_be16s(f, &asid); + qemu_put_be32s(f, &mmid); qemu_put_be16s(f, &flags); qemu_put_be64s(f, &v->PFN[0]); qemu_put_be64s(f, &v->PFN[1]); @@ -199,8 +202,8 @@ const VMStateInfo vmstate_info_tlb =3D { =20 const VMStateDescription vmstate_tlb =3D { .name =3D "cpu/tlb", - .version_id =3D 2, - .minimum_version_id =3D 2, + .version_id =3D 3, + .minimum_version_id =3D 3, .fields =3D (VMStateField[]) { VMSTATE_UINT32(nb_tlb, CPUMIPSTLBContext), VMSTATE_UINT32(tlb_in_use, CPUMIPSTLBContext), --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678204; cv=none; d=zoho.com; s=zohoarc; b=lgHTs+zRhKkm8RKbNnjgM3X+jfrC0zAN24gLmxahucE+AhyciG9cw7C+n2qzrEMXS1sC+joS9KuuApADmsbV0zOzt5BBKczw5i/oy1K89AKJ9wc/C8H8FuJilJ9my6gyX6xVyt8wQX8k4HulY4qHaYwudUetsNwRLhxkx4uEB4k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678204; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=dnkTXUicTQbQZIEJppTbw29nbCwRPeINU0La3mZ/PfE=; b=QvJp8uFY9sE0DrzGvcLcneJ2R6+xRWyw7it6hoVIpfdgWRSNPfTK6WDVlKwJ7XD3wOxyFtZ3nGZlbtVdXKHeBes2MiAkG84RDrgmY7/2zJQ+SP239VbnIiQo8Nt3IPT0s0UzEvDMLovhr/m+NwE/pilHiYTD2xTYtvduSWz3NXE= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678204934426.3074438105075; Thu, 1 Aug 2019 09:50:04 -0700 (PDT) Received: from localhost ([::1]:57700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEHD-0006TC-Sa for importer@patchew.org; Thu, 01 Aug 2019 12:50:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57596) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEF6-0004hu-7n for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEF4-0005Z8-3V for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:52 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35811 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEF3-0005X5-MF for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:47:50 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 394371A2277; Thu, 1 Aug 2019 18:47:47 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 1A14E1A2276; Thu, 1 Aug 2019 18:47:47 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:15 +0200 Message-Id: <1564677923-23173-5-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 04/12] target/mips: Add support for emulation of GINVT instruction X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, Yongbok Kim , amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Yongbok Kim Implement emulation of GINVT instruction. As QEMU doesn't support caches and virtualization, this implementation covers only GINVT (Global Invalidate TLB) instruction among TLB-related instructions. Signed-off-by: Yongbok Kim Signed-off-by: Aleksandar Markovic --- disas/mips.c | 2 + target/mips/cpu.h | 2 +- target/mips/helper.c | 24 ++++++++-- target/mips/helper.h | 2 + target/mips/internal.h | 1 + target/mips/op_helper.c | 122 ++++++++++++++++++++++++++++++++++++++++++--= ---- target/mips/translate.c | 48 ++++++++++++++++++- 7 files changed, 178 insertions(+), 23 deletions(-) diff --git a/disas/mips.c b/disas/mips.c index dfefe5e..c3a3059 100644 --- a/disas/mips.c +++ b/disas/mips.c @@ -1409,6 +1409,8 @@ const struct mips_opcode mips_builtin_opcodes[] =3D {"dvp", "t", 0x41600024, 0xffe0ffff, TRAP|WR_t, 0, I= 32R6}, {"evp", "", 0x41600004, 0xffffffff, TRAP, 0, I= 32R6}, {"evp", "t", 0x41600004, 0xffe0ffff, TRAP|WR_t, 0, I= 32R6}, +{"ginvi", "v", 0x7c00003d, 0xfc1ffcff, TRAP | INSN_TLB, 0, I= 32R6}, +{"ginvt", "v", 0x7c0000bd, 0xfc1ffcff, TRAP | INSN_TLB, 0, I= 32R6}, =20 /* MSA */ {"sll.b", "+d,+e,+f", 0x7800000d, 0xffe0003f, WR_VD|RD_VS|RD_VT, 0, MSA= }, diff --git a/target/mips/cpu.h b/target/mips/cpu.h index 6406ba8..4b488a6 100644 --- a/target/mips/cpu.h +++ b/target/mips/cpu.h @@ -290,7 +290,7 @@ typedef struct mips_def_t mips_def_t; #define CP0_REG04__CONTEXT 0 #define CP0_REG04__USERLOCAL 2 #define CP0_REG04__DBGCONTEXTID 4 -#define CP0_REG00__MMID 5 +#define CP0_REG04__MMID 5 /* CP0 Register 05 */ #define CP0_REG05__PAGEMASK 0 #define CP0_REG05__PAGEGRAIN 1 diff --git a/target/mips/helper.c b/target/mips/helper.c index a2b6459..6e583d3 100644 --- a/target/mips/helper.c +++ b/target/mips/helper.c @@ -70,7 +70,12 @@ int r4k_map_address (CPUMIPSState *env, hwaddr *physical= , int *prot, target_ulong address, int rw, int access_type) { uint16_t ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; + uint32_t MMID =3D env->CP0_MemoryMapID; + bool mi =3D !!((env->CP0_Config5 >> CP0C5_MI) & 1); int i; + uint32_t tlb_mmid; + + MMID =3D mi ? MMID : (uint32_t) ASID; =20 for (i =3D 0; i < env->tlb->tlb_in_use; i++) { r4k_tlb_t *tlb =3D &env->tlb->mmu.r4k.tlb[i]; @@ -82,8 +87,9 @@ int r4k_map_address (CPUMIPSState *env, hwaddr *physical,= int *prot, tag &=3D env->SEGMask; #endif =20 - /* Check ASID, virtual page number & size */ - if ((tlb->G =3D=3D 1 || tlb->ASID =3D=3D ASID) && VPN =3D=3D tag &= & !tlb->EHINV) { + /* Check ASID/MMID, virtual page number & size */ + tlb_mmid =3D mi ? tlb->MMID : (uint32_t) tlb->ASID; + if ((tlb->G =3D=3D 1 || tlb_mmid =3D=3D MMID) && VPN =3D=3D tag &&= !tlb->EHINV) { /* TLB match */ int n =3D !!(address & mask & ~(mask >> 1)); /* Check access rights */ @@ -1397,12 +1403,20 @@ void r4k_invalidate_tlb (CPUMIPSState *env, int idx= , int use_extra) target_ulong addr; target_ulong end; uint16_t ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; + uint32_t MMID =3D env->CP0_MemoryMapID; target_ulong mask; + bool mi =3D !!((env->CP0_Config5 >> CP0C5_MI) & 1); + uint32_t tlb_mmid; + + MMID =3D mi ? MMID : (uint32_t) ASID; =20 tlb =3D &env->tlb->mmu.r4k.tlb[idx]; - /* The qemu TLB is flushed when the ASID changes, so no need to - flush these entries again. */ - if (tlb->G =3D=3D 0 && tlb->ASID !=3D ASID) { + /* + * The qemu TLB is flushed when the ASID/MMID changes, so no need to + * flush these entries again. + */ + tlb_mmid =3D mi ? tlb->MMID : (uint32_t) tlb->ASID; + if (tlb->G =3D=3D 0 && tlb_mmid !=3D MMID) { return; } =20 diff --git a/target/mips/helper.h b/target/mips/helper.h index aad0951..c7d35bd 100644 --- a/target/mips/helper.h +++ b/target/mips/helper.h @@ -120,6 +120,7 @@ DEF_HELPER_2(mtc0_tcschefback, void, env, tl) DEF_HELPER_2(mttc0_tcschefback, void, env, tl) DEF_HELPER_2(mtc0_entrylo1, void, env, tl) DEF_HELPER_2(mtc0_context, void, env, tl) +DEF_HELPER_2(mtc0_memorymapid, void, env, tl) DEF_HELPER_2(mtc0_pagemask, void, env, tl) DEF_HELPER_2(mtc0_pagegrain, void, env, tl) DEF_HELPER_2(mtc0_segctl0, void, env, tl) @@ -376,6 +377,7 @@ DEF_HELPER_1(ei, tl, env) DEF_HELPER_1(eret, void, env) DEF_HELPER_1(eretnc, void, env) DEF_HELPER_1(deret, void, env) +DEF_HELPER_3(ginvt, void, env, tl, i32) #endif /* !CONFIG_USER_ONLY */ DEF_HELPER_1(rdhwr_cpunum, tl, env) DEF_HELPER_1(rdhwr_synci_step, tl, env) diff --git a/target/mips/internal.h b/target/mips/internal.h index f6d0d7a..d9216fb 100644 --- a/target/mips/internal.h +++ b/target/mips/internal.h @@ -92,6 +92,7 @@ struct r4k_tlb_t { target_ulong VPN; uint32_t PageMask; uint16_t ASID; + uint32_t MMID; unsigned int G:1; unsigned int C0:3; unsigned int C1:3; diff --git a/target/mips/op_helper.c b/target/mips/op_helper.c index 279b800..3104904 100644 --- a/target/mips/op_helper.c +++ b/target/mips/op_helper.c @@ -1409,6 +1409,17 @@ void helper_mtc0_context(CPUMIPSState *env, target_u= long arg1) env->CP0_Context =3D (env->CP0_Context & 0x007FFFFF) | (arg1 & ~0x007F= FFFF); } =20 +void helper_mtc0_memorymapid(CPUMIPSState *env, target_ulong arg1) +{ + int32_t old; + old =3D env->CP0_MemoryMapID; + env->CP0_MemoryMapID =3D (int32_t) arg1; + /* If the MemoryMapID changes, flush qemu's TLB. */ + if (old !=3D env->CP0_MemoryMapID) { + cpu_mips_tlb_flush(env); + } +} + void update_pagemask(CPUMIPSState *env, target_ulong arg1, int32_t *pagema= sk) { uint64_t mask =3D arg1 >> (TARGET_PAGE_BITS + 1); @@ -1857,6 +1868,8 @@ void helper_mtc0_config5(CPUMIPSState *env, target_ul= ong arg1) { env->CP0_Config5 =3D (env->CP0_Config5 & (~env->CP0_Config5_rw_bitmask= )) | (arg1 & env->CP0_Config5_rw_bitmask); + env->CP0_EntryHi_ASID_mask =3D (env->CP0_Config5 & (1 << CP0C5_MI)) ? = 0x0 : + (env->CP0_Config4 & (1 << CP0C4_AE)) ? 0x3ff : 0xf= f; compute_hflags(env); } =20 @@ -2276,6 +2289,7 @@ static void r4k_fill_tlb(CPUMIPSState *env, int idx) tlb->VPN &=3D env->SEGMask; #endif tlb->ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; + tlb->MMID =3D env->CP0_MemoryMapID; tlb->PageMask =3D env->CP0_PageMask; tlb->G =3D env->CP0_EntryLo0 & env->CP0_EntryLo1 & 1; tlb->V0 =3D (env->CP0_EntryLo0 & 2) !=3D 0; @@ -2294,13 +2308,18 @@ static void r4k_fill_tlb(CPUMIPSState *env, int idx) =20 void r4k_helper_tlbinv(CPUMIPSState *env) { + bool mi =3D !!((env->CP0_Config5 >> CP0C5_MI) & 1); int idx; r4k_tlb_t *tlb; uint16_t ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; + uint32_t MMID =3D env->CP0_MemoryMapID; + uint32_t tlb_mmid; =20 + MMID =3D mi ? MMID : (uint32_t) ASID; for (idx =3D 0; idx < env->tlb->nb_tlb; idx++) { tlb =3D &env->tlb->mmu.r4k.tlb[idx]; - if (!tlb->G && tlb->ASID =3D=3D ASID) { + tlb_mmid =3D mi ? tlb->MMID : (uint32_t) tlb->ASID; + if (!tlb->G && tlb_mmid =3D=3D MMID) { tlb->EHINV =3D 1; } } @@ -2319,11 +2338,16 @@ void r4k_helper_tlbinvf(CPUMIPSState *env) =20 void r4k_helper_tlbwi(CPUMIPSState *env) { + bool mi =3D !!((env->CP0_Config5 >> CP0C5_MI) & 1); r4k_tlb_t *tlb; int idx; target_ulong VPN; - uint16_t ASID; bool EHINV, G, V0, D0, V1, D1, XI0, XI1, RI0, RI1; + uint16_t ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; + uint32_t MMID =3D env->CP0_MemoryMapID; + uint32_t tlb_mmid; + + MMID =3D mi ? MMID : (uint32_t) ASID; =20 idx =3D (env->CP0_Index & ~0x80000000) % env->tlb->nb_tlb; tlb =3D &env->tlb->mmu.r4k.tlb[idx]; @@ -2331,7 +2355,6 @@ void r4k_helper_tlbwi(CPUMIPSState *env) #if defined(TARGET_MIPS64) VPN &=3D env->SEGMask; #endif - ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; EHINV =3D (env->CP0_EntryHi & (1 << CP0EnHi_EHINV)) !=3D 0; G =3D env->CP0_EntryLo0 & env->CP0_EntryLo1 & 1; V0 =3D (env->CP0_EntryLo0 & 2) !=3D 0; @@ -2343,9 +2366,10 @@ void r4k_helper_tlbwi(CPUMIPSState *env) XI1 =3D (env->CP0_EntryLo1 >> CP0EnLo_XI) &1; RI1 =3D (env->CP0_EntryLo1 >> CP0EnLo_RI) &1; =20 + tlb_mmid =3D mi ? tlb->MMID : (uint32_t) tlb->ASID; /* Discard cached TLB entries, unless tlbwi is just upgrading access permissions on the current entry. */ - if (tlb->VPN !=3D VPN || tlb->ASID !=3D ASID || tlb->G !=3D G || + if (tlb->VPN !=3D VPN || tlb_mmid !=3D MMID || tlb->G !=3D G || (!tlb->EHINV && EHINV) || (tlb->V0 && !V0) || (tlb->D0 && !D0) || (!tlb->XI0 && XI0) || (!tlb->RI0 && RI0) || @@ -2368,14 +2392,17 @@ void r4k_helper_tlbwr(CPUMIPSState *env) =20 void r4k_helper_tlbp(CPUMIPSState *env) { + bool mi =3D !!((env->CP0_Config5 >> CP0C5_MI) & 1); r4k_tlb_t *tlb; target_ulong mask; target_ulong tag; target_ulong VPN; - uint16_t ASID; int i; + uint16_t ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; + uint32_t MMID =3D env->CP0_MemoryMapID; + uint32_t tlb_mmid; =20 - ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; + MMID =3D mi ? MMID : (uint32_t) ASID; for (i =3D 0; i < env->tlb->nb_tlb; i++) { tlb =3D &env->tlb->mmu.r4k.tlb[i]; /* 1k pages are not supported. */ @@ -2385,8 +2412,9 @@ void r4k_helper_tlbp(CPUMIPSState *env) #if defined(TARGET_MIPS64) tag &=3D env->SEGMask; #endif - /* Check ASID, virtual page number & size */ - if ((tlb->G =3D=3D 1 || tlb->ASID =3D=3D ASID) && VPN =3D=3D tag &= & !tlb->EHINV) { + tlb_mmid =3D mi ? tlb->MMID : (uint32_t) tlb->ASID; + /* Check ASID/MMID, virtual page number & size */ + if ((tlb->G =3D=3D 1 || tlb_mmid =3D=3D MMID) && VPN =3D=3D tag &&= !tlb->EHINV) { /* TLB match */ env->CP0_Index =3D i; break; @@ -2403,8 +2431,9 @@ void r4k_helper_tlbp(CPUMIPSState *env) #if defined(TARGET_MIPS64) tag &=3D env->SEGMask; #endif - /* Check ASID, virtual page number & size */ - if ((tlb->G =3D=3D 1 || tlb->ASID =3D=3D ASID) && VPN =3D=3D t= ag) { + tlb_mmid =3D mi ? tlb->MMID : (uint32_t) tlb->ASID; + /* Check ASID/MMID, virtual page number & size */ + if ((tlb->G =3D=3D 1 || tlb_mmid =3D=3D MMID) && VPN =3D=3D ta= g) { r4k_mips_tlb_flush_extra (env, i); break; } @@ -2426,17 +2455,22 @@ static inline uint64_t get_entrylo_pfn_from_tlb(uin= t64_t tlb_pfn) =20 void r4k_helper_tlbr(CPUMIPSState *env) { + bool mi =3D !!((env->CP0_Config5 >> CP0C5_MI) & 1); r4k_tlb_t *tlb; - uint16_t ASID; int idx; + uint16_t ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; + uint32_t MMID =3D env->CP0_MemoryMapID; + uint32_t tlb_mmid; =20 - ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; + MMID =3D mi ? MMID : (uint32_t) ASID; idx =3D (env->CP0_Index & ~0x80000000) % env->tlb->nb_tlb; tlb =3D &env->tlb->mmu.r4k.tlb[idx]; =20 - /* If this will change the current ASID, flush qemu's TLB. */ - if (ASID !=3D tlb->ASID) + tlb_mmid =3D mi ? tlb->MMID : (uint32_t) tlb->ASID; + /* If this will change the current ASID/MMID, flush qemu's TLB. */ + if (MMID !=3D tlb_mmid) { cpu_mips_tlb_flush(env); + } =20 r4k_mips_tlb_flush_extra(env, env->tlb->nb_tlb); =20 @@ -2446,7 +2480,8 @@ void r4k_helper_tlbr(CPUMIPSState *env) env->CP0_EntryLo0 =3D 0; env->CP0_EntryLo1 =3D 0; } else { - env->CP0_EntryHi =3D tlb->VPN | tlb->ASID; + env->CP0_EntryHi =3D mi ? tlb->VPN : tlb->VPN | tlb->ASID; + env->CP0_MemoryMapID =3D tlb->MMID; env->CP0_PageMask =3D tlb->PageMask; env->CP0_EntryLo0 =3D tlb->G | (tlb->V0 << 1) | (tlb->D0 << 2) | ((uint64_t)tlb->RI0 << CP0EnLo_RI) | @@ -2489,6 +2524,63 @@ void helper_tlbinvf(CPUMIPSState *env) env->tlb->helper_tlbinvf(env); } =20 +static void global_invalidate_tlb(CPUMIPSState *env, + uint32_t invMsgVPN2, + uint8_t invMsgR, + uint32_t invMsgMMid, + bool invAll, + bool invVAMMid, + bool invMMid, + bool invVA) +{ + + int idx; + r4k_tlb_t *tlb; + bool VAMatch; + bool MMidMatch; + + for (idx =3D 0; idx < env->tlb->nb_tlb; idx++) { + tlb =3D &env->tlb->mmu.r4k.tlb[idx]; + VAMatch =3D + (((tlb->VPN & ~tlb->PageMask) =3D=3D (invMsgVPN2 & ~tlb->PageM= ask)) +#ifdef TARGET_MIPS64 + && + (extract64(env->CP0_EntryHi, 62, 2) =3D=3D invMsgR) +#endif + ); + MMidMatch =3D tlb->MMID =3D=3D invMsgMMid; + if ((invAll && (idx > env->CP0_Wired)) || + (VAMatch && invVAMMid && (tlb->G || MMidMatch)) || + (VAMatch && invVA) || + (MMidMatch && !(tlb->G) && invMMid)) { + tlb->EHINV =3D 1; + } + } + cpu_mips_tlb_flush(env); +} + +void helper_ginvt(CPUMIPSState *env, target_ulong arg, uint32_t type) +{ + bool invAll =3D type =3D=3D 0; + bool invVA =3D type =3D=3D 1; + bool invMMid =3D type =3D=3D 2; + bool invVAMMid =3D type =3D=3D 3; + uint32_t invMsgVPN2 =3D arg & (TARGET_PAGE_MASK << 1); + uint8_t invMsgR =3D 0; + uint32_t invMsgMMid =3D env->CP0_MemoryMapID; + CPUState *other_cs =3D first_cpu; + +#ifdef TARGET_MIPS64 + invMsgR =3D extract64(arg, 62, 2); +#endif + + CPU_FOREACH(other_cs) { + MIPSCPU *other_cpu =3D MIPS_CPU(other_cs); + global_invalidate_tlb(&other_cpu->env, invMsgVPN2, invMsgR, invMsg= MMid, + invAll, invVAMMid, invMMid, invVA); + } +} + /* Specials */ target_ulong helper_di(CPUMIPSState *env) { diff --git a/target/mips/translate.c b/target/mips/translate.c index b40468d..3f73be0 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -388,6 +388,7 @@ enum { OPC_BSHFL =3D 0x20 | OPC_SPECIAL3, OPC_DBSHFL =3D 0x24 | OPC_SPECIAL3, OPC_RDHWR =3D 0x3B | OPC_SPECIAL3, + OPC_GINV =3D 0x3D | OPC_SPECIAL3, =20 /* Loongson 2E */ OPC_MULT_G_2E =3D 0x18 | OPC_SPECIAL3, @@ -2548,6 +2549,7 @@ typedef struct DisasContext { bool abs2008; bool saar; bool mi; + int gi; } DisasContext; =20 #define DISAS_STOP DISAS_TARGET_0 @@ -7027,6 +7029,11 @@ static void gen_mfc0(DisasContext *ctx, TCGv arg, in= t reg, int sel) tcg_gen_ext32s_tl(arg, arg); register_name =3D "UserLocal"; break; + case 5: + CP0_CHECK(ctx->mi); + gen_helper_mtc0_memorymapid(cpu_env, arg); + register_name =3D "MemoryMapID"; + break; default: goto cp0_unimplemented; } @@ -7763,6 +7770,11 @@ static void gen_mtc0(DisasContext *ctx, TCGv arg, in= t reg, int sel) offsetof(CPUMIPSState, active_tc.CP0_UserLocal)); register_name =3D "UserLocal"; break; + case 5: + CP0_CHECK(ctx->mi); + gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_MemoryMapID)); + register_name =3D "MemoryMapID"; + break; default: goto cp0_unimplemented; } @@ -8509,6 +8521,11 @@ static void gen_dmfc0(DisasContext *ctx, TCGv arg, i= nt reg, int sel) offsetof(CPUMIPSState, active_tc.CP0_UserLocal)); register_name =3D "UserLocal"; break; + case 5: + CP0_CHECK(ctx->mi); + gen_helper_mtc0_memorymapid(cpu_env, arg); + register_name =3D "MemoryMapID"; + break; default: goto cp0_unimplemented; } @@ -9225,6 +9242,11 @@ static void gen_dmtc0(DisasContext *ctx, TCGv arg, i= nt reg, int sel) offsetof(CPUMIPSState, active_tc.CP0_UserLocal)); register_name =3D "UserLocal"; break; + case 5: + CP0_CHECK(ctx->mi); + gen_mfc0_load32(arg, offsetof(CPUMIPSState, CP0_MemoryMapID)); + register_name =3D "MemoryMapID"; + break; default: goto cp0_unimplemented; } @@ -27072,6 +27094,27 @@ static void decode_opc_special3_r6(CPUMIPSState *e= nv, DisasContext *ctx) } } break; +#ifndef CONFIG_USER_ONLY + case OPC_GINV: + if (unlikely(ctx->gi <=3D 1)) { + generate_exception_end(ctx, EXCP_RI); + } + check_cp0_enabled(ctx); + switch ((ctx->opcode >> 6) & 3) { + case 0: + /* GINVI */ + /* Treat as NOP. */ + break; + case 2: + /* GINVT */ + gen_helper_0e1i(ginvt, cpu_gpr[rs], extract32(ctx->opcode, 8, = 2)); + break; + default: + generate_exception_end(ctx, EXCP_RI); + break; + } + break; +#endif #if defined(TARGET_MIPS64) case R6_OPC_SCD: gen_st_cond(ctx, rt, rs, imm, MO_TEQ, false); @@ -30005,6 +30048,7 @@ static void mips_tr_init_disas_context(DisasContext= Base *dcbase, CPUState *cs) ctx->nan2008 =3D (env->active_fpu.fcr31 >> FCR31_NAN2008) & 1; ctx->abs2008 =3D (env->active_fpu.fcr31 >> FCR31_ABS2008) & 1; ctx->mi =3D (env->CP0_Config5 >> CP0C5_MI) & 1; + ctx->gi =3D (env->CP0_Config5 >> CP0C5_GI) & 3; restore_cpu_state(env, ctx); #ifdef CONFIG_USER_ONLY ctx->mem_idx =3D MIPS_HFLAG_UM; @@ -30464,8 +30508,8 @@ void cpu_state_reset(CPUMIPSState *env) if (env->CP0_Config3 & (1 << CP0C3_CMGCR)) { env->CP0_CMGCRBase =3D 0x1fbf8000 >> 4; } - env->CP0_EntryHi_ASID_mask =3D (env->CP0_Config4 & (1 << CP0C4_AE)) ? - 0x3ff : 0xff; + env->CP0_EntryHi_ASID_mask =3D (env->CP0_Config5 & (1 << CP0C5_MI)) ? = 0x0 : + (env->CP0_Config4 & (1 << CP0C4_AE)) ? 0x3ff : 0xf= f; env->CP0_Status =3D (1 << CP0St_BEV) | (1 << CP0St_ERL); /* * Vectored interrupts not implemented, timer on int 7, --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678371; cv=none; d=zoho.com; s=zohoarc; b=E/7r6Qk9SogDBjU/PZI1VVKMAJZ3/cJmmEgD5DuszyimMhr7tBR+W2qPjxHZ/hEqsYGPBfEOcG5Zrfjvyr+6r2m1vu78d6W/upcnlitnx1HLa8StorqA4hK6PCLvCTNX25JXwrH/WXkhhjo6aMx7dbM9W3S4vEVWBpohtlCIn3A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678371; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=ppGv0A7lyxdlj0mUUOiThsiMn5Om1Dz0RY/lvEA0UAU=; b=Yv5ybORhTkLTU6R2do2vpfDhwexONSVN3yZc02hNVfmmHfSB7DGR6TjQ6MnkcRQBgdsl5ibbAAZZWxZb6aEH2bx0JL3YAiJgTWAKkv/FtpdS2k/6ijZ6jazwc5nFPhFjlXMaIDc7gCdlqKAf1zS6NbxlAvDt3VRZ/xJguqHSDdk= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678371035855.8468441306346; Thu, 1 Aug 2019 09:52:51 -0700 (PDT) Received: from localhost ([::1]:57722 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEJp-0001xf-63 for importer@patchew.org; Thu, 01 Aug 2019 12:52:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57626) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEFI-0004oD-6Y for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEFG-0005kj-SN for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:04 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35866 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEFG-0005ji-4n for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:02 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 20B451A2264; Thu, 1 Aug 2019 18:48:00 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 05A4F1A2233; Thu, 1 Aug 2019 18:48:00 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:16 +0200 Message-Id: <1564677923-23173-6-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 05/12] target/mips: Add support for emulation of CRC32 group of instructions X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, Yongbok Kim , amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Yongbok Kim Add emulation of MIPS' CRC32 (Cyclic Redundancy Check) instructions. Reuse zlib crc32() and Linux crc32c(). Note that, at the time being, there is no MIPS CPU that supports CRC32 instructions (they are an optional part of MIPS64/32 R6 anf nanoMIPS ISAs). Signed-off-by: Yongbok Kim Signed-off-by: Aleksandar Markovic --- disas/mips.c | 8 ++++++++ target/mips/helper.h | 2 ++ target/mips/op_helper.c | 22 ++++++++++++++++++++++ target/mips/translate.c | 41 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+) diff --git a/disas/mips.c b/disas/mips.c index c3a3059..b9a5204 100644 --- a/disas/mips.c +++ b/disas/mips.c @@ -1411,6 +1411,14 @@ const struct mips_opcode mips_builtin_opcodes[] =3D {"evp", "t", 0x41600004, 0xffe0ffff, TRAP|WR_t, 0, I= 32R6}, {"ginvi", "v", 0x7c00003d, 0xfc1ffcff, TRAP | INSN_TLB, 0, I= 32R6}, {"ginvt", "v", 0x7c0000bd, 0xfc1ffcff, TRAP | INSN_TLB, 0, I= 32R6}, +{"crc32b", "t,v,t", 0x7c00000f, 0xfc00ff3f, WR_d | RD_s | RD_t, 0, I= 32R6}, +{"crc32h", "t,v,t", 0x7c00004f, 0xfc00ff3f, WR_d | RD_s | RD_t, 0, I= 32R6}, +{"crc32w", "t,v,t", 0x7c00008f, 0xfc00ff3f, WR_d | RD_s | RD_t, 0, I= 32R6}, +{"crc32d", "t,v,t", 0x7c0000cf, 0xfc00ff3f, WR_d | RD_s | RD_t, 0, I= 64R6}, +{"crc32cb", "t,v,t", 0x7c00010f, 0xfc00ff3f, WR_d | RD_s | RD_t, 0, I= 32R6}, +{"crc32ch", "t,v,t", 0x7c00014f, 0xfc00ff3f, WR_d | RD_s | RD_t, 0, I= 32R6}, +{"crc32cw", "t,v,t", 0x7c00018f, 0xfc00ff3f, WR_d | RD_s | RD_t, 0, I= 32R6}, +{"crc32cd", "t,v,t", 0x7c0001cf, 0xfc00ff3f, WR_d | RD_s | RD_t, 0, I= 64R6}, =20 /* MSA */ {"sll.b", "+d,+e,+f", 0x7800000d, 0xffe0003f, WR_VD|RD_VS|RD_VT, 0, MSA= }, diff --git a/target/mips/helper.h b/target/mips/helper.h index c7d35bd..0e61043 100644 --- a/target/mips/helper.h +++ b/target/mips/helper.h @@ -40,6 +40,8 @@ DEF_HELPER_FLAGS_1(bitswap, TCG_CALL_NO_RWG_SE, tl, tl) DEF_HELPER_FLAGS_1(dbitswap, TCG_CALL_NO_RWG_SE, tl, tl) #endif =20 +DEF_HELPER_3(crc32, tl, tl, tl, i32) +DEF_HELPER_3(crc32c, tl, tl, tl, i32) DEF_HELPER_FLAGS_4(rotx, TCG_CALL_NO_RWG_SE, tl, tl, i32, i32, i32) =20 #ifndef CONFIG_USER_ONLY diff --git a/target/mips/op_helper.c b/target/mips/op_helper.c index 3104904..5874029 100644 --- a/target/mips/op_helper.c +++ b/target/mips/op_helper.c @@ -25,6 +25,8 @@ #include "exec/exec-all.h" #include "exec/cpu_ldst.h" #include "sysemu/kvm.h" +#include "qemu/crc32c.h" +#include =20 /*************************************************************************= ****/ /* Exceptions processing helpers */ @@ -343,6 +345,26 @@ target_ulong helper_rotx(target_ulong rs, uint32_t shi= ft, uint32_t shiftx, return (int64_t)(int32_t)(uint32_t)tmp5; } =20 +/* these crc32 functions are based on target/arm/helper-a64.c */ +target_ulong helper_crc32(target_ulong val, target_ulong m, uint32_t sz) +{ + uint8_t buf[8]; + target_ulong mask =3D ((sz * 8) =3D=3D 64) ? -1ULL : ((1ULL << (sz * 8= )) - 1); + + m &=3D mask; + stq_le_p(buf, m); + return (int32_t) (crc32(val ^ 0xffffffff, buf, sz) ^ 0xffffffff); +} + +target_ulong helper_crc32c(target_ulong val, target_ulong m, uint32_t sz) +{ + uint8_t buf[8]; + target_ulong mask =3D ((sz * 8) =3D=3D 64) ? -1ULL : ((1ULL << (sz * 8= )) - 1); + m &=3D mask; + stq_le_p(buf, m); + return (int32_t) (crc32c(val, buf, sz) ^ 0xffffffff); +} + #ifndef CONFIG_USER_ONLY =20 static inline hwaddr do_translate_address(CPUMIPSState *env, diff --git a/target/mips/translate.c b/target/mips/translate.c index 3f73be0..3f9f113 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -452,6 +452,7 @@ enum { OPC_LWE =3D 0x2F | OPC_SPECIAL3, =20 /* R6 */ + OPC_CRC32 =3D 0x0F | OPC_SPECIAL3, R6_OPC_PREF =3D 0x35 | OPC_SPECIAL3, R6_OPC_CACHE =3D 0x25 | OPC_SPECIAL3, R6_OPC_LL =3D 0x36 | OPC_SPECIAL3, @@ -2550,6 +2551,7 @@ typedef struct DisasContext { bool saar; bool mi; int gi; + bool crcp; } DisasContext; =20 #define DISAS_STOP DISAS_TARGET_0 @@ -27041,6 +27043,33 @@ static void decode_opc_special2_legacy(CPUMIPSStat= e *env, DisasContext *ctx) } } =20 +static void gen_crc32(DisasContext *ctx, int rd, int rs, int rt, int sz, + int crc32c) +{ + TCGv t0; + TCGv t1; + TCGv_i32 tsz =3D tcg_const_i32(1 << sz); + if (rd =3D=3D 0) { + /* Treat as NOP. */ + return; + } + t0 =3D tcg_temp_new(); + t1 =3D tcg_temp_new(); + + gen_load_gpr(t0, rt); + gen_load_gpr(t1, rs); + + if (crc32c) { + gen_helper_crc32c(cpu_gpr[rd], t0, t1, tsz); + } else { + gen_helper_crc32(cpu_gpr[rd], t0, t1, tsz); + } + + tcg_temp_free(t0); + tcg_temp_free(t1); + tcg_temp_free_i32(tsz); +} + static void decode_opc_special3_r6(CPUMIPSState *env, DisasContext *ctx) { int rs, rt, rd, sa; @@ -27055,6 +27084,17 @@ static void decode_opc_special3_r6(CPUMIPSState *e= nv, DisasContext *ctx) =20 op1 =3D MASK_SPECIAL3(ctx->opcode); switch (op1) { + case OPC_CRC32: + if (unlikely(!ctx->crcp) || + unlikely((extract32(ctx->opcode, 6, 2) =3D=3D 3) && + (!(ctx->hflags & MIPS_HFLAG_64))) || + unlikely((extract32(ctx->opcode, 8, 3) >=3D 2))) { + generate_exception_end(ctx, EXCP_RI); + } + gen_crc32(ctx, rt, rs, rt, + extract32(ctx->opcode, 6, 2), + extract32(ctx->opcode, 8, 3)); + break; case R6_OPC_PREF: if (rt >=3D 24) { /* hint codes 24-31 are reserved and signal RI */ @@ -30049,6 +30089,7 @@ static void mips_tr_init_disas_context(DisasContext= Base *dcbase, CPUState *cs) ctx->abs2008 =3D (env->active_fpu.fcr31 >> FCR31_ABS2008) & 1; ctx->mi =3D (env->CP0_Config5 >> CP0C5_MI) & 1; ctx->gi =3D (env->CP0_Config5 >> CP0C5_GI) & 3; + ctx->crcp =3D (env->CP0_Config5 >> CP0C5_CRCP) & 1; restore_cpu_state(env, ctx); #ifdef CONFIG_USER_ONLY ctx->mem_idx =3D MIPS_HFLAG_UM; --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678221; cv=none; d=zoho.com; s=zohoarc; b=nes2awdI79CiH4aohfkAZUiTnYCvr8vXaDVkBcMLoqWaTieYbrMPam3ZsS/rOQHxnDzWPxByER5Hz/m3a9azfdLqdSTIJjrPO9d5y2JjsqevG58iJvNEIL6pZd7YHN2O8KI6KcUN614/khaVglGmx3EbsLan7btt3GKYEr4tlSk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678221; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=Gy5MFdl510zlsSliRkgDrxlyFmASW/6woZpLBJeyEas=; b=YtZjZEuIwghiWUNBwIRrtJ25GY/SgnJ/Dgjt2FCiBdoGzXY3vz5EmAedc1P/FJbQSFOIXUjJ5YrfdmR3H9fnolPNH6JVbEzGJqZu5EYCdFkbFLO6pG+Tt9bqcxPa50Z8S/IV3BpPVkaeLGuF2tNlfpDl0lU8/6FUN7x7zA+/TLs= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 156467822142995.59468118180064; Thu, 1 Aug 2019 09:50:21 -0700 (PDT) Received: from localhost ([::1]:57703 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEHU-0006jH-GB for importer@patchew.org; Thu, 01 Aug 2019 12:50:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57700) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEFa-0004vY-8t for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEFY-0006Bk-5L for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:22 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35908 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEFX-00067f-0t for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:20 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 1C1DD1A2277; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 01A671A2233; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:17 +0200 Message-Id: <1564677923-23173-7-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 06/12] target/mips: Style improvements in cp0_timer.c X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Aleksandar Markovic Fixes mostly errors and warings reported by 'checkpatch.pl -f'. Signed-off-by: Aleksandar Markovic Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/cp0_timer.c | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/target/mips/cp0_timer.c b/target/mips/cp0_timer.c index f471639..b5f3560 100644 --- a/target/mips/cp0_timer.c +++ b/target/mips/cp0_timer.c @@ -29,7 +29,7 @@ #define TIMER_PERIOD 10 /* 10 ns period for 100 Mhz frequency */ =20 /* XXX: do not use a global */ -uint32_t cpu_mips_get_random (CPUMIPSState *env) +uint32_t cpu_mips_get_random(CPUMIPSState *env) { static uint32_t seed =3D 1; static uint32_t prev_idx =3D 0; @@ -42,8 +42,10 @@ uint32_t cpu_mips_get_random (CPUMIPSState *env) =20 /* Don't return same value twice, so get another value */ do { - /* Use a simple algorithm of Linear Congruential Generator - * from ISO/IEC 9899 standard. */ + /* + * Use a simple algorithm of Linear Congruential Generator + * from ISO/IEC 9899 standard. + */ seed =3D 1103515245 * seed + 12345; idx =3D (seed >> 16) % nb_rand_tlb + env->CP0_Wired; } while (idx =3D=3D prev_idx); @@ -73,7 +75,7 @@ static void cpu_mips_timer_expire(CPUMIPSState *env) qemu_irq_raise(env->irq[(env->CP0_IntCtl >> CP0IntCtl_IPTI) & 0x7]); } =20 -uint32_t cpu_mips_get_count (CPUMIPSState *env) +uint32_t cpu_mips_get_count(CPUMIPSState *env) { if (env->CP0_Cause & (1 << CP0Ca_DC)) { return env->CP0_Count; @@ -91,16 +93,16 @@ uint32_t cpu_mips_get_count (CPUMIPSState *env) } } =20 -void cpu_mips_store_count (CPUMIPSState *env, uint32_t count) +void cpu_mips_store_count(CPUMIPSState *env, uint32_t count) { /* * This gets called from cpu_state_reset(), potentially before timer i= nit. * So env->timer may be NULL, which is also the case with KVM enabled = so * treat timer as disabled in that case. */ - if (env->CP0_Cause & (1 << CP0Ca_DC) || !env->timer) + if (env->CP0_Cause & (1 << CP0Ca_DC) || !env->timer) { env->CP0_Count =3D count; - else { + } else { /* Store new count register */ env->CP0_Count =3D count - (uint32_t)(qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) / TIMER_PE= RIOD); @@ -109,13 +111,15 @@ void cpu_mips_store_count (CPUMIPSState *env, uint32_= t count) } } =20 -void cpu_mips_store_compare (CPUMIPSState *env, uint32_t value) +void cpu_mips_store_compare(CPUMIPSState *env, uint32_t value) { env->CP0_Compare =3D value; - if (!(env->CP0_Cause & (1 << CP0Ca_DC))) + if (!(env->CP0_Cause & (1 << CP0Ca_DC))) { cpu_mips_timer_update(env); - if (env->insn_flags & ISA_MIPS32R2) + } + if (env->insn_flags & ISA_MIPS32R2) { env->CP0_Cause &=3D ~(1 << CP0Ca_TI); + } qemu_irq_lower(env->irq[(env->CP0_IntCtl >> CP0IntCtl_IPTI) & 0x7]); } =20 @@ -131,27 +135,27 @@ void cpu_mips_stop_count(CPUMIPSState *env) TIMER_PERIOD); } =20 -static void mips_timer_cb (void *opaque) +static void mips_timer_cb(void *opaque) { CPUMIPSState *env; =20 env =3D opaque; -#if 0 - qemu_log("%s\n", __func__); -#endif =20 - if (env->CP0_Cause & (1 << CP0Ca_DC)) + if (env->CP0_Cause & (1 << CP0Ca_DC)) { return; + } =20 - /* ??? This callback should occur when the counter is exactly equal to - the comparator value. Offset the count by one to avoid immediately - retriggering the callback before any virtual time has passed. */ + /* + * ??? This callback should occur when the counter is exactly equal to + * the comparator value. Offset the count by one to avoid immediately + * retriggering the callback before any virtual time has passed. + */ env->CP0_Count++; cpu_mips_timer_expire(env); env->CP0_Count--; } =20 -void cpu_mips_clock_init (MIPSCPU *cpu) +void cpu_mips_clock_init(MIPSCPU *cpu) { CPUMIPSState *env =3D &cpu->env; =20 --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678378; cv=none; d=zoho.com; s=zohoarc; b=f18V0ZQssEIUVbFJV0DZfnBkJSs89BJL6wk6CPfX2hnBqYHzx+JMsvKQbraZ0lh1AhoEIlRxxjav0LfW97xqcDknPaiaMDN3LMIQYJk2BPPaBkYpTvy21tHqs8CG4oJ7FLhYcnerrxwzz0u3zA2y70CdnB/3mwDLg88eswLjkbw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678378; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=lNSo1Rk2hNxD4nx6J7v6iIgfNMLb3GpJjTksy47TErU=; b=V4g8+XltTRP7b1n18pVF8VPOaIVCEk0cE7pUM5P45vIFYDA/6xhGyOqZtcWOVSlQ771kWL2RNQjkzsJME8owfVJIavjAaBHbAVi+LBUDgsKq4w5Uy5zOpbhzWBV0J5kSAxuQOtdmIXlNvVWcSGTlewgXW5oG17gOfE61cGSBPSk= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678378833476.4791986225822; Thu, 1 Aug 2019 09:52:58 -0700 (PDT) Received: from localhost ([::1]:57726 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEK1-0002Ok-RB for importer@patchew.org; Thu, 01 Aug 2019 12:52:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57698) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEFa-0004vW-8y for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEFY-0006Bb-4w for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:22 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35910 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEFX-00067h-1B for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:20 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 238591A2233; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 092551A2264; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:18 +0200 Message-Id: <1564677923-23173-8-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 07/12] target/mips: Style improvements in cpu.c X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Aleksandar Markovic Fixes mostly errors and warings reported by 'checkpatch.pl -f'. Signed-off-by: Aleksandar Markovic Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/cpu.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/target/mips/cpu.c b/target/mips/cpu.c index 39eafaf..3ffa342 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -57,9 +57,11 @@ static bool mips_cpu_has_work(CPUState *cs) CPUMIPSState *env =3D &cpu->env; bool has_work =3D false; =20 - /* Prior to MIPS Release 6 it is implementation dependent if non-enabl= ed - interrupts wake-up the CPU, however most of the implementations only - check for interrupts that can be taken. */ + /* + * Prior to MIPS Release 6 it is implementation dependent if non-enabl= ed + * interrupts wake-up the CPU, however most of the implementations only + * check for interrupts that can be taken. + */ if ((cs->interrupt_request & CPU_INTERRUPT_HARD) && cpu_mips_hw_interrupts_pending(env)) { if (cpu_mips_hw_interrupts_enabled(env) || @@ -70,8 +72,10 @@ static bool mips_cpu_has_work(CPUState *cs) =20 /* MIPS-MT has the ability to halt the CPU. */ if (env->CP0_Config3 & (1 << CP0C3_MT)) { - /* The QEMU model will issue an _WAKE request whenever the CPUs - should be woken up. */ + /* + * The QEMU model will issue an _WAKE request whenever the CPUs + * should be woken up. + */ if (cs->interrupt_request & CPU_INTERRUPT_WAKE) { has_work =3D true; } @@ -112,7 +116,8 @@ static void mips_cpu_reset(CPUState *s) #endif } =20 -static void mips_cpu_disas_set_info(CPUState *s, disassemble_info *info) { +static void mips_cpu_disas_set_info(CPUState *s, disassemble_info *info) +{ MIPSCPU *cpu =3D MIPS_CPU(s); CPUMIPSState *env =3D &cpu->env; =20 --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678516; cv=none; d=zoho.com; s=zohoarc; b=b60VSJJwvH4EPRd+t7UkDHUU2zM2zJj4iZpnsP/ZRDaOiyvXzVhRwi8Txkg2G1/T/aYUJML3FinUWNDa0C0x6HtA1CwQI7K6sVsXrixCjB5M3RYmx1RuED8gAPK5YrHVT4lR60idQWpd3j6mjG7IGXOcmRoIy4NQJRXgklJtGf0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678516; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=YQKTAqf5u/rKf+Q7jmtKo9CuB1tTDwYXRcrb5uFsHKw=; b=MkmyZAdyu2TQcW3YT4z6NuMMviNIcC2xSuNUzfCDYalP3+qb+dlbjkFqUBYCXBNHJGuMELXNT8u/g8nK/YV12W6olAIvVEy0OV6L/7uhyf06XOe/Rle+y9/d/fyHh6ED6iLAtaC9BaemfhcuG2Y1t2IpYh27WmPgUPRyMteTq0A= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678516290843.9345777017734; Thu, 1 Aug 2019 09:55:16 -0700 (PDT) Received: from localhost ([::1]:57748 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEMF-0005QG-8Z for importer@patchew.org; Thu, 01 Aug 2019 12:55:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57701) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEFa-0004vZ-8w for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEFY-0006Bp-5H for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:22 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35916 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEFX-00067k-1I for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:20 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 30CE91A2294; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 11BCA1A2276; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:19 +0200 Message-Id: <1564677923-23173-9-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 08/12] target/mips: Style improvements in helper.c X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Aleksandar Markovic Fixes mostly errors and warings reported by 'checkpatch.pl -f'. Signed-off-by: Aleksandar Markovic --- target/mips/helper.c | 98 ++++++++++++++++++++++++++++++++----------------= ---- 1 file changed, 60 insertions(+), 38 deletions(-) diff --git a/target/mips/helper.c b/target/mips/helper.c index 6e583d3..d7a2c77 100644 --- a/target/mips/helper.c +++ b/target/mips/helper.c @@ -39,8 +39,8 @@ enum { #if !defined(CONFIG_USER_ONLY) =20 /* no MMU emulation */ -int no_mmu_map_address (CPUMIPSState *env, hwaddr *physical, int *prot, - target_ulong address, int rw, int access_type) +int no_mmu_map_address(CPUMIPSState *env, hwaddr *physical, int *prot, + target_ulong address, int rw, int access_type) { *physical =3D address; *prot =3D PAGE_READ | PAGE_WRITE | PAGE_EXEC; @@ -48,26 +48,28 @@ int no_mmu_map_address (CPUMIPSState *env, hwaddr *phys= ical, int *prot, } =20 /* fixed mapping MMU emulation */ -int fixed_mmu_map_address (CPUMIPSState *env, hwaddr *physical, int *prot, - target_ulong address, int rw, int access_type) +int fixed_mmu_map_address(CPUMIPSState *env, hwaddr *physical, int *prot, + target_ulong address, int rw, int access_type) { if (address <=3D (int32_t)0x7FFFFFFFUL) { - if (!(env->CP0_Status & (1 << CP0St_ERL))) + if (!(env->CP0_Status & (1 << CP0St_ERL))) { *physical =3D address + 0x40000000UL; - else + } else { *physical =3D address; - } else if (address <=3D (int32_t)0xBFFFFFFFUL) + } + } else if (address <=3D (int32_t)0xBFFFFFFFUL) { *physical =3D address & 0x1FFFFFFF; - else + } else { *physical =3D address; + } =20 *prot =3D PAGE_READ | PAGE_WRITE | PAGE_EXEC; return TLBRET_MATCH; } =20 /* MIPS32/MIPS64 R4000-style MMU emulation */ -int r4k_map_address (CPUMIPSState *env, hwaddr *physical, int *prot, - target_ulong address, int rw, int access_type) +int r4k_map_address(CPUMIPSState *env, hwaddr *physical, int *prot, + target_ulong address, int rw, int access_type) { uint16_t ASID =3D env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; uint32_t MMID =3D env->CP0_MemoryMapID; @@ -105,8 +107,9 @@ int r4k_map_address (CPUMIPSState *env, hwaddr *physica= l, int *prot, if (rw !=3D MMU_DATA_STORE || (n ? tlb->D1 : tlb->D0)) { *physical =3D tlb->PFN[n] | (address & (mask >> 1)); *prot =3D PAGE_READ; - if (n ? tlb->D1 : tlb->D0) + if (n ? tlb->D1 : tlb->D0) { *prot |=3D PAGE_WRITE; + } if (!(n ? tlb->XI1 : tlb->XI0)) { *prot |=3D PAGE_EXEC; } @@ -136,9 +139,10 @@ static int is_seg_am_mapped(unsigned int am, bool eu, = int mmu_idx) int32_t adetlb_mask; =20 switch (mmu_idx) { - case 3 /* ERL */: - /* If EU is set, always unmapped */ + case 3: + /* ERL */ if (eu) { + /* If EU is set, always unmapped */ return 0; } /* fall through */ @@ -210,7 +214,7 @@ static int get_segctl_physical_address(CPUMIPSState *en= v, hwaddr *physical, pa & ~(hwaddr)segmask); } =20 -static int get_physical_address (CPUMIPSState *env, hwaddr *physical, +static int get_physical_address(CPUMIPSState *env, hwaddr *physical, int *prot, target_ulong real_address, int rw, int access_type, int mmu_idx) { @@ -265,7 +269,8 @@ static int get_physical_address (CPUMIPSState *env, hwa= ddr *physical, } else if (address < 0x4000000000000000ULL) { /* xuseg */ if (UX && address <=3D (0x3FFFFFFFFFFFFFFFULL & env->SEGMask)) { - ret =3D env->tlb->map_address(env, physical, prot, real_addres= s, rw, access_type); + ret =3D env->tlb->map_address(env, physical, prot, real_addres= s, rw, + access_type); } else { ret =3D TLBRET_BADADDR; } @@ -273,7 +278,8 @@ static int get_physical_address (CPUMIPSState *env, hwa= ddr *physical, /* xsseg */ if ((supervisor_mode || kernel_mode) && SX && address <=3D (0x7FFFFFFFFFFFFFFFULL & env->SEGMask)) { - ret =3D env->tlb->map_address(env, physical, prot, real_addres= s, rw, access_type); + ret =3D env->tlb->map_address(env, physical, prot, real_addres= s, rw, + access_type); } else { ret =3D TLBRET_BADADDR; } @@ -313,7 +319,8 @@ static int get_physical_address (CPUMIPSState *env, hwa= ddr *physical, /* xkseg */ if (kernel_mode && KX && address <=3D (0xFFFFFFFF7FFFFFFFULL & env->SEGMask)) { - ret =3D env->tlb->map_address(env, physical, prot, real_addres= s, rw, access_type); + ret =3D env->tlb->map_address(env, physical, prot, real_addres= s, rw, + access_type); } else { ret =3D TLBRET_BADADDR; } @@ -669,7 +676,7 @@ static int walk_directory(CPUMIPSState *env, uint64_t *= vaddr, } =20 static bool page_table_walk_refill(CPUMIPSState *env, vaddr address, int r= w, - int mmu_idx) + int mmu_idx) { int gdw =3D (env->CP0_PWSize >> CP0PS_GDW) & 0x3F; int udw =3D (env->CP0_PWSize >> CP0PS_UDW) & 0x3F; @@ -951,7 +958,8 @@ bool mips_cpu_tlb_fill(CPUState *cs, vaddr address, int= size, } =20 #ifndef CONFIG_USER_ONLY -hwaddr cpu_mips_translate_address(CPUMIPSState *env, target_ulong address,= int rw) +hwaddr cpu_mips_translate_address(CPUMIPSState *env, target_ulong address, + int rw) { hwaddr physical; int prot; @@ -1011,7 +1019,7 @@ static const char * const excp_names[EXCP_LAST + 1] = =3D { }; #endif =20 -target_ulong exception_resume_pc (CPUMIPSState *env) +target_ulong exception_resume_pc(CPUMIPSState *env) { target_ulong bad_pc; target_ulong isa_mode; @@ -1019,8 +1027,10 @@ target_ulong exception_resume_pc (CPUMIPSState *env) isa_mode =3D !!(env->hflags & MIPS_HFLAG_M16); bad_pc =3D env->active_tc.PC | isa_mode; if (env->hflags & MIPS_HFLAG_BMASK) { - /* If the exception was raised from a delay slot, come back to - the jump. */ + /* + * If the exception was raised from a delay slot, come back to + * the jump. + */ bad_pc -=3D (env->hflags & MIPS_HFLAG_B16 ? 2 : 4); } =20 @@ -1102,10 +1112,12 @@ void mips_cpu_do_interrupt(CPUState *cs) switch (cs->exception_index) { case EXCP_DSS: env->CP0_Debug |=3D 1 << CP0DB_DSS; - /* Debug single step cannot be raised inside a delay slot and - resume will always occur on the next instruction - (but we assume the pc has always been updated during - code translation). */ + /* + * Debug single step cannot be raised inside a delay slot and + * resume will always occur on the next instruction + * (but we assume the pc has always been updated during + * code translation). + */ env->CP0_DEPC =3D env->active_tc.PC | !!(env->hflags & MIPS_HFLAG_= M16); goto enter_debug_mode; case EXCP_DINT: @@ -1117,7 +1129,8 @@ void mips_cpu_do_interrupt(CPUState *cs) case EXCP_DBp: env->CP0_Debug |=3D 1 << CP0DB_DBp; /* Setup DExcCode - SDBBP instruction */ - env->CP0_Debug =3D (env->CP0_Debug & ~(0x1fULL << CP0DB_DEC)) | 9 = << CP0DB_DEC; + env->CP0_Debug =3D (env->CP0_Debug & ~(0x1fULL << CP0DB_DEC)) | + (9 << CP0DB_DEC); goto set_DEPC; case EXCP_DDBS: env->CP0_Debug |=3D 1 << CP0DB_DDBS; @@ -1138,8 +1151,9 @@ void mips_cpu_do_interrupt(CPUState *cs) env->hflags |=3D MIPS_HFLAG_DM | MIPS_HFLAG_CP0; env->hflags &=3D ~(MIPS_HFLAG_KSU); /* EJTAG probe trap enable is not implemented... */ - if (!(env->CP0_Status & (1 << CP0St_EXL))) + if (!(env->CP0_Status & (1 << CP0St_EXL))) { env->CP0_Cause &=3D ~(1U << CP0Ca_BD); + } env->active_tc.PC =3D env->exception_base + 0x480; set_hflags_for_handler(env); break; @@ -1165,8 +1179,9 @@ void mips_cpu_do_interrupt(CPUState *cs) } env->hflags |=3D MIPS_HFLAG_CP0; env->hflags &=3D ~(MIPS_HFLAG_KSU); - if (!(env->CP0_Status & (1 << CP0St_EXL))) + if (!(env->CP0_Status & (1 << CP0St_EXL))) { env->CP0_Cause &=3D ~(1U << CP0Ca_BD); + } env->active_tc.PC =3D env->exception_base; set_hflags_for_handler(env); break; @@ -1182,12 +1197,16 @@ void mips_cpu_do_interrupt(CPUState *cs) uint32_t pending =3D (env->CP0_Cause & CP0Ca_IP_mask) >> C= P0Ca_IP; =20 if (env->CP0_Config3 & (1 << CP0C3_VEIC)) { - /* For VEIC mode, the external interrupt controller fe= eds - * the vector through the CP0Cause IP lines. */ + /* + * For VEIC mode, the external interrupt controller fe= eds + * the vector through the CP0Cause IP lines. + */ vector =3D pending; } else { - /* Vectored Interrupts - * Mask with Status.IM7-IM0 to get enabled interrupts.= */ + /* + * Vectored Interrupts + * Mask with Status.IM7-IM0 to get enabled interrupts. + */ pending &=3D (env->CP0_Status >> CP0St_IM) & 0xff; /* Find the highest-priority interrupt. */ while (pending >>=3D 1) { @@ -1360,7 +1379,8 @@ void mips_cpu_do_interrupt(CPUState *cs) =20 env->active_tc.PC +=3D offset; set_hflags_for_handler(env); - env->CP0_Cause =3D (env->CP0_Cause & ~(0x1f << CP0Ca_EC)) | (cause= << CP0Ca_EC); + env->CP0_Cause =3D (env->CP0_Cause & ~(0x1f << CP0Ca_EC)) | + (cause << CP0Ca_EC); break; default: abort(); @@ -1396,7 +1416,7 @@ bool mips_cpu_exec_interrupt(CPUState *cs, int interr= upt_request) } =20 #if !defined(CONFIG_USER_ONLY) -void r4k_invalidate_tlb (CPUMIPSState *env, int idx, int use_extra) +void r4k_invalidate_tlb(CPUMIPSState *env, int idx, int use_extra) { CPUState *cs =3D env_cpu(env); r4k_tlb_t *tlb; @@ -1421,9 +1441,11 @@ void r4k_invalidate_tlb (CPUMIPSState *env, int idx,= int use_extra) } =20 if (use_extra && env->tlb->tlb_in_use < MIPS_TLB_MAX) { - /* For tlbwr, we can shadow the discarded entry into - a new (fake) TLB entry, as long as the guest can not - tell that it's there. */ + /* + * For tlbwr, we can shadow the discarded entry into + * a new (fake) TLB entry, as long as the guest can not + * tell that it's there. + */ env->tlb->mmu.r4k.tlb[env->tlb->tlb_in_use] =3D *tlb; env->tlb->tlb_in_use++; return; --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678527; cv=none; d=zoho.com; s=zohoarc; b=dScsNHQbgJkidjvObRF09hODj3l4195UhLyc0XTYqd2vDkbJUWQVYZu5mrIpccqPtWs2XQcNQIKJXTgnWXNGDQ4Y6XR2jbvonyejPGO4+Ua1Oph4aJXiOxfhE6DyeoOrl9jYOX7IRLHHTf3VQI71gpjxyT+sW4qZxYt0zV6R9dU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678527; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=WA9fcLG6VuUDhpyGxUPiAo25kc3aNT4di3s0ugmefs0=; b=oUP2y5dw2MSqXhJCz6KUivglLQd1mk3Ev7/d21/D7fKX7bU8WN4RByB7FmpMXk6KHE1n0E2tRZY01vQrh8fpbVSE0/O6N7V6WtCUk8D69I+dFs4dMx9rvkYWPDwr8QM0gl2Ji/bee2W9xBeYnPQB+w0jwcoV+LNfQ/6HX3v3gFQ= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678527504119.90345514232467; Thu, 1 Aug 2019 09:55:27 -0700 (PDT) Received: from localhost ([::1]:57750 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEMQ-0005ax-Iy for importer@patchew.org; Thu, 01 Aug 2019 12:55:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57702) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEFa-0004va-8k for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEFY-0006Bc-5F for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:22 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35918 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEFX-00067o-0z for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:20 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 358DF1A22B0; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 1C74C1A22A2; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:20 +0200 Message-Id: <1564677923-23173-10-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 09/12] target/mips: Style improvements in internal.h X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Aleksandar Markovic Fixes mostly errors and warings reported by 'checkpatch.pl -f'. Signed-off-by: Aleksandar Markovic Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/internal.h | 57 +++++++++++++++++++++++++++++++---------------= ---- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/target/mips/internal.h b/target/mips/internal.h index d9216fb..836de7a 100644 --- a/target/mips/internal.h +++ b/target/mips/internal.h @@ -1,4 +1,5 @@ -/* mips internal definitions and helpers +/* + * MIPS internal definitions and helpers * * This work is licensed under the terms of the GNU GPL, version 2 or late= r. * See the COPYING file in the top-level directory. @@ -8,8 +9,10 @@ #define MIPS_INTERNAL_H =20 =20 -/* MMU types, the first four entries have the same layout as the - CP0C0_MT field. */ +/* + * MMU types, the first four entries have the same layout as the + * CP0C0_MT field. + */ enum mips_mmu_types { MMU_TYPE_NONE, MMU_TYPE_R4000, @@ -159,9 +162,11 @@ static inline bool cpu_mips_hw_interrupts_enabled(CPUM= IPSState *env) !(env->CP0_Status & (1 << CP0St_EXL)) && !(env->CP0_Status & (1 << CP0St_ERL)) && !(env->hflags & MIPS_HFLAG_DM) && - /* Note that the TCStatus IXMT field is initialized to zero, - and only MT capable cores can set it to one. So we don't - need to check for MT capabilities here. */ + /* + * Note that the TCStatus IXMT field is initialized to zero, + * and only MT capable cores can set it to one. So we don't + * need to check for MT capabilities here. + */ !(env->active_tc.CP0_TCStatus & (1 << CP0TCSt_IXMT)); } =20 @@ -176,14 +181,18 @@ static inline bool cpu_mips_hw_interrupts_pending(CPU= MIPSState *env) status =3D env->CP0_Status & CP0Ca_IP_mask; =20 if (env->CP0_Config3 & (1 << CP0C3_VEIC)) { - /* A MIPS configured with a vectorizing external interrupt control= ler - will feed a vector into the Cause pending lines. The core treats - the status lines as a vector level, not as indiviual masks. */ + /* + * A MIPS configured with a vectorizing external interrupt control= ler + * will feed a vector into the Cause pending lines. The core treats + * the status lines as a vector level, not as indiviual masks. + */ r =3D pending > status; } else { - /* A MIPS configured with compatibility or VInt (Vectored Interrup= ts) - treats the pending lines as individual interrupt lines, the sta= tus - lines are individual masks. */ + /* + * A MIPS configured with compatibility or VInt (Vectored Interrup= ts) + * treats the pending lines as individual interrupt lines, the sta= tus + * lines are individual masks. + */ r =3D (pending & status) !=3D 0; } return r; @@ -268,12 +277,14 @@ static inline int mips_vpe_active(CPUMIPSState *env) active =3D 0; } =20 - /* Now verify that there are active thread contexts in the VPE. - - This assumes the CPU model will internally reschedule threads - if the active one goes to sleep. If there are no threads available - the active one will be in a sleeping state, and we can turn off - the entire VPE. */ + /* + * Now verify that there are active thread contexts in the VPE. + * + * This assumes the CPU model will internally reschedule threads + * if the active one goes to sleep. If there are no threads available + * the active one will be in a sleeping state, and we can turn off + * the entire VPE. + */ if (!(env->active_tc.CP0_TCStatus & (1 << CP0TCSt_A))) { /* TC is not activated. */ active =3D 0; @@ -396,10 +407,12 @@ static inline void compute_hflags(CPUMIPSState *env) env->hflags |=3D MIPS_HFLAG_COP1X; } } else if (env->insn_flags & ISA_MIPS4) { - /* All supported MIPS IV CPUs use the XX (CU3) to enable - and disable the MIPS IV extensions to the MIPS III ISA. - Some other MIPS IV CPUs ignore the bit, so the check here - would be too restrictive for them. */ + /* + * All supported MIPS IV CPUs use the XX (CU3) to enable + * and disable the MIPS IV extensions to the MIPS III ISA. + * Some other MIPS IV CPUs ignore the bit, so the check here + * would be too restrictive for them. + */ if (env->CP0_Status & (1U << CP0St_CU3)) { env->hflags |=3D MIPS_HFLAG_COP1X; } --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678678; cv=none; d=zoho.com; s=zohoarc; b=mVMCRlG/6Ud/Y0g9NX5cJ0pgv8lcykPWaYKp0iMxg32z52fOuDZbtMyOGws0M/UA+VnXtes7SNvd1967hTPQEEA94W286697PPH74xupW4I6Nh3NdSGjUY0U7Tkbu4zQFRaaRMs0841khaTfxepz0WG/qYelzGhbYM3j4/25FXQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678678; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=I3vP7IOQmTdjuJT1gNdOcKaee75L448gpqYE+4GjK4c=; b=E4/7c8KmdL0+pUbEKIG81MMUQZeN4Vo/VsJlOZY8bsUzep5sxX1X+WA/WeQFI4ALzj4S/YpS6d1EuCgqeYhNM+MPJHUUKbIOJNtL4nC7bEKYxBS8GoGNqru30ZZQxFN1ewFk3UKMClpqjttMsR3oXzV6viW9rL1u+z7R9otE23c= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678678051984.6726905428412; Thu, 1 Aug 2019 09:57:58 -0700 (PDT) Received: from localhost ([::1]:57768 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEOm-00089E-Pf for importer@patchew.org; Thu, 01 Aug 2019 12:57:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57699) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEFa-0004vX-8q for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEFY-0006BV-4X for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:22 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35921 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEFX-00067q-1P for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:20 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 45D141A2276; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 238A91A2279; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:21 +0200 Message-Id: <1564677923-23173-11-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 10/12] target/mips: Style improvements in machine.c X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Aleksandar Markovic Fixes mostly errors and warings reported by 'checkpatch.pl -f'. Signed-off-by: Aleksandar Markovic Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/machine.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/mips/machine.c b/target/mips/machine.c index e23b767..06887d8 100644 --- a/target/mips/machine.c +++ b/target/mips/machine.c @@ -25,7 +25,7 @@ static int get_fpr(QEMUFile *f, void *pv, size_t size, int i; fpr_t *v =3D pv; /* Restore entire MSA vector register */ - for (i =3D 0; i < MSA_WRLEN/64; i++) { + for (i =3D 0; i < MSA_WRLEN / 64; i++) { qemu_get_sbe64s(f, &v->wr.d[i]); } return 0; @@ -37,7 +37,7 @@ static int put_fpr(QEMUFile *f, void *pv, size_t size, int i; fpr_t *v =3D pv; /* Save entire MSA vector register */ - for (i =3D 0; i < MSA_WRLEN/64; i++) { + for (i =3D 0; i < MSA_WRLEN / 64; i++) { qemu_put_sbe64s(f, &v->wr.d[i]); } =20 --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678446; cv=none; d=zoho.com; s=zohoarc; b=A3MKby12+LBQC3BnQ3K7/uG89vsl3QSd91o0M5rrIY1j3VOEX8aEv1g/7ab1ZUPrJ30z4lQC1nZquO6dVzUaO2dw/NcG2tP1Gwvr3Hh5uvrc/9Cjq89fY9siagdBwhhZ9k/7SNn9JEUT3rF2ojr/0ZG2w4SCS4gSudi05fNmcec= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678446; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=U2f8o2i7GzxNxmHoH9rS13l5d8IbMqKsm+sLgLmjmHs=; b=iltllodmlZUaieP+FYkito+rX2l97Xlu/1tUoQdTPKq0HaAvv2uiD663G40B4cxOh2ybn0/U0uF1igNMTPVhN3qURKpHYqiADCQB6P+1DVAPphPyDUy94LXS5yDfnwbwowl+dP30pPAVDuY+Kx0S1u2gxoJn1W3MXus2EQx6oL8= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678446981729.4963738834986; Thu, 1 Aug 2019 09:54:06 -0700 (PDT) Received: from localhost ([::1]:57728 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEL7-0003k0-VS for importer@patchew.org; Thu, 01 Aug 2019 12:54:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57747) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEFe-0004x1-5e for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEFc-0006Hy-OP for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:26 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35931 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEFa-0006By-6R for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:24 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 4B8F01A22A2; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 2B4331A2264; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:22 +0200 Message-Id: <1564677923-23173-12-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 11/12] tests/tcg: target/mips: Add optional printing of more detailed failure info X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Aleksandar Markovic There is a need for printing input and output data for failure cases, for debugging purpose. This is achieved by this patch, and only if a preprocessor constant is manually set to 1. (Assumption is that the need for such printout is relatively rare.) Signed-off-by: Aleksandar Markovic --- tests/tcg/mips/include/test_utils_128.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/tests/tcg/mips/include/test_utils_128.h b/tests/tcg/mips/inclu= de/test_utils_128.h index 2fea610..0dd3868 100644 --- a/tests/tcg/mips/include/test_utils_128.h +++ b/tests/tcg/mips/include/test_utils_128.h @@ -27,7 +27,8 @@ #include #include =20 -#define PRINT_RESULTS 0 +#define PRINT_RESULTS 0 +#define PRINT_FAILURES 0 =20 =20 static inline int32_t check_results_128(const char *isa_ase_name, @@ -65,6 +66,26 @@ static inline int32_t check_results_128(const char *isa_= ase_name, (b128_result[2 * i + 1] =3D=3D b128_expect[2 * i + 1])) { pass_count++; } else { +#if PRINT_FAILURES + uint32_t ii; + uint64_t a, b; + + printf("\n"); + + printf("FAILURE for test case %d!\n", i); + + memcpy(&a, (b128_expect + 2 * i), 8); + memcpy(&b, (b128_expect + 2 * i + 1), 8); + printf("Expected result : { 0x%016llxULL, 0x%016llxULL, },\n", + a, b); + + memcpy(&a, (b128_result + 2 * i), 8); + memcpy(&b, (b128_result + 2 * i + 1), 8); + printf("Actual result : { 0x%016llxULL, 0x%016llxULL, },\n", + a, b); + + printf("\n"); +#endif fail_count++; } } --=20 2.7.4 From nobody Mon May 6 17:39:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1564678783; cv=none; d=zoho.com; s=zohoarc; b=QuKv5P3LxCiTMNKP645ZlP36FC/MiwTFbQL1aHXc3DWyROg0YOqtlubGBzAdP+C06fdSBBo64wnm9eC9YLV2aVsJKMFTnRKVIOgKr3IIVEy1PrQWXwlyg+dQ/j4+mQQw6ONmfdCN6LFJQBF6M9dPhQR7px/Go/tAb9Tjtvd4Cqs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564678783; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=UbjTYBaIpvQPfgwYPJcKJrDU/ZtEpI2oLMDDirh8r8E=; b=TKhVBzAkXD0ZL4jzBCTmwRlU6411sAT/QDq/76Cb7e0eOd6IcZyWpJFZBe++hCZfLQZcipyACD1FkRVHPXXgN395leNsM7svF5++qeDKF7nZR2DkMfnv4juigMJ41SFMzpYNnUPGE8wOKE5U07t89Syr6fVI7W8P54g8ybC/Fpw= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564678783023347.6797375172155; Thu, 1 Aug 2019 09:59:43 -0700 (PDT) Received: from localhost ([::1]:57786 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEQX-0001jU-Pw for importer@patchew.org; Thu, 01 Aug 2019 12:59:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57804) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htEFo-0005QF-C3 for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htEFe-0006Ji-3M for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:36 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:35930 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1htEFa-0006Bx-76 for qemu-devel@nongnu.org; Thu, 01 Aug 2019 12:48:24 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 86FF81A2264; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) Received: from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local [10.10.13.43]) by mail.rt-rk.com (Postfix) with ESMTPSA id 352641A22AD; Thu, 1 Aug 2019 18:48:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com From: Aleksandar Markovic To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 18:45:23 +0200 Message-Id: <1564677923-23173-13-git-send-email-aleksandar.markovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1564677923-23173-1-git-send-email-aleksandar.markovic@rt-rk.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH for 4.2 v5 12/12] tests/tcg: target/mips: Fix target configurations for MSA tests X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, amarkovic@wavecomp.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Aleksandar Markovic At the moment, the only MIPS CPUs that are emulated in QEMU and support MSA extensian anre R5600 (mips32r5), and I6400/I6500 (mips64r6). Therefore, mips32r5 and mips64r6 are the only ISAs that could support MSA. This means mips32r6 currently do not make much sense, and mips32r5 support for MSA tests is needed, which is done by this patch. Signed-off-by: Aleksandar Markovic --- .../mips/user/ase/msa/test_msa_compile_32r5eb.sh | 917 +++++++++++++++++= ++++ .../mips/user/ase/msa/test_msa_compile_32r5el.sh | 917 +++++++++++++++++= ++++ .../mips/user/ase/msa/test_msa_compile_32r6eb.sh | 643 --------------- .../mips/user/ase/msa/test_msa_compile_32r6el.sh | 643 --------------- tests/tcg/mips/user/ase/msa/test_msa_run_32r5eb.sh | 371 +++++++++ tests/tcg/mips/user/ase/msa/test_msa_run_32r5el.sh | 371 +++++++++ tests/tcg/mips/user/ase/msa/test_msa_run_32r6eb.sh | 371 --------- tests/tcg/mips/user/ase/msa/test_msa_run_32r6el.sh | 371 --------- 8 files changed, 2576 insertions(+), 2028 deletions(-) create mode 100755 tests/tcg/mips/user/ase/msa/test_msa_compile_32r5eb.sh create mode 100755 tests/tcg/mips/user/ase/msa/test_msa_compile_32r5el.sh delete mode 100755 tests/tcg/mips/user/ase/msa/test_msa_compile_32r6eb.sh delete mode 100755 tests/tcg/mips/user/ase/msa/test_msa_compile_32r6el.sh create mode 100755 tests/tcg/mips/user/ase/msa/test_msa_run_32r5eb.sh create mode 100755 tests/tcg/mips/user/ase/msa/test_msa_run_32r5el.sh delete mode 100644 tests/tcg/mips/user/ase/msa/test_msa_run_32r6eb.sh delete mode 100755 tests/tcg/mips/user/ase/msa/test_msa_run_32r6el.sh diff --git a/tests/tcg/mips/user/ase/msa/test_msa_compile_32r5eb.sh b/tests= /tcg/mips/user/ase/msa/test_msa_compile_32r5eb.sh new file mode 100755 index 0000000..940cabe --- /dev/null +++ b/tests/tcg/mips/user/ase/msa/test_msa_compile_32r5eb.sh @@ -0,0 +1,917 @@ + +# +# Bit Count +# --------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nloc_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nloc_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nloc_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nloc_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nloc_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nloc_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nloc_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nloc_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nlzc_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nlzc_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nlzc_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nlzc_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nlzc_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nlzc_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nlzc_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nlzc_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_pcnt_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pcnt_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_pcnt_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pcnt_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_pcnt_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pcnt_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_pcnt_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pcnt_d_32r5eb + +# +# Bit move +# -------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsl_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsl_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsl_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsl_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsl_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsl_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsl_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsl_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsr_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsr_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsr_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsr_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsr_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsr_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsr_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsr_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_bmnz_v.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bmnz_v_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_bmz_v.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bmz_v_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_bsel_v.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bsel_v_32r5eb + +# +# Bit Set +# ------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bclr_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bclr_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bclr_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bclr_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bclr_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bclr_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bclr_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bclr_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bneg_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bneg_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bneg_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bneg_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bneg_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bneg_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bneg_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bneg_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bset_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bset_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bset_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bset_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bset_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bset_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bset_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bset_d_32r5eb + +# +# Fixed Multiply +# -------------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_madd_q_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_madd_q_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_madd_q_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_madd_q_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_maddr_q_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddr_q_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_maddr_q_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddr_q_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_msub_q_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msub_q_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_msub_q_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msub_q_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_msubr_q_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubr_q_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_msubr_q_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubr_q_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_mul_q_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mul_q_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_mul_q_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mul_q_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulr_q_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulr_q_w_32r5eb + +# +# Float Max Min +# ------------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmax_a_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmax_a_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmax_a_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmax_a_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmax_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmax_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmax_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmax_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmin_a_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmin_a_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmin_a_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmin_a_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmin_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmin_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmin_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmin_d_32r5eb + +# +# Int Add +# ------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_add_a_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_add_a_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_add_a_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_add_a_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_add_a_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_add_a_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_add_a_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_add_a_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_a_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_a_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_a_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_a_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_a_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_a_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_a_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_a_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_addv_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_addv_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_addv_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_addv_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_addv_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_addv_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_addv_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_addv_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_u_d_32r5eb + +# +# Int Average +# ----------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_u_d_32r5eb + +# +# Int Compare +# ----------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_ceq_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ceq_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_ceq_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ceq_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_ceq_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ceq_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_ceq_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ceq_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_u_d_32r5eb + +# +# Int Divide +# ---------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_u_d_32r5eb + +# +# Int Dot Product +# --------------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_u_d_32r5eb + +# +# Int Max Min +# ----------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_a_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_a_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_a_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_a_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_a_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_a_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_a_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_a_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_a_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_a_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_a_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_a_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_a_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_a_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_a_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_a_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_u_d_32r5eb + +# +# Int Modulo +# ---------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_u_d_32r5eb + +# +# Int Multiply +# ------------ +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_maddv_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddv_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_maddv_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddv_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_maddv_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddv_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_maddv_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddv_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_msubv_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubv_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_msubv_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubv_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_msubv_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubv_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_msubv_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubv_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_mulv_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulv_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_mulv_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulv_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_mulv_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulv_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_mulv_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulv_d_32r5eb + +# +# Int Subtract +# ------------ +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsus_u_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsus_u_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsus_u_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsus_u_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsus_u_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsus_u_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsus_u_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsus_u_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsuu_s_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsuu_s_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsuu_s_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsuu_s_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsuu_s_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsuu_s_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsuu_s_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsuu_s_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subv_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subv_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subv_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subv_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subv_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subv_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subv_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subv_d_32r5eb + +# +# Interleave +# ---------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvev_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvev_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvev_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvev_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvod_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvod_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvod_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvod_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvl_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvl_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvl_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvl_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvr_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvr_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvr_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvr_d_32r5eb + +# +# Logic +# ----- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_and_v.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_and_v_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_nor_v.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nor_v_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_or_v.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_or_v_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_xor_v.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_xor_v_32r5eb + +# +# Move +# ---- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc move/test_msa_move_v.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_move_v_32r5eb + +# +# Pack +# ---- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckev_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckev_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckev_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckev_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckod_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckod_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckod_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckod_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_vshf_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_vshf_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_vshf_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_vshf_d_32r5eb + +# +# Shift +# ----- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sll_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sll_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sll_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sll_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sra_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sra_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sra_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sra_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srar_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srar_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srar_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srar_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srl_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srl_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srl_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srl_d_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_b.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srlr_b_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_h.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srlr_h_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_w.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srlr_w_32r5eb +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_d.c = \ +-EB -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srlr_d_32r5eb diff --git a/tests/tcg/mips/user/ase/msa/test_msa_compile_32r5el.sh b/tests= /tcg/mips/user/ase/msa/test_msa_compile_32r5el.sh new file mode 100755 index 0000000..048b30b --- /dev/null +++ b/tests/tcg/mips/user/ase/msa/test_msa_compile_32r5el.sh @@ -0,0 +1,917 @@ + +# +# Bit Count +# --------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nloc_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nloc_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nloc_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nloc_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nloc_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nloc_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nloc_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nloc_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nlzc_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nlzc_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nlzc_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nlzc_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nlzc_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nlzc_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_nlzc_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nlzc_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_pcnt_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pcnt_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_pcnt_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pcnt_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_pcnt_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pcnt_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-count/test_msa_pcnt_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pcnt_d_32r5el + +# +# Bit move +# -------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsl_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsl_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsl_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsl_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsl_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsl_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsl_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsl_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsr_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsr_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsr_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsr_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsr_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsr_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_binsr_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_binsr_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_bmnz_v.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bmnz_v_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_bmz_v.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bmz_v_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-move/test_msa_bsel_v.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bsel_v_32r5el + +# +# Bit Set +# ------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bclr_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bclr_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bclr_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bclr_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bclr_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bclr_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bclr_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bclr_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bneg_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bneg_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bneg_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bneg_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bneg_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bneg_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bneg_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bneg_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bset_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bset_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bset_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bset_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bset_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bset_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc bit-set/test_msa_bset_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_bset_d_32r5el + +# +# Fixed Multiply +# -------------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_madd_q_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_madd_q_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_madd_q_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_madd_q_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_maddr_q_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddr_q_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_maddr_q_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddr_q_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_msub_q_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msub_q_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_msub_q_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msub_q_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_msubr_q_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubr_q_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_msubr_q_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubr_q_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_mul_q_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mul_q_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_mul_q_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mul_q_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulr_q_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulr_q_w_32r5el + +# +# Float Max Min +# ------------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmax_a_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmax_a_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmax_a_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmax_a_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmax_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmax_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmax_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmax_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmin_a_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmin_a_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmin_a_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmin_a_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmin_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmin_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc float-max-min/test_msa_fmin_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_fmin_d_32r5el + +# +# Int Add +# ------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_add_a_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_add_a_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_add_a_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_add_a_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_add_a_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_add_a_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_add_a_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_add_a_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_a_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_a_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_a_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_a_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_a_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_a_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_a_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_a_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_adds_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_adds_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_addv_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_addv_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_addv_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_addv_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_addv_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_addv_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_addv_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_addv_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-add/test_msa_hadd_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hadd_u_d_32r5el + +# +# Int Average +# ----------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_ave_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ave_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-average/test_msa_aver_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_aver_u_d_32r5el + +# +# Int Compare +# ----------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_ceq_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ceq_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_ceq_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ceq_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_ceq_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ceq_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_ceq_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ceq_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_cle_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_cle_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-compare/test_msa_clt_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_clt_u_d_32r5el + +# +# Int Divide +# ---------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-divide/test_msa_div_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_div_u_d_32r5el + +# +# Int Dot Product +# --------------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dotp_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dotp_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpadd_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_dpsub_u_d_32r5el + +# +# Int Max Min +# ----------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_a_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_a_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_a_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_a_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_a_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_a_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_a_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_a_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_max_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_max_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_a_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_a_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_a_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_a_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_a_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_a_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_a_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_a_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-max-min/test_msa_min_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_min_u_d_32r5el + +# +# Int Modulo +# ---------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-modulo/test_msa_mod_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mod_u_d_32r5el + +# +# Int Multiply +# ------------ +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_maddv_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddv_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_maddv_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddv_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_maddv_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddv_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_maddv_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_maddv_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_msubv_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubv_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_msubv_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubv_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_msubv_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubv_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_msubv_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_msubv_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_mulv_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulv_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_mulv_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulv_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_mulv_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulv_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-multiply/test_msa_mulv_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_mulv_d_32r5el + +# +# Int Subtract +# ------------ +# +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_asub_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_asub_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_hsub_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_hsub_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subs_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subs_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsus_u_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsus_u_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsus_u_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsus_u_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsus_u_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsus_u_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsus_u_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsus_u_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsuu_s_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsuu_s_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsuu_s_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsuu_s_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsuu_s_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsuu_s_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subsuu_s_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subsuu_s_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subv_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subv_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subv_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subv_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subv_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subv_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc int-subtract/test_msa_subv_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_subv_d_32r5el + +# +# Interleave +# ---------- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvev_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvev_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvev_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvev_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvod_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvod_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvod_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvod_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvl_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvl_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvl_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvl_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvr_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvr_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvr_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_ilvr_d_32r5el + +# +# Logic +# ----- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_and_v.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_and_v_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_nor_v.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_nor_v_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_or_v.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_or_v_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_xor_v.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_xor_v_32r5el + +# +# Move +# ---- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc move/test_msa_move_v.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_move_v_32r5el + +# +# Pack +# ---- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckev_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckev_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckev_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckev_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckod_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckod_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckod_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_pckod_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_vshf_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_vshf_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_vshf_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_vshf_d_32r5el + +# +# Shift +# ----- +# +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sll_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sll_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sll_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sll_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sra_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sra_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sra_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_sra_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srar_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srar_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srar_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srar_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srl_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srl_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srl_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srl_d_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_b.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srlr_b_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_h.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srlr_h_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_w.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srlr_w_32r5el +/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_d.c = \ +-EL -static -mabi=3D32 -march=3Dmips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan= =3D2008 -o \ + /tmp/test_msa_srlr_d_32r5el diff --git a/tests/tcg/mips/user/ase/msa/test_msa_compile_32r6eb.sh b/tests= /tcg/mips/user/ase/msa/test_msa_compile_32r6eb.sh deleted file mode 100755 index 2519213..0000000 --- a/tests/tcg/mips/user/ase/msa/test_msa_compile_32r6eb.sh +++ /dev/null @@ -1,643 +0,0 @@ - -# -# Bit Count -# --------- -# -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nloc_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nloc_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nloc_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nloc_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nlzc_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nlzc_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nlzc_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nlzc_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pcnt_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pcnt_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pcnt_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pcnt_d_32= r6eb - -# -# Bit move -# -------- -# -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsl_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsl_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsl_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsl_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsr_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsr_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsr_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsr_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsr_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsr_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsr_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsr_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bmnz_v.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bmnz_v_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bmz_v.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bmz_v_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bsel_v.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bsel_v_3= 2r6eb - -# -# Bit Set -# ------- -# -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bclr_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bclr_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bclr_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bclr_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bneg_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bneg_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bneg_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bneg_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bset_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bset_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bset_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bset_d_32= r6eb - -# -# Fixed Multiply -# -------------- -# -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_madd_q_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_madd_q_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_madd_q_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_madd_q_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_maddr_q_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddr_q_h= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_maddr_q_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddr_q_w= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_msub_q_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msub_q_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_msub_q_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msub_q_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_msubr_q_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubr_q_h= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_msubr_q_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubr_q_w= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mul_q_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mul_q_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mul_q_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mul_q_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulr_q_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulr_q_w_= 32r6eb - -# -# Float Max Min -# ------------- -# -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_a_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmax_a_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_a_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmax_a_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmax_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmax_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_a_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmin_a_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_a_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmin_a_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmin_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmin_d_32= r6eb - -# -# Int Add -# ------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_add_a_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_add_a_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_add_a_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_add_a_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_a_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_a_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_a_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_a_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_s_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_s_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_s_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_s_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_u_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_u_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_u_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_u_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_addv_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_addv_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_addv_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_addv_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_s_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_s_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_s_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_u_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_u_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_u_d_= 32r6eb - -# -# Int Average -# ----------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_s_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_s_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_s_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_s_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_u_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_u_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_u_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_u_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_s_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_s_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_s_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_s_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_u_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_u_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_u_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_u_d_= 32r6eb - -# -# Int Compare -# ----------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ceq_b_32r= 6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ceq_h_32r= 6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ceq_w_32r= 6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ceq_d_32r= 6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_s_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_s_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_s_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_s_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_u_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_u_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_u_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_u_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_s_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_s_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_s_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_s_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_u_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_u_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_u_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_u_d_3= 2r6eb - -# -# Int Divide -# ---------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_s_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_s_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_s_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_s_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_u_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_u_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_u_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_u_d_3= 2r6eb - -# -# Int Dot Product -# --------------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_s_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_s_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_s_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_u_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_u_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_u_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_s_h= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_s_w= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_s_d= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_u_h= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_u_w= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_u_d= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_s_h= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_s_w= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_s_d= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_u_h= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_u_w= _32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_u_d= _32r6eb - -# -# Int Max Min -# ----------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_a_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_a_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_a_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_a_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_s_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_s_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_s_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_s_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_u_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_u_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_u_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_u_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_a_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_a_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_a_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_a_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_s_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_s_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_s_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_s_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_u_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_u_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_u_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_u_d_3= 2r6eb - -# -# Int Modulo -# ---------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_s_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_s_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_s_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_s_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_u_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_u_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_u_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_u_d_3= 2r6eb - -# -# Int Multiply -# ------------ -# -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddv_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddv_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddv_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddv_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubv_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubv_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubv_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubv_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulv_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulv_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulv_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulv_d_32= r6eb - -# -# Int Subtract -# ------------ -# -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_s_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_s_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_s_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_s_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_u_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_u_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_u_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_u_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_s_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_s_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_s_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_u_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_u_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_u_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_s_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_s_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_s_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_s_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_u_b_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_u_h_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_u_w_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_u_d_= 32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsus_u_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsus_u_= b_32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsus_u_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsus_u_= h_32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsus_u_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsus_u_= w_32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsus_u_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsus_u_= d_32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsuu_s_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsuu_s_= b_32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsuu_s_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsuu_s_= h_32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsuu_s_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsuu_s_= w_32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsuu_s_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsuu_s_= d_32r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subv_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subv_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subv_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subv_d_32= r6eb - -# -# Interleave -# ---------- -# -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvev_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvev_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvev_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvev_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvod_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvod_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvod_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvod_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvl_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvl_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvl_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvl_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvr_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvr_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvr_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvr_d_32= r6eb - -# -# Logic -# ----- -# -/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_and_v.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_and_v_32r= 6eb -/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_nor_v.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nor_v_32r= 6eb -/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_or_v.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_or_v_32r6= eb -/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_xor_v.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_xor_v_32r= 6eb - -# -# Move -# ---- -# -/opt/img/bin/mips-img-linux-gnu-gcc move/test_msa_move_v.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_move_v_32= r6eb - -# -# Pack -# ---- -# -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckev_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckev_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckev_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckev_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckod_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckod_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckod_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckod_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_vshf_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_vshf_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_vshf_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_vshf_d_32= r6eb - -# -# Shift -# ----- -# -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sll_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sll_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sll_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sll_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sra_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sra_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sra_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sra_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srar_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srar_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srar_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srar_d_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srl_b_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srl_h_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srl_w_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srl_d_32= r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_b.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srlr_b_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_h.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srlr_h_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_w.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srlr_w_3= 2r6eb -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_d.c = \ --EB -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srlr_d_3= 2r6eb diff --git a/tests/tcg/mips/user/ase/msa/test_msa_compile_32r6el.sh b/tests= /tcg/mips/user/ase/msa/test_msa_compile_32r6el.sh deleted file mode 100755 index 1e10ff7..0000000 --- a/tests/tcg/mips/user/ase/msa/test_msa_compile_32r6el.sh +++ /dev/null @@ -1,643 +0,0 @@ - -# -# Bit Count -# --------- -# -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nloc_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nloc_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nloc_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nloc_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nlzc_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nlzc_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nlzc_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nlzc_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pcnt_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pcnt_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pcnt_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pcnt_d_32= r6el - -# -# Bit move -# -------- -# -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsl_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsl_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsl_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsl_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsr_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsr_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsr_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsr_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsr_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsr_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsr_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_binsr_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bmnz_v.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bmnz_v_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bmz_v.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bmz_v_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bsel_v.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bsel_v_3= 2r6el - -# -# Bit Set -# ------- -# -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bclr_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bclr_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bclr_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bclr_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bneg_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bneg_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bneg_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bneg_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bset_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bset_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bset_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_bset_d_32= r6el - -# -# Fixed Multiply -# -------------- -# -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_madd_q_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_madd_q_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_madd_q_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_madd_q_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_maddr_q_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddr_q_h= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_maddr_q_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddr_q_w= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_msub_q_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msub_q_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_msub_q_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msub_q_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_msubr_q_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubr_q_h= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_msubr_q_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubr_q_w= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mul_q_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mul_q_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mul_q_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mul_q_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulr_q_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulr_q_w_= 32r6el - -# -# Float Max Min -# ------------- -# -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_a_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmax_a_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_a_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmax_a_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmax_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmax_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_a_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmin_a_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_a_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmin_a_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmin_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_fmin_d_32= r6el - -# -# Int Add -# ------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_add_a_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_add_a_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_add_a_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_add_a_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_a_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_a_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_a_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_a_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_s_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_s_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_s_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_s_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_u_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_u_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_u_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_adds_u_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_addv_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_addv_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_addv_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_addv_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_s_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_s_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_s_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_u_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_u_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hadd_u_d_= 32r6el - -# -# Int Average -# ----------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_s_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_s_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_s_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_s_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_u_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_u_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_u_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ave_u_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_s_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_s_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_s_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_s_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_u_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_u_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_u_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_aver_u_d_= 32r6el - -# -# Int Compare -# ----------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ceq_b_32r= 6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ceq_h_32r= 6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ceq_w_32r= 6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ceq_d_32r= 6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_s_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_s_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_s_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_s_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_u_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_u_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_u_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_cle_u_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_s_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_s_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_s_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_s_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_u_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_u_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_u_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_clt_u_d_3= 2r6el - -# -# Int Divide -# ---------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_s_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_s_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_s_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_s_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_u_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_u_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_u_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_div_u_d_3= 2r6el - -# -# Int Dot Product -# --------------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_s_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_s_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_s_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_u_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_u_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dotp_u_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_s_h= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_s_w= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_s_d= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_u_h= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_u_w= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpadd_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpadd_u_d= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_s_h= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_s_w= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_s_d= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_u_h= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_u_w= _32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dpsub_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_dpsub_u_d= _32r6el - -# -# Int Max Min -# ----------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_a_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_a_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_a_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_a_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_s_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_s_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_s_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_s_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_u_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_u_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_u_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_max_u_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_a_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_a_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_a_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_a_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_s_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_s_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_s_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_s_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_u_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_u_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_u_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_min_u_d_3= 2r6el - -# -# Int Modulo -# ---------- -# -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_s_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_s_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_s_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_s_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_u_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_u_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_u_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mod_u_d_3= 2r6el - -# -# Int Multiply -# ------------ -# -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddv_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddv_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddv_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_maddv_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubv_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubv_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubv_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_msubv_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulv_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulv_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulv_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_mulv_d_32= r6el - -# -# Int Subtract -# ------------ -# -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_s_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_s_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_s_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_s_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_u_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_u_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_u_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_asub_u_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_s_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_s_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_s_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_u_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_u_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_hsub_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_hsub_u_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_s_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_s_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_s_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_s_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_u_b_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_u_h_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_u_w_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subs_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subs_u_d_= 32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsus_u_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsus_u_= b_32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsus_u_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsus_u_= h_32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsus_u_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsus_u_= w_32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsus_u_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsus_u_= d_32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsuu_s_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsuu_s_= b_32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsuu_s_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsuu_s_= h_32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsuu_s_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsuu_s_= w_32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subsuu_s_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subsuu_s_= d_32r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subv_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subv_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subv_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_subv_d_32= r6el - -# -# Interleave -# ---------- -# -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvev_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvev_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvev_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvev_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvod_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvod_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvod_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvod_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvl_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvl_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvl_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvl_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvr_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvr_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvr_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_ilvr_d_32= r6el - -# -# Logic -# ----- -# -/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_and_v.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_and_v_32r= 6el -/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_nor_v.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_nor_v_32r= 6el -/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_or_v.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_or_v_32r6= el -/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_xor_v.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_xor_v_32r= 6el - -# -# Move -# ---- -# -/opt/img/bin/mips-img-linux-gnu-gcc move/test_msa_move_v.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_move_v_32= r6el - -# -# Pack -# ---- -# -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckev_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckev_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckev_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckev_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckod_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckod_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckod_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_pckod_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_vshf_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_vshf_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_vshf_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_vshf_d_32= r6el - -# -# Shift -# ----- -# -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sll_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sll_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sll_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sll_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sra_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sra_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sra_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_sra_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srar_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srar_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srar_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srar_d_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srl_b_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srl_h_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srl_w_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srl_d_32= r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_b.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srlr_b_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_h.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srlr_h_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_w.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srlr_w_3= 2r6el -/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_d.c = \ --EL -static -mabi=3D32 -march=3Dmips32r6 -mmsa -o /tmp/test_msa_srlr_d_3= 2r6el diff --git a/tests/tcg/mips/user/ase/msa/test_msa_run_32r5eb.sh b/tests/tcg= /mips/user/ase/msa/test_msa_run_32r5eb.sh new file mode 100755 index 0000000..32dbf31 --- /dev/null +++ b/tests/tcg/mips/user/ase/msa/test_msa_run_32r5eb.sh @@ -0,0 +1,371 @@ +PATH_TO_QEMU=3D"../../../../../../mips-linux-user/qemu-mips" + + +# +# Bit Count +# --------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nloc_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nloc_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nloc_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nloc_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nlzc_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nlzc_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nlzc_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nlzc_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pcnt_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pcnt_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pcnt_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pcnt_d_32r5eb + +# +# Bit move +# -------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsl_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsl_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsl_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsl_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsr_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsr_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsr_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsr_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bmnz_v_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bmz_v_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bsel_v_32r5eb + +# +# Bit Set +# ------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bclr_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bclr_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bclr_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bclr_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bneg_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bneg_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bneg_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bneg_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bset_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bset_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bset_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bset_d_32r5eb + +# +# Fixed Multiply +# -------------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_madd_q_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_madd_q_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddr_q_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddr_q_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msub_q_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msub_q_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubr_q_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubr_q_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mul_q_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mul_q_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulr_q_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulr_q_w_32r5eb + +# +# Float Max Min +# ------------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmax_a_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmax_a_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmax_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmax_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmin_a_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmin_a_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmin_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmin_d_32r5eb + +# +# Int Add +# ------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_add_a_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_add_a_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_add_a_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_add_a_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_a_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_a_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_a_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_a_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_addv_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_addv_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_addv_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_addv_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_u_d_32r5eb + +# +# Int Average +# ----------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_u_d_32r5eb + +# +# Int Compare +# ----------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ceq_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ceq_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ceq_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ceq_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_u_d_32r5eb + +# +# Int Divide +# ---------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_u_d_32r5eb + +# +# Int Dot Product +# --------------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_u_d_32r5eb + +# +# Int Max Min +# ----------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_a_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_a_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_a_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_a_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_a_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_a_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_a_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_a_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_u_d_32r5eb + +# +# Int Modulo +# ---------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_u_d_32r5eb + +# +# Int Multiply +# ------------ +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddv_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddv_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddv_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddv_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubv_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubv_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubv_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubv_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulv_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulv_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulv_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulv_d_32r5eb + +# +# Int Subtract +# ------------ +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsus_u_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsus_u_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsus_u_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsus_u_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsuu_s_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsuu_s_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsuu_s_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsuu_s_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subv_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subv_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subv_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subv_d_32r5eb + +# +# Interleave +# ---------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvev_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvev_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvev_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvev_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvod_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvod_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvod_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvod_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvl_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvl_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvl_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvl_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvr_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvr_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvr_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvr_d_32r5eb + +# +# Logic +# ----- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_and_v_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nor_v_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_or_v_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_xor_v_32r5eb + +# +# Move +# ---- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_move_v_32r5eb + +# +# Pack +# ---- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckev_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckev_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckev_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckev_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckod_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckod_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckod_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckod_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_vshf_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_vshf_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_vshf_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_vshf_d_32r5eb + +# +# Shift +# ----- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sll_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sll_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sll_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sll_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sra_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sra_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sra_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sra_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srar_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srar_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srar_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srar_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srl_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srl_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srl_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srl_d_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srlr_b_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srlr_h_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srlr_w_32r5eb +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srlr_d_32r5eb diff --git a/tests/tcg/mips/user/ase/msa/test_msa_run_32r5el.sh b/tests/tcg= /mips/user/ase/msa/test_msa_run_32r5el.sh new file mode 100755 index 0000000..a2e6092 --- /dev/null +++ b/tests/tcg/mips/user/ase/msa/test_msa_run_32r5el.sh @@ -0,0 +1,371 @@ +PATH_TO_QEMU=3D"../../../../../../mipsel-linux-user/qemu-mipsel" + + +# +# Bit Count +# --------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nloc_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nloc_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nloc_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nloc_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nlzc_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nlzc_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nlzc_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nlzc_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pcnt_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pcnt_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pcnt_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pcnt_d_32r5el + +# +# Bit move +# -------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsl_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsl_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsl_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsl_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsr_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsr_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsr_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_binsr_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bmnz_v_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bmz_v_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bsel_v_32r5el + +# +# Bit Set +# ------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bclr_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bclr_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bclr_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bclr_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bneg_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bneg_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bneg_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bneg_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bset_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bset_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bset_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_bset_d_32r5el + +# +# Fixed Multiply +# -------------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_madd_q_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_madd_q_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddr_q_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddr_q_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msub_q_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msub_q_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubr_q_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubr_q_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mul_q_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mul_q_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulr_q_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulr_q_w_32r5el + +# +# Float Max Min +# ------------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmax_a_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmax_a_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmax_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmax_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmin_a_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmin_a_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmin_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_fmin_d_32r5el + +# +# Int Add +# ------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_add_a_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_add_a_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_add_a_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_add_a_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_a_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_a_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_a_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_a_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_adds_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_addv_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_addv_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_addv_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_addv_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hadd_u_d_32r5el + +# +# Int Average +# ----------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ave_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_aver_u_d_32r5el + +# +# Int Compare +# ----------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ceq_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ceq_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ceq_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ceq_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_cle_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_clt_u_d_32r5el + +# +# Int Divide +# ---------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_div_u_d_32r5el + +# +# Int Dot Product +# --------------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dotp_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpadd_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_dpsub_u_d_32r5el + +# +# Int Max Min +# ----------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_a_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_a_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_a_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_a_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_max_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_a_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_a_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_a_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_a_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_min_u_d_32r5el + +# +# Int Modulo +# ---------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mod_u_d_32r5el + +# +# Int Multiply +# ------------ +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddv_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddv_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddv_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_maddv_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubv_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubv_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubv_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_msubv_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulv_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulv_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulv_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_mulv_d_32r5el + +# +# Int Subtract +# ------------ +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_asub_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_hsub_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subs_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsus_u_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsus_u_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsus_u_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsus_u_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsuu_s_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsuu_s_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsuu_s_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subsuu_s_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subv_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subv_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subv_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_subv_d_32r5el + +# +# Interleave +# ---------- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvev_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvev_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvev_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvev_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvod_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvod_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvod_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvod_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvl_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvl_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvl_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvl_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvr_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvr_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvr_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_ilvr_d_32r5el + +# +# Logic +# ----- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_and_v_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_nor_v_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_or_v_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_xor_v_32r5el + +# +# Move +# ---- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_move_v_32r5el + +# +# Pack +# ---- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckev_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckev_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckev_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckev_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckod_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckod_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckod_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_pckod_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_vshf_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_vshf_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_vshf_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_vshf_d_32r5el + +# +# Shift +# ----- +# +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sll_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sll_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sll_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sll_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sra_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sra_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sra_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_sra_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srar_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srar_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srar_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srar_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srl_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srl_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srl_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srl_d_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srlr_b_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srlr_h_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srlr_w_32r5el +$PATH_TO_QEMU -cpu P5600 /tmp/test_msa_srlr_d_32r5el diff --git a/tests/tcg/mips/user/ase/msa/test_msa_run_32r6eb.sh b/tests/tcg= /mips/user/ase/msa/test_msa_run_32r6eb.sh deleted file mode 100644 index 6c95e45..0000000 --- a/tests/tcg/mips/user/ase/msa/test_msa_run_32r6eb.sh +++ /dev/null @@ -1,371 +0,0 @@ -PATH_TO_QEMU=3D"../../../../../../mips64-linux-user/qemu-mips64" - - -# -# Bit Count -# --------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nloc_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nloc_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nloc_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nloc_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nlzc_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nlzc_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nlzc_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nlzc_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pcnt_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pcnt_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pcnt_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pcnt_d_32r6eb - -# -# Bit move -# -------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsl_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsl_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsl_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsl_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsr_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsr_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsr_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsr_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bmnz_v_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bmz_v_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bsel_v_32r6eb - -# -# Bit Set -# ------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bclr_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bclr_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bclr_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bclr_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bneg_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bneg_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bneg_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bneg_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bset_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bset_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bset_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bset_d_32r6eb - -# -# Fixed Multiply -# -------------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_madd_q_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_madd_q_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddr_q_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddr_q_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msub_q_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msub_q_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubr_q_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubr_q_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mul_q_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mul_q_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulr_q_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulr_q_w_32r6eb - -# -# Float Max Min -# ------------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmax_a_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmax_a_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmax_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmax_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmin_a_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmin_a_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmin_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmin_d_32r6eb - -# -# Int Add -# ------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_add_a_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_add_a_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_add_a_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_add_a_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_a_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_a_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_a_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_a_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_addv_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_addv_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_addv_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_addv_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_u_d_32r6eb - -# -# Int Average -# ----------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_u_d_32r6eb - -# -# Int Compare -# ----------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ceq_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ceq_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ceq_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ceq_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_u_d_32r6eb - -# -# Int Divide -# ---------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_u_d_32r6eb - -# -# Int Dot Product -# --------------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_u_d_32r6eb - -# -# Int Max Min -# ----------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_a_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_a_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_a_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_a_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_a_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_a_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_a_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_a_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_u_d_32r6eb - -# -# Int Modulo -# ---------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_u_d_32r6eb - -# -# Int Multiply -# ------------ -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddv_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddv_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddv_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddv_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubv_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubv_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubv_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubv_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulv_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulv_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulv_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulv_d_32r6eb - -# -# Int Subtract -# ------------ -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsus_u_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsus_u_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsus_u_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsus_u_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsuu_s_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsuu_s_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsuu_s_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsuu_s_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subv_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subv_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subv_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subv_d_32r6eb - -# -# Interleave -# ---------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvev_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvev_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvev_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvev_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvod_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvod_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvod_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvod_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvl_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvl_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvl_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvl_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvr_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvr_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvr_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvr_d_32r6eb - -# -# Logic -# ----- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_and_v_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nor_v_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_or_v_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_xor_v_32r6eb - -# -# Move -# ---- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_move_v_32r6eb - -# -# Pack -# ---- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckev_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckev_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckev_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckev_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckod_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckod_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckod_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckod_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_vshf_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_vshf_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_vshf_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_vshf_d_32r6eb - -# -# Shift -# ----- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sll_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sll_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sll_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sll_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sra_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sra_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sra_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sra_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srar_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srar_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srar_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srar_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srl_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srl_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srl_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srl_d_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srlr_b_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srlr_h_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srlr_w_32r6eb -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srlr_d_32r6eb diff --git a/tests/tcg/mips/user/ase/msa/test_msa_run_32r6el.sh b/tests/tcg= /mips/user/ase/msa/test_msa_run_32r6el.sh deleted file mode 100755 index d4945da..0000000 --- a/tests/tcg/mips/user/ase/msa/test_msa_run_32r6el.sh +++ /dev/null @@ -1,371 +0,0 @@ -PATH_TO_QEMU=3D"../../../../../../mips64el-linux-user/qemu-mips64el" - - -# -# Bit Count -# --------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nloc_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nloc_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nloc_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nloc_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nlzc_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nlzc_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nlzc_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nlzc_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pcnt_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pcnt_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pcnt_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pcnt_d_32r6el - -# -# Bit move -# -------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsl_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsl_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsl_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsl_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsr_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsr_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsr_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_binsr_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bmnz_v_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bmz_v_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bsel_v_32r6el - -# -# Bit Set -# ------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bclr_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bclr_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bclr_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bclr_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bneg_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bneg_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bneg_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bneg_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bset_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bset_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bset_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_bset_d_32r6el - -# -# Fixed Multiply -# -------------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_madd_q_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_madd_q_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddr_q_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddr_q_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msub_q_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msub_q_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubr_q_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubr_q_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mul_q_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mul_q_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulr_q_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulr_q_w_32r6el - -# -# Float Max Min -# ------------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmax_a_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmax_a_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmax_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmax_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmin_a_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmin_a_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmin_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_fmin_d_32r6el - -# -# Int Add -# ------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_add_a_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_add_a_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_add_a_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_add_a_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_a_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_a_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_a_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_a_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_adds_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_addv_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_addv_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_addv_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_addv_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hadd_u_d_32r6el - -# -# Int Average -# ----------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ave_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_aver_u_d_32r6el - -# -# Int Compare -# ----------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ceq_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ceq_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ceq_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ceq_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_cle_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_clt_u_d_32r6el - -# -# Int Divide -# ---------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_div_u_d_32r6el - -# -# Int Dot Product -# --------------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dotp_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpadd_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_dpsub_u_d_32r6el - -# -# Int Max Min -# ----------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_a_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_a_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_a_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_a_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_max_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_a_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_a_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_a_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_a_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_min_u_d_32r6el - -# -# Int Modulo -# ---------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mod_u_d_32r6el - -# -# Int Multiply -# ------------ -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddv_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddv_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddv_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_maddv_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubv_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubv_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubv_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_msubv_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulv_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulv_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulv_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_mulv_d_32r6el - -# -# Int Subtract -# ------------ -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_asub_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_hsub_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subs_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsus_u_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsus_u_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsus_u_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsus_u_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsuu_s_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsuu_s_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsuu_s_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subsuu_s_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subv_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subv_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subv_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_subv_d_32r6el - -# -# Interleave -# ---------- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvev_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvev_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvev_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvev_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvod_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvod_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvod_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvod_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvl_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvl_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvl_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvl_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvr_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvr_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvr_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_ilvr_d_32r6el - -# -# Logic -# ----- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_and_v_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_nor_v_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_or_v_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_xor_v_32r6el - -# -# Move -# ---- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_move_v_32r6el - -# -# Pack -# ---- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckev_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckev_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckev_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckev_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckod_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckod_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckod_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_pckod_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_vshf_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_vshf_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_vshf_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_vshf_d_32r6el - -# -# Shift -# ----- -# -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sll_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sll_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sll_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sll_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sra_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sra_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sra_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_sra_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srar_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srar_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srar_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srar_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srl_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srl_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srl_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srl_d_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srlr_b_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srlr_h_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srlr_w_32r6el -$PATH_TO_QEMU -cpu I6400 /tmp/test_msa_srlr_d_32r6el --=20 2.7.4