aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block.c21
-rw-r--r--block/crypto.c30
-rw-r--r--block/file-posix.c1
-rw-r--r--block/file-win32.c1
-rw-r--r--block/gluster.c4
-rw-r--r--block/mirror.c11
-rw-r--r--block/nfs.c1
-rw-r--r--block/parallels.c2
-rw-r--r--block/qcow2.c30
-rw-r--r--block/qed.c1
-rw-r--r--block/raw-format.c6
-rw-r--r--block/rbd.c1
-rw-r--r--block/sheepdog.c1
-rw-r--r--block/ssh.c1
-rw-r--r--block/vdi.c16
-rw-r--r--block/vhdx.c28
-rw-r--r--block/vmdk.c3
-rw-r--r--block/vpc.c2
-rw-r--r--blockdev.c16
-rw-r--r--docs/devel/decodetree.rst8
-rw-r--r--docs/qemu-block-drivers.texi4
-rw-r--r--hw/mips/cps.c6
-rw-r--r--hw/mips/mips_fulong2e.c96
-rw-r--r--hw/mips/mips_int.c3
-rw-r--r--hw/mips/mips_malta.c216
-rw-r--r--hw/mips/mips_mipssim.c19
-rw-r--r--include/block/block.h1
-rw-r--r--include/block/block_int.h9
-rw-r--r--qapi/block-core.json15
-rw-r--r--qemu-img.c11
-rw-r--r--qemu-img.texi4
-rwxr-xr-xscripts/decodetree.py71
-rw-r--r--target/mips/cp0_timer.c42
-rw-r--r--target/mips/cpu.c17
-rw-r--r--target/mips/machine.c4
-rw-r--r--target/mips/translate.c773
-rw-r--r--target/riscv/translate.c19
-rw-r--r--tests/decode/err_field6.decode5
-rw-r--r--tests/decode/succ_function.decode6
-rwxr-xr-xtests/qemu-iotests/04162
-rw-r--r--tests/qemu-iotests/041.out4
-rwxr-xr-xtests/qemu-iotests/12217
-rw-r--r--tests/qemu-iotests/122.out8
-rwxr-xr-xtests/qemu-iotests/1419
-rw-r--r--tests/qemu-iotests/141.out5
-rwxr-xr-xtests/qemu-iotests/18820
-rw-r--r--tests/qemu-iotests/188.out4
-rw-r--r--tests/qemu-iotests/common.filter5
-rw-r--r--tests/tcg/mips/include/test_utils_128.h23
-rwxr-xr-xtests/tcg/mips/user/ase/msa/test_msa_compile_32r5eb.sh917
-rwxr-xr-xtests/tcg/mips/user/ase/msa/test_msa_compile_32r5el.sh917
-rwxr-xr-xtests/tcg/mips/user/ase/msa/test_msa_compile_32r6eb.sh643
-rwxr-xr-xtests/tcg/mips/user/ase/msa/test_msa_compile_32r6el.sh643
-rwxr-xr-xtests/tcg/mips/user/ase/msa/test_msa_run_32r5eb.sh371
-rwxr-xr-xtests/tcg/mips/user/ase/msa/test_msa_run_32r5el.sh371
-rw-r--r--tests/tcg/mips/user/ase/msa/test_msa_run_32r6eb.sh371
-rwxr-xr-xtests/tcg/mips/user/ase/msa/test_msa_run_32r6el.sh371
-rw-r--r--tests/test-block-iothread.c2
58 files changed, 3623 insertions, 2645 deletions
diff --git a/block.c b/block.c
index 3e698e9cab..874a29a983 100644
--- a/block.c
+++ b/block.c
@@ -5078,6 +5078,27 @@ int bdrv_has_zero_init(BlockDriverState *bs)
return 0;
}
+int bdrv_has_zero_init_truncate(BlockDriverState *bs)
+{
+ if (!bs->drv) {
+ return 0;
+ }
+
+ if (bs->backing) {
+ /* Depends on the backing image length, but better safe than sorry */
+ return 0;
+ }
+ if (bs->drv->bdrv_has_zero_init_truncate) {
+ return bs->drv->bdrv_has_zero_init_truncate(bs);
+ }
+ if (bs->file && bs->drv->is_filter) {
+ return bdrv_has_zero_init_truncate(bs->file->bs);
+ }
+
+ /* safe default */
+ return 0;
+}
+
bool bdrv_unallocated_blocks_are_zero(BlockDriverState *bs)
{
BlockDriverInfo bdi;
diff --git a/block/crypto.c b/block/crypto.c
index 8237424ae6..7eb698774e 100644
--- a/block/crypto.c
+++ b/block/crypto.c
@@ -74,6 +74,7 @@ static ssize_t block_crypto_read_func(QCryptoBlock *block,
struct BlockCryptoCreateData {
BlockBackend *blk;
uint64_t size;
+ PreallocMode prealloc;
};
@@ -112,7 +113,7 @@ static ssize_t block_crypto_init_func(QCryptoBlock *block,
* available to the guest, so we must take account of that
* which will be used by the crypto header
*/
- return blk_truncate(data->blk, data->size + headerlen, PREALLOC_MODE_OFF,
+ return blk_truncate(data->blk, data->size + headerlen, data->prealloc,
errp);
}
@@ -251,6 +252,7 @@ static int block_crypto_open_generic(QCryptoBlockFormat format,
static int block_crypto_co_create_generic(BlockDriverState *bs,
int64_t size,
QCryptoBlockCreateOptions *opts,
+ PreallocMode prealloc,
Error **errp)
{
int ret;
@@ -266,9 +268,14 @@ static int block_crypto_co_create_generic(BlockDriverState *bs,
goto cleanup;
}
+ if (prealloc == PREALLOC_MODE_METADATA) {
+ prealloc = PREALLOC_MODE_OFF;
+ }
+
data = (struct BlockCryptoCreateData) {
.blk = blk,
.size = size,
+ .prealloc = prealloc,
};
crypto = qcrypto_block_create(opts, NULL,
@@ -500,6 +507,7 @@ block_crypto_co_create_luks(BlockdevCreateOptions *create_options, Error **errp)
BlockdevCreateOptionsLUKS *luks_opts;
BlockDriverState *bs = NULL;
QCryptoBlockCreateOptions create_opts;
+ PreallocMode preallocation = PREALLOC_MODE_OFF;
int ret;
assert(create_options->driver == BLOCKDEV_DRIVER_LUKS);
@@ -515,8 +523,12 @@ block_crypto_co_create_luks(BlockdevCreateOptions *create_options, Error **errp)
.u.luks = *qapi_BlockdevCreateOptionsLUKS_base(luks_opts),
};
+ if (luks_opts->has_preallocation) {
+ preallocation = luks_opts->preallocation;
+ }
+
ret = block_crypto_co_create_generic(bs, luks_opts->size, &create_opts,
- errp);
+ preallocation, errp);
if (ret < 0) {
goto fail;
}
@@ -534,12 +546,24 @@ static int coroutine_fn block_crypto_co_create_opts_luks(const char *filename,
QCryptoBlockCreateOptions *create_opts = NULL;
BlockDriverState *bs = NULL;
QDict *cryptoopts;
+ PreallocMode prealloc;
+ char *buf = NULL;
int64_t size;
int ret;
+ Error *local_err = NULL;
/* Parse options */
size = qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0);
+ buf = qemu_opt_get_del(opts, BLOCK_OPT_PREALLOC);
+ prealloc = qapi_enum_parse(&PreallocMode_lookup, buf,
+ PREALLOC_MODE_OFF, &local_err);
+ g_free(buf);
+ if (local_err) {
+ error_propagate(errp, local_err);
+ return -EINVAL;
+ }
+
cryptoopts = qemu_opts_to_qdict_filtered(opts, NULL,
&block_crypto_create_opts_luks,
true);
@@ -565,7 +589,7 @@ static int coroutine_fn block_crypto_co_create_opts_luks(const char *filename,
}
/* Create format layer */
- ret = block_crypto_co_create_generic(bs, size, create_opts, errp);
+ ret = block_crypto_co_create_generic(bs, size, create_opts, prealloc, errp);
if (ret < 0) {
goto fail;
}
diff --git a/block/file-posix.c b/block/file-posix.c
index e41e91e075..fbeb0068db 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -2938,6 +2938,7 @@ BlockDriver bdrv_file = {
.bdrv_co_create = raw_co_create,
.bdrv_co_create_opts = raw_co_create_opts,
.bdrv_has_zero_init = bdrv_has_zero_init_1,
+ .bdrv_has_zero_init_truncate = bdrv_has_zero_init_1,
.bdrv_co_block_status = raw_co_block_status,
.bdrv_co_invalidate_cache = raw_co_invalidate_cache,
.bdrv_co_pwrite_zeroes = raw_co_pwrite_zeroes,
diff --git a/block/file-win32.c b/block/file-win32.c
index 6b2d67b239..41f55dfece 100644
--- a/block/file-win32.c
+++ b/block/file-win32.c
@@ -635,6 +635,7 @@ BlockDriver bdrv_file = {
.bdrv_close = raw_close,
.bdrv_co_create_opts = raw_co_create_opts,
.bdrv_has_zero_init = bdrv_has_zero_init_1,
+ .bdrv_has_zero_init_truncate = bdrv_has_zero_init_1,
.bdrv_aio_preadv = raw_aio_preadv,
.bdrv_aio_pwritev = raw_aio_pwritev,
diff --git a/block/gluster.c b/block/gluster.c
index f64dc5b01e..64028b2cba 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -1567,6 +1567,7 @@ static BlockDriver bdrv_gluster = {
.bdrv_co_writev = qemu_gluster_co_writev,
.bdrv_co_flush_to_disk = qemu_gluster_co_flush_to_disk,
.bdrv_has_zero_init = qemu_gluster_has_zero_init,
+ .bdrv_has_zero_init_truncate = qemu_gluster_has_zero_init,
#ifdef CONFIG_GLUSTERFS_DISCARD
.bdrv_co_pdiscard = qemu_gluster_co_pdiscard,
#endif
@@ -1598,6 +1599,7 @@ static BlockDriver bdrv_gluster_tcp = {
.bdrv_co_writev = qemu_gluster_co_writev,
.bdrv_co_flush_to_disk = qemu_gluster_co_flush_to_disk,
.bdrv_has_zero_init = qemu_gluster_has_zero_init,
+ .bdrv_has_zero_init_truncate = qemu_gluster_has_zero_init,
#ifdef CONFIG_GLUSTERFS_DISCARD
.bdrv_co_pdiscard = qemu_gluster_co_pdiscard,
#endif
@@ -1629,6 +1631,7 @@ static BlockDriver bdrv_gluster_unix = {
.bdrv_co_writev = qemu_gluster_co_writev,
.bdrv_co_flush_to_disk = qemu_gluster_co_flush_to_disk,
.bdrv_has_zero_init = qemu_gluster_has_zero_init,
+ .bdrv_has_zero_init_truncate = qemu_gluster_has_zero_init,
#ifdef CONFIG_GLUSTERFS_DISCARD
.bdrv_co_pdiscard = qemu_gluster_co_pdiscard,
#endif
@@ -1666,6 +1669,7 @@ static BlockDriver bdrv_gluster_rdma = {
.bdrv_co_writev = qemu_gluster_co_writev,
.bdrv_co_flush_to_disk = qemu_gluster_co_flush_to_disk,
.bdrv_has_zero_init = qemu_gluster_has_zero_init,
+ .bdrv_has_zero_init_truncate = qemu_gluster_has_zero_init,
#ifdef CONFIG_GLUSTERFS_DISCARD
.bdrv_co_pdiscard = qemu_gluster_co_pdiscard,
#endif
diff --git a/block/mirror.c b/block/mirror.c
index 2b870683f1..853e2c7510 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -51,6 +51,8 @@ typedef struct MirrorBlockJob {
Error *replace_blocker;
bool is_none_mode;
BlockMirrorBackingMode backing_mode;
+ /* Whether the target image requires explicit zero-initialization */
+ bool zero_target;
MirrorCopyMode copy_mode;
BlockdevOnError on_source_error, on_target_error;
bool synced;
@@ -767,7 +769,7 @@ static int coroutine_fn mirror_dirty_init(MirrorBlockJob *s)
int ret;
int64_t count;
- if (base == NULL && !bdrv_has_zero_init(target_bs)) {
+ if (s->zero_target) {
if (!bdrv_can_write_zeroes_with_unmap(target_bs)) {
bdrv_set_dirty_bitmap(s->dirty_bitmap, 0, s->bdev_length);
return 0;
@@ -1515,6 +1517,7 @@ static BlockJob *mirror_start_job(
const char *replaces, int64_t speed,
uint32_t granularity, int64_t buf_size,
BlockMirrorBackingMode backing_mode,
+ bool zero_target,
BlockdevOnError on_source_error,
BlockdevOnError on_target_error,
bool unmap,
@@ -1643,6 +1646,7 @@ static BlockJob *mirror_start_job(
s->on_target_error = on_target_error;
s->is_none_mode = is_none_mode;
s->backing_mode = backing_mode;
+ s->zero_target = zero_target;
s->copy_mode = copy_mode;
s->base = base;
s->granularity = granularity;
@@ -1747,6 +1751,7 @@ void mirror_start(const char *job_id, BlockDriverState *bs,
int creation_flags, int64_t speed,
uint32_t granularity, int64_t buf_size,
MirrorSyncMode mode, BlockMirrorBackingMode backing_mode,
+ bool zero_target,
BlockdevOnError on_source_error,
BlockdevOnError on_target_error,
bool unmap, const char *filter_node_name,
@@ -1764,7 +1769,7 @@ void mirror_start(const char *job_id, BlockDriverState *bs,
is_none_mode = mode == MIRROR_SYNC_MODE_NONE;
base = mode == MIRROR_SYNC_MODE_TOP ? backing_bs(bs) : NULL;
mirror_start_job(job_id, bs, creation_flags, target, replaces,
- speed, granularity, buf_size, backing_mode,
+ speed, granularity, buf_size, backing_mode, zero_target,
on_source_error, on_target_error, unmap, NULL, NULL,
&mirror_job_driver, is_none_mode, base, false,
filter_node_name, true, copy_mode, errp);
@@ -1791,7 +1796,7 @@ BlockJob *commit_active_start(const char *job_id, BlockDriverState *bs,
ret = mirror_start_job(
job_id, bs, creation_flags, base, NULL, speed, 0, 0,
- MIRROR_LEAVE_BACKING_CHAIN,
+ MIRROR_LEAVE_BACKING_CHAIN, false,
on_error, on_error, true, cb, opaque,
&commit_active_job_driver, false, base, auto_complete,
filter_node_name, false, MIRROR_COPY_MODE_BACKGROUND,
diff --git a/block/nfs.c b/block/nfs.c
index ed0cce63bb..0ec50953e4 100644
--- a/block/nfs.c
+++ b/block/nfs.c
@@ -863,6 +863,7 @@ static BlockDriver bdrv_nfs = {
.create_opts = &nfs_create_opts,
.bdrv_has_zero_init = nfs_has_zero_init,
+ .bdrv_has_zero_init_truncate = nfs_has_zero_init,
.bdrv_get_allocated_file_size = nfs_get_allocated_file_size,
.bdrv_co_truncate = nfs_file_co_truncate,
diff --git a/block/parallels.c b/block/parallels.c
index 00fae125d1..7cd2714b69 100644
--- a/block/parallels.c
+++ b/block/parallels.c
@@ -835,7 +835,7 @@ static int parallels_open(BlockDriverState *bs, QDict *options, int flags,
goto fail_options;
}
- if (!bdrv_has_zero_init(bs->file->bs)) {
+ if (!bdrv_has_zero_init_truncate(bs->file->bs)) {
s->prealloc_mode = PRL_PREALLOC_MODE_FALLOCATE;
}
diff --git a/block/qcow2.c b/block/qcow2.c
index 59cff1d4cb..7c5a4859f7 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -4632,6 +4632,33 @@ static ImageInfoSpecific *qcow2_get_specific_info(BlockDriverState *bs,
return spec_info;
}
+static int qcow2_has_zero_init(BlockDriverState *bs)
+{
+ BDRVQcow2State *s = bs->opaque;
+ bool preallocated;
+
+ if (qemu_in_coroutine()) {
+ qemu_co_mutex_lock(&s->lock);
+ }
+ /*
+ * Check preallocation status: Preallocated images have all L2
+ * tables allocated, nonpreallocated images have none. It is
+ * therefore enough to check the first one.
+ */
+ preallocated = s->l1_size > 0 && s->l1_table[0] != 0;
+ if (qemu_in_coroutine()) {
+ qemu_co_mutex_unlock(&s->lock);
+ }
+
+ if (!preallocated) {
+ return 1;
+ } else if (bs->encrypted) {
+ return 0;
+ } else {
+ return bdrv_has_zero_init(s->data_file->bs);
+ }
+}
+
static int qcow2_save_vmstate(BlockDriverState *bs, QEMUIOVector *qiov,
int64_t pos)
{
@@ -5187,7 +5214,8 @@ BlockDriver bdrv_qcow2 = {
.bdrv_child_perm = bdrv_format_default_perms,
.bdrv_co_create_opts = qcow2_co_create_opts,
.bdrv_co_create = qcow2_co_create,
- .bdrv_has_zero_init = bdrv_has_zero_init_1,
+ .bdrv_has_zero_init = qcow2_has_zero_init,
+ .bdrv_has_zero_init_truncate = bdrv_has_zero_init_1,
.bdrv_co_block_status = qcow2_co_block_status,
.bdrv_co_preadv = qcow2_co_preadv,
diff --git a/block/qed.c b/block/qed.c
index d0dcc5f14d..0d8fd507aa 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -1669,6 +1669,7 @@ static BlockDriver bdrv_qed = {
.bdrv_co_create = bdrv_qed_co_create,
.bdrv_co_create_opts = bdrv_qed_co_create_opts,
.bdrv_has_zero_init = bdrv_has_zero_init_1,
+ .bdrv_has_zero_init_truncate = bdrv_has_zero_init_1,
.bdrv_co_block_status = bdrv_qed_co_block_status,
.bdrv_co_readv = bdrv_qed_co_readv,
.bdrv_co_writev = bdrv_qed_co_writev,
diff --git a/block/raw-format.c b/block/raw-format.c
index bffd424dd0..42c28cc29a 100644
--- a/block/raw-format.c
+++ b/block/raw-format.c
@@ -413,6 +413,11 @@ static int raw_has_zero_init(BlockDriverState *bs)
return bdrv_has_zero_init(bs->file->bs);
}
+static int raw_has_zero_init_truncate(BlockDriverState *bs)
+{
+ return bdrv_has_zero_init_truncate(bs->file->bs);
+}
+
static int coroutine_fn raw_co_create_opts(const char *filename, QemuOpts *opts,
Error **errp)
{
@@ -572,6 +577,7 @@ BlockDriver bdrv_raw = {
.bdrv_co_ioctl = &raw_co_ioctl,
.create_opts = &raw_create_opts,
.bdrv_has_zero_init = &raw_has_zero_init,
+ .bdrv_has_zero_init_truncate = &raw_has_zero_init_truncate,
.strong_runtime_opts = raw_strong_runtime_opts,
.mutable_opts = mutable_opts,
};
diff --git a/block/rbd.c b/block/rbd.c
index 59757b3120..057af43d48 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -1288,6 +1288,7 @@ static BlockDriver bdrv_rbd = {
.bdrv_co_create = qemu_rbd_co_create,
.bdrv_co_create_opts = qemu_rbd_co_create_opts,
.bdrv_has_zero_init = bdrv_has_zero_init_1,
+ .bdrv_has_zero_init_truncate = bdrv_has_zero_init_1,
.bdrv_get_info = qemu_rbd_getinfo,
.create_opts = &qemu_rbd_create_opts,
.bdrv_getlength = qemu_rbd_getlength,
diff --git a/block/sheepdog.c b/block/sheepdog.c
index 31b0a820c2..773dfc6ab1 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -3229,6 +3229,7 @@ static BlockDriver bdrv_sheepdog = {
.bdrv_co_create = sd_co_create,
.bdrv_co_create_opts = sd_co_create_opts,
.bdrv_has_zero_init = bdrv_has_zero_init_1,
+ .bdrv_has_zero_init_truncate = bdrv_has_zero_init_1,
.bdrv_getlength = sd_getlength,
.bdrv_get_allocated_file_size = sd_get_allocated_file_size,
.bdrv_co_truncate = sd_co_truncate,
diff --git a/block/ssh.c b/block/ssh.c
index 501933b855..84d01e892b 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -1390,6 +1390,7 @@ static BlockDriver bdrv_ssh = {
.bdrv_co_create_opts = ssh_co_create_opts,
.bdrv_close = ssh_close,
.bdrv_has_zero_init = ssh_has_zero_init,
+ .bdrv_has_zero_init_truncate = ssh_has_zero_init,
.bdrv_co_readv = ssh_co_readv,
.bdrv_co_writev = ssh_co_writev,
.bdrv_getlength = ssh_getlength,
diff --git a/block/vdi.c b/block/vdi.c
index b9845a4cbd..806ba7f53c 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -542,7 +542,8 @@ static int coroutine_fn vdi_co_block_status(BlockDriverState *bs,
*map = s->header.offset_data + (uint64_t)bmap_entry * s->block_size +
index_in_block;
*file = bs->file->bs;
- return BDRV_BLOCK_DATA | BDRV_BLOCK_OFFSET_VALID;
+ return BDRV_BLOCK_DATA | BDRV_BLOCK_OFFSET_VALID |
+ (s->header.image_type == VDI_TYPE_STATIC ? BDRV_BLOCK_RECURSE : 0);
}
static int coroutine_fn
@@ -988,6 +989,17 @@ static void vdi_close(BlockDriverState *bs)
error_free(s->migration_blocker);
}
+static int vdi_has_zero_init(BlockDriverState *bs)
+{
+ BDRVVdiState *s = bs->opaque;
+
+ if (s->header.image_type == VDI_TYPE_STATIC) {
+ return bdrv_has_zero_init(bs->file->bs);
+ } else {
+ return 1;
+ }
+}
+
static QemuOptsList vdi_create_opts = {
.name = "vdi-create-opts",
.head = QTAILQ_HEAD_INITIALIZER(vdi_create_opts.head),
@@ -1028,7 +1040,7 @@ static BlockDriver bdrv_vdi = {
.bdrv_child_perm = bdrv_format_default_perms,
.bdrv_co_create = vdi_co_create,
.bdrv_co_create_opts = vdi_co_create_opts,
- .bdrv_has_zero_init = bdrv_has_zero_init_1,
+ .bdrv_has_zero_init = vdi_has_zero_init,
.bdrv_co_block_status = vdi_co_block_status,
.bdrv_make_empty = vdi_make_empty,
diff --git a/block/vhdx.c b/block/vhdx.c
index d6070b6fa8..6a09d0a55c 100644
--- a/block/vhdx.c
+++ b/block/vhdx.c
@@ -1282,7 +1282,7 @@ static coroutine_fn int vhdx_co_writev(BlockDriverState *bs, int64_t sector_num,
/* Queue another write of zero buffers if the underlying file
* does not zero-fill on file extension */
- if (bdrv_has_zero_init(bs->file->bs) == 0) {
+ if (bdrv_has_zero_init_truncate(bs->file->bs) == 0) {
use_zero_buffers = true;
/* zero fill the front, if any */
@@ -2075,6 +2075,30 @@ static int coroutine_fn vhdx_co_check(BlockDriverState *bs,
return 0;
}
+static int vhdx_has_zero_init(BlockDriverState *bs)
+{
+ BDRVVHDXState *s = bs->opaque;
+ int state;
+
+ /*
+ * Check the subformat: Fixed images have all BAT entries present,
+ * dynamic images have none (right after creation). It is
+ * therefore enough to check the first BAT entry.
+ */
+ if (!s->bat_entries) {
+ return 1;
+ }
+
+ state = s->bat[0] & VHDX_BAT_STATE_BIT_MASK;
+ if (state == PAYLOAD_BLOCK_FULLY_PRESENT) {
+ /* Fixed subformat */
+ return bdrv_has_zero_init(bs->file->bs);
+ }
+
+ /* Dynamic subformat */
+ return 1;
+}
+
static QemuOptsList vhdx_create_opts = {
.name = "vhdx-create-opts",
.head = QTAILQ_HEAD_INITIALIZER(vhdx_create_opts.head),
@@ -2128,7 +2152,7 @@ static BlockDriver bdrv_vhdx = {
.bdrv_co_create_opts = vhdx_co_create_opts,
.bdrv_get_info = vhdx_get_info,
.bdrv_co_check = vhdx_co_check,
- .bdrv_has_zero_init = bdrv_has_zero_init_1,
+ .bdrv_has_zero_init = vhdx_has_zero_init,
.create_opts = &vhdx_create_opts,
};
diff --git a/block/vmdk.c b/block/vmdk.c
index bd36ece125..fd78fd0ccf 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -1692,6 +1692,9 @@ static int coroutine_fn vmdk_co_block_status(BlockDriverState *bs,
if (!extent->compressed) {
ret |= BDRV_BLOCK_OFFSET_VALID;
*map = cluster_offset + index_in_cluster;
+ if (extent->flat) {
+ ret |= BDRV_BLOCK_RECURSE;
+ }
}
*file = extent->file->bs;
break;
diff --git a/block/vpc.c b/block/vpc.c
index d4776ee8a5..b25aab0425 100644
--- a/block/vpc.c
+++ b/block/vpc.c
@@ -737,7 +737,7 @@ static int coroutine_fn vpc_co_block_status(BlockDriverState *bs,
*pnum = bytes;
*map = offset;
*file = bs->file->bs;
- return BDRV_BLOCK_RAW | BDRV_BLOCK_OFFSET_VALID;
+ return BDRV_BLOCK_DATA | BDRV_BLOCK_OFFSET_VALID | BDRV_BLOCK_RECURSE;
}
qemu_co_mutex_lock(&s->lock);
diff --git a/blockdev.c b/blockdev.c
index 2e536dde3e..fbef6845c8 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -3782,6 +3782,7 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
bool has_replaces, const char *replaces,
enum MirrorSyncMode sync,
BlockMirrorBackingMode backing_mode,
+ bool zero_target,
bool has_speed, int64_t speed,
bool has_granularity, uint32_t granularity,
bool has_buf_size, int64_t buf_size,
@@ -3890,7 +3891,7 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
*/
mirror_start(job_id, bs, target,
has_replaces ? replaces : NULL, job_flags,
- speed, granularity, buf_size, sync, backing_mode,
+ speed, granularity, buf_size, sync, backing_mode, zero_target,
on_source_error, on_target_error, unmap, filter_node_name,
copy_mode, errp);
}
@@ -3906,6 +3907,7 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
int flags;
int64_t size;
const char *format = arg->format;
+ bool zero_target;
int ret;
bs = qmp_get_root_bs(arg->device, errp);
@@ -4007,6 +4009,10 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
goto out;
}
+ zero_target = (arg->sync == MIRROR_SYNC_MODE_FULL &&
+ (arg->mode == NEW_IMAGE_MODE_EXISTING ||
+ !bdrv_has_zero_init(target_bs)));
+
ret = bdrv_try_set_aio_context(target_bs, aio_context, errp);
if (ret < 0) {
bdrv_unref(target_bs);
@@ -4015,7 +4021,8 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
blockdev_mirror_common(arg->has_job_id ? arg->job_id : NULL, bs, target_bs,
arg->has_replaces, arg->replaces, arg->sync,
- backing_mode, arg->has_speed, arg->speed,
+ backing_mode, zero_target,
+ arg->has_speed, arg->speed,
arg->has_granularity, arg->granularity,
arg->has_buf_size, arg->buf_size,
arg->has_on_source_error, arg->on_source_error,
@@ -4055,6 +4062,7 @@ void qmp_blockdev_mirror(bool has_job_id, const char *job_id,
AioContext *aio_context;
BlockMirrorBackingMode backing_mode = MIRROR_LEAVE_BACKING_CHAIN;
Error *local_err = NULL;
+ bool zero_target;
int ret;
bs = qmp_get_root_bs(device, errp);
@@ -4067,6 +4075,8 @@ void qmp_blockdev_mirror(bool has_job_id, const char *job_id,
return;
}
+ zero_target = (sync == MIRROR_SYNC_MODE_FULL);
+
aio_context = bdrv_get_aio_context(bs);
aio_context_acquire(aio_context);
@@ -4077,7 +4087,7 @@ void qmp_blockdev_mirror(bool has_job_id, const char *job_id,
blockdev_mirror_common(has_job_id ? job_id : NULL, bs, target_bs,
has_replaces, replaces, sync, backing_mode,
- has_speed, speed,
+ zero_target, has_speed, speed,
has_granularity, granularity,
has_buf_size, buf_size,
has_on_source_error, on_source_error,
diff --git a/docs/devel/decodetree.rst b/docs/devel/decodetree.rst
index 44ac621ea8..ce7f52308f 100644
--- a/docs/devel/decodetree.rst
+++ b/docs/devel/decodetree.rst
@@ -23,7 +23,7 @@ Fields
Syntax::
- field_def := '%' identifier ( unnamed_field )+ ( !function=identifier )?
+ field_def := '%' identifier ( unnamed_field )* ( !function=identifier )?
unnamed_field := number ':' ( 's' ) number
For *unnamed_field*, the first number is the least-significant bit position
@@ -34,6 +34,12 @@ present, they are concatenated. In this way one can define disjoint fields.
If ``!function`` is specified, the concatenated result is passed through the
named function, taking and returning an integral value.
+One may use ``!function`` with zero ``unnamed_fields``. This case is called
+a *parameter*, and the named function is only passed the ``DisasContext``
+and returns an integral value extracted from there.
+
+A field with no ``unnamed_fields`` and no ``!function`` is in error.
+
FIXME: the fields of the structure into which this result will be stored
is restricted to ``int``. Which means that we cannot expand 64-bit items.
diff --git a/docs/qemu-block-drivers.texi b/docs/qemu-block-drivers.texi
index 91ab0eceae..c02547e28c 100644
--- a/docs/qemu-block-drivers.texi
+++ b/docs/qemu-block-drivers.texi
@@ -31,8 +31,8 @@ Supported options:
@item preallocation
Preallocation mode (allowed values: @code{off}, @code{falloc}, @code{full}).
@code{falloc} mode preallocates space for image by calling posix_fallocate().
-@code{full} mode preallocates space for image by writing zeros to underlying
-storage.
+@code{full} mode preallocates space for image by writing data to underlying
+storage. This data may or may not be zero, depending on the storage location.
@end table
@item qcow2
diff --git a/hw/mips/cps.c b/hw/mips/cps.c
index cd8b07ded2..1660f86908 100644
--- a/hw/mips/cps.c
+++ b/hw/mips/cps.c
@@ -38,8 +38,10 @@ static void mips_cps_init(Object *obj)
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
MIPSCPSState *s = MIPS_CPS(obj);
- /* Cover entire address space as there do not seem to be any
- * constraints for the base address of CPC and GIC. */
+ /*
+ * Cover entire address space as there do not seem to be any
+ * constraints for the base address of CPC and GIC.
+ */
memory_region_init(&s->container, obj, "mips-cps-container", UINT64_MAX);
sysbus_init_mmio(sbd, &s->container);
}
diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c
index 6e4fba285b..cf537dd7e6 100644
--- a/hw/mips/mips_fulong2e.c
+++ b/hw/mips/mips_fulong2e.c
@@ -48,13 +48,13 @@
#define DEBUG_FULONG2E_INIT
-#define ENVP_ADDR 0x80002000l
-#define ENVP_NB_ENTRIES 16
-#define ENVP_ENTRY_SIZE 256
+#define ENVP_ADDR 0x80002000l
+#define ENVP_NB_ENTRIES 16
+#define ENVP_ENTRY_SIZE 256
/* fulong 2e has a 512k flash: Winbond W39L040AP70Z */
-#define BIOS_SIZE (512 * KiB)
-#define MAX_IDE_BUS 2
+#define BIOS_SIZE (512 * KiB)
+#define MAX_IDE_BUS 2
/*
* PMON is not part of qemu and released with BSD license, anyone
@@ -83,14 +83,15 @@ static struct _loaderparams {
const char *initrd_filename;
} loaderparams;
-static void GCC_FMT_ATTR(3, 4) prom_set(uint32_t* prom_buf, int index,
+static void GCC_FMT_ATTR(3, 4) prom_set(uint32_t *prom_buf, int index,
const char *string, ...)
{
va_list ap;
int32_t table_addr;
- if (index >= ENVP_NB_ENTRIES)
+ if (index >= ENVP_NB_ENTRIES) {
return;
+ }
if (string == NULL) {
prom_buf[index] = 0;
@@ -105,7 +106,7 @@ static void GCC_FMT_ATTR(3, 4) prom_set(uint32_t* prom_buf, int index,
va_end(ap);
}
-static int64_t load_kernel (CPUMIPSState *env)
+static int64_t load_kernel(CPUMIPSState *env)
{
int64_t kernel_entry, kernel_low, kernel_high, initrd_size;
int index = 0;
@@ -130,16 +131,18 @@ static int64_t load_kernel (CPUMIPSState *env)
initrd_size = 0;
initrd_offset = 0;
if (loaderparams.initrd_filename) {
- initrd_size = get_image_size (loaderparams.initrd_filename);
+ initrd_size = get_image_size(loaderparams.initrd_filename);
if (initrd_size > 0) {
- initrd_offset = (kernel_high + ~INITRD_PAGE_MASK) & INITRD_PAGE_MASK;
+ initrd_offset = (kernel_high + ~INITRD_PAGE_MASK) &
+ INITRD_PAGE_MASK;
if (initrd_offset + initrd_size > ram_size) {
error_report("memory too small for initial ram disk '%s'",
loaderparams.initrd_filename);
exit(1);
}
initrd_size = load_image_targphys(loaderparams.initrd_filename,
- initrd_offset, ram_size - initrd_offset);
+ initrd_offset,
+ ram_size - initrd_offset);
}
if (initrd_size == (target_ulong) -1) {
error_report("could not load initial ram disk '%s'",
@@ -154,9 +157,10 @@ static int64_t load_kernel (CPUMIPSState *env)
prom_set(prom_buf, index++, "%s", loaderparams.kernel_filename);
if (initrd_size > 0) {
- prom_set(prom_buf, index++, "rd_start=0x%" PRIx64 " rd_size=%" PRId64 " %s",
- cpu_mips_phys_to_kseg0(NULL, initrd_offset), initrd_size,
- loaderparams.kernel_cmdline);
+ prom_set(prom_buf, index++,
+ "rd_start=0x%" PRIx64 " rd_size=%" PRId64 " %s",
+ cpu_mips_phys_to_kseg0(NULL, initrd_offset),
+ initrd_size, loaderparams.kernel_cmdline);
} else {
prom_set(prom_buf, index++, "%s", loaderparams.kernel_cmdline);
}
@@ -175,34 +179,48 @@ static int64_t load_kernel (CPUMIPSState *env)
return kernel_entry;
}
-static void write_bootloader (CPUMIPSState *env, uint8_t *base, int64_t kernel_addr)
+static void write_bootloader(CPUMIPSState *env, uint8_t *base,
+ int64_t kernel_addr)
{
uint32_t *p;
/* Small bootloader */
- p = (uint32_t *) base;
+ p = (uint32_t *)base;
- stl_p(p++, 0x0bf00010); /* j 0x1fc00040 */
- stl_p(p++, 0x00000000); /* nop */
+ /* j 0x1fc00040 */
+ stl_p(p++, 0x0bf00010);
+ /* nop */
+ stl_p(p++, 0x00000000);
/* Second part of the bootloader */
- p = (uint32_t *) (base + 0x040);
-
- stl_p(p++, 0x3c040000); /* lui a0, 0 */
- stl_p(p++, 0x34840002); /* ori a0, a0, 2 */
- stl_p(p++, 0x3c050000 | ((ENVP_ADDR >> 16) & 0xffff)); /* lui a1, high(ENVP_ADDR) */
- stl_p(p++, 0x34a50000 | (ENVP_ADDR & 0xffff)); /* ori a1, a0, low(ENVP_ADDR) */
- stl_p(p++, 0x3c060000 | (((ENVP_ADDR + 8) >> 16) & 0xffff)); /* lui a2, high(ENVP_ADDR + 8) */
- stl_p(p++, 0x34c60000 | ((ENVP_ADDR + 8) & 0xffff)); /* ori a2, a2, low(ENVP_ADDR + 8) */
- stl_p(p++, 0x3c070000 | (loaderparams.ram_size >> 16)); /* lui a3, high(env->ram_size) */
- stl_p(p++, 0x34e70000 | (loaderparams.ram_size & 0xffff)); /* ori a3, a3, low(env->ram_size) */
- stl_p(p++, 0x3c1f0000 | ((kernel_addr >> 16) & 0xffff)); /* lui ra, high(kernel_addr) */;
- stl_p(p++, 0x37ff0000 | (kernel_addr & 0xffff)); /* ori ra, ra, low(kernel_addr) */
- stl_p(p++, 0x03e00008); /* jr ra */
- stl_p(p++, 0x00000000); /* nop */
+ p = (uint32_t *)(base + 0x040);
+
+ /* lui a0, 0 */
+ stl_p(p++, 0x3c040000);
+ /* ori a0, a0, 2 */
+ stl_p(p++, 0x34840002);
+ /* lui a1, high(ENVP_ADDR) */
+ stl_p(p++, 0x3c050000 | ((ENVP_ADDR >> 16) & 0xffff));
+ /* ori a1, a0, low(ENVP_ADDR) */
+ stl_p(p++, 0x34a50000 | (ENVP_ADDR & 0xffff));
+ /* lui a2, high(ENVP_ADDR + 8) */
+ stl_p(p++, 0x3c060000 | (((ENVP_ADDR + 8) >> 16) & 0xffff));
+ /* ori a2, a2, low(ENVP_ADDR + 8) */
+ stl_p(p++, 0x34c60000 | ((ENVP_ADDR + 8) & 0xffff));
+ /* lui a3, high(env->ram_size) */
+ stl_p(p++, 0x3c070000 | (loaderparams.ram_size >> 16));
+ /* ori a3, a3, low(env->ram_size) */
+ stl_p(p++, 0x34e70000 | (loaderparams.ram_size & 0xffff));
+ /* lui ra, high(kernel_addr) */
+ stl_p(p++, 0x3c1f0000 | ((kernel_addr >> 16) & 0xffff));
+ /* ori ra, ra, low(kernel_addr) */
+ stl_p(p++, 0x37ff0000 | (kernel_addr & 0xffff));
+ /* jr ra */
+ stl_p(p++, 0x03e00008);
+ /* nop */
+ stl_p(p++, 0x00000000);
}
-
static void main_cpu_reset(void *opaque)
{
MIPSCPU *cpu = opaque;
@@ -252,11 +270,11 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc,
}
/* Network support */
-static void network_init (PCIBus *pci_bus)
+static void network_init(PCIBus *pci_bus)
{
int i;
- for(i = 0; i < nb_nics; i++) {
+ for (i = 0; i < nb_nics; i++) {
NICInfo *nd = &nd_table[i];
const char *default_devaddr = NULL;
@@ -308,15 +326,17 @@ static void mips_fulong2e_init(MachineState *machine)
memory_region_add_subregion(address_space_mem, 0, ram);
memory_region_add_subregion(address_space_mem, 0x1fc00000LL, bios);
- /* We do not support flash operation, just loading pmon.bin as raw BIOS.
- * Please use -L to set the BIOS path and -bios to set bios name. */
+ /*
+ * We do not support flash operation, just loading pmon.bin as raw BIOS.
+ * Please use -L to set the BIOS path and -bios to set bios name.
+ */
if (kernel_filename) {
loaderparams.ram_size = ram_size;
loaderparams.kernel_filename = kernel_filename;
loaderparams.kernel_cmdline = kernel_cmdline;
loaderparams.initrd_filename = initrd_filename;
- kernel_entry = load_kernel (env);
+ kernel_entry = load_kernel(env);
write_bootloader(env, memory_region_get_ram_ptr(bios), kernel_entry);
} else {
if (bios_name == NULL) {
diff --git a/hw/mips/mips_int.c b/hw/mips/mips_int.c
index 74cf587d5b..5ebc9618a7 100644
--- a/hw/mips/mips_int.c
+++ b/hw/mips/mips_int.c
@@ -35,8 +35,9 @@ static void cpu_mips_irq_request(void *opaque, int irq, int level)
CPUState *cs = CPU(cpu);
bool locked = false;
- if (irq < 0 || irq > 7)
+ if (irq < 0 || irq > 7) {
return;
+ }
/* Make sure locking works even if BQL is already held by the caller */
if (!qemu_mutex_iothread_locked()) {
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index 9fec2b08e4..4d9c64b36a 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -60,18 +60,18 @@
#include "hw/semihosting/semihost.h"
#include "hw/mips/cps.h"
-#define ENVP_ADDR 0x80002000l
-#define ENVP_NB_ENTRIES 16
-#define ENVP_ENTRY_SIZE 256
+#define ENVP_ADDR 0x80002000l
+#define ENVP_NB_ENTRIES 16
+#define ENVP_ENTRY_SIZE 256
/* Hardware addresses */
-#define FLASH_ADDRESS 0x1e000000ULL
-#define FPGA_ADDRESS 0x1f000000ULL
-#define RESET_ADDRESS 0x1fc00000ULL
+#define FLASH_ADDRESS 0x1e000000ULL
+#define FPGA_ADDRESS 0x1f000000ULL
+#define RESET_ADDRESS 0x1fc00000ULL
-#define FLASH_SIZE 0x400000
+#define FLASH_SIZE 0x400000
-#define MAX_IDE_BUS 2
+#define MAX_IDE_BUS 2
typedef struct {
MemoryRegion iomem;
@@ -117,10 +117,11 @@ static void malta_fpga_update_display(void *opaque)
MaltaFPGAState *s = opaque;
for (i = 7 ; i >= 0 ; i--) {
- if (s->leds & (1 << i))
+ if (s->leds & (1 << i)) {
leds_text[i] = '#';
- else
+ } else {
leds_text[i] = ' ';
+ }
}
leds_text[8] = '\0';
@@ -140,8 +141,6 @@ static void malta_fpga_update_display(void *opaque)
* Typical device names include Microchip 24C02SC or SGS Thomson ST24C02.
*/
-//~ #define DEBUG
-
#if defined(DEBUG)
# define logout(fmt, ...) fprintf(stderr, "MALTA\t%-24s" fmt, __func__, ## __VA_ARGS__)
#else
@@ -156,7 +155,7 @@ struct _eeprom24c0x_t {
uint8_t scl;
uint8_t sda;
uint8_t data;
- //~ uint16_t size;
+ /* uint16_t size; */
uint8_t contents[256];
};
@@ -164,22 +163,38 @@ typedef struct _eeprom24c0x_t eeprom24c0x_t;
static eeprom24c0x_t spd_eeprom = {
.contents = {
- /* 00000000: */ 0x80,0x08,0xFF,0x0D,0x0A,0xFF,0x40,0x00,
- /* 00000008: */ 0x01,0x75,0x54,0x00,0x82,0x08,0x00,0x01,
- /* 00000010: */ 0x8F,0x04,0x02,0x01,0x01,0x00,0x00,0x00,
- /* 00000018: */ 0x00,0x00,0x00,0x14,0x0F,0x14,0x2D,0xFF,
- /* 00000020: */ 0x15,0x08,0x15,0x08,0x00,0x00,0x00,0x00,
- /* 00000028: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- /* 00000030: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- /* 00000038: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x12,0xD0,
- /* 00000040: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- /* 00000048: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- /* 00000050: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- /* 00000058: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- /* 00000060: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- /* 00000068: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- /* 00000070: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- /* 00000078: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x64,0xF4,
+ /* 00000000: */
+ 0x80, 0x08, 0xFF, 0x0D, 0x0A, 0xFF, 0x40, 0x00,
+ /* 00000008: */
+ 0x01, 0x75, 0x54, 0x00, 0x82, 0x08, 0x00, 0x01,
+ /* 00000010: */
+ 0x8F, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00,
+ /* 00000018: */
+ 0x00, 0x00, 0x00, 0x14, 0x0F, 0x14, 0x2D, 0xFF,
+ /* 00000020: */
+ 0x15, 0x08, 0x15, 0x08, 0x00, 0x00, 0x00, 0x00,
+ /* 00000028: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 00000030: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 00000038: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xD0,
+ /* 00000040: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 00000048: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 00000050: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 00000058: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 00000060: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 00000068: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 00000070: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 00000078: */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4,
},
};
@@ -349,7 +364,8 @@ static uint64_t malta_fpga_read(void *opaque, hwaddr addr,
/* SWITCH Register */
case 0x00200:
- val = 0x00000000; /* All switches closed */
+ /* ori a3, a3, low(ram_low_size) */
+ val = 0x00000000;
break;
/* STATUS Register */
@@ -388,10 +404,11 @@ static uint64_t malta_fpga_read(void *opaque, hwaddr addr,
/* GPINP Register */
case 0x00a08:
/* IN = OUT until a real I2C control is implemented */
- if (s->i2csel)
+ if (s->i2csel) {
val = s->i2cout;
- else
+ } else {
val = 0x00;
+ }
break;
/* I2CINP Register */
@@ -416,8 +433,8 @@ static uint64_t malta_fpga_read(void *opaque, hwaddr addr,
default:
#if 0
- printf ("malta_fpga_read: Bad register offset 0x" TARGET_FMT_lx "\n",
- addr);
+ printf("malta_fpga_read: Bad register offset 0x" TARGET_FMT_lx "\n",
+ addr);
#endif
break;
}
@@ -469,8 +486,9 @@ static void malta_fpga_write(void *opaque, hwaddr addr,
/* SOFTRES Register */
case 0x00500:
- if (val == 0x42)
+ if (val == 0x42) {
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
+ }
break;
/* BRKRES Register */
@@ -503,8 +521,8 @@ static void malta_fpga_write(void *opaque, hwaddr addr,
default:
#if 0
- printf ("malta_fpga_write: Bad register offset 0x" TARGET_FMT_lx "\n",
- addr);
+ printf("malta_fpga_write: Bad register offset 0x" TARGET_FMT_lx "\n",
+ addr);
#endif
break;
}
@@ -563,7 +581,7 @@ static MaltaFPGAState *malta_fpga_init(MemoryRegion *address_space,
memory_region_init_alias(&s->iomem_lo, NULL, "malta-fpga",
&s->iomem, 0, 0x900);
memory_region_init_alias(&s->iomem_hi, NULL, "malta-fpga",
- &s->iomem, 0xa00, 0x10000-0xa00);
+ &s->iomem, 0xa00, 0x10000 - 0xa00);
memory_region_add_subregion(address_space, base, &s->iomem_lo);
memory_region_add_subregion(address_space, base + 0xa00, &s->iomem_hi);
@@ -587,7 +605,7 @@ static void network_init(PCIBus *pci_bus)
{
int i;
- for(i = 0; i < nb_nics; i++) {
+ for (i = 0; i < nb_nics; i++) {
NICInfo *nd = &nd_table[i];
const char *default_devaddr = NULL;
@@ -801,27 +819,28 @@ static void write_bootloader_nanomips(uint8_t *base, int64_t run_addr,
/* jalrc t8 */
}
-/* ROM and pseudo bootloader
-
- The following code implements a very very simple bootloader. It first
- loads the registers a0 to a3 to the values expected by the OS, and
- then jump at the kernel address.
-
- The bootloader should pass the locations of the kernel arguments and
- environment variables tables. Those tables contain the 32-bit address
- of NULL terminated strings. The environment variables table should be
- terminated by a NULL address.
-
- For a simpler implementation, the number of kernel arguments is fixed
- to two (the name of the kernel and the command line), and the two
- tables are actually the same one.
-
- The registers a0 to a3 should contain the following values:
- a0 - number of kernel arguments
- a1 - 32-bit address of the kernel arguments table
- a2 - 32-bit address of the environment variables table
- a3 - RAM size in bytes
-*/
+/*
+ * ROM and pseudo bootloader
+ *
+ * The following code implements a very very simple bootloader. It first
+ * loads the registers a0 to a3 to the values expected by the OS, and
+ * then jump at the kernel address.
+ *
+ * The bootloader should pass the locations of the kernel arguments and
+ * environment variables tables. Those tables contain the 32-bit address
+ * of NULL terminated strings. The environment variables table should be
+ * terminated by a NULL address.
+ *
+ * For a simpler implementation, the number of kernel arguments is fixed
+ * to two (the name of the kernel and the command line), and the two
+ * tables are actually the same one.
+ *
+ * The registers a0 to a3 should contain the following values:
+ * a0 - number of kernel arguments
+ * a1 - 32-bit address of the kernel arguments table
+ * a2 - 32-bit address of the environment variables table
+ * a3 - RAM size in bytes
+ */
static void write_bootloader(uint8_t *base, int64_t run_addr,
int64_t kernel_entry)
{
@@ -859,14 +878,23 @@ static void write_bootloader(uint8_t *base, int64_t run_addr,
} else {
stl_p(p++, 0x24040002); /* addiu a0, zero, 2 */
}
- stl_p(p++, 0x3c1d0000 | (((ENVP_ADDR - 64) >> 16) & 0xffff)); /* lui sp, high(ENVP_ADDR) */
- stl_p(p++, 0x37bd0000 | ((ENVP_ADDR - 64) & 0xffff)); /* ori sp, sp, low(ENVP_ADDR) */
- stl_p(p++, 0x3c050000 | ((ENVP_ADDR >> 16) & 0xffff)); /* lui a1, high(ENVP_ADDR) */
- stl_p(p++, 0x34a50000 | (ENVP_ADDR & 0xffff)); /* ori a1, a1, low(ENVP_ADDR) */
- stl_p(p++, 0x3c060000 | (((ENVP_ADDR + 8) >> 16) & 0xffff)); /* lui a2, high(ENVP_ADDR + 8) */
- stl_p(p++, 0x34c60000 | ((ENVP_ADDR + 8) & 0xffff)); /* ori a2, a2, low(ENVP_ADDR + 8) */
- stl_p(p++, 0x3c070000 | (loaderparams.ram_low_size >> 16)); /* lui a3, high(ram_low_size) */
- stl_p(p++, 0x34e70000 | (loaderparams.ram_low_size & 0xffff)); /* ori a3, a3, low(ram_low_size) */
+
+ /* lui sp, high(ENVP_ADDR) */
+ stl_p(p++, 0x3c1d0000 | (((ENVP_ADDR - 64) >> 16) & 0xffff));
+ /* ori sp, sp, low(ENVP_ADDR) */
+ stl_p(p++, 0x37bd0000 | ((ENVP_ADDR - 64) & 0xffff));
+ /* lui a1, high(ENVP_ADDR) */
+ stl_p(p++, 0x3c050000 | ((ENVP_ADDR >> 16) & 0xffff));
+ /* ori a1, a1, low(ENVP_ADDR) */
+ stl_p(p++, 0x34a50000 | (ENVP_ADDR & 0xffff));
+ /* lui a2, high(ENVP_ADDR + 8) */
+ stl_p(p++, 0x3c060000 | (((ENVP_ADDR + 8) >> 16) & 0xffff));
+ /* ori a2, a2, low(ENVP_ADDR + 8) */
+ stl_p(p++, 0x34c60000 | ((ENVP_ADDR + 8) & 0xffff));
+ /* lui a3, high(ram_low_size) */
+ stl_p(p++, 0x3c070000 | (loaderparams.ram_low_size >> 16));
+ /* ori a3, a3, low(ram_low_size) */
+ stl_p(p++, 0x34e70000 | (loaderparams.ram_low_size & 0xffff));
/* Load BAR registers as done by YAMON */
stl_p(p++, 0x3c09b400); /* lui t1, 0xb400 */
@@ -970,14 +998,15 @@ static void write_bootloader(uint8_t *base, int64_t run_addr,
}
-static void GCC_FMT_ATTR(3, 4) prom_set(uint32_t* prom_buf, int index,
+static void GCC_FMT_ATTR(3, 4) prom_set(uint32_t *prom_buf, int index,
const char *string, ...)
{
va_list ap;
int32_t table_addr;
- if (index >= ENVP_NB_ENTRIES)
+ if (index >= ENVP_NB_ENTRIES) {
return;
+ }
if (string == NULL) {
prom_buf[index] = 0;
@@ -993,7 +1022,7 @@ static void GCC_FMT_ATTR(3, 4) prom_set(uint32_t* prom_buf, int index,
}
/* Kernel */
-static int64_t load_kernel (void)
+static int64_t load_kernel(void)
{
int64_t kernel_entry, kernel_high, initrd_size;
long kernel_size;
@@ -1041,11 +1070,13 @@ static int64_t load_kernel (void)
initrd_size = 0;
initrd_offset = 0;
if (loaderparams.initrd_filename) {
- initrd_size = get_image_size (loaderparams.initrd_filename);
+ initrd_size = get_image_size(loaderparams.initrd_filename);
if (initrd_size > 0) {
- /* The kernel allocates the bootmap memory in the low memory after
- the initrd. It takes at most 128kiB for 2GB RAM and 4kiB
- pages. */
+ /*
+ * The kernel allocates the bootmap memory in the low memory after
+ * the initrd. It takes at most 128kiB for 2GB RAM and 4kiB
+ * pages.
+ */
initrd_offset = (loaderparams.ram_low_size - initrd_size
- (128 * KiB)
- ~INITRD_PAGE_MASK) & INITRD_PAGE_MASK;
@@ -1071,9 +1102,10 @@ static int64_t load_kernel (void)
prom_set(prom_buf, prom_index++, "%s", loaderparams.kernel_filename);
if (initrd_size > 0) {
- prom_set(prom_buf, prom_index++, "rd_start=0x%" PRIx64 " rd_size=%" PRId64 " %s",
- xlate_to_kseg0(NULL, initrd_offset), initrd_size,
- loaderparams.kernel_cmdline);
+ prom_set(prom_buf, prom_index++,
+ "rd_start=0x%" PRIx64 " rd_size=%" PRId64 " %s",
+ xlate_to_kseg0(NULL, initrd_offset),
+ initrd_size, loaderparams.kernel_cmdline);
} else {
prom_set(prom_buf, prom_index++, "%s", loaderparams.kernel_cmdline);
}
@@ -1113,9 +1145,11 @@ static void main_cpu_reset(void *opaque)
cpu_reset(CPU(cpu));
- /* The bootloader does not need to be rewritten as it is located in a
- read only location. The kernel location and the arguments table
- location does not change. */
+ /*
+ * The bootloader does not need to be rewritten as it is located in a
+ * read only location. The kernel location and the arguments table
+ * location does not change.
+ */
if (loaderparams.kernel_filename) {
env->CP0_Status &= ~(1 << CP0St_ERL);
}
@@ -1213,9 +1247,11 @@ void mips_malta_init(MachineState *machine)
DeviceState *dev = qdev_create(NULL, TYPE_MIPS_MALTA);
MaltaState *s = MIPS_MALTA(dev);
- /* The whole address space decoded by the GT-64120A doesn't generate
- exception when accessing invalid memory. Create an empty slot to
- emulate this feature. */
+ /*
+ * The whole address space decoded by the GT-64120A doesn't generate
+ * exception when accessing invalid memory. Create an empty slot to
+ * emulate this feature.\
+ */
empty_slot_init(0, 0x20000000);
qdev_init_nofail(dev);
@@ -1331,8 +1367,10 @@ void mips_malta_init(MachineState *machine)
exit(1);
}
}
- /* In little endian mode the 32bit words in the bios are swapped,
- a neat trick which allows bi-endian firmware. */
+ /*
+ * In little endian mode the 32bit words in the bios are swapped,
+ * a neat trick which allows bi-endian firmware.
+ */
#ifndef TARGET_WORDS_BIGENDIAN
{
uint32_t *end, *addr;
@@ -1386,8 +1424,10 @@ void mips_malta_init(MachineState *machine)
piix4_devfn = piix4_init(pci_bus, &isa_bus, 80);
- /* Interrupt controller */
- /* The 8259 is attached to the MIPS CPU INT0 pin, ie interrupt 2 */
+ /*
+ * Interrupt controller
+ * The 8259 is attached to the MIPS CPU INT0 pin, ie interrupt 2
+ */
s->i8259 = i8259_init(isa_bus, i8259_irq);
isa_bus_irqs(isa_bus, s->i8259);
diff --git a/hw/mips/mips_mipssim.c b/hw/mips/mips_mipssim.c
index 1ca7e909d1..282bbecb24 100644
--- a/hw/mips/mips_mipssim.c
+++ b/hw/mips/mips_mipssim.c
@@ -3,7 +3,7 @@
*
* Emulates a very simple machine model similar to the one used by the
* proprietary MIPS emulator.
- *
+ *
* Copyright (c) 2007 Thiemo Seufer
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -76,8 +76,9 @@ static int64_t load_kernel(void)
(uint64_t *)&kernel_high, big_endian,
EM_MIPS, 1, 0);
if (kernel_size >= 0) {
- if ((entry & ~0x7fffffffULL) == 0x80000000)
+ if ((entry & ~0x7fffffffULL) == 0x80000000) {
entry = (int32_t)entry;
+ }
} else {
error_report("could not load kernel '%s': %s",
loaderparams.kernel_filename,
@@ -89,9 +90,10 @@ static int64_t load_kernel(void)
initrd_size = 0;
initrd_offset = 0;
if (loaderparams.initrd_filename) {
- initrd_size = get_image_size (loaderparams.initrd_filename);
+ initrd_size = get_image_size(loaderparams.initrd_filename);
if (initrd_size > 0) {
- initrd_offset = (kernel_high + ~INITRD_PAGE_MASK) & INITRD_PAGE_MASK;
+ initrd_offset = (kernel_high + ~INITRD_PAGE_MASK) &
+ INITRD_PAGE_MASK;
if (initrd_offset + initrd_size > loaderparams.ram_size) {
error_report("memory too small for initial ram disk '%s'",
loaderparams.initrd_filename);
@@ -175,8 +177,9 @@ mips_mipssim_init(MachineState *machine)
/* Map the BIOS / boot exception handler. */
memory_region_add_subregion(address_space_mem, 0x1fc00000LL, bios);
/* Load a BIOS / boot exception handler image. */
- if (bios_name == NULL)
+ if (bios_name == NULL) {
bios_name = BIOS_FILENAME;
+ }
filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
if (filename) {
bios_size = load_image_targphys(filename, 0x1fc00000LL, BIOS_SIZE);
@@ -212,8 +215,10 @@ mips_mipssim_init(MachineState *machine)
get_system_io(), 0, 0x00010000);
memory_region_add_subregion(get_system_memory(), 0x1fd00000, isa);
- /* A single 16450 sits at offset 0x3f8. It is attached to
- MIPS CPU INT2, which is interrupt 4. */
+ /*
+ * A single 16450 sits at offset 0x3f8. It is attached to
+ * MIPS CPU INT2, which is interrupt 4.
+ */
if (serial_hd(0))
serial_init(0x3f8, env->irq[4], 115200, serial_hd(0),
get_system_io());
diff --git a/include/block/block.h b/include/block/block.h
index 89e40318cf..124ad40809 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -443,6 +443,7 @@ int bdrv_pdiscard(BdrvChild *child, int64_t offset, int64_t bytes);
int bdrv_co_pdiscard(BdrvChild *child, int64_t offset, int64_t bytes);
int bdrv_has_zero_init_1(BlockDriverState *bs);
int bdrv_has_zero_init(BlockDriverState *bs);
+int bdrv_has_zero_init_truncate(BlockDriverState *bs);
bool bdrv_unallocated_blocks_are_zero(BlockDriverState *bs);
bool bdrv_can_write_zeroes_with_unmap(BlockDriverState *bs);
int bdrv_block_status(BlockDriverState *bs, int64_t offset,
diff --git a/include/block/block_int.h b/include/block/block_int.h
index aa697f1f69..ceec8c2f56 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -419,9 +419,16 @@ struct BlockDriver {
/*
* Returns 1 if newly created images are guaranteed to contain only
* zeros, 0 otherwise.
+ * Must return 0 if .bdrv_has_zero_init_truncate() returns 0.
*/
int (*bdrv_has_zero_init)(BlockDriverState *bs);
+ /*
+ * Returns 1 if new areas added by growing the image with
+ * PREALLOC_MODE_OFF contain only zeros, 0 otherwise.
+ */
+ int (*bdrv_has_zero_init_truncate)(BlockDriverState *bs);
+
/* Remove fd handlers, timers, and other event loop callbacks so the event
* loop is no longer in use. Called with no in-flight requests and in
* depth-first traversal order with parents before child nodes.
@@ -1115,6 +1122,7 @@ BlockJob *commit_active_start(const char *job_id, BlockDriverState *bs,
* @buf_size: The amount of data that can be in flight at one time.
* @mode: Whether to collapse all images in the chain to the target.
* @backing_mode: How to establish the target's backing chain after completion.
+ * @zero_target: Whether the target should be explicitly zero-initialized
* @on_source_error: The action to take upon error reading from the source.
* @on_target_error: The action to take upon error writing to the target.
* @unmap: Whether to unmap target where source sectors only contain zeroes.
@@ -1134,6 +1142,7 @@ void mirror_start(const char *job_id, BlockDriverState *bs,
int creation_flags, int64_t speed,
uint32_t granularity, int64_t buf_size,
MirrorSyncMode mode, BlockMirrorBackingMode backing_mode,
+ bool zero_target,
BlockdevOnError on_source_error,
BlockdevOnError on_target_error,
bool unmap, const char *filter_node_name,
diff --git a/qapi/block-core.json b/qapi/block-core.json
index e9364a4a29..e6edd641f1 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -4212,13 +4212,17 @@
#
# @file Node to create the image format on
# @size Size of the virtual disk in bytes
+# @preallocation Preallocation mode for the new image
+# (since: 4.2)
+# (default: off; allowed values: off, metadata, falloc, full)
#
# Since: 2.12
##
{ 'struct': 'BlockdevCreateOptionsLUKS',
'base': 'QCryptoBlockCreateOptionsLUKS',
'data': { 'file': 'BlockdevRef',
- 'size': 'size' } }
+ 'size': 'size',
+ '*preallocation': 'PreallocMode' } }
##
# @BlockdevCreateOptionsNfs:
@@ -5174,10 +5178,11 @@
# @off: no preallocation
# @metadata: preallocate only for metadata
# @falloc: like @full preallocation but allocate disk space by
-# posix_fallocate() rather than writing zeros.
-# @full: preallocate all data by writing zeros to device to ensure disk
-# space is really available. @full preallocation also sets up
-# metadata correctly.
+# posix_fallocate() rather than writing data.
+# @full: preallocate all data by writing it to the device to ensure
+# disk space is really available. This data may or may not be
+# zero, depending on the image format and storage.
+# @full preallocation also sets up metadata correctly.
#
# Since: 2.2
##
diff --git a/qemu-img.c b/qemu-img.c
index c920e3564c..7daa05e51a 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -1578,6 +1578,7 @@ typedef struct ImgConvertState {
bool has_zero_init;
bool compressed;
bool unallocated_blocks_are_zero;
+ bool target_is_new;
bool target_has_backing;
int64_t target_backing_sectors; /* negative if unknown */
bool wr_in_order;
@@ -1975,9 +1976,11 @@ static int convert_do_copy(ImgConvertState *s)
int64_t sector_num = 0;
/* Check whether we have zero initialisation or can get it efficiently */
- s->has_zero_init = s->min_sparse && !s->target_has_backing
- ? bdrv_has_zero_init(blk_bs(s->target))
- : false;
+ if (s->target_is_new && s->min_sparse && !s->target_has_backing) {
+ s->has_zero_init = bdrv_has_zero_init(blk_bs(s->target));
+ } else {
+ s->has_zero_init = false;
+ }
if (!s->has_zero_init && !s->target_has_backing &&
bdrv_can_write_zeroes_with_unmap(blk_bs(s->target)))
@@ -2428,6 +2431,8 @@ static int img_convert(int argc, char **argv)
}
}
+ s.target_is_new = !skip_create;
+
flags = s.min_sparse ? (BDRV_O_RDWR | BDRV_O_UNMAP) : BDRV_O_RDWR;
ret = bdrv_parse_cache_mode(cache, &flags, &writethrough);
if (ret < 0) {
diff --git a/qemu-img.texi b/qemu-img.texi
index c8e9bba515..b5156d6316 100644
--- a/qemu-img.texi
+++ b/qemu-img.texi
@@ -666,8 +666,8 @@ Supported options:
@item preallocation
Preallocation mode (allowed values: @code{off}, @code{falloc}, @code{full}).
@code{falloc} mode preallocates space for image by calling posix_fallocate().
-@code{full} mode preallocates space for image by writing zeros to underlying
-storage.
+@code{full} mode preallocates space for image by writing data to underlying
+storage. This data may or may not be zero, depending on the storage location.
@end table
@item qcow2
diff --git a/scripts/decodetree.py b/scripts/decodetree.py
index d7a59d63ac..d8c59cab60 100755
--- a/scripts/decodetree.py
+++ b/scripts/decodetree.py
@@ -33,6 +33,7 @@ arguments = {}
formats = {}
patterns = []
allpatterns = []
+anyextern = False
translate_prefix = 'trans'
translate_scope = 'static '
@@ -245,7 +246,7 @@ class ConstField:
class FunctionField:
- """Class representing a field passed through an expander"""
+ """Class representing a field passed through a function"""
def __init__(self, func, base):
self.mask = base.mask
self.sign = base.sign
@@ -266,6 +267,27 @@ class FunctionField:
# end FunctionField
+class ParameterField:
+ """Class representing a pseudo-field read from a function"""
+ def __init__(self, func):
+ self.mask = 0
+ self.sign = 0
+ self.func = func
+
+ def __str__(self):
+ return self.func
+
+ def str_extract(self):
+ return self.func + '(ctx)'
+
+ def __eq__(self, other):
+ return self.func == other.func
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+# end ParameterField
+
+
class Arguments:
"""Class representing the extracted fields of a format"""
def __init__(self, nm, flds, extern):
@@ -433,17 +455,23 @@ def parse_field(lineno, name, toks):
if width > insnwidth:
error(lineno, 'field too large')
- if len(subs) == 1:
- f = subs[0]
+ if len(subs) == 0:
+ if func:
+ f = ParameterField(func)
+ else:
+ error(lineno, 'field with no value')
else:
- mask = 0
- for s in subs:
- if mask & s.mask:
- error(lineno, 'field components overlap')
- mask |= s.mask
- f = MultiField(subs, mask)
- if func:
- f = FunctionField(func, f)
+ if len(subs) == 1:
+ f = subs[0]
+ else:
+ mask = 0
+ for s in subs:
+ if mask & s.mask:
+ error(lineno, 'field components overlap')
+ mask |= s.mask
+ f = MultiField(subs, mask)
+ if func:
+ f = FunctionField(func, f)
if name in fields:
error(lineno, 'duplicate field', name)
@@ -455,12 +483,14 @@ def parse_arguments(lineno, name, toks):
"""Parse one argument set from TOKS at LINENO"""
global arguments
global re_ident
+ global anyextern
flds = []
extern = False
for t in toks:
if re_fullmatch('!extern', t):
extern = True
+ anyextern = True
continue
if not re_fullmatch(re_ident, t):
error(lineno, 'invalid argument set token "{0}"'.format(t))
@@ -1161,6 +1191,7 @@ def main():
global insnmask
global decode_function
global variablewidth
+ global anyextern
decode_scope = 'static '
@@ -1221,6 +1252,19 @@ def main():
# A single translate function can be invoked for different patterns.
# Make sure that the argument sets are the same, and declare the
# function only once.
+ #
+ # If we're sharing formats, we're likely also sharing trans_* functions,
+ # but we can't tell which ones. Prevent issues from the compiler by
+ # suppressing redundant declaration warnings.
+ if anyextern:
+ output("#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE\n",
+ "# pragma GCC diagnostic push\n",
+ "# pragma GCC diagnostic ignored \"-Wredundant-decls\"\n",
+ "# ifdef __clang__\n"
+ "# pragma GCC diagnostic ignored \"-Wtypedef-redefinition\"\n",
+ "# endif\n",
+ "#endif\n\n")
+
out_pats = {}
for i in allpatterns:
if i.name in out_pats:
@@ -1232,6 +1276,11 @@ def main():
out_pats[i.name] = i
output('\n')
+ if anyextern:
+ output("#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE\n",
+ "# pragma GCC diagnostic pop\n",
+ "#endif\n\n")
+
for n in sorted(formats.keys()):
f = formats[n]
f.output_extract()
diff --git a/target/mips/cp0_timer.c b/target/mips/cp0_timer.c
index 48c18d7818..bd7efb152d 100644
--- a/target/mips/cp0_timer.c
+++ b/target/mips/cp0_timer.c
@@ -30,7 +30,7 @@
#define TIMER_PERIOD 10 /* 10 ns period for 100 Mhz frequency */
/* 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 = 1;
static uint32_t prev_idx = 0;
@@ -43,8 +43,10 @@ uint32_t cpu_mips_get_random (CPUMIPSState *env)
/* 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 = 1103515245 * seed + 12345;
idx = (seed >> 16) % nb_rand_tlb + env->CP0_Wired;
} while (idx == prev_idx);
@@ -74,7 +76,7 @@ static void cpu_mips_timer_expire(CPUMIPSState *env)
qemu_irq_raise(env->irq[(env->CP0_IntCtl >> CP0IntCtl_IPTI) & 0x7]);
}
-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;
@@ -92,16 +94,16 @@ uint32_t cpu_mips_get_count (CPUMIPSState *env)
}
}
-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 init.
* 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 = count;
- else {
+ } else {
/* Store new count register */
env->CP0_Count = count -
(uint32_t)(qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) / TIMER_PERIOD);
@@ -110,13 +112,15 @@ void cpu_mips_store_count (CPUMIPSState *env, uint32_t count)
}
}
-void cpu_mips_store_compare (CPUMIPSState *env, uint32_t value)
+void cpu_mips_store_compare(CPUMIPSState *env, uint32_t value)
{
env->CP0_Compare = 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 &= ~(1 << CP0Ca_TI);
+ }
qemu_irq_lower(env->irq[(env->CP0_IntCtl >> CP0IntCtl_IPTI) & 0x7]);
}
@@ -132,27 +136,27 @@ void cpu_mips_stop_count(CPUMIPSState *env)
TIMER_PERIOD);
}
-static void mips_timer_cb (void *opaque)
+static void mips_timer_cb(void *opaque)
{
CPUMIPSState *env;
env = opaque;
-#if 0
- qemu_log("%s\n", __func__);
-#endif
- if (env->CP0_Cause & (1 << CP0Ca_DC))
+ if (env->CP0_Cause & (1 << CP0Ca_DC)) {
return;
+ }
- /* ??? 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--;
}
-void cpu_mips_clock_init (MIPSCPU *cpu)
+void cpu_mips_clock_init(MIPSCPU *cpu)
{
CPUMIPSState *env = &cpu->env;
diff --git a/target/mips/cpu.c b/target/mips/cpu.c
index 39eafafc5c..3ffa342187 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 = &cpu->env;
bool has_work = false;
- /* Prior to MIPS Release 6 it is implementation dependent if non-enabled
- 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-enabled
+ * 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)
/* 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 = true;
}
@@ -112,7 +116,8 @@ static void mips_cpu_reset(CPUState *s)
#endif
}
-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 = MIPS_CPU(s);
CPUMIPSState *env = &cpu->env;
diff --git a/target/mips/machine.c b/target/mips/machine.c
index 7f4b5d524d..c1392395ab 100644
--- a/target/mips/machine.c
+++ b/target/mips/machine.c
@@ -24,7 +24,7 @@ static int get_fpr(QEMUFile *f, void *pv, size_t size,
int i;
fpr_t *v = pv;
/* Restore entire MSA vector register */
- for (i = 0; i < MSA_WRLEN/64; i++) {
+ for (i = 0; i < MSA_WRLEN / 64; i++) {
qemu_get_sbe64s(f, &v->wr.d[i]);
}
return 0;
@@ -36,7 +36,7 @@ static int put_fpr(QEMUFile *f, void *pv, size_t size,
int i;
fpr_t *v = pv;
/* Save entire MSA vector register */
- for (i = 0; i < MSA_WRLEN/64; i++) {
+ for (i = 0; i < MSA_WRLEN / 64; i++) {
qemu_put_sbe64s(f, &v->wr.d[i]);
}
diff --git a/target/mips/translate.c b/target/mips/translate.c
index ca628002ae..1c50e5a8c4 100644
--- a/target/mips/translate.c
+++ b/target/mips/translate.c
@@ -43,7 +43,7 @@
#define MIPS_DEBUG_DISAS 0
/* MIPS major opcodes */
-#define MASK_OP_MAJOR(op) (op & (0x3F << 26))
+#define MASK_OP_MAJOR(op) (op & (0x3F << 26))
enum {
/* indirect opcode tables */
@@ -153,8 +153,8 @@ enum {
};
/* PC-relative address computation / loads */
-#define MASK_OPC_PCREL_TOP2BITS(op) (MASK_OP_MAJOR(op) | (op & (3 << 19)))
-#define MASK_OPC_PCREL_TOP5BITS(op) (MASK_OP_MAJOR(op) | (op & (0x1f << 16)))
+#define MASK_OPC_PCREL_TOP2BITS(op) (MASK_OP_MAJOR(op) | (op & (3 << 19)))
+#define MASK_OPC_PCREL_TOP5BITS(op) (MASK_OP_MAJOR(op) | (op & (0x1f << 16)))
enum {
/* Instructions determined by bits 19 and 20 */
OPC_ADDIUPC = OPC_PCREL | (0 << 19),
@@ -170,7 +170,7 @@ enum {
};
/* MIPS special opcodes */
-#define MASK_SPECIAL(op) MASK_OP_MAJOR(op) | (op & 0x3F)
+#define MASK_SPECIAL(op) (MASK_OP_MAJOR(op) | (op & 0x3F))
enum {
/* Shifts */
@@ -263,7 +263,7 @@ enum {
* R6 Multiply and Divide instructions have the same opcode
* and function field as legacy OPC_MULT[U]/OPC_DIV[U]
*/
-#define MASK_R6_MULDIV(op) (MASK_SPECIAL(op) | (op & (0x7ff)))
+#define MASK_R6_MULDIV(op) (MASK_SPECIAL(op) | (op & (0x7ff)))
enum {
R6_OPC_MUL = OPC_MULT | (2 << 6),
@@ -295,7 +295,7 @@ enum {
};
/* Multiplication variants of the vr54xx. */
-#define MASK_MUL_VR54XX(op) MASK_SPECIAL(op) | (op & (0x1F << 6))
+#define MASK_MUL_VR54XX(op) (MASK_SPECIAL(op) | (op & (0x1F << 6)))
enum {
OPC_VR54XX_MULS = (0x03 << 6) | OPC_MULT,
@@ -315,7 +315,7 @@ enum {
};
/* REGIMM (rt field) opcodes */
-#define MASK_REGIMM(op) MASK_OP_MAJOR(op) | (op & (0x1F << 16))
+#define MASK_REGIMM(op) (MASK_OP_MAJOR(op) | (op & (0x1F << 16)))
enum {
OPC_BLTZ = (0x00 << 16) | OPC_REGIMM,
@@ -340,7 +340,7 @@ enum {
};
/* Special2 opcodes */
-#define MASK_SPECIAL2(op) MASK_OP_MAJOR(op) | (op & 0x3F)
+#define MASK_SPECIAL2(op) (MASK_OP_MAJOR(op) | (op & 0x3F))
enum {
/* Multiply & xxx operations */
@@ -372,7 +372,7 @@ enum {
};
/* Special3 opcodes */
-#define MASK_SPECIAL3(op) MASK_OP_MAJOR(op) | (op & 0x3F)
+#define MASK_SPECIAL3(op) (MASK_OP_MAJOR(op) | (op & 0x3F))
enum {
OPC_EXT = 0x00 | OPC_SPECIAL3,
@@ -460,7 +460,7 @@ enum {
};
/* BSHFL opcodes */
-#define MASK_BSHFL(op) MASK_SPECIAL3(op) | (op & (0x1F << 6))
+#define MASK_BSHFL(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
OPC_WSBH = (0x02 << 6) | OPC_BSHFL,
@@ -474,7 +474,7 @@ enum {
};
/* DBSHFL opcodes */
-#define MASK_DBSHFL(op) MASK_SPECIAL3(op) | (op & (0x1F << 6))
+#define MASK_DBSHFL(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
OPC_DSBH = (0x02 << 6) | OPC_DBSHFL,
@@ -496,7 +496,7 @@ enum {
OPC_BPOSGE64 = (0x1D << 16) | OPC_REGIMM,
};
-#define MASK_LX(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_LX(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
/* MIPS DSP Load */
enum {
OPC_LBUX = (0x06 << 6) | OPC_LX_DSP,
@@ -505,7 +505,7 @@ enum {
OPC_LDX = (0x08 << 6) | OPC_LX_DSP,
};
-#define MASK_ADDU_QB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_ADDU_QB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Arithmetic Sub-class */
OPC_ADDQ_PH = (0x0A << 6) | OPC_ADDU_QB_DSP,
@@ -536,7 +536,7 @@ enum {
};
#define OPC_ADDUH_QB_DSP OPC_MULT_G_2E
-#define MASK_ADDUH_QB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_ADDUH_QB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Arithmetic Sub-class */
OPC_ADDUH_QB = (0x00 << 6) | OPC_ADDUH_QB_DSP,
@@ -558,7 +558,7 @@ enum {
OPC_MULQ_RS_W = (0x17 << 6) | OPC_ADDUH_QB_DSP,
};
-#define MASK_ABSQ_S_PH(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_ABSQ_S_PH(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Arithmetic Sub-class */
OPC_ABSQ_S_QB = (0x01 << 6) | OPC_ABSQ_S_PH_DSP,
@@ -582,7 +582,7 @@ enum {
OPC_REPLV_PH = (0x0B << 6) | OPC_ABSQ_S_PH_DSP,
};
-#define MASK_CMPU_EQ_QB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_CMPU_EQ_QB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Arithmetic Sub-class */
OPC_PRECR_QB_PH = (0x0D << 6) | OPC_CMPU_EQ_QB_DSP,
@@ -610,7 +610,7 @@ enum {
OPC_PACKRL_PH = (0x0E << 6) | OPC_CMPU_EQ_QB_DSP,
};
-#define MASK_SHLL_QB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_SHLL_QB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP GPR-Based Shift Sub-class */
OPC_SHLL_QB = (0x00 << 6) | OPC_SHLL_QB_DSP,
@@ -637,7 +637,7 @@ enum {
OPC_SHRAV_R_W = (0x17 << 6) | OPC_SHLL_QB_DSP,
};
-#define MASK_DPA_W_PH(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_DPA_W_PH(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Multiply Sub-class insns */
OPC_DPAU_H_QBL = (0x03 << 6) | OPC_DPA_W_PH_DSP,
@@ -664,13 +664,13 @@ enum {
OPC_MULSA_W_PH = (0x02 << 6) | OPC_DPA_W_PH_DSP,
};
-#define MASK_INSV(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_INSV(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* DSP Bit/Manipulation Sub-class */
OPC_INSV = (0x00 << 6) | OPC_INSV_DSP,
};
-#define MASK_APPEND(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_APPEND(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Append Sub-class */
OPC_APPEND = (0x00 << 6) | OPC_APPEND_DSP,
@@ -678,7 +678,7 @@ enum {
OPC_BALIGN = (0x10 << 6) | OPC_APPEND_DSP,
};
-#define MASK_EXTR_W(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_EXTR_W(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Accumulator and DSPControl Access Sub-class */
OPC_EXTR_W = (0x00 << 6) | OPC_EXTR_W_DSP,
@@ -700,7 +700,7 @@ enum {
OPC_RDDSP = (0x12 << 6) | OPC_EXTR_W_DSP,
};
-#define MASK_ABSQ_S_QH(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_ABSQ_S_QH(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Arithmetic Sub-class */
OPC_PRECEQ_L_PWL = (0x14 << 6) | OPC_ABSQ_S_QH_DSP,
@@ -729,7 +729,7 @@ enum {
OPC_REPLV_QH = (0x0B << 6) | OPC_ABSQ_S_QH_DSP,
};
-#define MASK_ADDU_OB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_ADDU_OB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Multiply Sub-class insns */
OPC_MULEQ_S_PW_QHL = (0x1C << 6) | OPC_ADDU_OB_DSP,
@@ -761,7 +761,7 @@ enum {
OPC_ADDUH_R_OB = (0x1A << 6) | OPC_ADDU_OB_DSP,
};
-#define MASK_CMPU_EQ_OB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_CMPU_EQ_OB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* DSP Compare-Pick Sub-class */
OPC_CMP_EQ_PW = (0x10 << 6) | OPC_CMPU_EQ_OB_DSP,
@@ -794,7 +794,7 @@ enum {
OPC_PRECRQU_S_OB_QH = (0x0F << 6) | OPC_CMPU_EQ_OB_DSP,
};
-#define MASK_DAPPEND(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_DAPPEND(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* DSP Append Sub-class */
OPC_DAPPEND = (0x00 << 6) | OPC_DAPPEND_DSP,
@@ -803,7 +803,7 @@ enum {
OPC_DBALIGN = (0x10 << 6) | OPC_DAPPEND_DSP,
};
-#define MASK_DEXTR_W(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_DEXTR_W(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Accumulator and DSPControl Access Sub-class */
OPC_DMTHLIP = (0x1F << 6) | OPC_DEXTR_W_DSP,
@@ -829,13 +829,13 @@ enum {
OPC_DSHILOV = (0x1B << 6) | OPC_DEXTR_W_DSP,
};
-#define MASK_DINSV(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_DINSV(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* DSP Bit/Manipulation Sub-class */
OPC_DINSV = (0x00 << 6) | OPC_DINSV_DSP,
};
-#define MASK_DPAQ_W_QH(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_DPAQ_W_QH(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP Multiply Sub-class insns */
OPC_DMADD = (0x19 << 6) | OPC_DPAQ_W_QH_DSP,
@@ -866,7 +866,7 @@ enum {
OPC_MULSAQ_S_W_QH = (0x06 << 6) | OPC_DPAQ_W_QH_DSP,
};
-#define MASK_SHLL_OB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
+#define MASK_SHLL_OB(op) (MASK_SPECIAL3(op) | (op & (0x1F << 6)))
enum {
/* MIPS DSP GPR-Based Shift Sub-class */
OPC_SHLL_PW = (0x10 << 6) | OPC_SHLL_OB_DSP,
@@ -898,7 +898,7 @@ enum {
};
/* Coprocessor 0 (rs field) */
-#define MASK_CP0(op) MASK_OP_MAJOR(op) | (op & (0x1F << 21))
+#define MASK_CP0(op) (MASK_OP_MAJOR(op) | (op & (0x1F << 21)))
enum {
OPC_MFC0 = (0x00 << 21) | OPC_CP0,
@@ -931,7 +931,7 @@ enum {
};
/* MFMC0 opcodes */
-#define MASK_MFMC0(op) MASK_CP0(op) | (op & 0xFFFF)
+#define MASK_MFMC0(op) (MASK_CP0(op) | (op & 0xFFFF))
enum {
OPC_DMT = 0x01 | (0 << 5) | (0x0F << 6) | (0x01 << 11) | OPC_MFMC0,
@@ -945,7 +945,7 @@ enum {
};
/* Coprocessor 0 (with rs == C0) */
-#define MASK_C0(op) MASK_CP0(op) | (op & 0x3F)
+#define MASK_C0(op) (MASK_CP0(op) | (op & 0x3F))
enum {
OPC_TLBR = 0x01 | OPC_C0,
@@ -961,7 +961,7 @@ enum {
};
/* Coprocessor 1 (rs field) */
-#define MASK_CP1(op) MASK_OP_MAJOR(op) | (op & (0x1F << 21))
+#define MASK_CP1(op) (MASK_OP_MAJOR(op) | (op & (0x1F << 21)))
/* Values for the fmt field in FP instructions */
enum {
@@ -1009,8 +1009,8 @@ enum {
OPC_BNZ_D = (0x1F << 21) | OPC_CP1,
};
-#define MASK_CP1_FUNC(op) MASK_CP1(op) | (op & 0x3F)
-#define MASK_BC1(op) MASK_CP1(op) | (op & (0x3 << 16))
+#define MASK_CP1_FUNC(op) (MASK_CP1(op) | (op & 0x3F))
+#define MASK_BC1(op) (MASK_CP1(op) | (op & (0x3 << 16)))
enum {
OPC_BC1F = (0x00 << 16) | OPC_BC1,
@@ -1029,7 +1029,7 @@ enum {
OPC_BC1TANY4 = (0x01 << 16) | OPC_BC1ANY4,
};
-#define MASK_CP2(op) MASK_OP_MAJOR(op) | (op & (0x1F << 21))
+#define MASK_CP2(op) (MASK_OP_MAJOR(op) | (op & (0x1F << 21)))
enum {
OPC_MFC2 = (0x00 << 21) | OPC_CP2,
@@ -1045,130 +1045,130 @@ enum {
OPC_BC2NEZ = (0x0D << 21) | OPC_CP2,
};
-#define MASK_LMI(op) (MASK_OP_MAJOR(op) | (op & (0x1F << 21)) | (op & 0x1F))
+#define MASK_LMI(op) (MASK_OP_MAJOR(op) | (op & (0x1F << 21)) | (op & 0x1F))
enum {
- OPC_PADDSH = (24 << 21) | (0x00) | OPC_CP2,
- OPC_PADDUSH = (25 << 21) | (0x00) | OPC_CP2,
- OPC_PADDH = (26 << 21) | (0x00) | OPC_CP2,
- OPC_PADDW = (27 << 21) | (0x00) | OPC_CP2,
- OPC_PADDSB = (28 << 21) | (0x00) | OPC_CP2,
- OPC_PADDUSB = (29 << 21) | (0x00) | OPC_CP2,
- OPC_PADDB = (30 << 21) | (0x00) | OPC_CP2,
- OPC_PADDD = (31 << 21) | (0x00) | OPC_CP2,
-
- OPC_PSUBSH = (24 << 21) | (0x01) | OPC_CP2,
- OPC_PSUBUSH = (25 << 21) | (0x01) | OPC_CP2,
- OPC_PSUBH = (26 << 21) | (0x01) | OPC_CP2,
- OPC_PSUBW = (27 << 21) | (0x01) | OPC_CP2,
- OPC_PSUBSB = (28 << 21) | (0x01) | OPC_CP2,
- OPC_PSUBUSB = (29 << 21) | (0x01) | OPC_CP2,
- OPC_PSUBB = (30 << 21) | (0x01) | OPC_CP2,
- OPC_PSUBD = (31 << 21) | (0x01) | OPC_CP2,
-
- OPC_PSHUFH = (24 << 21) | (0x02) | OPC_CP2,
- OPC_PACKSSWH = (25 << 21) | (0x02) | OPC_CP2,
- OPC_PACKSSHB = (26 << 21) | (0x02) | OPC_CP2,
- OPC_PACKUSHB = (27 << 21) | (0x02) | OPC_CP2,
- OPC_XOR_CP2 = (28 << 21) | (0x02) | OPC_CP2,
- OPC_NOR_CP2 = (29 << 21) | (0x02) | OPC_CP2,
- OPC_AND_CP2 = (30 << 21) | (0x02) | OPC_CP2,
- OPC_PANDN = (31 << 21) | (0x02) | OPC_CP2,
-
- OPC_PUNPCKLHW = (24 << 21) | (0x03) | OPC_CP2,
- OPC_PUNPCKHHW = (25 << 21) | (0x03) | OPC_CP2,
- OPC_PUNPCKLBH = (26 << 21) | (0x03) | OPC_CP2,
- OPC_PUNPCKHBH = (27 << 21) | (0x03) | OPC_CP2,
- OPC_PINSRH_0 = (28 << 21) | (0x03) | OPC_CP2,
- OPC_PINSRH_1 = (29 << 21) | (0x03) | OPC_CP2,
- OPC_PINSRH_2 = (30 << 21) | (0x03) | OPC_CP2,
- OPC_PINSRH_3 = (31 << 21) | (0x03) | OPC_CP2,
-
- OPC_PAVGH = (24 << 21) | (0x08) | OPC_CP2,
- OPC_PAVGB = (25 << 21) | (0x08) | OPC_CP2,
- OPC_PMAXSH = (26 << 21) | (0x08) | OPC_CP2,
- OPC_PMINSH = (27 << 21) | (0x08) | OPC_CP2,
- OPC_PMAXUB = (28 << 21) | (0x08) | OPC_CP2,
- OPC_PMINUB = (29 << 21) | (0x08) | OPC_CP2,
-
- OPC_PCMPEQW = (24 << 21) | (0x09) | OPC_CP2,
- OPC_PCMPGTW = (25 << 21) | (0x09) | OPC_CP2,
- OPC_PCMPEQH = (26 << 21) | (0x09) | OPC_CP2,
- OPC_PCMPGTH = (27 << 21) | (0x09) | OPC_CP2,
- OPC_PCMPEQB = (28 << 21) | (0x09) | OPC_CP2,
- OPC_PCMPGTB = (29 << 21) | (0x09) | OPC_CP2,
-
- OPC_PSLLW = (24 << 21) | (0x0A) | OPC_CP2,
- OPC_PSLLH = (25 << 21) | (0x0A) | OPC_CP2,
- OPC_PMULLH = (26 << 21) | (0x0A) | OPC_CP2,
- OPC_PMULHH = (27 << 21) | (0x0A) | OPC_CP2,
- OPC_PMULUW = (28 << 21) | (0x0A) | OPC_CP2,
- OPC_PMULHUH = (29 << 21) | (0x0A) | OPC_CP2,
-
- OPC_PSRLW = (24 << 21) | (0x0B) | OPC_CP2,
- OPC_PSRLH = (25 << 21) | (0x0B) | OPC_CP2,
- OPC_PSRAW = (26 << 21) | (0x0B) | OPC_CP2,
- OPC_PSRAH = (27 << 21) | (0x0B) | OPC_CP2,
- OPC_PUNPCKLWD = (28 << 21) | (0x0B) | OPC_CP2,
- OPC_PUNPCKHWD = (29 << 21) | (0x0B) | OPC_CP2,
-
- OPC_ADDU_CP2 = (24 << 21) | (0x0C) | OPC_CP2,
- OPC_OR_CP2 = (25 << 21) | (0x0C) | OPC_CP2,
- OPC_ADD_CP2 = (26 << 21) | (0x0C) | OPC_CP2,
- OPC_DADD_CP2 = (27 << 21) | (0x0C) | OPC_CP2,
- OPC_SEQU_CP2 = (28 << 21) | (0x0C) | OPC_CP2,
- OPC_SEQ_CP2 = (29 << 21) | (0x0C) | OPC_CP2,
-
- OPC_SUBU_CP2 = (24 << 21) | (0x0D) | OPC_CP2,
- OPC_PASUBUB = (25 << 21) | (0x0D) | OPC_CP2,
- OPC_SUB_CP2 = (26 << 21) | (0x0D) | OPC_CP2,
- OPC_DSUB_CP2 = (27 << 21) | (0x0D) | OPC_CP2,
- OPC_SLTU_CP2 = (28 << 21) | (0x0D) | OPC_CP2,
- OPC_SLT_CP2 = (29 << 21) | (0x0D) | OPC_CP2,
-
- OPC_SLL_CP2 = (24 << 21) | (0x0E) | OPC_CP2,
- OPC_DSLL_CP2 = (25 << 21) | (0x0E) | OPC_CP2,
- OPC_PEXTRH = (26 << 21) | (0x0E) | OPC_CP2,
- OPC_PMADDHW = (27 << 21) | (0x0E) | OPC_CP2,
- OPC_SLEU_CP2 = (28 << 21) | (0x0E) | OPC_CP2,
- OPC_SLE_CP2 = (29 << 21) | (0x0E) | OPC_CP2,
-
- OPC_SRL_CP2 = (24 << 21) | (0x0F) | OPC_CP2,
- OPC_DSRL_CP2 = (25 << 21) | (0x0F) | OPC_CP2,
- OPC_SRA_CP2 = (26 << 21) | (0x0F) | OPC_CP2,
- OPC_DSRA_CP2 = (27 << 21) | (0x0F) | OPC_CP2,
- OPC_BIADD = (28 << 21) | (0x0F) | OPC_CP2,
- OPC_PMOVMSKB = (29 << 21) | (0x0F) | OPC_CP2,
+ OPC_PADDSH = (24 << 21) | (0x00) | OPC_CP2,
+ OPC_PADDUSH = (25 << 21) | (0x00) | OPC_CP2,
+ OPC_PADDH = (26 << 21) | (0x00) | OPC_CP2,
+ OPC_PADDW = (27 << 21) | (0x00) | OPC_CP2,
+ OPC_PADDSB = (28 << 21) | (0x00) | OPC_CP2,
+ OPC_PADDUSB = (29 << 21) | (0x00) | OPC_CP2,
+ OPC_PADDB = (30 << 21) | (0x00) | OPC_CP2,
+ OPC_PADDD = (31 << 21) | (0x00) | OPC_CP2,
+
+ OPC_PSUBSH = (24 << 21) | (0x01) | OPC_CP2,
+ OPC_PSUBUSH = (25 << 21) | (0x01) | OPC_CP2,
+ OPC_PSUBH = (26 << 21) | (0x01) | OPC_CP2,
+ OPC_PSUBW = (27 << 21) | (0x01) | OPC_CP2,
+ OPC_PSUBSB = (28 << 21) | (0x01) | OPC_CP2,
+ OPC_PSUBUSB = (29 << 21) | (0x01) | OPC_CP2,
+ OPC_PSUBB = (30 << 21) | (0x01) | OPC_CP2,
+ OPC_PSUBD = (31 << 21) | (0x01) | OPC_CP2,
+
+ OPC_PSHUFH = (24 << 21) | (0x02) | OPC_CP2,
+ OPC_PACKSSWH = (25 << 21) | (0x02) | OPC_CP2,
+ OPC_PACKSSHB = (26 << 21) | (0x02) | OPC_CP2,
+ OPC_PACKUSHB = (27 << 21) | (0x02) | OPC_CP2,
+ OPC_XOR_CP2 = (28 << 21) | (0x02) | OPC_CP2,
+ OPC_NOR_CP2 = (29 << 21) | (0x02) | OPC_CP2,
+ OPC_AND_CP2 = (30 << 21) | (0x02) | OPC_CP2,
+ OPC_PANDN = (31 << 21) | (0x02) | OPC_CP2,
+
+ OPC_PUNPCKLHW = (24 << 21) | (0x03) | OPC_CP2,
+ OPC_PUNPCKHHW = (25 << 21) | (0x03) | OPC_CP2,
+ OPC_PUNPCKLBH = (26 << 21) | (0x03) | OPC_CP2,
+ OPC_PUNPCKHBH = (27 << 21) | (0x03) | OPC_CP2,
+ OPC_PINSRH_0 = (28 << 21) | (0x03) | OPC_CP2,
+ OPC_PINSRH_1 = (29 << 21) | (0x03) | OPC_CP2,
+ OPC_PINSRH_2 = (30 << 21) | (0x03) | OPC_CP2,
+ OPC_PINSRH_3 = (31 << 21) | (0x03) | OPC_CP2,
+
+ OPC_PAVGH = (24 << 21) | (0x08) | OPC_CP2,
+ OPC_PAVGB = (25 << 21) | (0x08) | OPC_CP2,
+ OPC_PMAXSH = (26 << 21) | (0x08) | OPC_CP2,
+ OPC_PMINSH = (27 << 21) | (0x08) | OPC_CP2,
+ OPC_PMAXUB = (28 << 21) | (0x08) | OPC_CP2,
+ OPC_PMINUB = (29 << 21) | (0x08) | OPC_CP2,
+
+ OPC_PCMPEQW = (24 << 21) | (0x09) | OPC_CP2,
+ OPC_PCMPGTW = (25 << 21) | (0x09) | OPC_CP2,
+ OPC_PCMPEQH = (26 << 21) | (0x09) | OPC_CP2,
+ OPC_PCMPGTH = (27 << 21) | (0x09) | OPC_CP2,
+ OPC_PCMPEQB = (28 << 21) | (0x09) | OPC_CP2,
+ OPC_PCMPGTB = (29 << 21) | (0x09) | OPC_CP2,
+
+ OPC_PSLLW = (24 << 21) | (0x0A) | OPC_CP2,
+ OPC_PSLLH = (25 << 21) | (0x0A) | OPC_CP2,
+ OPC_PMULLH = (26 << 21) | (0x0A) | OPC_CP2,
+ OPC_PMULHH = (27 << 21) | (0x0A) | OPC_CP2,
+ OPC_PMULUW = (28 << 21) | (0x0A) | OPC_CP2,
+ OPC_PMULHUH = (29 << 21) | (0x0A) | OPC_CP2,
+
+ OPC_PSRLW = (24 << 21) | (0x0B) | OPC_CP2,
+ OPC_PSRLH = (25 << 21) | (0x0B) | OPC_CP2,
+ OPC_PSRAW = (26 << 21) | (0x0B) | OPC_CP2,
+ OPC_PSRAH = (27 << 21) | (0x0B) | OPC_CP2,
+ OPC_PUNPCKLWD = (28 << 21) | (0x0B) | OPC_CP2,
+ OPC_PUNPCKHWD = (29 << 21) | (0x0B) | OPC_CP2,
+
+ OPC_ADDU_CP2 = (24 << 21) | (0x0C) | OPC_CP2,
+ OPC_OR_CP2 = (25 << 21) | (0x0C) | OPC_CP2,
+ OPC_ADD_CP2 = (26 << 21) | (0x0C) | OPC_CP2,
+ OPC_DADD_CP2 = (27 << 21) | (0x0C) | OPC_CP2,
+ OPC_SEQU_CP2 = (28 << 21) | (0x0C) | OPC_CP2,
+ OPC_SEQ_CP2 = (29 << 21) | (0x0C) | OPC_CP2,
+
+ OPC_SUBU_CP2 = (24 << 21) | (0x0D) | OPC_CP2,
+ OPC_PASUBUB = (25 << 21) | (0x0D) | OPC_CP2,
+ OPC_SUB_CP2 = (26 << 21) | (0x0D) | OPC_CP2,
+ OPC_DSUB_CP2 = (27 << 21) | (0x0D) | OPC_CP2,
+ OPC_SLTU_CP2 = (28 << 21) | (0x0D) | OPC_CP2,
+ OPC_SLT_CP2 = (29 << 21) | (0x0D) | OPC_CP2,
+
+ OPC_SLL_CP2 = (24 << 21) | (0x0E) | OPC_CP2,
+ OPC_DSLL_CP2 = (25 << 21) | (0x0E) | OPC_CP2,
+ OPC_PEXTRH = (26 << 21) | (0x0E) | OPC_CP2,
+ OPC_PMADDHW = (27 << 21) | (0x0E) | OPC_CP2,
+ OPC_SLEU_CP2 = (28 << 21) | (0x0E) | OPC_CP2,
+ OPC_SLE_CP2 = (29 << 21) | (0x0E) | OPC_CP2,
+
+ OPC_SRL_CP2 = (24 << 21) | (0x0F) | OPC_CP2,
+ OPC_DSRL_CP2 = (25 << 21) | (0x0F) | OPC_CP2,
+ OPC_SRA_CP2 = (26 << 21) | (0x0F) | OPC_CP2,
+ OPC_DSRA_CP2 = (27 << 21) | (0x0F) | OPC_CP2,
+ OPC_BIADD = (28 << 21) | (0x0F) | OPC_CP2,
+ OPC_PMOVMSKB = (29 << 21) | (0x0F) | OPC_CP2,
};
-#define MASK_CP3(op) MASK_OP_MAJOR(op) | (op & 0x3F)
+#define MASK_CP3(op) (MASK_OP_MAJOR(op) | (op & 0x3F))
enum {
- OPC_LWXC1 = 0x00 | OPC_CP3,
- OPC_LDXC1 = 0x01 | OPC_CP3,
- OPC_LUXC1 = 0x05 | OPC_CP3,
- OPC_SWXC1 = 0x08 | OPC_CP3,
- OPC_SDXC1 = 0x09 | OPC_CP3,
- OPC_SUXC1 = 0x0D | OPC_CP3,
- OPC_PREFX = 0x0F | OPC_CP3,
- OPC_ALNV_PS = 0x1E | OPC_CP3,
- OPC_MADD_S = 0x20 | OPC_CP3,
- OPC_MADD_D = 0x21 | OPC_CP3,
- OPC_MADD_PS = 0x26 | OPC_CP3,
- OPC_MSUB_S = 0x28 | OPC_CP3,
- OPC_MSUB_D = 0x29 | OPC_CP3,
- OPC_MSUB_PS = 0x2E | OPC_CP3,
- OPC_NMADD_S = 0x30 | OPC_CP3,
- OPC_NMADD_D = 0x31 | OPC_CP3,
- OPC_NMADD_PS= 0x36 | OPC_CP3,
- OPC_NMSUB_S = 0x38 | OPC_CP3,
- OPC_NMSUB_D = 0x39 | OPC_CP3,
- OPC_NMSUB_PS= 0x3E | OPC_CP3,
+ OPC_LWXC1 = 0x00 | OPC_CP3,
+ OPC_LDXC1 = 0x01 | OPC_CP3,
+ OPC_LUXC1 = 0x05 | OPC_CP3,
+ OPC_SWXC1 = 0x08 | OPC_CP3,
+ OPC_SDXC1 = 0x09 | OPC_CP3,
+ OPC_SUXC1 = 0x0D | OPC_CP3,
+ OPC_PREFX = 0x0F | OPC_CP3,
+ OPC_ALNV_PS = 0x1E | OPC_CP3,
+ OPC_MADD_S = 0x20 | OPC_CP3,
+ OPC_MADD_D = 0x21 | OPC_CP3,
+ OPC_MADD_PS = 0x26 | OPC_CP3,
+ OPC_MSUB_S = 0x28 | OPC_CP3,
+ OPC_MSUB_D = 0x29 | OPC_CP3,
+ OPC_MSUB_PS = 0x2E | OPC_CP3,
+ OPC_NMADD_S = 0x30 | OPC_CP3,
+ OPC_NMADD_D = 0x31 | OPC_CP3,
+ OPC_NMADD_PS = 0x36 | OPC_CP3,
+ OPC_NMSUB_S = 0x38 | OPC_CP3,
+ OPC_NMSUB_D = 0x39 | OPC_CP3,
+ OPC_NMSUB_PS = 0x3E | OPC_CP3,
};
/* MSA Opcodes */
-#define MASK_MSA_MINOR(op) (MASK_OP_MAJOR(op) | (op & 0x3F))
+#define MASK_MSA_MINOR(op) (MASK_OP_MAJOR(op) | (op & 0x3F))
enum {
OPC_MSA_I8_00 = 0x00 | OPC_MSA,
OPC_MSA_I8_01 = 0x01 | OPC_MSA,
@@ -1193,14 +1193,14 @@ enum {
OPC_MSA_VEC = 0x1E | OPC_MSA,
/* MI10 instruction */
- OPC_LD_B = (0x20) | OPC_MSA,
- OPC_LD_H = (0x21) | OPC_MSA,
- OPC_LD_W = (0x22) | OPC_MSA,
- OPC_LD_D = (0x23) | OPC_MSA,
- OPC_ST_B = (0x24) | OPC_MSA,
- OPC_ST_H = (0x25) | OPC_MSA,
- OPC_ST_W = (0x26) | OPC_MSA,
- OPC_ST_D = (0x27) | OPC_MSA,
+ OPC_LD_B = (0x20) | OPC_MSA,
+ OPC_LD_H = (0x21) | OPC_MSA,
+ OPC_LD_W = (0x22) | OPC_MSA,
+ OPC_LD_D = (0x23) | OPC_MSA,
+ OPC_ST_B = (0x24) | OPC_MSA,
+ OPC_ST_H = (0x25) | OPC_MSA,
+ OPC_ST_W = (0x26) | OPC_MSA,
+ OPC_ST_D = (0x27) | OPC_MSA,
};
enum {
@@ -1219,34 +1219,34 @@ enum {
OPC_LDI_df = (0x6 << 23) | OPC_MSA_I5_07,
/* I8 instruction */
- OPC_ANDI_B = (0x0 << 24) | OPC_MSA_I8_00,
- OPC_BMNZI_B = (0x0 << 24) | OPC_MSA_I8_01,
- OPC_SHF_B = (0x0 << 24) | OPC_MSA_I8_02,
- OPC_ORI_B = (0x1 << 24) | OPC_MSA_I8_00,
- OPC_BMZI_B = (0x1 << 24) | OPC_MSA_I8_01,
- OPC_SHF_H = (0x1 << 24) | OPC_MSA_I8_02,
- OPC_NORI_B = (0x2 << 24) | OPC_MSA_I8_00,
- OPC_BSELI_B = (0x2 << 24) | OPC_MSA_I8_01,
- OPC_SHF_W = (0x2 << 24) | OPC_MSA_I8_02,
- OPC_XORI_B = (0x3 << 24) | OPC_MSA_I8_00,
+ OPC_ANDI_B = (0x0 << 24) | OPC_MSA_I8_00,
+ OPC_BMNZI_B = (0x0 << 24) | OPC_MSA_I8_01,
+ OPC_SHF_B = (0x0 << 24) | OPC_MSA_I8_02,
+ OPC_ORI_B = (0x1 << 24) | OPC_MSA_I8_00,
+ OPC_BMZI_B = (0x1 << 24) | OPC_MSA_I8_01,
+ OPC_SHF_H = (0x1 << 24) | OPC_MSA_I8_02,
+ OPC_NORI_B = (0x2 << 24) | OPC_MSA_I8_00,
+ OPC_BSELI_B = (0x2 << 24) | OPC_MSA_I8_01,
+ OPC_SHF_W = (0x2 << 24) | OPC_MSA_I8_02,
+ OPC_XORI_B = (0x3 << 24) | OPC_MSA_I8_00,
/* VEC/2R/2RF instruction */
- OPC_AND_V = (0x00 << 21) | OPC_MSA_VEC,
- OPC_OR_V = (0x01 << 21) | OPC_MSA_VEC,
- OPC_NOR_V = (0x02 << 21) | OPC_MSA_VEC,
- OPC_XOR_V = (0x03 << 21) | OPC_MSA_VEC,
- OPC_BMNZ_V = (0x04 << 21) | OPC_MSA_VEC,
- OPC_BMZ_V = (0x05 << 21) | OPC_MSA_VEC,
- OPC_BSEL_V = (0x06 << 21) | OPC_MSA_VEC,
+ OPC_AND_V = (0x00 << 21) | OPC_MSA_VEC,
+ OPC_OR_V = (0x01 << 21) | OPC_MSA_VEC,
+ OPC_NOR_V = (0x02 << 21) | OPC_MSA_VEC,
+ OPC_XOR_V = (0x03 << 21) | OPC_MSA_VEC,
+ OPC_BMNZ_V = (0x04 << 21) | OPC_MSA_VEC,
+ OPC_BMZ_V = (0x05 << 21) | OPC_MSA_VEC,
+ OPC_BSEL_V = (0x06 << 21) | OPC_MSA_VEC,
OPC_MSA_2R = (0x18 << 21) | OPC_MSA_VEC,
OPC_MSA_2RF = (0x19 << 21) | OPC_MSA_VEC,
/* 2R instruction df(bits 17..16) = _b, _h, _w, _d */
- OPC_FILL_df = (0x00 << 18) | OPC_MSA_2R,
- OPC_PCNT_df = (0x01 << 18) | OPC_MSA_2R,
- OPC_NLOC_df = (0x02 << 18) | OPC_MSA_2R,
- OPC_NLZC_df = (0x03 << 18) | OPC_MSA_2R,
+ OPC_FILL_df = (0x00 << 18) | OPC_MSA_2R,
+ OPC_PCNT_df = (0x01 << 18) | OPC_MSA_2R,
+ OPC_NLOC_df = (0x02 << 18) | OPC_MSA_2R,
+ OPC_NLZC_df = (0x03 << 18) | OPC_MSA_2R,
/* 2RF instruction df(bit 16) = _w, _d */
OPC_FCLASS_df = (0x00 << 17) | OPC_MSA_2RF,
@@ -2476,43 +2476,43 @@ static TCGv mxu_CR;
TCGv_i32 helper_tmp = tcg_const_i32(arg); \
gen_helper_##name(cpu_env, helper_tmp); \
tcg_temp_free_i32(helper_tmp); \
- } while(0)
+ } while (0)
#define gen_helper_0e1i(name, arg1, arg2) do { \
TCGv_i32 helper_tmp = tcg_const_i32(arg2); \
gen_helper_##name(cpu_env, arg1, helper_tmp); \
tcg_temp_free_i32(helper_tmp); \
- } while(0)
+ } while (0)
#define gen_helper_1e0i(name, ret, arg1) do { \
TCGv_i32 helper_tmp = tcg_const_i32(arg1); \
gen_helper_##name(ret, cpu_env, helper_tmp); \
tcg_temp_free_i32(helper_tmp); \
- } while(0)
+ } while (0)
#define gen_helper_1e1i(name, ret, arg1, arg2) do { \
TCGv_i32 helper_tmp = tcg_const_i32(arg2); \
gen_helper_##name(ret, cpu_env, arg1, helper_tmp); \
tcg_temp_free_i32(helper_tmp); \
- } while(0)
+ } while (0)
#define gen_helper_0e2i(name, arg1, arg2, arg3) do { \
TCGv_i32 helper_tmp = tcg_const_i32(arg3); \
gen_helper_##name(cpu_env, arg1, arg2, helper_tmp); \
tcg_temp_free_i32(helper_tmp); \
- } while(0)
+ } while (0)
#define gen_helper_1e2i(name, ret, arg1, arg2, arg3) do { \
TCGv_i32 helper_tmp = tcg_const_i32(arg3); \
gen_helper_##name(ret, cpu_env, arg1, arg2, helper_tmp); \
tcg_temp_free_i32(helper_tmp); \
- } while(0)
+ } while (0)
#define gen_helper_0e3i(name, arg1, arg2, arg3, arg4) do { \
TCGv_i32 helper_tmp = tcg_const_i32(arg4); \
gen_helper_##name(cpu_env, arg1, arg2, arg3, helper_tmp); \
tcg_temp_free_i32(helper_tmp); \
- } while(0)
+ } while (0)
typedef struct DisasContext {
DisasContextBase base;
@@ -2661,7 +2661,7 @@ static inline void gen_load_srsgpr(int from, int to)
tcg_temp_free(t0);
}
-static inline void gen_store_srsgpr (int from, int to)
+static inline void gen_store_srsgpr(int from, int to)
{
if (to != 0) {
TCGv t0 = tcg_temp_new();
@@ -3181,8 +3181,8 @@ static inline void check_eva(DisasContext *ctx)
static inline void gen_cmp ## type ## _ ## fmt(DisasContext *ctx, int n, \
int ft, int fs, int cc) \
{ \
- TCGv_i##bits fp0 = tcg_temp_new_i##bits (); \
- TCGv_i##bits fp1 = tcg_temp_new_i##bits (); \
+ TCGv_i##bits fp0 = tcg_temp_new_i##bits(); \
+ TCGv_i##bits fp1 = tcg_temp_new_i##bits(); \
switch (ifmt) { \
case FMT_PS: \
check_ps(ctx); \
@@ -3199,8 +3199,8 @@ static inline void gen_cmp ## type ## _ ## fmt(DisasContext *ctx, int n, \
} \
break; \
} \
- gen_ldcmp_fpr##bits (ctx, fp0, fs); \
- gen_ldcmp_fpr##bits (ctx, fp1, ft); \
+ gen_ldcmp_fpr##bits(ctx, fp0, fs); \
+ gen_ldcmp_fpr##bits(ctx, fp1, ft); \
switch (n) { \
case 0: \
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _f, fp0, fp1, cc); \
@@ -3253,8 +3253,8 @@ static inline void gen_cmp ## type ## _ ## fmt(DisasContext *ctx, int n, \
default: \
abort(); \
} \
- tcg_temp_free_i##bits (fp0); \
- tcg_temp_free_i##bits (fp1); \
+ tcg_temp_free_i##bits(fp0); \
+ tcg_temp_free_i##bits(fp1); \
}
FOP_CONDS(, 0, d, FMT_D, 64)
@@ -3266,7 +3266,7 @@ FOP_CONDS(abs, 1, ps, FMT_PS, 64)
#undef FOP_CONDS
#define FOP_CONDNS(fmt, ifmt, bits, STORE) \
-static inline void gen_r6_cmp_ ## fmt(DisasContext * ctx, int n, \
+static inline void gen_r6_cmp_ ## fmt(DisasContext *ctx, int n, \
int ft, int fs, int fd) \
{ \
TCGv_i ## bits fp0 = tcg_temp_new_i ## bits(); \
@@ -3347,8 +3347,8 @@ static inline void gen_r6_cmp_ ## fmt(DisasContext * ctx, int n, \
abort(); \
} \
STORE; \
- tcg_temp_free_i ## bits (fp0); \
- tcg_temp_free_i ## bits (fp1); \
+ tcg_temp_free_i ## bits(fp0); \
+ tcg_temp_free_i ## bits(fp1); \
}
FOP_CONDNS(d, FMT_D, 64, gen_store_fpr64(ctx, fp0, fd))
@@ -3359,28 +3359,28 @@ FOP_CONDNS(s, FMT_S, 32, gen_store_fpr32(ctx, fp0, fd))
/* load/store instructions. */
#ifdef CONFIG_USER_ONLY
-#define OP_LD_ATOMIC(insn,fname) \
+#define OP_LD_ATOMIC(insn, fname) \
static inline void op_ld_##insn(TCGv ret, TCGv arg1, int mem_idx, \
DisasContext *ctx) \
{ \
TCGv t0 = tcg_temp_new(); \
tcg_gen_mov_tl(t0, arg1); \
tcg_gen_qemu_##fname(ret, arg1, ctx->mem_idx); \
- tcg_gen_st_tl(t0, cpu_env, offsetof(CPUMIPSState, lladdr)); \
- tcg_gen_st_tl(ret, cpu_env, offsetof(CPUMIPSState, llval)); \
+ tcg_gen_st_tl(t0, cpu_env, offsetof(CPUMIPSState, lladdr)); \
+ tcg_gen_st_tl(ret, cpu_env, offsetof(CPUMIPSState, llval)); \
tcg_temp_free(t0); \
}
#else
-#define OP_LD_ATOMIC(insn,fname) \
+#define OP_LD_ATOMIC(insn, fname) \
static inline void op_ld_##insn(TCGv ret, TCGv arg1, int mem_idx, \
DisasContext *ctx) \
{ \
gen_helper_1e1i(insn, ret, arg1, mem_idx); \
}
#endif
-OP_LD_ATOMIC(ll,ld32s);
+OP_LD_ATOMIC(ll, ld32s);
#if defined(TARGET_MIPS64)
-OP_LD_ATOMIC(lld,ld64);
+OP_LD_ATOMIC(lld, ld64);
#endif
#undef OP_LD_ATOMIC
@@ -4227,7 +4227,10 @@ static void gen_arith(DisasContext *ctx, uint32_t opc,
tcg_temp_free(t2);
tcg_gen_brcondi_tl(TCG_COND_GE, t1, 0, l1);
tcg_temp_free(t1);
- /* operands of different sign, first operand and result different sign */
+ /*
+ * Operands of different sign, first operand and result different
+ * sign.
+ */
generate_exception(ctx, EXCP_OVERFLOW);
gen_set_label(l1);
gen_store_gpr(t0, rd);
@@ -5777,8 +5780,8 @@ static void gen_loongson_multimedia(DisasContext *ctx, int rd, int rs, int rt)
}
/* Traps */
-static void gen_trap (DisasContext *ctx, uint32_t opc,
- int rs, int rt, int16_t imm)
+static void gen_trap(DisasContext *ctx, uint32_t opc,
+ int rs, int rt, int16_t imm)
{
int cond;
TCGv t0 = tcg_temp_new();
@@ -5900,10 +5903,10 @@ static inline void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest)
}
/* Branches (before delay slot) */
-static void gen_compute_branch (DisasContext *ctx, uint32_t opc,
- int insn_bytes,
- int rs, int rt, int32_t offset,
- int delayslot_size)
+static void gen_compute_branch(DisasContext *ctx, uint32_t opc,
+ int insn_bytes,
+ int rs, int rt, int32_t offset,
+ int delayslot_size)
{
target_ulong btgt = -1;
int blink = 0;
@@ -9731,7 +9734,7 @@ static void gen_dmtc0(DisasContext *ctx, TCGv arg, int reg, int sel)
case 7:
CP0_CHECK(ctx->kscrexist & (1 << sel));
tcg_gen_st_tl(arg, cpu_env,
- offsetof(CPUMIPSState, CP0_KScratch[sel-2]));
+ offsetof(CPUMIPSState, CP0_KScratch[sel - 2]));
register_name = "KScratch";
break;
default:
@@ -9897,84 +9900,86 @@ static void gen_mftr(CPUMIPSState *env, DisasContext *ctx, int rt, int rd,
default:
gen_mfc0(ctx, t0, rt, sel);
}
- } else switch (sel) {
- /* GPR registers. */
- case 0:
- gen_helper_1e0i(mftgpr, t0, rt);
- break;
- /* Auxiliary CPU registers */
- case 1:
- switch (rt) {
+ } else {
+ switch (sel) {
+ /* GPR registers. */
case 0:
- gen_helper_1e0i(mftlo, t0, 0);
+ gen_helper_1e0i(mftgpr, t0, rt);
break;
+ /* Auxiliary CPU registers */
case 1:
- gen_helper_1e0i(mfthi, t0, 0);
+ switch (rt) {
+ case 0:
+ gen_helper_1e0i(mftlo, t0, 0);
+ break;
+ case 1:
+ gen_helper_1e0i(mfthi, t0, 0);
+ break;
+ case 2:
+ gen_helper_1e0i(mftacx, t0, 0);
+ break;
+ case 4:
+ gen_helper_1e0i(mftlo, t0, 1);
+ break;
+ case 5:
+ gen_helper_1e0i(mfthi, t0, 1);
+ break;
+ case 6:
+ gen_helper_1e0i(mftacx, t0, 1);
+ break;
+ case 8:
+ gen_helper_1e0i(mftlo, t0, 2);
+ break;
+ case 9:
+ gen_helper_1e0i(mfthi, t0, 2);
+ break;
+ case 10:
+ gen_helper_1e0i(mftacx, t0, 2);
+ break;
+ case 12:
+ gen_helper_1e0i(mftlo, t0, 3);
+ break;
+ case 13:
+ gen_helper_1e0i(mfthi, t0, 3);
+ break;
+ case 14:
+ gen_helper_1e0i(mftacx, t0, 3);
+ break;
+ case 16:
+ gen_helper_mftdsp(t0, cpu_env);
+ break;
+ default:
+ goto die;
+ }
break;
+ /* Floating point (COP1). */
case 2:
- gen_helper_1e0i(mftacx, t0, 0);
+ /* XXX: For now we support only a single FPU context. */
+ if (h == 0) {
+ TCGv_i32 fp0 = tcg_temp_new_i32();
+
+ gen_load_fpr32(ctx, fp0, rt);
+ tcg_gen_ext_i32_tl(t0, fp0);
+ tcg_temp_free_i32(fp0);
+ } else {
+ TCGv_i32 fp0 = tcg_temp_new_i32();
+
+ gen_load_fpr32h(ctx, fp0, rt);
+ tcg_gen_ext_i32_tl(t0, fp0);
+ tcg_temp_free_i32(fp0);
+ }
break;
- case 4:
- gen_helper_1e0i(mftlo, t0, 1);
+ case 3:
+ /* XXX: For now we support only a single FPU context. */
+ gen_helper_1e0i(cfc1, t0, rt);
break;
+ /* COP2: Not implemented. */
+ case 4:
case 5:
- gen_helper_1e0i(mfthi, t0, 1);
- break;
- case 6:
- gen_helper_1e0i(mftacx, t0, 1);
- break;
- case 8:
- gen_helper_1e0i(mftlo, t0, 2);
- break;
- case 9:
- gen_helper_1e0i(mfthi, t0, 2);
- break;
- case 10:
- gen_helper_1e0i(mftacx, t0, 2);
- break;
- case 12:
- gen_helper_1e0i(mftlo, t0, 3);
- break;
- case 13:
- gen_helper_1e0i(mfthi, t0, 3);
- break;
- case 14:
- gen_helper_1e0i(mftacx, t0, 3);
- break;
- case 16:
- gen_helper_mftdsp(t0, cpu_env);
- break;
+ /* fall through */
default:
goto die;
}
- break;
- /* Floating point (COP1). */
- case 2:
- /* XXX: For now we support only a single FPU context. */
- if (h == 0) {
- TCGv_i32 fp0 = tcg_temp_new_i32();
-
- gen_load_fpr32(ctx, fp0, rt);
- tcg_gen_ext_i32_tl(t0, fp0);
- tcg_temp_free_i32(fp0);
- } else {
- TCGv_i32 fp0 = tcg_temp_new_i32();
-
- gen_load_fpr32h(ctx, fp0, rt);
- tcg_gen_ext_i32_tl(t0, fp0);
- tcg_temp_free_i32(fp0);
- }
- break;
- case 3:
- /* XXX: For now we support only a single FPU context. */
- gen_helper_1e0i(cfc1, t0, rt);
- break;
- /* COP2: Not implemented. */
- case 4:
- case 5:
- /* fall through */
- default:
- goto die;
}
trace_mips_translate_tr("mftr", rt, u, sel, h);
gen_store_gpr(t0, rd);
@@ -10099,91 +10104,93 @@ static void gen_mttr(CPUMIPSState *env, DisasContext *ctx, int rd, int rt,
default:
gen_mtc0(ctx, t0, rd, sel);
}
- } else switch (sel) {
- /* GPR registers. */
- case 0:
- gen_helper_0e1i(mttgpr, t0, rd);
- break;
- /* Auxiliary CPU registers */
- case 1:
- switch (rd) {
+ } else {
+ switch (sel) {
+ /* GPR registers. */
case 0:
- gen_helper_0e1i(mttlo, t0, 0);
+ gen_helper_0e1i(mttgpr, t0, rd);
break;
+ /* Auxiliary CPU registers */
case 1:
- gen_helper_0e1i(mtthi, t0, 0);
+ switch (rd) {
+ case 0:
+ gen_helper_0e1i(mttlo, t0, 0);
+ break;
+ case 1:
+ gen_helper_0e1i(mtthi, t0, 0);
+ break;
+ case 2:
+ gen_helper_0e1i(mttacx, t0, 0);
+ break;
+ case 4:
+ gen_helper_0e1i(mttlo, t0, 1);
+ break;
+ case 5:
+ gen_helper_0e1i(mtthi, t0, 1);
+ break;
+ case 6:
+ gen_helper_0e1i(mttacx, t0, 1);
+ break;
+ case 8:
+ gen_helper_0e1i(mttlo, t0, 2);
+ break;
+ case 9:
+ gen_helper_0e1i(mtthi, t0, 2);
+ break;
+ case 10:
+ gen_helper_0e1i(mttacx, t0, 2);
+ break;
+ case 12:
+ gen_helper_0e1i(mttlo, t0, 3);
+ break;
+ case 13:
+ gen_helper_0e1i(mtthi, t0, 3);
+ break;
+ case 14:
+ gen_helper_0e1i(mttacx, t0, 3);
+ break;
+ case 16:
+ gen_helper_mttdsp(cpu_env, t0);
+ break;
+ default:
+ goto die;
+ }
break;
+ /* Floating point (COP1). */
case 2:
- gen_helper_0e1i(mttacx, t0, 0);
+ /* XXX: For now we support only a single FPU context. */
+ if (h == 0) {
+ TCGv_i32 fp0 = tcg_temp_new_i32();
+
+ tcg_gen_trunc_tl_i32(fp0, t0);
+ gen_store_fpr32(ctx, fp0, rd);
+ tcg_temp_free_i32(fp0);
+ } else {
+ TCGv_i32 fp0 = tcg_temp_new_i32();
+
+ tcg_gen_trunc_tl_i32(fp0, t0);
+ gen_store_fpr32h(ctx, fp0, rd);
+ tcg_temp_free_i32(fp0);
+ }
break;
- case 4:
- gen_helper_0e1i(mttlo, t0, 1);
+ case 3:
+ /* XXX: For now we support only a single FPU context. */
+ {
+ TCGv_i32 fs_tmp = tcg_const_i32(rd);
+
+ gen_helper_0e2i(ctc1, t0, fs_tmp, rt);
+ tcg_temp_free_i32(fs_tmp);
+ }
+ /* Stop translation as we may have changed hflags */
+ ctx->base.is_jmp = DISAS_STOP;
break;
+ /* COP2: Not implemented. */
+ case 4:
case 5:
- gen_helper_0e1i(mtthi, t0, 1);
- break;
- case 6:
- gen_helper_0e1i(mttacx, t0, 1);
- break;
- case 8:
- gen_helper_0e1i(mttlo, t0, 2);
- break;
- case 9:
- gen_helper_0e1i(mtthi, t0, 2);
- break;
- case 10:
- gen_helper_0e1i(mttacx, t0, 2);
- break;
- case 12:
- gen_helper_0e1i(mttlo, t0, 3);
- break;
- case 13:
- gen_helper_0e1i(mtthi, t0, 3);
- break;
- case 14:
- gen_helper_0e1i(mttacx, t0, 3);
- break;
- case 16:
- gen_helper_mttdsp(cpu_env, t0);
- break;
+ /* fall through */
default:
goto die;
}
- break;
- /* Floating point (COP1). */
- case 2:
- /* XXX: For now we support only a single FPU context. */
- if (h == 0) {
- TCGv_i32 fp0 = tcg_temp_new_i32();
-
- tcg_gen_trunc_tl_i32(fp0, t0);
- gen_store_fpr32(ctx, fp0, rd);
- tcg_temp_free_i32(fp0);
- } else {
- TCGv_i32 fp0 = tcg_temp_new_i32();
-
- tcg_gen_trunc_tl_i32(fp0, t0);
- gen_store_fpr32h(ctx, fp0, rd);
- tcg_temp_free_i32(fp0);
- }
- break;
- case 3:
- /* XXX: For now we support only a single FPU context. */
- {
- TCGv_i32 fs_tmp = tcg_const_i32(rd);
-
- gen_helper_0e2i(ctc1, t0, fs_tmp, rt);
- tcg_temp_free_i32(fs_tmp);
- }
- /* Stop translation as we may have changed hflags */
- ctx->base.is_jmp = DISAS_STOP;
- break;
- /* COP2: Not implemented. */
- case 4:
- case 5:
- /* fall through */
- default:
- goto die;
}
trace_mips_translate_tr("mttr", rd, u, sel, h);
tcg_temp_free(t0);
@@ -10429,7 +10436,7 @@ static void gen_compute_branch1(DisasContext *ctx, uint32_t op,
{
TCGv_i32 t1 = tcg_temp_new_i32();
tcg_gen_shri_i32(t0, fpu_fcr31, get_fp_bit(cc));
- tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc+1));
+ tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc + 1));
tcg_gen_nand_i32(t0, t0, t1);
tcg_temp_free_i32(t1);
tcg_gen_andi_i32(t0, t0, 1);
@@ -10440,7 +10447,7 @@ static void gen_compute_branch1(DisasContext *ctx, uint32_t op,
{
TCGv_i32 t1 = tcg_temp_new_i32();
tcg_gen_shri_i32(t0, fpu_fcr31, get_fp_bit(cc));
- tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc+1));
+ tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc + 1));
tcg_gen_or_i32(t0, t0, t1);
tcg_temp_free_i32(t1);
tcg_gen_andi_i32(t0, t0, 1);
@@ -10451,11 +10458,11 @@ static void gen_compute_branch1(DisasContext *ctx, uint32_t op,
{
TCGv_i32 t1 = tcg_temp_new_i32();
tcg_gen_shri_i32(t0, fpu_fcr31, get_fp_bit(cc));
- tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc+1));
+ tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc + 1));
tcg_gen_and_i32(t0, t0, t1);
- tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc+2));
+ tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc + 2));
tcg_gen_and_i32(t0, t0, t1);
- tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc+3));
+ tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc + 3));
tcg_gen_nand_i32(t0, t0, t1);
tcg_temp_free_i32(t1);
tcg_gen_andi_i32(t0, t0, 1);
@@ -10466,11 +10473,11 @@ static void gen_compute_branch1(DisasContext *ctx, uint32_t op,
{
TCGv_i32 t1 = tcg_temp_new_i32();
tcg_gen_shri_i32(t0, fpu_fcr31, get_fp_bit(cc));
- tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc+1));
+ tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc + 1));
tcg_gen_or_i32(t0, t0, t1);
- tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc+2));
+ tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc + 2));
tcg_gen_or_i32(t0, t0, t1);
- tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc+3));
+ tcg_gen_shri_i32(t1, fpu_fcr31, get_fp_bit(cc + 3));
tcg_gen_or_i32(t0, t0, t1);
tcg_temp_free_i32(t1);
tcg_gen_andi_i32(t0, t0, 1);
@@ -10934,7 +10941,7 @@ static inline void gen_movcf_ps(DisasContext *ctx, int fs, int fd,
gen_store_fpr32(ctx, t0, fd);
gen_set_label(l1);
- tcg_gen_andi_i32(t0, fpu_fcr31, 1 << get_fp_bit(cc+1));
+ tcg_gen_andi_i32(t0, fpu_fcr31, 1 << get_fp_bit(cc + 1));
tcg_gen_brcondi_i32(cond, t0, 0, l2);
gen_load_fpr32h(ctx, t0, fs);
gen_store_fpr32h(ctx, t0, fd);
@@ -11548,9 +11555,9 @@ static void gen_farith(DisasContext *ctx, enum fopcode op1,
case OPC_CMP_NGT_S:
check_insn_opc_removed(ctx, ISA_MIPS32R6);
if (ctx->opcode & (1 << 6)) {
- gen_cmpabs_s(ctx, func-48, ft, fs, cc);
+ gen_cmpabs_s(ctx, func - 48, ft, fs, cc);
} else {
- gen_cmp_s(ctx, func-48, ft, fs, cc);
+ gen_cmp_s(ctx, func - 48, ft, fs, cc);
}
break;
case OPC_ADD_D:
@@ -12030,9 +12037,9 @@ static void gen_farith(DisasContext *ctx, enum fopcode op1,
case OPC_CMP_NGT_D:
check_insn_opc_removed(ctx, ISA_MIPS32R6);
if (ctx->opcode & (1 << 6)) {
- gen_cmpabs_d(ctx, func-48, ft, fs, cc);
+ gen_cmpabs_d(ctx, func - 48, ft, fs, cc);
} else {
- gen_cmp_d(ctx, func-48, ft, fs, cc);
+ gen_cmp_d(ctx, func - 48, ft, fs, cc);
}
break;
case OPC_CVT_S_D:
@@ -12432,9 +12439,9 @@ static void gen_farith(DisasContext *ctx, enum fopcode op1,
case OPC_CMP_LE_PS:
case OPC_CMP_NGT_PS:
if (ctx->opcode & (1 << 6)) {
- gen_cmpabs_ps(ctx, func-48, ft, fs, cc);
+ gen_cmpabs_ps(ctx, func - 48, ft, fs, cc);
} else {
- gen_cmp_ps(ctx, func-48, ft, fs, cc);
+ gen_cmp_ps(ctx, func - 48, ft, fs, cc);
}
break;
default:
@@ -14247,7 +14254,7 @@ static int decode_mips16_opc(CPUMIPSState *env, DisasContext *ctx)
case RR_RY_CNVT_SEH:
tcg_gen_ext16s_tl(cpu_gpr[rx], cpu_gpr[rx]);
break;
-#if defined (TARGET_MIPS64)
+#if defined(TARGET_MIPS64)
case RR_RY_CNVT_ZEW:
check_insn(ctx, ISA_MIPS64);
check_mips_64(ctx);
@@ -14971,11 +14978,11 @@ static int mmreg2(int r)
/* Signed immediate */
#define SIMM(op, start, width) \
- ((int32_t)(((op >> start) & ((~0U) >> (32-width))) \
- << (32-width)) \
- >> (32-width))
+ ((int32_t)(((op >> start) & ((~0U) >> (32 - width))) \
+ << (32 - width)) \
+ >> (32 - width))
/* Zero-extended immediate */
-#define ZIMM(op, start, width) ((op >> start) & ((~0U) >> (32-width)))
+#define ZIMM(op, start, width) ((op >> start) & ((~0U) >> (32 - width)))
static void gen_addiur1sp(DisasContext *ctx)
{
@@ -15669,7 +15676,10 @@ static void gen_pool32axf(CPUMIPSState *env, DisasContext *ctx, int rt, int rs)
save_cpu_state(ctx, 1);
gen_helper_di(t0, cpu_env);
gen_store_gpr(t0, rs);
- /* Stop translation as we may have switched the execution mode */
+ /*
+ * Stop translation as we may have switched the execution
+ * mode.
+ */
ctx->base.is_jmp = DISAS_STOP;
tcg_temp_free(t0);
}
@@ -15791,9 +15801,9 @@ static void gen_pool32fxf(DisasContext *ctx, int rt, int rs)
int extension = (ctx->opcode >> 6) & 0x3ff;
uint32_t mips32_op;
-#define FLOAT_1BIT_FMT(opc, fmt) (fmt << 8) | opc
-#define FLOAT_2BIT_FMT(opc, fmt) (fmt << 7) | opc
-#define COND_FLOAT_MOV(opc, cond) (cond << 7) | opc
+#define FLOAT_1BIT_FMT(opc, fmt) ((fmt << 8) | opc)
+#define FLOAT_2BIT_FMT(opc, fmt) ((fmt << 7) | opc)
+#define COND_FLOAT_MOV(opc, cond) ((cond << 7) | opc)
switch (extension) {
case FLOAT_1BIT_FMT(CFC1, 0):
@@ -30128,7 +30138,7 @@ void gen_intermediate_code(CPUState *cs, TranslationBlock *tb, int max_insns)
translator_loop(&mips_tr_ops, &ctx.base, cs, tb, max_insns);
}
-static void fpu_dump_state(CPUMIPSState *env, FILE *f, int flags)
+static void fpu_dump_state(CPUMIPSState *env, FILE * f, int flags)
{
int i;
int is_fpu64 = !!(env->hflags & MIPS_HFLAG_F64);
@@ -30153,7 +30163,7 @@ static void fpu_dump_state(CPUMIPSState *env, FILE *f, int flags)
(double)tmp.fs[FP_ENDIAN_IDX], \
(double)tmp.fs[!FP_ENDIAN_IDX]); \
} \
- } while(0)
+ } while (0)
qemu_fprintf(f,
@@ -30190,7 +30200,8 @@ void mips_cpu_dump_state(CPUState *cs, FILE *f, int flags)
}
}
- qemu_fprintf(f, "CP0 Status 0x%08x Cause 0x%08x EPC 0x" TARGET_FMT_lx "\n",
+ qemu_fprintf(f, "CP0 Status 0x%08x Cause 0x%08x EPC 0x"
+ TARGET_FMT_lx "\n",
env->CP0_Status, env->CP0_Cause, env->CP0_EPC);
qemu_fprintf(f, " Config0 0x%08x Config1 0x%08x LLAddr 0x%016"
PRIx64 "\n",
@@ -30211,7 +30222,8 @@ void mips_tcg_init(void)
cpu_gpr[0] = NULL;
for (i = 1; i < 32; i++)
cpu_gpr[i] = tcg_global_mem_new(cpu_env,
- offsetof(CPUMIPSState, active_tc.gpr[i]),
+ offsetof(CPUMIPSState,
+ active_tc.gpr[i]),
regnames[i]);
for (i = 0; i < 32; i++) {
@@ -30239,7 +30251,8 @@ void mips_tcg_init(void)
regnames_LO[i]);
}
cpu_dspctrl = tcg_global_mem_new(cpu_env,
- offsetof(CPUMIPSState, active_tc.DSPControl),
+ offsetof(CPUMIPSState,
+ active_tc.DSPControl),
"DSPControl");
bcond = tcg_global_mem_new(cpu_env,
offsetof(CPUMIPSState, bcond), "bcond");
diff --git a/target/riscv/translate.c b/target/riscv/translate.c
index 8d6ab73258..adeddb85f6 100644
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -708,26 +708,9 @@ static bool gen_shift(DisasContext *ctx, arg_r *a,
#include "insn_trans/trans_rvd.inc.c"
#include "insn_trans/trans_privileged.inc.c"
-/*
- * Auto-generated decoder.
- * Note that the 16-bit decoder reuses some of the trans_* functions
- * initially declared by the 32-bit decoder, which results in duplicate
- * declaration warnings. Suppress them.
- */
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wredundant-decls"
-# ifdef __clang__
-# pragma GCC diagnostic ignored "-Wtypedef-redefinition"
-# endif
-#endif
-
+/* Include the auto-generated decoder for 16 bit insn */
#include "decode_insn16.inc.c"
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
-# pragma GCC diagnostic pop
-#endif
-
static void decode_opc(DisasContext *ctx)
{
/* check for compressed insn */
diff --git a/tests/decode/err_field6.decode b/tests/decode/err_field6.decode
new file mode 100644
index 0000000000..a719884572
--- /dev/null
+++ b/tests/decode/err_field6.decode
@@ -0,0 +1,5 @@
+# This work is licensed under the terms of the GNU LGPL, version 2 or later.
+# See the COPYING.LIB file in the top-level directory.
+
+# Diagnose no bits in field
+%field
diff --git a/tests/decode/succ_function.decode b/tests/decode/succ_function.decode
new file mode 100644
index 0000000000..7751b1784e
--- /dev/null
+++ b/tests/decode/succ_function.decode
@@ -0,0 +1,6 @@
+# This work is licensed under the terms of the GNU LGPL, version 2 or later.
+# See the COPYING.LIB file in the top-level directory.
+
+# "Field" as parameter pulled from DisasContext.
+%foo !function=foo
+foo 00000000000000000000000000000000 %foo
diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041
index 26bf1701eb..8bc8f81db7 100755
--- a/tests/qemu-iotests/041
+++ b/tests/qemu-iotests/041
@@ -741,8 +741,15 @@ class TestUnbackedSource(iotests.QMPTestCase):
def setUp(self):
qemu_img('create', '-f', iotests.imgfmt, test_img,
str(TestUnbackedSource.image_len))
- self.vm = iotests.VM().add_drive(test_img)
+ self.vm = iotests.VM()
self.vm.launch()
+ result = self.vm.qmp('blockdev-add', node_name='drive0',
+ driver=iotests.imgfmt,
+ file={
+ 'driver': 'file',
+ 'filename': test_img,
+ })
+ self.assert_qmp(result, 'return', {})
def tearDown(self):
self.vm.shutdown()
@@ -751,7 +758,7 @@ class TestUnbackedSource(iotests.QMPTestCase):
def test_absolute_paths_full(self):
self.assert_no_active_block_jobs()
- result = self.vm.qmp('drive-mirror', device='drive0',
+ result = self.vm.qmp('drive-mirror', job_id='drive0', device='drive0',
sync='full', target=target_img,
mode='absolute-paths')
self.assert_qmp(result, 'return', {})
@@ -760,7 +767,7 @@ class TestUnbackedSource(iotests.QMPTestCase):
def test_absolute_paths_top(self):
self.assert_no_active_block_jobs()
- result = self.vm.qmp('drive-mirror', device='drive0',
+ result = self.vm.qmp('drive-mirror', job_id='drive0', device='drive0',
sync='top', target=target_img,
mode='absolute-paths')
self.assert_qmp(result, 'return', {})
@@ -769,13 +776,60 @@ class TestUnbackedSource(iotests.QMPTestCase):
def test_absolute_paths_none(self):
self.assert_no_active_block_jobs()
- result = self.vm.qmp('drive-mirror', device='drive0',
+ result = self.vm.qmp('drive-mirror', job_id='drive0', device='drive0',
sync='none', target=target_img,
mode='absolute-paths')
self.assert_qmp(result, 'return', {})
self.complete_and_wait()
self.assert_no_active_block_jobs()
+ def test_existing_full(self):
+ qemu_img('create', '-f', iotests.imgfmt, target_img,
+ str(self.image_len))
+ qemu_io('-c', 'write -P 42 0 64k', target_img)
+
+ self.assert_no_active_block_jobs()
+ result = self.vm.qmp('drive-mirror', job_id='drive0', device='drive0',
+ sync='full', target=target_img, mode='existing')
+ self.assert_qmp(result, 'return', {})
+ self.complete_and_wait()
+ self.assert_no_active_block_jobs()
+
+ result = self.vm.qmp('blockdev-del', node_name='drive0')
+ self.assert_qmp(result, 'return', {})
+
+ self.assertTrue(iotests.compare_images(test_img, target_img),
+ 'target image does not match source after mirroring')
+
+ def test_blockdev_full(self):
+ qemu_img('create', '-f', iotests.imgfmt, target_img,
+ str(self.image_len))
+ qemu_io('-c', 'write -P 42 0 64k', target_img)
+
+ result = self.vm.qmp('blockdev-add', node_name='target',
+ driver=iotests.imgfmt,
+ file={
+ 'driver': 'file',
+ 'filename': target_img,
+ })
+ self.assert_qmp(result, 'return', {})
+
+ self.assert_no_active_block_jobs()
+ result = self.vm.qmp('blockdev-mirror', job_id='drive0', device='drive0',
+ sync='full', target='target')
+ self.assert_qmp(result, 'return', {})
+ self.complete_and_wait()
+ self.assert_no_active_block_jobs()
+
+ result = self.vm.qmp('blockdev-del', node_name='drive0')
+ self.assert_qmp(result, 'return', {})
+
+ result = self.vm.qmp('blockdev-del', node_name='target')
+ self.assert_qmp(result, 'return', {})
+
+ self.assertTrue(iotests.compare_images(test_img, target_img),
+ 'target image does not match source after mirroring')
+
class TestGranularity(iotests.QMPTestCase):
image_len = 10 * 1024 * 1024 # MB
diff --git a/tests/qemu-iotests/041.out b/tests/qemu-iotests/041.out
index e071d0b261..2c448b4239 100644
--- a/tests/qemu-iotests/041.out
+++ b/tests/qemu-iotests/041.out
@@ -1,5 +1,5 @@
-........................................................................................
+..........................................................................................
----------------------------------------------------------------------
-Ran 88 tests
+Ran 90 tests
OK
diff --git a/tests/qemu-iotests/122 b/tests/qemu-iotests/122
index 85c3a8d047..059011ebb1 100755
--- a/tests/qemu-iotests/122
+++ b/tests/qemu-iotests/122
@@ -257,6 +257,23 @@ for min_sparse in 4k 8k; do
$QEMU_IMG map --output=json "$TEST_IMG".orig | _filter_qemu_img_map
done
+
+echo
+echo '=== -n to a non-zero image ==='
+echo
+
+# Keep source zero
+_make_test_img 64M
+
+# Output is not zero, but has bdrv_has_zero_init() == 1
+TEST_IMG="$TEST_IMG".orig _make_test_img 64M
+$QEMU_IO -c "write -P 42 0 64k" "$TEST_IMG".orig | _filter_qemu_io
+
+# Convert with -n, which should not assume that the target is zeroed
+$QEMU_IMG convert -O $IMGFMT -n "$TEST_IMG" "$TEST_IMG".orig
+
+$QEMU_IMG compare "$TEST_IMG" "$TEST_IMG".orig
+
# success, all done
echo '*** done'
rm -f $seq.full
diff --git a/tests/qemu-iotests/122.out b/tests/qemu-iotests/122.out
index c576705284..849b6cc2ef 100644
--- a/tests/qemu-iotests/122.out
+++ b/tests/qemu-iotests/122.out
@@ -220,4 +220,12 @@ convert -c -S 8k
{ "start": 9216, "length": 8192, "depth": 0, "zero": true, "data": false},
{ "start": 17408, "length": 1024, "depth": 0, "zero": false, "data": true},
{ "start": 18432, "length": 67090432, "depth": 0, "zero": true, "data": false}]
+
+=== -n to a non-zero image ===
+
+Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
+Formatting 'TEST_DIR/t.IMGFMT.orig', fmt=IMGFMT size=67108864
+wrote 65536/65536 bytes at offset 0
+64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+Images are identical.
*** done
diff --git a/tests/qemu-iotests/141 b/tests/qemu-iotests/141
index 2197a82d45..8c2ae79f2b 100755
--- a/tests/qemu-iotests/141
+++ b/tests/qemu-iotests/141
@@ -58,16 +58,21 @@ test_blockjob()
}}}" \
'return'
+ # If "$2" is an event, we may or may not see it before the
+ # {"return": {}}. Therefore, filter the {"return": {}} out both
+ # here and in the next command. (Naturally, if we do not see it
+ # here, we will see it before the next command can be executed,
+ # so it will appear in the next _send_qemu_cmd's output.)
_send_qemu_cmd $QEMU_HANDLE \
"$1" \
"$2" \
- | _filter_img_create
+ | _filter_img_create | _filter_qmp_empty_return
# We want this to return an error because the block job is still running
_send_qemu_cmd $QEMU_HANDLE \
"{'execute': 'blockdev-del',
'arguments': {'node-name': 'drv0'}}" \
- 'error' | _filter_generated_node_ids
+ 'error' | _filter_generated_node_ids | _filter_qmp_empty_return
_send_qemu_cmd $QEMU_HANDLE \
"{'execute': 'block-job-cancel',
diff --git a/tests/qemu-iotests/141.out b/tests/qemu-iotests/141.out
index 4d71d9dcae..dbd3bdef6c 100644
--- a/tests/qemu-iotests/141.out
+++ b/tests/qemu-iotests/141.out
@@ -10,7 +10,6 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/m.
Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}}
-{"return": {}}
{"error": {"class": "GenericError", "desc": "Node drv0 is in use"}}
{"return": {}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "job0"}}
@@ -27,7 +26,6 @@ Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "job0"}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "mirror"}}
-{"return": {}}
{"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: mirror"}}
{"return": {}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "job0"}}
@@ -42,7 +40,6 @@ Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.
{"return": {}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}}
-{"return": {}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "job0"}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}}
{"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: commit"}}
@@ -61,7 +58,6 @@ wrote 1048576/1048576 bytes at offset 0
{"return": {}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}}
-{"return": {}}
{"error": {"class": "GenericError", "desc": "Node drv0 is in use"}}
{"return": {}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "job0"}}
@@ -77,7 +73,6 @@ wrote 1048576/1048576 bytes at offset 0
{"return": {}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}}
-{"return": {}}
{"error": {"class": "GenericError", "desc": "Node drv0 is in use"}}
{"return": {}}
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "job0"}}
diff --git a/tests/qemu-iotests/188 b/tests/qemu-iotests/188
index be7278aa65..afca44df54 100755
--- a/tests/qemu-iotests/188
+++ b/tests/qemu-iotests/188
@@ -48,7 +48,7 @@ SECRETALT="secret,id=sec0,data=platypus"
_make_test_img --object $SECRET -o "encrypt.format=luks,encrypt.key-secret=sec0,encrypt.iter-time=10" $size
-IMGSPEC="driver=$IMGFMT,file.filename=$TEST_IMG,encrypt.key-secret=sec0"
+IMGSPEC="driver=$IMGFMT,encrypt.key-secret=sec0,file.filename=$TEST_IMG"
QEMU_IO_OPTIONS=$QEMU_IO_OPTIONS_NO_FMT
@@ -68,6 +68,24 @@ echo
echo "== verify open failure with wrong password =="
$QEMU_IO --object $SECRETALT -c "read -P 0xa 0 $size" --image-opts $IMGSPEC | _filter_qemu_io | _filter_testdir
+_cleanup_test_img
+
+echo
+echo "== verify that has_zero_init returns false when preallocating =="
+
+# Empty source file
+if [ -n "$TEST_IMG_FILE" ]; then
+ TEST_IMG_FILE="${TEST_IMG_FILE}.orig" _make_test_img $size
+else
+ TEST_IMG="${TEST_IMG}.orig" _make_test_img $size
+fi
+
+$QEMU_IMG convert -O "$IMGFMT" --object $SECRET \
+ -o "encrypt.format=luks,encrypt.key-secret=sec0,encrypt.iter-time=10,preallocation=metadata" \
+ "${TEST_IMG}.orig" "$TEST_IMG"
+
+$QEMU_IMG compare --object $SECRET --image-opts "${IMGSPEC}.orig" "$IMGSPEC"
+
# success, all done
echo "*** done"
diff --git a/tests/qemu-iotests/188.out b/tests/qemu-iotests/188.out
index 97b1402671..c568ef3701 100644
--- a/tests/qemu-iotests/188.out
+++ b/tests/qemu-iotests/188.out
@@ -15,4 +15,8 @@ read 16777216/16777216 bytes at offset 0
== verify open failure with wrong password ==
qemu-io: can't open: Invalid password, cannot unlock any keyslot
+
+== verify that has_zero_init returns false when preallocating ==
+Formatting 'TEST_DIR/t.IMGFMT.orig', fmt=IMGFMT size=16777216
+Images are identical.
*** done
diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter
index 35fddc746f..8e9235d6fe 100644
--- a/tests/qemu-iotests/common.filter
+++ b/tests/qemu-iotests/common.filter
@@ -219,5 +219,10 @@ _filter_nbd()
-e 's#\(foo\|PORT/\?\|.sock\): Failed to .*$#\1#'
}
+_filter_qmp_empty_return()
+{
+ grep -v '{"return": {}}'
+}
+
# make sure this script returns success
true
diff --git a/tests/tcg/mips/include/test_utils_128.h b/tests/tcg/mips/include/test_utils_128.h
index 2fea6102d1..0dd38684cf 100644
--- a/tests/tcg/mips/include/test_utils_128.h
+++ b/tests/tcg/mips/include/test_utils_128.h
@@ -27,7 +27,8 @@
#include <inttypes.h>
#include <string.h>
-#define PRINT_RESULTS 0
+#define PRINT_RESULTS 0
+#define PRINT_FAILURES 0
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] == 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++;
}
}
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 0000000000..940cabe4d8
--- /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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvev_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvev_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvev_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvev_d_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_b.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvod_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvod_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvod_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvod_d_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_b.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvl_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvl_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvl_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvl_d_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_b.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvr_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvr_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvr_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_and_v_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_nor_v.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_nor_v_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_or_v.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_or_v_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_xor_v.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckev_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckev_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckev_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckev_d_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_b.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckod_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckod_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckod_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckod_d_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_b.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_vshf_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_vshf_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_vshf_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sll_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sll_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sll_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sll_d_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_b.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sra_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sra_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sra_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sra_d_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_b.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srar_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srar_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srar_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srar_d_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_b.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srl_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srl_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srl_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srl_d_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_b.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srlr_b_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_h.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srlr_h_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_w.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srlr_w_32r5eb
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_d.c \
+-EB -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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 0000000000..048b30b8d7
--- /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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvev_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvev_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvev_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvev_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvev_d_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_b.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvod_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvod_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvod_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvod_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvod_d_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_b.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvl_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvl_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvl_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvl_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvl_d_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_b.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvr_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvr_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_ilvr_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc interleave/test_msa_ilvr_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_and_v_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_nor_v.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_nor_v_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_or_v.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_or_v_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc logic/test_msa_xor_v.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckev_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckev_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckev_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckev_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckev_d_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_b.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckod_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckod_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckod_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_pckod_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_pckod_d_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_b.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_vshf_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_vshf_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_vshf_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc pack/test_msa_vshf_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sll_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sll_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sll_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sll_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sll_d_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_b.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sra_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sra_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sra_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_sra_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_sra_d_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_b.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srar_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srar_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srar_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srar_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srar_d_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_b.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srl_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srl_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srl_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srl_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srl_d_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_b.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srlr_b_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_h.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srlr_h_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_w.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -o \
+ /tmp/test_msa_srlr_w_32r5el
+/opt/mti/bin/mips-mti-linux-gnu-gcc shift/test_msa_srlr_d.c \
+-EL -static -mabi=32 -march=mips32r5 -mmsa -mno-odd-spreg -mfp64 -mnan=2008 -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 25192137b0..0000000000
--- 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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nloc_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nloc_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nloc_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nloc_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nlzc_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nlzc_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nlzc_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nlzc_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pcnt_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pcnt_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pcnt_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pcnt_d_32r6eb
-
-#
-# Bit move
-# --------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_b.c \
--EB -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bmnz_v_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bmz_v.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bmz_v_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bsel_v.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bsel_v_32r6eb
-
-#
-# Bit Set
-# -------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bclr_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bclr_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bclr_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bclr_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bneg_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bneg_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bneg_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bneg_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bset_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bset_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bset_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bset_d_32r6eb
-
-#
-# Fixed Multiply
-# --------------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_madd_q_h.c \
--EB -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mul_q_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mul_q_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mul_q_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_h.c \
--EB -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_fmax_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_fmax_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_a_w.c \
--EB -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_fmin_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_fmin_d_32r6eb
-
-#
-# Int Add
-# -------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_add_a_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_add_a_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_add_a_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_add_a_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_b.c \
--EB -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_addv_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_addv_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_addv_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_addv_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_s_h.c \
--EB -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_s_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_s_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_s_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_s_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_u_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_u_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_u_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_u_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_b.c \
--EB -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ceq_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ceq_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ceq_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ceq_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_s_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_s_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_s_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_s_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_u_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_u_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_u_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_u_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_s_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_s_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_s_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_s_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_u_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_u_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_u_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_u_d_32r6eb
-
-#
-# Int Divide
-# ----------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_s_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_s_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_s_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_s_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_u_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_u_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_u_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_u_d_32r6eb
-
-#
-# Int Dot Product
-# ---------------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_s_h.c \
--EB -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_a_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_a_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_a_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_a_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_s_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_s_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_s_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_s_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_u_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_u_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_u_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_u_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_a_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_a_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_a_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_a_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_s_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_s_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_s_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_s_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_u_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_u_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_u_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_u_d_32r6eb
-
-#
-# Int Modulo
-# ----------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_s_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_s_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_s_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_s_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_u_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_u_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_u_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_u_d_32r6eb
-
-#
-# Int Multiply
-# ------------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_maddv_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_maddv_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_maddv_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_maddv_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_msubv_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_msubv_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_msubv_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_msubv_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mulv_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mulv_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mulv_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mulv_d_32r6eb
-
-#
-# Int Subtract
-# ------------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_b.c \
--EB -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_subv_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_subv_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_subv_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_subv_d_32r6eb
-
-#
-# Interleave
-# ----------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvev_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvev_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvev_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvev_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvod_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvod_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvod_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvod_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvl_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvl_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvl_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvl_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvr_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvr_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvr_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvr_d_32r6eb
-
-#
-# Logic
-# -----
-#
-/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_and_v.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_and_v_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_nor_v.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nor_v_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_or_v.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_or_v_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_xor_v.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_xor_v_32r6eb
-
-#
-# Move
-# ----
-#
-/opt/img/bin/mips-img-linux-gnu-gcc move/test_msa_move_v.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_move_v_32r6eb
-
-#
-# Pack
-# ----
-#
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckev_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckev_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckev_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckev_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckod_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckod_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckod_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckod_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_vshf_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_vshf_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_vshf_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_vshf_d_32r6eb
-
-#
-# Shift
-# -----
-#
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sll_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sll_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sll_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sll_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sra_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sra_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sra_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sra_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srar_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srar_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srar_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srar_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srl_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srl_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srl_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srl_d_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_b.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srlr_b_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_h.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srlr_h_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_w.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srlr_w_32r6eb
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_d.c \
--EB -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srlr_d_32r6eb
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 1e10ff7621..0000000000
--- 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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nloc_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nloc_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nloc_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nloc_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nloc_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nlzc_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nlzc_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nlzc_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_nlzc_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nlzc_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pcnt_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pcnt_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pcnt_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-count/test_msa_pcnt_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pcnt_d_32r6el
-
-#
-# Bit move
-# --------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_binsl_b.c \
--EL -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bmnz_v_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bmz_v.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bmz_v_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-move/test_msa_bsel_v.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bsel_v_32r6el
-
-#
-# Bit Set
-# -------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bclr_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bclr_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bclr_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bclr_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bclr_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bneg_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bneg_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bneg_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bneg_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bneg_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bset_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bset_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bset_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc bit-set/test_msa_bset_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_bset_d_32r6el
-
-#
-# Fixed Multiply
-# --------------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_madd_q_h.c \
--EL -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mul_q_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mul_q_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mul_q_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc fixed-multiply/test_msa_mulr_q_h.c \
--EL -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_fmax_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmax_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_fmax_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_a_w.c \
--EL -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_fmin_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc float-max-min/test_msa_fmin_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_fmin_d_32r6el
-
-#
-# Int Add
-# -------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_add_a_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_add_a_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_add_a_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_add_a_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_add_a_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_adds_a_b.c \
--EL -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_addv_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_addv_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_addv_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_addv_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_addv_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-add/test_msa_hadd_s_h.c \
--EL -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_s_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_s_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_s_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_s_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_s_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_u_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_u_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_u_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_ave_u_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ave_u_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-average/test_msa_aver_s_b.c \
--EL -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ceq_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ceq_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ceq_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_ceq_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ceq_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_s_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_s_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_s_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_s_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_s_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_u_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_u_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_u_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_cle_u_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_cle_u_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_s_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_s_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_s_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_s_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_s_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_u_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_u_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_u_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-compare/test_msa_clt_u_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_clt_u_d_32r6el
-
-#
-# Int Divide
-# ----------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_s_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_s_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_s_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_s_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_s_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_u_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_u_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_u_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-divide/test_msa_div_u_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_div_u_d_32r6el
-
-#
-# Int Dot Product
-# ---------------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-dot-product/test_msa_dotp_s_h.c \
--EL -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_a_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_a_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_a_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_a_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_a_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_s_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_s_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_s_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_s_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_s_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_u_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_u_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_u_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_max_u_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_max_u_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_a_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_a_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_a_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_a_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_a_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_s_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_s_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_s_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_s_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_s_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_u_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_u_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_u_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-max-min/test_msa_min_u_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_min_u_d_32r6el
-
-#
-# Int Modulo
-# ----------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_s_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_s_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_s_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_s_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_s_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_u_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_u_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_u_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-modulo/test_msa_mod_u_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mod_u_d_32r6el
-
-#
-# Int Multiply
-# ------------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_maddv_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_maddv_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_maddv_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_maddv_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_maddv_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_msubv_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_msubv_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_msubv_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_msubv_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_msubv_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mulv_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mulv_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mulv_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-multiply/test_msa_mulv_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_mulv_d_32r6el
-
-#
-# Int Subtract
-# ------------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_asub_s_b.c \
--EL -static -mabi=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -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=32 -march=mips32r6 -mmsa -o /tmp/test_msa_subv_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_subv_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_subv_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc int-subtract/test_msa_subv_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_subv_d_32r6el
-
-#
-# Interleave
-# ----------
-#
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvev_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvev_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvev_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvev_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvev_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvod_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvod_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvod_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvod_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvod_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvl_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvl_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvl_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvl_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvl_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvr_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvr_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvr_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc interleave/test_msa_ilvr_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_ilvr_d_32r6el
-
-#
-# Logic
-# -----
-#
-/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_and_v.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_and_v_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_nor_v.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_nor_v_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_or_v.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_or_v_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc logic/test_msa_xor_v.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_xor_v_32r6el
-
-#
-# Move
-# ----
-#
-/opt/img/bin/mips-img-linux-gnu-gcc move/test_msa_move_v.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_move_v_32r6el
-
-#
-# Pack
-# ----
-#
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckev_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckev_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckev_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckev_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckev_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckod_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckod_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckod_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_pckod_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_pckod_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_vshf_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_vshf_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_vshf_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc pack/test_msa_vshf_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_vshf_d_32r6el
-
-#
-# Shift
-# -----
-#
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sll_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sll_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sll_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sll_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sll_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sra_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sra_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sra_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_sra_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_sra_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srar_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srar_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srar_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srar_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srar_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srl_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srl_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srl_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srl_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srl_d_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_b.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srlr_b_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_h.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srlr_h_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_w.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srlr_w_32r6el
-/opt/img/bin/mips-img-linux-gnu-gcc shift/test_msa_srlr_d.c \
--EL -static -mabi=32 -march=mips32r6 -mmsa -o /tmp/test_msa_srlr_d_32r6el
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 0000000000..32dbf31347
--- /dev/null
+++ b/tests/tcg/mips/user/ase/msa/test_msa_run_32r5eb.sh
@@ -0,0 +1,371 @@
+PATH_TO_QEMU="../../../../../../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 0000000000..a2e6092522
--- /dev/null
+++ b/tests/tcg/mips/user/ase/msa/test_msa_run_32r5el.sh
@@ -0,0 +1,371 @@
+PATH_TO_QEMU="../../../../../../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 6c95e452cd..0000000000
--- a/tests/tcg/mips/user/ase/msa/test_msa_run_32r6eb.sh
+++ /dev/null
@@ -1,371 +0,0 @@
-PATH_TO_QEMU="../../../../../../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 d4945da5e5..0000000000
--- a/tests/tcg/mips/user/ase/msa/test_msa_run_32r6el.sh
+++ /dev/null
@@ -1,371 +0,0 @@
-PATH_TO_QEMU="../../../../../../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
diff --git a/tests/test-block-iothread.c b/tests/test-block-iothread.c
index e81b5b8dc4..926577b1f9 100644
--- a/tests/test-block-iothread.c
+++ b/tests/test-block-iothread.c
@@ -612,7 +612,7 @@ static void test_propagate_mirror(void)
/* Start a mirror job */
mirror_start("job0", src, target, NULL, JOB_DEFAULT, 0, 0, 0,
- MIRROR_SYNC_MODE_NONE, MIRROR_OPEN_BACKING_CHAIN,
+ MIRROR_SYNC_MODE_NONE, MIRROR_OPEN_BACKING_CHAIN, false,
BLOCKDEV_ON_ERROR_REPORT, BLOCKDEV_ON_ERROR_REPORT,
false, "filter_node", MIRROR_COPY_MODE_BACKGROUND,
&error_abort);