| /* |
| * Copyright 2023 Google LLC |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #include "tests/kelvin_isa/kelvin_test.h" |
| |
| int main() { |
| test_alu_b_vx("vsll.b.vx", 0x89, 0x00, 0x89); |
| test_alu_b_vx("vsll.b.vx", 0x89, 0x01, 0x12); |
| test_alu_b_vx("vsll.b.vx", 0x89, 0x02, 0x24); |
| test_alu_b_vx("vsll.b.vx", 0x89, 0x04, 0x90); |
| test_alu_b_vx("vsll.b.vx", 0x89, 0x07, 0x80); |
| test_alu_b_vx("vsll.b.vx", 0x89, 0xf8, 0x89); |
| |
| test_alu_h_vx("vsll.h.vx", 0x6789, 0x00, 0x6789); |
| test_alu_h_vx("vsll.h.vx", 0x6789, 0x01, 0xcf12); |
| test_alu_h_vx("vsll.h.vx", 0x6789, 0x02, 0x9e24); |
| test_alu_h_vx("vsll.h.vx", 0x6789, 0x04, 0x7890); |
| test_alu_h_vx("vsll.h.vx", 0x6789, 0x08, 0x8900); |
| test_alu_h_vx("vsll.h.vx", 0x6789, 0x0f, 0x8000); |
| test_alu_h_vx("vsll.h.vx", 0x6789, 0xf0, 0x6789); |
| |
| test_alu_w_vx("vsll.w.vx", 0x23456789, 0x00, 0x23456789); |
| test_alu_w_vx("vsll.w.vx", 0x23456789, 0x01, 0x468acf12); |
| test_alu_w_vx("vsll.w.vx", 0x23456789, 0x02, 0x8d159e24); |
| test_alu_w_vx("vsll.w.vx", 0x23456789, 0x04, 0x34567890); |
| test_alu_w_vx("vsll.w.vx", 0x23456789, 0x08, 0x45678900); |
| test_alu_w_vx("vsll.w.vx", 0x23456789, 0x10, 0x67890000); |
| test_alu_w_vx("vsll.w.vx", 0x23456789, 0x1f, 0x80000000); |
| test_alu_w_vx("vsll.w.vx", 0x23456789, 0xe0, 0x23456789); |
| |
| test_alu_b_vx("vsra.b.vx", 0x67, 0x00, 0x67); |
| test_alu_b_vx("vsra.b.vx", 0x67, 0x01, 0x33); |
| test_alu_b_vx("vsra.b.vx", 0x67, 0x02, 0x19); |
| test_alu_b_vx("vsra.b.vx", 0x67, 0x04, 0x06); |
| test_alu_b_vx("vsra.b.vx", 0x67, 0x07, 0x00); |
| test_alu_b_vx("vsra.b.vx", 0x67, 0xf8, 0x67); |
| test_alu_b_vx("vsra.b.vx", 0x98, 0x00, 0x98); |
| test_alu_b_vx("vsra.b.vx", 0x98, 0x01, 0xcc); |
| test_alu_b_vx("vsra.b.vx", 0x98, 0x02, 0xe6); |
| test_alu_b_vx("vsra.b.vx", 0x98, 0x04, 0xf9); |
| test_alu_b_vx("vsra.b.vx", 0x98, 0x07, 0xff); |
| test_alu_b_vx("vsra.b.vx", 0x98, 0xf8, 0x98); |
| |
| test_alu_h_vx("vsra.h.vx", 0x6789, 0x00, 0x6789); |
| test_alu_h_vx("vsra.h.vx", 0x6789, 0x01, 0x33c4); |
| test_alu_h_vx("vsra.h.vx", 0x6789, 0x02, 0x19e2); |
| test_alu_h_vx("vsra.h.vx", 0x6789, 0x04, 0x0678); |
| test_alu_h_vx("vsra.h.vx", 0x6789, 0x08, 0x0067); |
| test_alu_h_vx("vsra.h.vx", 0x6789, 0x0f, 0x0000); |
| test_alu_h_vx("vsra.h.vx", 0x6789, 0xf0, 0x6789); |
| test_alu_h_vx("vsra.h.vx", 0x9876, 0x00, 0x9876); |
| test_alu_h_vx("vsra.h.vx", 0x9876, 0x01, 0xcc3b); |
| test_alu_h_vx("vsra.h.vx", 0x9876, 0x02, 0xe61d); |
| test_alu_h_vx("vsra.h.vx", 0x9876, 0x04, 0xf987); |
| test_alu_h_vx("vsra.h.vx", 0x9876, 0x08, 0xff98); |
| test_alu_h_vx("vsra.h.vx", 0x9876, 0x0f, 0xffff); |
| test_alu_h_vx("vsra.h.vx", 0x9876, 0xf0, 0x9876); |
| |
| test_alu_w_vx("vsra.w.vx", 0x23456789, 0x00, 0x23456789); |
| test_alu_w_vx("vsra.w.vx", 0x23456789, 0x01, 0x11a2b3c4); |
| test_alu_w_vx("vsra.w.vx", 0x23456789, 0x02, 0x08d159e2); |
| test_alu_w_vx("vsra.w.vx", 0x23456789, 0x04, 0x02345678); |
| test_alu_w_vx("vsra.w.vx", 0x23456789, 0x08, 0x00234567); |
| test_alu_w_vx("vsra.w.vx", 0x23456789, 0x10, 0x00002345); |
| test_alu_w_vx("vsra.w.vx", 0x23456789, 0x1f, 0x00000000); |
| test_alu_w_vx("vsra.w.vx", 0x23456789, 0xe0, 0x23456789); |
| test_alu_w_vx("vsra.w.vx", 0x98765432, 0x00, 0x98765432); |
| test_alu_w_vx("vsra.w.vx", 0x98765432, 0x01, 0xcc3b2a19); |
| test_alu_w_vx("vsra.w.vx", 0x98765432, 0x02, 0xe61d950c); |
| test_alu_w_vx("vsra.w.vx", 0x98765432, 0x04, 0xf9876543); |
| test_alu_w_vx("vsra.w.vx", 0x98765432, 0x08, 0xff987654); |
| test_alu_w_vx("vsra.w.vx", 0x98765432, 0x10, 0xffff9876); |
| test_alu_w_vx("vsra.w.vx", 0x98765432, 0x1f, 0xffffffff); |
| test_alu_w_vx("vsra.w.vx", 0x98765432, 0xe0, 0x98765432); |
| |
| test_alu_b_vx("vsrl.b.vx", 0x67, 0x00, 0x67); |
| test_alu_b_vx("vsrl.b.vx", 0x67, 0x01, 0x33); |
| test_alu_b_vx("vsrl.b.vx", 0x67, 0x02, 0x19); |
| test_alu_b_vx("vsrl.b.vx", 0x67, 0x04, 0x06); |
| test_alu_b_vx("vsrl.b.vx", 0x67, 0x07, 0x00); |
| test_alu_b_vx("vsrl.b.vx", 0x67, 0xf8, 0x67); |
| test_alu_b_vx("vsrl.b.vx", 0x98, 0x00, 0x98); |
| test_alu_b_vx("vsrl.b.vx", 0x98, 0x01, 0x4c); |
| test_alu_b_vx("vsrl.b.vx", 0x98, 0x02, 0x26); |
| test_alu_b_vx("vsrl.b.vx", 0x98, 0x04, 0x09); |
| test_alu_b_vx("vsrl.b.vx", 0x98, 0x07, 0x01); |
| test_alu_b_vx("vsrl.b.vx", 0x98, 0xf8, 0x98); |
| |
| test_alu_h_vx("vsrl.h.vx", 0x6789, 0x00, 0x6789); |
| test_alu_h_vx("vsrl.h.vx", 0x6789, 0x01, 0x33c4); |
| test_alu_h_vx("vsrl.h.vx", 0x6789, 0x02, 0x19e2); |
| test_alu_h_vx("vsrl.h.vx", 0x6789, 0x04, 0x0678); |
| test_alu_h_vx("vsrl.h.vx", 0x6789, 0x08, 0x0067); |
| test_alu_h_vx("vsrl.h.vx", 0x6789, 0x0f, 0x0000); |
| test_alu_h_vx("vsrl.h.vx", 0x6789, 0xf0, 0x6789); |
| test_alu_h_vx("vsrl.h.vx", 0x9876, 0x00, 0x9876); |
| test_alu_h_vx("vsrl.h.vx", 0x9876, 0x01, 0x4c3b); |
| test_alu_h_vx("vsrl.h.vx", 0x9876, 0x02, 0x261d); |
| test_alu_h_vx("vsrl.h.vx", 0x9876, 0x04, 0x0987); |
| test_alu_h_vx("vsrl.h.vx", 0x9876, 0x08, 0x0098); |
| test_alu_h_vx("vsrl.h.vx", 0x9876, 0x0f, 0x0001); |
| test_alu_h_vx("vsrl.h.vx", 0x9876, 0xf0, 0x9876); |
| |
| test_alu_w_vx("vsrl.w.vx", 0x23456789, 0x00, 0x23456789); |
| test_alu_w_vx("vsrl.w.vx", 0x23456789, 0x01, 0x11a2b3c4); |
| test_alu_w_vx("vsrl.w.vx", 0x23456789, 0x02, 0x08d159e2); |
| test_alu_w_vx("vsrl.w.vx", 0x23456789, 0x04, 0x02345678); |
| test_alu_w_vx("vsrl.w.vx", 0x23456789, 0x08, 0x00234567); |
| test_alu_w_vx("vsrl.w.vx", 0x23456789, 0x10, 0x00002345); |
| test_alu_w_vx("vsrl.w.vx", 0x23456789, 0x1f, 0x00000000); |
| test_alu_w_vx("vsrl.w.vx", 0x23456789, 0xe0, 0x23456789); |
| test_alu_w_vx("vsrl.w.vx", 0x98765432, 0x00, 0x98765432); |
| test_alu_w_vx("vsrl.w.vx", 0x98765432, 0x01, 0x4c3b2a19); |
| test_alu_w_vx("vsrl.w.vx", 0x98765432, 0x02, 0x261d950c); |
| test_alu_w_vx("vsrl.w.vx", 0x98765432, 0x04, 0x09876543); |
| test_alu_w_vx("vsrl.w.vx", 0x98765432, 0x08, 0x00987654); |
| test_alu_w_vx("vsrl.w.vx", 0x98765432, 0x10, 0x00009876); |
| test_alu_w_vx("vsrl.w.vx", 0x98765432, 0x1f, 0x00000001); |
| test_alu_w_vx("vsrl.w.vx", 0x98765432, 0xe0, 0x98765432); |
| |
| test_alu_b_vx("vsha.b.vx", 0x12, 0x00, 0x12); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0x01, 0x09); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0xff, 0x24); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0x02, 0x04); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0xfe, 0x48); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0x04, 0x01); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0xfc, 0x7f); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0x07, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0xf9, 0x7f); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0x08, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0xf8, 0x7f); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0x09, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x12, 0xf7, 0x7f); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0x00, 0xed); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0x01, 0xf6); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0xff, 0xda); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0x02, 0xfb); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0xfe, 0xb4); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0x04, 0xfe); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0xfc, 0x80); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0x07, 0xff); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0xf9, 0x80); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0x08, 0xff); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0xf8, 0x80); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0x09, 0xff); |
| test_alu_b_vx("vsha.b.vx", 0xed, 0xf7, 0x80); |
| test_alu_b_vx("vsha.b.vx", 0x00, 0x07, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x00, 0xf9, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x00, 0x08, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x00, 0xf8, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x00, 0x09, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x00, 0xf7, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x01, 0x06, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x01, 0xfa, 0x40); |
| test_alu_b_vx("vsha.b.vx", 0x01, 0x07, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x01, 0xf9, 0x7f); |
| test_alu_b_vx("vsha.b.vx", 0x01, 0x08, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x01, 0xf8, 0x7f); |
| test_alu_b_vx("vsha.b.vx", 0x01, 0x09, 0x00); |
| test_alu_b_vx("vsha.b.vx", 0x01, 0xf7, 0x7f); |
| test_alu_b_vx("vsha.b.vx", 0xff, 0x06, 0xff); |
| test_alu_b_vx("vsha.b.vx", 0xff, 0xfa, 0xc0); |
| test_alu_b_vx("vsha.b.vx", 0xff, 0x07, 0xff); |
| test_alu_b_vx("vsha.b.vx", 0xff, 0xf9, 0x80); |
| test_alu_b_vx("vsha.b.vx", 0xff, 0x08, 0xff); |
| test_alu_b_vx("vsha.b.vx", 0xff, 0xf8, 0x80); |
| test_alu_b_vx("vsha.b.vx", 0xff, 0x09, 0xff); |
| test_alu_b_vx("vsha.b.vx", 0xff, 0xf7, 0x80); |
| |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0x0000, 0x0012); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0x0001, 0x0009); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0xffff, 0x0024); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0x0002, 0x0004); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0xfffe, 0x0048); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0x0004, 0x0001); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0xfffc, 0x0120); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0x0008, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0xfff8, 0x1200); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0x000f, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0xfff1, 0x7fff); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0x0010, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0xfff0, 0x7fff); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0x0011, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0012, 0xffef, 0x7fff); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0x0000, 0xffed); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0x0001, 0xfff6); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0xffff, 0xffda); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0x0002, 0xfffb); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0xfffe, 0xffb4); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0x0004, 0xfffe); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0xfffc, 0xfed0); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0x0008, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0xfff8, 0xed00); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0x000f, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0xfff1, 0x8000); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0x0010, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0xfff0, 0x8000); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0x0011, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffed, 0xffef, 0x8000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0x0007, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0xfff9, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0x0008, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0xfff8, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0x0009, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0xfff7, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0x000e, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0xfff2, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0x000f, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0xfff1, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0x0010, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0xfff0, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0x0011, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0000, 0xffef, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0x0007, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0xfff9, 0x0080); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0x0008, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0xfff8, 0x0100); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0x0009, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0xfff7, 0x0200); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0x000e, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0xfff2, 0x4000); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0x000f, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0xfff1, 0x7fff); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0x0010, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0xfff0, 0x7fff); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0x0011, 0x0000); |
| test_alu_h_vx("vsha.h.vx", 0x0001, 0xffef, 0x7fff); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0x0007, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0xfff9, 0xff80); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0x0008, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0xfff8, 0xff00); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0x0009, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0xfff7, 0xfe00); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0x000e, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0xfff2, 0xc000); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0x000f, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0xfff1, 0x8000); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0x0010, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0xfff0, 0x8000); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0x0011, 0xffff); |
| test_alu_h_vx("vsha.h.vx", 0xffff, 0xffef, 0x8000); |
| |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0x00000000, 0x00000012); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0x00000001, 0x00000009); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0xffffffff, 0x00000024); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0x00000002, 0x00000004); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0xfffffffe, 0x00000048); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0x00000004, 0x00000001); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0xfffffffc, 0x00000120); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0x00000008, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0xfffffff8, 0x00001200); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0xfffffff1, 0x00090000); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0x00000010, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0xfffffff0, 0x00120000); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0x00000011, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000012, 0xffffffef, 0x00240000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0x00000000, 0xffffffed); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0x00000001, 0xfffffff6); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0xffffffff, 0xffffffda); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0x00000002, 0xfffffffb); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0xfffffffe, 0xffffffb4); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0x00000004, 0xfffffffe); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0xfffffffc, 0xfffffed0); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0x00000008, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0xfffffff8, 0xffffed00); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0x0000000f, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0xfffffff1, 0xfff68000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0x00000010, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0xfffffff0, 0xffed0000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0x00000011, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffed, 0xffffffef, 0xffda0000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x00000007, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xfffffff9, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x00000008, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xfffffff8, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x00000009, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xfffffff7, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x0000000e, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xfffffff2, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xfffffff1, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x00000010, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xfffffff0, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x00000011, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xffffffef, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x0000001e, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xffffffe2, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x0000001f, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xffffffe1, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x00000020, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xffffffe0, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x00000021, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xffffffdf, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xffffffc2, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xffffffc1, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x00000040, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xffffffc0, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0x00000041, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000000, 0xffffffbf, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000001, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffff, 0x00000002); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000002, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xfffffffe, 0x00000004); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000007, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xfffffff9, 0x00000080); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000008, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xfffffff8, 0x00000100); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000009, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xfffffff7, 0x00000200); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x0000000e, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xfffffff2, 0x00004000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xfffffff1, 0x00008000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000010, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xfffffff0, 0x00010000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000011, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffef, 0x00020000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x0000001e, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffe2, 0x40000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x0000001f, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffe1, 0x7fffffff); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000020, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffe0, 0x7fffffff); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000021, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffdf, 0x7fffffff); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffc2, 0x7fffffff); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffc1, 0x7fffffff); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000040, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffc0, 0x7fffffff); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0x00000041, 0x00000000); |
| test_alu_w_vx("vsha.w.vx", 0x00000001, 0xffffffbf, 0x7fffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x00000007, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xfffffff9, 0xffffff80); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x00000008, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xfffffff8, 0xffffff00); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x00000009, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xfffffff7, 0xfffffe00); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x0000000e, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xfffffff2, 0xffffc000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x0000000f, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xfffffff1, 0xffff8000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x00000010, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xfffffff0, 0xffff0000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x00000011, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xffffffef, 0xfffe0000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x0000001e, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xffffffe2, 0xc0000000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x0000001f, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xffffffe1, 0x80000000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x00000020, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xffffffe0, 0x80000000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x00000021, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xffffffdf, 0x80000000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x0000003e, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xffffffc2, 0x80000000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x0000003f, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xffffffc1, 0x80000000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x00000040, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xffffffc0, 0x80000000); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0x00000041, 0xffffffff); |
| test_alu_w_vx("vsha.w.vx", 0xffffffff, 0xffffffbf, 0x80000000); |
| |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0x00, 0x12); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0x01, 0x09); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0xff, 0x24); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0x02, 0x05); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0xfe, 0x48); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0x04, 0x01); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0xfc, 0x7f); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0x07, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0xf9, 0x7f); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0x08, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0xf8, 0x7f); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0x09, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x12, 0xf7, 0x7f); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0x00, 0xed); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0x01, 0xf7); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0xff, 0xda); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0x02, 0xfb); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0xfe, 0xb4); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0x04, 0xff); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0xfc, 0x80); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0x07, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0xf9, 0x80); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0x08, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0xf8, 0x80); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0x09, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0xed, 0xf7, 0x80); |
| test_alu_b_vx("vsha.b.r.vx", 0x00, 0x07, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x00, 0xf9, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x00, 0x08, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x00, 0xf8, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x00, 0x09, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x00, 0xf7, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x01, 0x06, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x01, 0xfa, 0x40); |
| test_alu_b_vx("vsha.b.r.vx", 0x01, 0x07, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x01, 0xf9, 0x7f); |
| test_alu_b_vx("vsha.b.r.vx", 0x01, 0x08, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x01, 0xf8, 0x7f); |
| test_alu_b_vx("vsha.b.r.vx", 0x01, 0x09, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0x01, 0xf7, 0x7f); |
| test_alu_b_vx("vsha.b.r.vx", 0xff, 0x06, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0xff, 0xfa, 0xc0); |
| test_alu_b_vx("vsha.b.r.vx", 0xff, 0x07, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0xff, 0xf9, 0x80); |
| test_alu_b_vx("vsha.b.r.vx", 0xff, 0x08, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0xff, 0xf8, 0x80); |
| test_alu_b_vx("vsha.b.r.vx", 0xff, 0x09, 0x00); |
| test_alu_b_vx("vsha.b.r.vx", 0xff, 0xf7, 0x80); |
| |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0x0000, 0x0012); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0x0001, 0x0009); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0xffff, 0x0024); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0x0002, 0x0005); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0xfffe, 0x0048); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0x0004, 0x0001); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0xfffc, 0x0120); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0x0008, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0xfff8, 0x1200); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0x000f, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0xfff1, 0x7fff); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0x0010, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0xfff0, 0x7fff); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0x0011, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0012, 0xffef, 0x7fff); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0x0000, 0xffed); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0x0001, 0xfff7); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0xffff, 0xffda); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0x0002, 0xfffb); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0xfffe, 0xffb4); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0x0004, 0xffff); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0xfffc, 0xfed0); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0x0008, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0xfff8, 0xed00); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0x000f, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0xfff1, 0x8000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0x0010, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0xfff0, 0x8000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0x0011, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffed, 0xffef, 0x8000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0x0007, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0xfff9, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0x0008, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0xfff8, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0x0009, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0xfff7, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0x000e, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0xfff2, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0x000f, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0xfff1, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0x0010, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0xfff0, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0x0011, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0000, 0xffef, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0x0007, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0xfff9, 0x0080); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0x0008, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0xfff8, 0x0100); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0x0009, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0xfff7, 0x0200); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0x000e, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0xfff2, 0x4000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0x000f, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0xfff1, 0x7fff); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0x0010, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0xfff0, 0x7fff); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0x0011, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0x0001, 0xffef, 0x7fff); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0x0007, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0xfff9, 0xff80); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0x0008, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0xfff8, 0xff00); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0x0009, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0xfff7, 0xfe00); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0x000e, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0xfff2, 0xc000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0x000f, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0xfff1, 0x8000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0x0010, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0xfff0, 0x8000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0x0011, 0x0000); |
| test_alu_h_vx("vsha.h.r.vx", 0xffff, 0xffef, 0x8000); |
| |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0x00000000, 0x00000012); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0x00000001, 0x00000009); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0xffffffff, 0x00000024); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0x00000002, 0x00000005); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0xfffffffe, 0x00000048); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0x00000004, 0x00000001); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0xfffffffc, 0x00000120); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0x00000008, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0xfffffff8, 0x00001200); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0xfffffff1, 0x00090000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0x00000010, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0xfffffff0, 0x00120000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0x00000011, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000012, 0xffffffef, 0x00240000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0x00000000, 0xffffffed); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0x00000001, 0xfffffff7); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0xffffffff, 0xffffffda); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0x00000002, 0xfffffffb); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0xfffffffe, 0xffffffb4); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0x00000004, 0xffffffff); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0xfffffffc, 0xfffffed0); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0x00000008, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0xfffffff8, 0xffffed00); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0xfffffff1, 0xfff68000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0x00000010, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0xfffffff0, 0xffed0000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0x00000011, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffed, 0xffffffef, 0xffda0000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x00000007, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xfffffff9, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x00000008, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xfffffff8, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x00000009, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xfffffff7, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x0000000e, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xfffffff2, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xfffffff1, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x00000010, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xfffffff0, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x00000011, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xffffffef, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x0000001e, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xffffffe2, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x0000001f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xffffffe1, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x00000020, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xffffffe0, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x00000021, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xffffffdf, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xffffffc2, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xffffffc1, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x00000040, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xffffffc0, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0x00000041, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000000, 0xffffffbf, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000001, 0x00000001); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffff, 0x00000002); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000002, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xfffffffe, 0x00000004); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000007, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xfffffff9, 0x00000080); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000008, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xfffffff8, 0x00000100); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000009, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xfffffff7, 0x00000200); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x0000000e, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xfffffff2, 0x00004000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xfffffff1, 0x00008000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000010, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xfffffff0, 0x00010000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000011, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffef, 0x00020000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x0000001e, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffe2, 0x40000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x0000001f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffe1, 0x7fffffff); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000020, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffe0, 0x7fffffff); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000021, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffdf, 0x7fffffff); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffc3, 0x7fffffff); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffc2, 0x7fffffff); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffc1, 0x7fffffff); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000040, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffc0, 0x7fffffff); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0x00000041, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0x00000001, 0xffffffbf, 0x7fffffff); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x00000007, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xfffffff9, 0xffffff80); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x00000008, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xfffffff8, 0xffffff00); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x00000009, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xfffffff7, 0xfffffe00); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x0000000e, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xfffffff2, 0xffffc000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xfffffff1, 0xffff8000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x00000010, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xfffffff0, 0xffff0000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x00000011, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xffffffef, 0xfffe0000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x0000001e, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xffffffe2, 0xc0000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x0000001f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xffffffe1, 0x80000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x00000020, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xffffffe0, 0x80000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x00000021, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xffffffdf, 0x80000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xffffffc2, 0x80000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xffffffc1, 0x80000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x00000040, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xffffffc0, 0x80000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0x00000041, 0x00000000); |
| test_alu_w_vx("vsha.w.r.vx", 0xffffffff, 0xffffffbf, 0x80000000); |
| |
| test_alu_b_vx("vshl.b.vx", 0x12, 0x00, 0x12); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0x01, 0x09); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0xff, 0x24); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0x02, 0x04); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0xfe, 0x48); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0x04, 0x01); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0xfc, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0x07, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0xf9, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0x08, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0xf8, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x12, 0xf7, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0x00, 0xed); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0x01, 0x76); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0xff, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0x02, 0x3b); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0xfe, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0x04, 0x0e); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0xfc, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0x07, 0x01); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0xf9, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0x08, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0xf8, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0xed, 0xf7, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0x00, 0x07, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x00, 0xf9, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x00, 0x08, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x00, 0xf8, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x00, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x00, 0xf7, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x01, 0x06, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x01, 0xfa, 0x40); |
| test_alu_b_vx("vshl.b.vx", 0x01, 0x07, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x01, 0xf9, 0x80); |
| test_alu_b_vx("vshl.b.vx", 0x01, 0x08, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x01, 0xf8, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0x01, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0x01, 0xf7, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xff, 0x06, 0x03); |
| test_alu_b_vx("vshl.b.vx", 0xff, 0xfa, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xff, 0x07, 0x01); |
| test_alu_b_vx("vshl.b.vx", 0xff, 0xf9, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xff, 0x08, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0xff, 0xf8, 0xff); |
| test_alu_b_vx("vshl.b.vx", 0xff, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.vx", 0xff, 0xf7, 0xff); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0x0000, 0x0012); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0x0001, 0x0009); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0xffff, 0x0024); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0x0002, 0x0004); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0xfffe, 0x0048); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0x0004, 0x0001); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0xfffc, 0x0120); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0x0008, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0xfff8, 0x1200); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0x000f, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0xfff1, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0x0010, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0xfff0, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0012, 0xffef, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0x0000, 0xffed); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0x0001, 0x7ff6); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0xffff, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0x0002, 0x3ffb); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0xfffe, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0x0004, 0x0ffe); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0xfffc, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0x0008, 0x00ff); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0xfff8, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0x000f, 0x0001); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0xfff1, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0x0010, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0xfff0, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0xffed, 0xffef, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0x0007, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0xfff9, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0x0008, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0xfff8, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0x0009, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0xfff7, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0x000e, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0xfff2, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0x000f, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0xfff1, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0x0010, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0xfff0, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0000, 0xffef, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0x0007, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0xfff9, 0x0080); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0x0008, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0xfff8, 0x0100); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0x0009, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0xfff7, 0x0200); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0x000e, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0xfff2, 0x4000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0x000f, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0xfff1, 0x8000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0x0010, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0xfff0, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0x0001, 0xffef, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0x0007, 0x01ff); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0xfff9, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0x0008, 0x00ff); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0xfff8, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0x0009, 0x007f); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0xfff7, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0x000e, 0x0003); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0xfff2, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0x000f, 0x0001); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0xfff1, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0x0010, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0xfff0, 0xffff); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.vx", 0xffff, 0xffef, 0xffff); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0x00000000, 0x00000012); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0x00000001, 0x00000009); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0xffffffff, 0x00000024); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0x00000002, 0x00000004); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0xfffffffe, 0x00000048); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0x00000004, 0x00000001); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0xfffffffc, 0x00000120); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0x00000008, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0xfffffff8, 0x00001200); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0xfffffff1, 0x00090000); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0x00000010, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0xfffffff0, 0x00120000); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0x00000011, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000012, 0xffffffef, 0x00240000); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0x00000000, 0xffffffed); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0x00000001, 0x7ffffff6); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0xffffffff, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0x00000002, 0x3ffffffb); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0xfffffffe, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0x00000004, 0x0ffffffe); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0xfffffffc, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0x00000008, 0x00ffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0xfffffff8, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0x0000000f, 0x0001ffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0xfffffff1, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0x00000010, 0x0000ffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0xfffffff0, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0x00000011, 0x00007fff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffed, 0xffffffef, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x00000007, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xfffffff9, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x00000008, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xfffffff8, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x00000009, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xfffffff7, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x0000000e, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xfffffff2, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xfffffff1, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x00000010, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xfffffff0, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x00000011, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xffffffef, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x0000001e, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xffffffe2, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x0000001f, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xffffffe1, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x00000020, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xffffffe0, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x00000021, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xffffffdf, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xffffffc2, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xffffffc1, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x00000040, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xffffffc0, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0x00000041, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000000, 0xffffffbf, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000001, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffff, 0x00000002); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000002, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xfffffffe, 0x00000004); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000007, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xfffffff9, 0x00000080); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000008, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xfffffff8, 0x00000100); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000009, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xfffffff7, 0x00000200); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x0000000e, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xfffffff2, 0x00004000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xfffffff1, 0x00008000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000010, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xfffffff0, 0x00010000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000011, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffef, 0x00020000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x0000001e, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffe2, 0x40000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x0000001f, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffe1, 0x80000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000020, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffe0, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000021, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffdf, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffc2, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffc1, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000040, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffc0, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0x00000041, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0x00000001, 0xffffffbf, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x00000007, 0x01ffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xfffffff9, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x00000008, 0x00ffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xfffffff8, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x00000009, 0x007fffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xfffffff7, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x0000000e, 0x0003ffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xfffffff2, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x0000000f, 0x0001ffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xfffffff1, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x00000010, 0x0000ffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xfffffff0, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x00000011, 0x00007fff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xffffffef, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x0000001e, 0x00000003); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xffffffe2, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x0000001f, 0x00000001); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xffffffe1, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x00000020, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xffffffe0, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x00000021, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xffffffdf, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xffffffc2, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xffffffc1, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x00000040, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xffffffc0, 0xffffffff); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0x00000041, 0x00000000); |
| test_alu_w_vx("vshl.w.vx", 0xffffffff, 0xffffffbf, 0xffffffff); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0x00, 0x12); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0x01, 0x09); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0xff, 0x24); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0x02, 0x05); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0xfe, 0x48); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0x04, 0x01); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0xfc, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0x07, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0xf9, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0x08, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0xf8, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x12, 0xf7, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0x00, 0xed); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0x01, 0x77); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0xff, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0x02, 0x3b); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0xfe, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0x04, 0x0f); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0xfc, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0x07, 0x02); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0xf9, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0x08, 0x01); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0xf8, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0xed, 0xf7, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0x00, 0x07, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x00, 0xf9, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x00, 0x08, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x00, 0xf8, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x00, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x00, 0xf7, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x01, 0x06, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x01, 0xfa, 0x40); |
| test_alu_b_vx("vshl.b.r.vx", 0x01, 0x07, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x01, 0xf9, 0x80); |
| test_alu_b_vx("vshl.b.r.vx", 0x01, 0x08, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x01, 0xf8, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0x01, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0x01, 0xf7, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xff, 0x06, 0x04); |
| test_alu_b_vx("vshl.b.r.vx", 0xff, 0xfa, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xff, 0x07, 0x02); |
| test_alu_b_vx("vshl.b.r.vx", 0xff, 0xf9, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xff, 0x08, 0x01); |
| test_alu_b_vx("vshl.b.r.vx", 0xff, 0xf8, 0xff); |
| test_alu_b_vx("vshl.b.r.vx", 0xff, 0x09, 0x00); |
| test_alu_b_vx("vshl.b.r.vx", 0xff, 0xf7, 0xff); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0x0000, 0x0012); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0x0001, 0x0009); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0xffff, 0x0024); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0x0002, 0x0005); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0xfffe, 0x0048); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0x0004, 0x0001); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0xfffc, 0x0120); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0x0008, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0xfff8, 0x1200); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0x000f, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0xfff1, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0x0010, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0xfff0, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0012, 0xffef, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0x0000, 0xffed); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0x0001, 0x7ff7); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0xffff, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0x0002, 0x3ffb); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0xfffe, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0x0004, 0x0fff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0xfffc, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0x0008, 0x0100); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0xfff8, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0x000f, 0x0002); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0xfff1, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0x0010, 0x0001); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0xfff0, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0xffed, 0xffef, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0x0007, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0xfff9, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0x0008, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0xfff8, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0x0009, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0xfff7, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0x000e, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0xfff2, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0x000f, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0xfff1, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0x0010, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0xfff0, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0000, 0xffef, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0x0007, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0xfff9, 0x0080); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0x0008, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0xfff8, 0x0100); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0x0009, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0xfff7, 0x0200); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0x000e, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0xfff2, 0x4000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0x000f, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0xfff1, 0x8000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0x0010, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0xfff0, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0x0001, 0xffef, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0x0007, 0x0200); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0xfff9, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0x0008, 0x0100); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0xfff8, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0x0009, 0x0080); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0xfff7, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0x000e, 0x0004); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0xfff2, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0x000f, 0x0002); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0xfff1, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0x0010, 0x0001); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0xfff0, 0xffff); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0x0011, 0x0000); |
| test_alu_h_vx("vshl.h.r.vx", 0xffff, 0xffef, 0xffff); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0x00000000, 0x00000012); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0x00000001, 0x00000009); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0xffffffff, 0x00000024); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0x00000002, 0x00000005); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0xfffffffe, 0x00000048); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0x00000004, 0x00000001); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0xfffffffc, 0x00000120); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0x00000008, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0xfffffff8, 0x00001200); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0xfffffff1, 0x00090000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0x00000010, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0xfffffff0, 0x00120000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0x00000011, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000012, 0xffffffef, 0x00240000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0x00000000, 0xffffffed); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0x00000001, 0x7ffffff7); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0xffffffff, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0x00000002, 0x3ffffffb); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0xfffffffe, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0x00000004, 0x0fffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0xfffffffc, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0x00000008, 0x01000000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0xfffffff8, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0x0000000f, 0x00020000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0xfffffff1, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0x00000010, 0x00010000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0xfffffff0, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0x00000011, 0x00008000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffed, 0xffffffef, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x00000007, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xfffffff9, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x00000008, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xfffffff8, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x00000009, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xfffffff7, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x0000000e, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xfffffff2, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xfffffff1, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x00000010, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xfffffff0, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x00000011, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xffffffef, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x0000001e, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xffffffe2, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x0000001f, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xffffffe1, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x00000020, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xffffffe0, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x00000021, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xffffffdf, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xffffffc2, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xffffffc1, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x00000040, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xffffffc0, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0x00000041, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000000, 0xffffffbf, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000001, 0x00000001); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffff, 0x00000002); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000002, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xfffffffe, 0x00000004); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000007, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xfffffff9, 0x00000080); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000008, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xfffffff8, 0x00000100); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000009, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xfffffff7, 0x00000200); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x0000000e, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xfffffff2, 0x00004000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x0000000f, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xfffffff1, 0x00008000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000010, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xfffffff0, 0x00010000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000011, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffef, 0x00020000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x0000001e, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffe2, 0x40000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x0000001f, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffe1, 0x80000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000020, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffe0, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000021, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffdf, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffc3, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffc2, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffc1, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000040, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffc0, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0x00000041, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0x00000001, 0xffffffbf, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x00000007, 0x02000000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xfffffff9, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x00000008, 0x01000000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xfffffff8, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x00000009, 0x00800000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xfffffff7, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x0000000e, 0x00040000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xfffffff2, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x0000000f, 0x00020000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xfffffff1, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x00000010, 0x00010000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xfffffff0, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x00000011, 0x00008000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xffffffef, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x0000001e, 0x00000004); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xffffffe2, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x0000001f, 0x00000002); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xffffffe1, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x00000020, 0x00000001); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xffffffe0, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x00000021, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xffffffdf, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x0000003e, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xffffffc2, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x0000003f, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xffffffc1, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x00000040, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xffffffc0, 0xffffffff); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0x00000041, 0x00000000); |
| test_alu_w_vx("vshl.w.r.vx", 0xffffffff, 0xffffffbf, 0xffffffff); |
| |
| // New tests. |
| test_alu_h_vx("vsha.h.vx", 0x85fb, 0x3bec, 0xffff); |
| test_alu_h_vx("vsha.h.r.vx", 0x85fb, 0x3bec, 0x0000); |
| |
| return 0; |
| } |