// Copyright 2015, VIXL authors
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// * Neither the name of ARM Limited nor the names of its contributors may be
// used to endorse or promote products derived from this software without
// specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// ---------------------------------------------------------------------
// This file is auto generated using tools/generate_simulator_traces.py.
//
// PLEASE DO NOT EDIT.
// ---------------------------------------------------------------------
#ifndef VIXL_ASSEMBLER_COND_RDLOW_RNLOW_RMLOW_T32_MULS_H_
#define VIXL_ASSEMBLER_COND_RDLOW_RNLOW_RMLOW_T32_MULS_H_
const byte kInstruction_muls_al_r0_r0_r0[] = {
0x40, 0x43 // muls al r0 r0 r0
};
const byte kInstruction_muls_al_r0_r1_r0[] = {
0x48, 0x43 // muls al r0 r1 r0
};
const byte kInstruction_muls_al_r0_r2_r0[] = {
0x50, 0x43 // muls al r0 r2 r0
};
const byte kInstruction_muls_al_r0_r3_r0[] = {
0x58, 0x43 // muls al r0 r3 r0
};
const byte kInstruction_muls_al_r0_r4_r0[] = {
0x60, 0x43 // muls al r0 r4 r0
};
const byte kInstruction_muls_al_r0_r5_r0[] = {
0x68, 0x43 // muls al r0 r5 r0
};
const byte kInstruction_muls_al_r0_r6_r0[] = {
0x70, 0x43 // muls al r0 r6 r0
};
const byte kInstruction_muls_al_r0_r7_r0[] = {
0x78, 0x43 // muls al r0 r7 r0
};
const byte kInstruction_muls_al_r1_r0_r1[] = {
0x41, 0x43 // muls al r1 r0 r1
};
const byte kInstruction_muls_al_r1_r1_r1[] = {
0x49, 0x43 // muls al r1 r1 r1
};
const byte kInstruction_muls_al_r1_r2_r1[] = {
0x51, 0x43 // muls al r1 r2 r1
};
const byte kInstruction_muls_al_r1_r3_r1[] = {
0x59, 0x43 // muls al r1 r3 r1
};
const byte kInstruction_muls_al_r1_r4_r1[] = {
0x61, 0x43 // muls al r1 r4 r1
};
const byte kInstruction_muls_al_r1_r5_r1[] = {
0x69, 0x43 // muls al r1 r5 r1
};
const byte kInstruction_muls_al_r1_r6_r1[] = {
0x71, 0x43 // muls al r1 r6 r1
};
const byte kInstruction_muls_al_r1_r7_r1[] = {
0x79, 0x43 // muls al r1 r7 r1
};
const byte kInstruction_muls_al_r2_r0_r2[] = {
0x42, 0x43 // muls al r2 r0 r2
};
const byte kInstruction_muls_al_r2_r1_r2[] = {
0x4a, 0x43 // muls al r2 r1 r2
};
const byte kInstruction_muls_al_r2_r2_r2[] = {
0x52, 0x43 // muls al r2 r2 r2
};
const byte kInstruction_muls_al_r2_r3_r2[] = {
0x5a, 0x43 // muls al r2 r3 r2
};
const byte kInstruction_muls_al_r2_r4_r2[] = {
0x62, 0x43 // muls al r2 r4 r2
};
const byte kInstruction_muls_al_r2_r5_r2[] = {
0x6a, 0x43 // muls al r2 r5 r2
};
const byte kInstruction_muls_al_r2_r6_r2[] = {
0x72, 0x43 // muls al r2 r6 r2
};
const byte kInstruction_muls_al_r2_r7_r2[] = {
0x7a, 0x43 // muls al r2 r7 r2
};
const byte kInstruction_muls_al_r3_r0_r3[] = {
0x43, 0x43 // muls al r3 r0 r3
};
const byte kInstruction_muls_al_r3_r1_r3[] = {
0x4b, 0x43 // muls al r3 r1 r3
};
const byte kInstruction_muls_al_r3_r2_r3[] = {
0x53, 0x43 // muls al r3 r2 r3
};
const byte kInstruction_muls_al_r3_r3_r3[] = {
0x5b, 0x43 // muls al r3 r3 r3
};
const byte kInstruction_muls_al_r3_r4_r3[] = {
0x63, 0x43 // muls al r3 r4 r3
};
const byte kInstruction_muls_al_r3_r5_r3[] = {
0x6b, 0x43 // muls al r3 r5 r3
};
const byte kInstruction_muls_al_r3_r6_r3[] = {
0x73, 0x43 // muls al r3 r6 r3
};
const byte kInstruction_muls_al_r3_r7_r3[] = {
0x7b, 0x43 // muls al r3 r7 r3
};
const byte kInstruction_muls_al_r4_r0_r4[] = {
0x44, 0x43 // muls al r4 r0 r4
};
const byte kInstruction_muls_al_r4_r1_r4[] = {
0x4c, 0x43 // muls al r4 r1 r4
};
const byte kInstruction_muls_al_r4_r2_r4[] = {
0x54, 0x43 // muls al r4 r2 r4
};
const byte kInstruction_muls_al_r4_r3_r4[] = {
0x5c, 0x43 // muls al r4 r3 r4
};
const byte kInstruction_muls_al_r4_r4_r4[] = {
0x64, 0x43 // muls al r4 r4 r4
};
const byte kInstruction_muls_al_r4_r5_r4[] = {
0x6c, 0x43 // muls al r4 r5 r4
};
const byte kInstruction_muls_al_r4_r6_r4[] = {
0x74, 0x43 // muls al r4 r6 r4
};
const byte kInstruction_muls_al_r4_r7_r4[] = {
0x7c, 0x43 // muls al r4 r7 r4
};
const byte kInstruction_muls_al_r5_r0_r5[] = {
0x45, 0x43 // muls al r5 r0 r5
};
const byte kInstruction_muls_al_r5_r1_r5[] = {
0x4d, 0x43 // muls al r5 r1 r5
};
const byte kInstruction_muls_al_r5_r2_r5[] = {
0x55, 0x43 // muls al r5 r2 r5
};
const byte kInstruction_muls_al_r5_r3_r5[] = {
0x5d, 0x43 // muls al r5 r3 r5
};
const byte kInstruction_muls_al_r5_r4_r5[] = {
0x65, 0x43 // muls al r5 r4 r5
};
const byte kInstruction_muls_al_r5_r5_r5[] = {
0x6d, 0x43 // muls al r5 r5 r5
};
const byte kInstruction_muls_al_r5_r6_r5[] = {
0x75, 0x43 // muls al r5 r6 r5
};
const byte kInstruction_muls_al_r5_r7_r5[] = {
0x7d, 0x43 // muls al r5 r7 r5
};
const byte kInstruction_muls_al_r6_r0_r6[] = {
0x46, 0x43 // muls al r6 r0 r6
};
const byte kInstruction_muls_al_r6_r1_r6[] = {
0x4e, 0x43 // muls al r6 r1 r6
};
const byte kInstruction_muls_al_r6_r2_r6[] = {
0x56, 0x43 // muls al r6 r2 r6
};
const byte kInstruction_muls_al_r6_r3_r6[] = {
0x5e, 0x43 // muls al r6 r3 r6
};
const byte kInstruction_muls_al_r6_r4_r6[] = {
0x66, 0x43 // muls al r6 r4 r6
};
const byte kInstruction_muls_al_r6_r5_r6[] = {
0x6e, 0x43 // muls al r6 r5 r6
};
const byte kInstruction_muls_al_r6_r6_r6[] = {
0x76, 0x43 // muls al r6 r6 r6
};
const byte kInstruction_muls_al_r6_r7_r6[] = {
0x7e, 0x43 // muls al r6 r7 r6
};
const byte kInstruction_muls_al_r7_r0_r7[] = {
0x47, 0x43 // muls al r7 r0 r7
};
const byte kInstruction_muls_al_r7_r1_r7[] = {
0x4f, 0x43 // muls al r7 r1 r7
};
const byte kInstruction_muls_al_r7_r2_r7[] = {
0x57, 0x43 // muls al r7 r2 r7
};
const byte kInstruction_muls_al_r7_r3_r7[] = {
0x5f, 0x43 // muls al r7 r3 r7
};
const byte kInstruction_muls_al_r7_r4_r7[] = {
0x67, 0x43 // muls al r7 r4 r7
};
const byte kInstruction_muls_al_r7_r5_r7[] = {
0x6f, 0x43 // muls al r7 r5 r7
};
const byte kInstruction_muls_al_r7_r6_r7[] = {
0x77, 0x43 // muls al r7 r6 r7
};
const byte kInstruction_muls_al_r7_r7_r7[] = {
0x7f, 0x43 // muls al r7 r7 r7
};
const TestResult kReferencemuls[] = {
{
ARRAY_SIZE(kInstruction_muls_al_r0_r0_r0),
kInstruction_muls_al_r0_r0_r0,
},
{
ARRAY_SIZE(kInstruction_muls_al_r0_r1_r0),
kInstruction_muls_al_r0_r1_r0,
},
{
ARRAY_SIZE(kInstruction_muls_al_r0_r2_r0),
kInstruction_muls_al_r0_r2_r0,
},
{
ARRAY_SIZE(kInstruction_muls_al_r0_r3_r0),
kInstruction_muls_al_r0_r3_r0,
},
{
ARRAY_SIZE(kInstruction_muls_al_r0_r4_r0),
kInstruction_muls_al_r0_r4_r0,
},
{
ARRAY_SIZE(kInstruction_muls_al_r0_r5_r0),
kInstruction_muls_al_r0_r5_r0,
},
{
ARRAY_SIZE(kInstruction_muls_al_r0_r6_r0),
kInstruction_muls_al_r0_r6_r0,
},
{
ARRAY_SIZE(kInstruction_muls_al_r0_r7_r0),
kInstruction_muls_al_r0_r7_r0,
},
{
ARRAY_SIZE(kInstruction_muls_al_r1_r0_r1),
kInstruction_muls_al_r1_r0_r1,
},
{
ARRAY_SIZE(kInstruction_muls_al_r1_r1_r1),
kInstruction_muls_al_r1_r1_r1,
},
{
ARRAY_SIZE(kInstruction_muls_al_r1_r2_r1),
kInstruction_muls_al_r1_r2_r1,
},
{
ARRAY_SIZE(kInstruction_muls_al_r1_r3_r1),
kInstruction_muls_al_r1_r3_r1,
},
{
ARRAY_SIZE(kInstruction_muls_al_r1_r4_r1),
kInstruction_muls_al_r1_r4_r1,
},
{
ARRAY_SIZE(kInstruction_muls_al_r1_r5_r1),
kInstruction_muls_al_r1_r5_r1,
},
{
ARRAY_SIZE(kInstruction_muls_al_r1_r6_r1),
kInstruction_muls_al_r1_r6_r1,
},
{
ARRAY_SIZE(kInstruction_muls_al_r1_r7_r1),
kInstruction_muls_al_r1_r7_r1,
},
{
ARRAY_SIZE(kInstruction_muls_al_r2_r0_r2),
kInstruction_muls_al_r2_r0_r2,
},
{
ARRAY_SIZE(kInstruction_muls_al_r2_r1_r2),
kInstruction_muls_al_r2_r1_r2,
},
{
ARRAY_SIZE(kInstruction_muls_al_r2_r2_r2),
kInstruction_muls_al_r2_r2_r2,
},
{
ARRAY_SIZE(kInstruction_muls_al_r2_r3_r2),
kInstruction_muls_al_r2_r3_r2,
},
{
ARRAY_SIZE(kInstruction_muls_al_r2_r4_r2),
kInstruction_muls_al_r2_r4_r2,
},
{
ARRAY_SIZE(kInstruction_muls_al_r2_r5_r2),
kInstruction_muls_al_r2_r5_r2,
},
{
ARRAY_SIZE(kInstruction_muls_al_r2_r6_r2),
kInstruction_muls_al_r2_r6_r2,
},
{
ARRAY_SIZE(kInstruction_muls_al_r2_r7_r2),
kInstruction_muls_al_r2_r7_r2,
},
{
ARRAY_SIZE(kInstruction_muls_al_r3_r0_r3),
kInstruction_muls_al_r3_r0_r3,
},
{
ARRAY_SIZE(kInstruction_muls_al_r3_r1_r3),
kInstruction_muls_al_r3_r1_r3,
},
{
ARRAY_SIZE(kInstruction_muls_al_r3_r2_r3),
kInstruction_muls_al_r3_r2_r3,
},
{
ARRAY_SIZE(kInstruction_muls_al_r3_r3_r3),
kInstruction_muls_al_r3_r3_r3,
},
{
ARRAY_SIZE(kInstruction_muls_al_r3_r4_r3),
kInstruction_muls_al_r3_r4_r3,
},
{
ARRAY_SIZE(kInstruction_muls_al_r3_r5_r3),
kInstruction_muls_al_r3_r5_r3,
},
{
ARRAY_SIZE(kInstruction_muls_al_r3_r6_r3),
kInstruction_muls_al_r3_r6_r3,
},
{
ARRAY_SIZE(kInstruction_muls_al_r3_r7_r3),
kInstruction_muls_al_r3_r7_r3,
},
{
ARRAY_SIZE(kInstruction_muls_al_r4_r0_r4),
kInstruction_muls_al_r4_r0_r4,
},
{
ARRAY_SIZE(kInstruction_muls_al_r4_r1_r4),
kInstruction_muls_al_r4_r1_r4,
},
{
ARRAY_SIZE(kInstruction_muls_al_r4_r2_r4),
kInstruction_muls_al_r4_r2_r4,
},
{
ARRAY_SIZE(kInstruction_muls_al_r4_r3_r4),
kInstruction_muls_al_r4_r3_r4,
},
{
ARRAY_SIZE(kInstruction_muls_al_r4_r4_r4),
kInstruction_muls_al_r4_r4_r4,
},
{
ARRAY_SIZE(kInstruction_muls_al_r4_r5_r4),
kInstruction_muls_al_r4_r5_r4,
},
{
ARRAY_SIZE(kInstruction_muls_al_r4_r6_r4),
kInstruction_muls_al_r4_r6_r4,
},
{
ARRAY_SIZE(kInstruction_muls_al_r4_r7_r4),
kInstruction_muls_al_r4_r7_r4,
},
{
ARRAY_SIZE(kInstruction_muls_al_r5_r0_r5),
kInstruction_muls_al_r5_r0_r5,
},
{
ARRAY_SIZE(kInstruction_muls_al_r5_r1_r5),
kInstruction_muls_al_r5_r1_r5,
},
{
ARRAY_SIZE(kInstruction_muls_al_r5_r2_r5),
kInstruction_muls_al_r5_r2_r5,
},
{
ARRAY_SIZE(kInstruction_muls_al_r5_r3_r5),
kInstruction_muls_al_r5_r3_r5,
},
{
ARRAY_SIZE(kInstruction_muls_al_r5_r4_r5),
kInstruction_muls_al_r5_r4_r5,
},
{
ARRAY_SIZE(kInstruction_muls_al_r5_r5_r5),
kInstruction_muls_al_r5_r5_r5,
},
{
ARRAY_SIZE(kInstruction_muls_al_r5_r6_r5),
kInstruction_muls_al_r5_r6_r5,
},
{
ARRAY_SIZE(kInstruction_muls_al_r5_r7_r5),
kInstruction_muls_al_r5_r7_r5,
},
{
ARRAY_SIZE(kInstruction_muls_al_r6_r0_r6),
kInstruction_muls_al_r6_r0_r6,
},
{
ARRAY_SIZE(kInstruction_muls_al_r6_r1_r6),
kInstruction_muls_al_r6_r1_r6,
},
{
ARRAY_SIZE(kInstruction_muls_al_r6_r2_r6),
kInstruction_muls_al_r6_r2_r6,
},
{
ARRAY_SIZE(kInstruction_muls_al_r6_r3_r6),
kInstruction_muls_al_r6_r3_r6,
},
{
ARRAY_SIZE(kInstruction_muls_al_r6_r4_r6),
kInstruction_muls_al_r6_r4_r6,
},
{
ARRAY_SIZE(kInstruction_muls_al_r6_r5_r6),
kInstruction_muls_al_r6_r5_r6,
},
{
ARRAY_SIZE(kInstruction_muls_al_r6_r6_r6),
kInstruction_muls_al_r6_r6_r6,
},
{
ARRAY_SIZE(kInstruction_muls_al_r6_r7_r6),
kInstruction_muls_al_r6_r7_r6,
},
{
ARRAY_SIZE(kInstruction_muls_al_r7_r0_r7),
kInstruction_muls_al_r7_r0_r7,
},
{
ARRAY_SIZE(kInstruction_muls_al_r7_r1_r7),
kInstruction_muls_al_r7_r1_r7,
},
{
ARRAY_SIZE(kInstruction_muls_al_r7_r2_r7),
kInstruction_muls_al_r7_r2_r7,
},
{
ARRAY_SIZE(kInstruction_muls_al_r7_r3_r7),
kInstruction_muls_al_r7_r3_r7,
},
{
ARRAY_SIZE(kInstruction_muls_al_r7_r4_r7),
kInstruction_muls_al_r7_r4_r7,
},
{
ARRAY_SIZE(kInstruction_muls_al_r7_r5_r7),
kInstruction_muls_al_r7_r5_r7,
},
{
ARRAY_SIZE(kInstruction_muls_al_r7_r6_r7),
kInstruction_muls_al_r7_r6_r7,
},
{
ARRAY_SIZE(kInstruction_muls_al_r7_r7_r7),
kInstruction_muls_al_r7_r7_r7,
},
};
#endif // VIXL_ASSEMBLER_COND_RDLOW_RNLOW_RMLOW_T32_MULS_H_