135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// Copyright 2016, VIXL authors 235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// All rights reserved. 335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// 435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// Redistribution and use in source and binary forms, with or without 535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// modification, are permitted provided that the following conditions are met: 635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// 735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// * Redistributions of source code must retain the above copyright notice, 835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// this list of conditions and the following disclaimer. 935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// * Redistributions in binary form must reproduce the above copyright notice, 1035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// this list of conditions and the following disclaimer in the documentation 1135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// and/or other materials provided with the distribution. 1235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// * Neither the name of ARM Limited nor the names of its contributors may be 1335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// used to endorse or promote products derived from this software without 1435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// specific prior written permission. 1535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// 1635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND 1735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 1835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 1935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 2035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 2235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 2335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 2435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 2735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 2835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// ----------------------------------------------------------------------------- 2935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// This file is auto generated from the 3035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// test/aarch32/config/template-macro-assembler-aarch32.cc.in template file 3135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// using tools/generate_tests.py. 3235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// 3335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// PLEASE DO NOT EDIT. 3435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// ----------------------------------------------------------------------------- 3535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 3635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 3735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#include <iostream> 3835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#include <map> 3935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 4035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#include "test-runner.h" 4135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 4235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#include "test-utils.h" 4335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#include "test-utils-aarch32.h" 4435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 4535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#include "aarch32/assembler-aarch32.h" 4635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#include "aarch32/disasm-aarch32.h" 4735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#include "aarch32/macro-assembler-aarch32.h" 4835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 4935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#define BUF_SIZE (4096) 5035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 5135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramleynamespace vixl { 5235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramleynamespace aarch32 { 5335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 5435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// List of instruction mnemonics. 5535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#define FOREACH_INSTRUCTION(M) \ 5635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley M(Clz) \ 5735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley M(Rbit) \ 5835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley M(Rev) \ 5935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley M(Rev16) \ 6035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley M(Revsh) \ 6135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley M(Rrx) \ 6235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley M(Rrxs) 6335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 6435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 6535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// The following definitions are defined again in each generated test, therefore 6635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// we need to place them in an anomymous namespace. It expresses that they are 6735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// local to this file only, and the compiler is not allowed to share these types 6835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// across test files during template instantiation. Specifically, `Operands` has 6935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// various layouts across generated tests so it absolutely cannot be shared. 7035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 719a9331faeba996d6c85e6e2a6355ccfc22c6cab6Rodolph Perfetta#ifdef VIXL_INCLUDE_TARGET_T32 7235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramleynamespace { 7335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 7435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// Values to be passed to the assembler to produce the instruction under test. 7535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramleystruct Operands { 7635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley Condition cond; 7735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley Register rd; 7835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley Register rn; 7935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley}; 8035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 8135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// This structure contains all data needed to test one specific 8235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// instruction. 8335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramleystruct TestData { 8435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // The `operands` field represents what to pass to the assembler to 8535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // produce the instruction. 8635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley Operands operands; 8735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // Description of the operands, used for error reporting. 8835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley const char* operands_description; 8935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // Unique identifier, used for generating traces. 9035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley const char* identifier; 9135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley}; 9235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 9335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// Each element of this array produce one instruction encoding. 940b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveliconst TestData kTests[] = {{{cs, r12, r1}, "cs, r12, r1", "cs_r12_r1"}, 950b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r6, r12}, "hi, r6, r12", "hi_r6_r12"}, 960b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r11, r10}, "lt, r11, r10", "lt_r11_r10"}, 970b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r10, r8}, "vs, r10, r8", "vs_r10_r8"}, 980b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r5, r8}, "pl, r5, r8", "pl_r5_r8"}, 990b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r14, r14}, "ls, r14, r14", "ls_r14_r14"}, 1000b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r8, r6}, "gt, r8, r6", "gt_r8_r6"}, 1010b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r7, r11}, "vc, r7, r11", "vc_r7_r11"}, 1020b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r4, r12}, "pl, r4, r12", "pl_r4_r12"}, 1030b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r12, r12}, "gt, r12, r12", "gt_r12_r12"}, 10435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{ne, r8, r4}, "ne, r8, r4", "ne_r8_r4"}, 1050b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r1, r11}, "le, r1, r11", "le_r1_r11"}, 1060b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r4, r10}, "cc, r4, r10", "cc_r4_r10"}, 1070b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r14, r0}, "gt, r14, r0", "gt_r14_r0"}, 1080b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r2, r11}, "cs, r2, r11", "cs_r2_r11"}, 1090b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r3, r12}, "al, r3, r12", "al_r3_r12"}, 1100b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r6, r0}, "hi, r6, r0", "hi_r6_r0"}, 1110b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r10, r10}, "ls, r10, r10", "ls_r10_r10"}, 1120b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r4, r8}, "ls, r4, r8", "ls_r4_r8"}, 1130b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r8, r0}, "le, r8, r0", "le_r8_r0"}, 1140b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r5, r3}, "pl, r5, r3", "pl_r5_r3"}, 1150b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r8, r5}, "ls, r8, r5", "ls_r8_r5"}, 1160b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r0, r10}, "ge, r0, r10", "ge_r0_r10"}, 1170b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r10, r6}, "lt, r10, r6", "lt_r10_r6"}, 11835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{ne, r9, r9}, "ne, r9, r9", "ne_r9_r9"}, 1190b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r5, r0}, "hi, r5, r0", "hi_r5_r0"}, 1200b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r10, r6}, "pl, r10, r6", "pl_r10_r6"}, 1210b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r1, r3}, "vs, r1, r3", "vs_r1_r3"}, 1220b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r9, r8}, "vs, r9, r8", "vs_r9_r8"}, 1230b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r2, r10}, "cc, r2, r10", "cc_r2_r10"}, 1240b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r11, r3}, "cs, r11, r3", "cs_r11_r3"}, 1250b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r8, r2}, "hi, r8, r2", "hi_r8_r2"}, 1260b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r6, r0}, "pl, r6, r0", "pl_r6_r0"}, 1270b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r9, r2}, "hi, r9, r2", "hi_r9_r2"}, 1280b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r14, r11}, "al, r14, r11", "al_r14_r11"}, 1290b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r8, r13}, "eq, r8, r13", "eq_r8_r13"}, 1300b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r12, r2}, "ge, r12, r2", "ge_r12_r2"}, 1310b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r2, r6}, "cc, r2, r6", "cc_r2_r6"}, 13235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{ne, r13, r9}, "ne, r13, r9", "ne_r13_r9"}, 13335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{ne, r13, r10}, "ne, r13, r10", "ne_r13_r10"}, 1340b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r10, r9}, "mi, r10, r9", "mi_r10_r9"}, 1350b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r13, r12}, "lt, r13, r12", "lt_r13_r12"}, 1360b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r14, r3}, "lt, r14, r3", "lt_r14_r3"}, 1370b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r12, r14}, "mi, r12, r14", "mi_r12_r14"}, 1380b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r11, r2}, "vs, r11, r2", "vs_r11_r2"}, 1390b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r11, r0}, "ls, r11, r0", "ls_r11_r0"}, 1400b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r10, r9}, "gt, r10, r9", "gt_r10_r9"}, 1410b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r10, r12}, "le, r10, r12", "le_r10_r12"}, 1420b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r0, r14}, "ge, r0, r14", "ge_r0_r14"}, 1430b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r5, r8}, "mi, r5, r8", "mi_r5_r8"}, 1440b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r4, r11}, "vs, r4, r11", "vs_r4_r11"}, 1450b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r7, r12}, "lt, r7, r12", "lt_r7_r12"}, 1460b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r2, r8}, "gt, r2, r8", "gt_r2_r8"}, 1470b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r5, r7}, "gt, r5, r7", "gt_r5_r7"}, 1480b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r6, r3}, "pl, r6, r3", "pl_r6_r3"}, 1490b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r2, r12}, "ne, r2, r12", "ne_r2_r12"}, 1500b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r11, r11}, "hi, r11, r11", "hi_r11_r11"}, 1510b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r4, r14}, "vs, r4, r14", "vs_r4_r14"}, 1520b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r13, r1}, "vs, r13, r1", "vs_r13_r1"}, 15335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{cs, r4, r3}, "cs, r4, r3", "cs_r4_r3"}, 1540b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r13, r6}, "eq, r13, r6", "eq_r13_r6"}, 1550b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r11, r14}, "gt, r11, r14", "gt_r11_r14"}, 1560b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r14, r4}, "vc, r14, r4", "vc_r14_r4"}, 1570b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r1, r10}, "vc, r1, r10", "vc_r1_r10"}, 1580b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r10, r3}, "mi, r10, r3", "mi_r10_r3"}, 1590b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r9, r3}, "vs, r9, r3", "vs_r9_r3"}, 1600b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r14, r5}, "vc, r14, r5", "vc_r14_r5"}, 1610b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r9, r1}, "ne, r9, r1", "ne_r9_r1"}, 1620b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r9, r6}, "al, r9, r6", "al_r9_r6"}, 1630b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r7, r8}, "vc, r7, r8", "vc_r7_r8"}, 1640b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r6, r9}, "ls, r6, r9", "ls_r6_r9"}, 1650b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r14, r2}, "le, r14, r2", "le_r14_r2"}, 1660b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r9, r13}, "ls, r9, r13", "ls_r9_r13"}, 1670b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r1, r5}, "eq, r1, r5", "eq_r1_r5"}, 1680b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r9, r2}, "le, r9, r2", "le_r9_r2"}, 1690b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r2, r1}, "eq, r2, r1", "eq_r2_r1"}, 1700b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r9, r11}, "ls, r9, r11", "ls_r9_r11"}, 1710b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r7, r13}, "lt, r7, r13", "lt_r7_r13"}, 1720b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r8, r7}, "cc, r8, r7", "cc_r8_r7"}, 1730b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r5, r1}, "ls, r5, r1", "ls_r5_r1"}, 1740b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r1, r9}, "le, r1, r9", "le_r1_r9"}, 1750b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r8, r14}, "ls, r8, r14", "ls_r8_r14"}, 1760b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r9, r1}, "le, r9, r1", "le_r9_r1"}, 1770b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r1, r6}, "gt, r1, r6", "gt_r1_r6"}, 1780b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r11, r10}, "gt, r11, r10", "gt_r11_r10"}, 1790b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r0, r12}, "hi, r0, r12", "hi_r0_r12"}, 1800b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r1, r7}, "gt, r1, r7", "gt_r1_r7"}, 1810b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r7, r1}, "mi, r7, r1", "mi_r7_r1"}, 1820b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r7, r0}, "mi, r7, r0", "mi_r7_r0"}, 1830b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r1, r3}, "ls, r1, r3", "ls_r1_r3"}, 1840b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r13, r3}, "mi, r13, r3", "mi_r13_r3"}, 1850b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r4, r3}, "eq, r4, r3", "eq_r4_r3"}, 1860b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r14, r9}, "vc, r14, r9", "vc_r14_r9"}, 1870b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r3, r1}, "pl, r3, r1", "pl_r3_r1"}, 1880b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r0, r2}, "mi, r0, r2", "mi_r0_r2"}, 1890b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r2, r7}, "hi, r2, r7", "hi_r2_r7"}, 1900b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r13, r12}, "hi, r13, r12", "hi_r13_r12"}, 1910b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r12, r8}, "ls, r12, r8", "ls_r12_r8"}, 1920b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r5, r6}, "ne, r5, r6", "ne_r5_r6"}, 1930b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r5, r4}, "pl, r5, r4", "pl_r5_r4"}, 1940b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r1, r6}, "ge, r1, r6", "ge_r1_r6"}, 1950b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r8, r10}, "eq, r8, r10", "eq_r8_r10"}, 19635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{cs, r5, r4}, "cs, r5, r4", "cs_r5_r4"}, 1970b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r11, r6}, "eq, r11, r6", "eq_r11_r6"}, 19835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{cs, r13, r3}, "cs, r13, r3", "cs_r13_r3"}, 1990b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r2, r8}, "pl, r2, r8", "pl_r2_r8"}, 2000b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r10, r0}, "gt, r10, r0", "gt_r10_r0"}, 2010b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r4, r10}, "lt, r4, r10", "lt_r4_r10"}, 2020b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r14, r14}, "vs, r14, r14", "vs_r14_r14"}, 2030b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r0, r7}, "hi, r0, r7", "hi_r0_r7"}, 2040b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r9, r6}, "cc, r9, r6", "cc_r9_r6"}, 2050b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r7, r13}, "ne, r7, r13", "ne_r7_r13"}, 2060b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r2, r6}, "eq, r2, r6", "eq_r2_r6"}, 2070b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r12, r12}, "cs, r12, r12", "cs_r12_r12"}, 2080b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r3, r10}, "mi, r3, r10", "mi_r3_r10"}, 2090b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r6, r13}, "le, r6, r13", "le_r6_r13"}, 2100b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r2, r1}, "al, r2, r1", "al_r2_r1"}, 2110b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r3, r4}, "le, r3, r4", "le_r3_r4"}, 2120b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r4, r4}, "pl, r4, r4", "pl_r4_r4"}, 2130b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r12, r3}, "lt, r12, r3", "lt_r12_r3"}, 2140b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r7, r4}, "ls, r7, r4", "ls_r7_r4"}, 2150b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r9, r4}, "le, r9, r4", "le_r9_r4"}, 2160b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r13, r3}, "vc, r13, r3", "vc_r13_r3"}, 2170b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r8, r8}, "vc, r8, r8", "vc_r8_r8"}, 2180b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r2, r8}, "ge, r2, r8", "ge_r2_r8"}, 2190b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r11, r13}, "le, r11, r13", "le_r11_r13"}, 2200b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r1, r5}, "le, r1, r5", "le_r1_r5"}, 2210b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r9, r12}, "ge, r9, r12", "ge_r9_r12"}, 22235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{cs, r14, r14}, "cs, r14, r14", "cs_r14_r14"}, 22335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{cc, r1, r0}, "cc, r1, r0", "cc_r1_r0"}, 2240b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r3, r0}, "ge, r3, r0", "ge_r3_r0"}, 2250b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r10, r0}, "al, r10, r0", "al_r10_r0"}, 22635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{cc, r11, r10}, "cc, r11, r10", "cc_r11_r10"}, 22735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{mi, r11, r11}, "mi, r11, r11", "mi_r11_r11"}, 2280b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r12, r7}, "ne, r12, r7", "ne_r12_r7"}, 2290b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r4, r12}, "lt, r4, r12", "lt_r4_r12"}, 2300b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r14, r5}, "gt, r14, r5", "gt_r14_r5"}, 2310b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r1, r7}, "ge, r1, r7", "ge_r1_r7"}, 2320b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r7, r0}, "al, r7, r0", "al_r7_r0"}, 2330b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r2, r0}, "ls, r2, r0", "ls_r2_r0"}, 23435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{pl, r6, r11}, "pl, r6, r11", "pl_r6_r11"}, 2350b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r0, r6}, "vc, r0, r6", "vc_r0_r6"}, 2360b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r6, r9}, "pl, r6, r9", "pl_r6_r9"}, 2370b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r8, r1}, "vs, r8, r1", "vs_r8_r1"}, 2380b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r1, r6}, "cs, r1, r6", "cs_r1_r6"}, 2390b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r4, r11}, "hi, r4, r11", "hi_r4_r11"}, 2400b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r5, r5}, "gt, r5, r5", "gt_r5_r5"}, 2410b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r3, r4}, "al, r3, r4", "al_r3_r4"}, 2420b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r11, r12}, "ge, r11, r12", "ge_r11_r12"}, 2430b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r14, r2}, "cc, r14, r2", "cc_r14_r2"}, 2440b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r2, r4}, "ge, r2, r4", "ge_r2_r4"}, 2450b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r5, r11}, "lt, r5, r11", "lt_r5_r11"}, 2460b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r11, r14}, "mi, r11, r14", "mi_r11_r14"}, 2470b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r3, r3}, "ne, r3, r3", "ne_r3_r3"}, 24835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{pl, r14, r0}, "pl, r14, r0", "pl_r14_r0"}, 2490b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r4, r10}, "vc, r4, r10", "vc_r4_r10"}, 25035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{vs, r6, r8}, "vs, r6, r8", "vs_r6_r8"}, 25135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{vc, r4, r7}, "vc, r4, r7", "vc_r4_r7"}, 2520b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r11, r10}, "cs, r11, r10", "cs_r11_r10"}, 2530b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r11, r8}, "eq, r11, r8", "eq_r11_r8"}, 2540b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r9, r2}, "ne, r9, r2", "ne_r9_r2"}, 2550b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r9, r7}, "hi, r9, r7", "hi_r9_r7"}, 2560b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r0, r6}, "lt, r0, r6", "lt_r0_r6"}, 25735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{vc, r5, r8}, "vc, r5, r8", "vc_r5_r8"}, 2580b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r3, r1}, "gt, r3, r1", "gt_r3_r1"}, 2590b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r3, r5}, "pl, r3, r5", "pl_r3_r5"}, 2600b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r11, r5}, "al, r11, r5", "al_r11_r5"}, 2610b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r8, r14}, "hi, r8, r14", "hi_r8_r14"}, 2620b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r5, r4}, "le, r5, r4", "le_r5_r4"}, 2630b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r13, r3}, "ge, r13, r3", "ge_r13_r3"}, 2640b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r7, r14}, "pl, r7, r14", "pl_r7_r14"}, 2650b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r6, r9}, "cs, r6, r9", "cs_r6_r9"}, 2660b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r8, r12}, "lt, r8, r12", "lt_r8_r12"}, 2670b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r12, r0}, "cc, r12, r0", "cc_r12_r0"}, 2680b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r14, r13}, "mi, r14, r13", "mi_r14_r13"}, 2690b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r12, r13}, "pl, r12, r13", "pl_r12_r13"}, 2700b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r4, r8}, "al, r4, r8", "al_r4_r8"}, 2710b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r5, r11}, "ls, r5, r11", "ls_r5_r11"}, 2720b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r11, r3}, "ge, r11, r3", "ge_r11_r3"}, 2730b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r1, r0}, "le, r1, r0", "le_r1_r0"}, 2740b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r14, r4}, "gt, r14, r4", "gt_r14_r4"}, 2750b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r3, r14}, "ne, r3, r14", "ne_r3_r14"}, 2760b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r3, r8}, "cc, r3, r8", "cc_r3_r8"}, 2770b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r7, r10}, "eq, r7, r10", "eq_r7_r10"}, 2780b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r0, r10}, "pl, r0, r10", "pl_r0_r10"}, 2790b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r6, r13}, "mi, r6, r13", "mi_r6_r13"}, 2800b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r10, r5}, "gt, r10, r5", "gt_r10_r5"}, 2810b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r0, r1}, "ne, r0, r1", "ne_r0_r1"}, 2820b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r4, r8}, "ge, r4, r8", "ge_r4_r8"}, 2830b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r3, r7}, "cs, r3, r7", "cs_r3_r7"}, 2840b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r2, r12}, "pl, r2, r12", "pl_r2_r12"}, 2850b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r9, r12}, "ls, r9, r12", "ls_r9_r12"}, 2860b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r4, r9}, "ge, r4, r9", "ge_r4_r9"}, 2870b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r7, r2}, "lt, r7, r2", "lt_r7_r2"}, 2880b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r10, r10}, "hi, r10, r10", "hi_r10_r10"}, 2890b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r1, r7}, "ls, r1, r7", "ls_r1_r7"}, 2900b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r1, r12}, "vs, r1, r12", "vs_r1_r12"}, 2910b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r9, r14}, "ge, r9, r14", "ge_r9_r14"}, 2920b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r6, r4}, "pl, r6, r4", "pl_r6_r4"}, 2930b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r3, r2}, "ls, r3, r2", "ls_r3_r2"}, 2940b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r4, r4}, "cs, r4, r4", "cs_r4_r4"}, 2950b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r6, r2}, "eq, r6, r2", "eq_r6_r2"}, 2960b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r14, r0}, "ge, r14, r0", "ge_r14_r0"}, 2970b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r11, r6}, "le, r11, r6", "le_r11_r6"}, 2980b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r0, r0}, "vs, r0, r0", "vs_r0_r0"}, 2990b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r4, r6}, "vs, r4, r6", "vs_r4_r6"}, 3000b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r6, r10}, "gt, r6, r10", "gt_r6_r10"}, 30135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{vc, r12, r7}, "vc, r12, r7", "vc_r12_r7"}, 3020b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r8, r3}, "gt, r8, r3", "gt_r8_r3"}, 3030b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r14, r4}, "hi, r14, r4", "hi_r14_r4"}, 30435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{hi, r9, r14}, "hi, r9, r14", "hi_r9_r14"}, 3050b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r6, r1}, "vs, r6, r1", "vs_r6_r1"}, 3060b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r5, r4}, "hi, r5, r4", "hi_r5_r4"}, 3070b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r10, r14}, "lt, r10, r14", "lt_r10_r14"}, 3080b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r8, r10}, "cc, r8, r10", "cc_r8_r10"}, 3090b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r11, r0}, "lt, r11, r0", "lt_r11_r0"}, 3100b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r4, r12}, "ge, r4, r12", "ge_r4_r12"}, 3110b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r5, r7}, "cc, r5, r7", "cc_r5_r7"}, 3120b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r3, r9}, "gt, r3, r9", "gt_r3_r9"}, 3130b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r11, r5}, "vc, r11, r5", "vc_r11_r5"}, 3140b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r7, r1}, "lt, r7, r1", "lt_r7_r1"}, 3150b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r1, r8}, "lt, r1, r8", "lt_r1_r8"}, 31635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{hi, r11, r13}, "hi, r11, r13", "hi_r11_r13"}, 3170b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r10, r2}, "vs, r10, r2", "vs_r10_r2"}, 3180b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r1, r10}, "ne, r1, r10", "ne_r1_r10"}, 3190b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r10, r0}, "vc, r10, r0", "vc_r10_r0"}, 3200b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r2, r2}, "al, r2, r2", "al_r2_r2"}, 3210b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r7, r8}, "ne, r7, r8", "ne_r7_r8"}, 32235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{hi, r11, r14}, "hi, r11, r14", "hi_r11_r14"}, 3230b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r6, r14}, "ne, r6, r14", "ne_r6_r14"}, 3240b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r8, r5}, "ge, r8, r5", "ge_r8_r5"}, 3250b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r7, r3}, "vs, r7, r3", "vs_r7_r3"}, 3260b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r14, r13}, "ne, r14, r13", "ne_r14_r13"}, 32735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{hi, r12, r11}, "hi, r12, r11", "hi_r12_r11"}, 32835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{ls, r11, r9}, "ls, r11, r9", "ls_r11_r9"}, 3290b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r12, r7}, "mi, r12, r7", "mi_r12_r7"}, 3300b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r8, r8}, "cc, r8, r8", "cc_r8_r8"}, 33135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{ls, r14, r12}, "ls, r14, r12", "ls_r14_r12"}, 3320b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r3, r6}, "ls, r3, r6", "ls_r3_r6"}, 3330b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r7, r8}, "hi, r7, r8", "hi_r7_r8"}, 3340b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r4, r10}, "vs, r4, r10", "vs_r4_r10"}, 3350b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r12, r1}, "ne, r12, r1", "ne_r12_r1"}, 3360b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r12, r4}, "vs, r12, r4", "vs_r12_r4"}, 3370b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r5, r5}, "hi, r5, r5", "hi_r5_r5"}, 3380b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r8, r8}, "gt, r8, r8", "gt_r8_r8"}, 3390b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r10, r10}, "lt, r10, r10", "lt_r10_r10"}, 3400b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r13, r4}, "vs, r13, r4", "vs_r13_r4"}, 3410b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r8, r3}, "mi, r8, r3", "mi_r8_r3"}, 3420b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r6, r13}, "eq, r6, r13", "eq_r6_r13"}, 3430b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r2, r0}, "al, r2, r0", "al_r2_r0"}, 3440b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r6, r12}, "ls, r6, r12", "ls_r6_r12"}, 3450b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r1, r4}, "vs, r1, r4", "vs_r1_r4"}, 3460b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r11, r1}, "vc, r11, r1", "vc_r11_r1"}, 3470b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r9, r10}, "ne, r9, r10", "ne_r9_r10"}, 3480b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r3, r10}, "ne, r3, r10", "ne_r3_r10"}, 3490b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r7, r10}, "hi, r7, r10", "hi_r7_r10"}, 3500b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r4, r10}, "pl, r4, r10", "pl_r4_r10"}, 3510b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r7, r1}, "le, r7, r1", "le_r7_r1"}, 3520b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r13, r10}, "gt, r13, r10", "gt_r13_r10"}, 3530b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r4, r14}, "lt, r4, r14", "lt_r4_r14"}, 3540b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r10, r1}, "al, r10, r1", "al_r10_r1"}, 3550b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r6, r12}, "mi, r6, r12", "mi_r6_r12"}, 3560b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r13, r9}, "eq, r13, r9", "eq_r13_r9"}, 35735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{ge, r11, r4}, "ge, r11, r4", "ge_r11_r4"}, 3580b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r1, r12}, "hi, r1, r12", "hi_r1_r12"}, 3590b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r0, r1}, "ge, r0, r1", "ge_r0_r1"}, 36035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{lt, r2, r3}, "lt, r2, r3", "lt_r2_r3"}, 3610b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r12, r9}, "al, r12, r9", "al_r12_r9"}, 3620b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r2, r10}, "hi, r2, r10", "hi_r2_r10"}, 3630b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r14, r11}, "mi, r14, r11", "mi_r14_r11"}, 3640b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r3, r10}, "pl, r3, r10", "pl_r3_r10"}, 3650b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r1, r6}, "vs, r1, r6", "vs_r1_r6"}, 3660b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r7, r6}, "al, r7, r6", "al_r7_r6"}, 3670b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r6, r8}, "ge, r6, r8", "ge_r6_r8"}, 3680b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r3, r3}, "eq, r3, r3", "eq_r3_r3"}, 3690b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r14, r4}, "ne, r14, r4", "ne_r14_r4"}, 3700b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r13, r10}, "vc, r13, r10", "vc_r13_r10"}, 3710b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r3, r12}, "mi, r3, r12", "mi_r3_r12"}, 3720b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r9, r1}, "pl, r9, r1", "pl_r9_r1"}, 3730b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r14, r14}, "hi, r14, r14", "hi_r14_r14"}, 3740b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r0, r9}, "ne, r0, r9", "ne_r0_r9"}, 3750b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r1, r1}, "mi, r1, r1", "mi_r1_r1"}, 3760b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r7, r2}, "hi, r7, r2", "hi_r7_r2"}, 3770b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r2, r3}, "gt, r2, r3", "gt_r2_r3"}, 3780b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r2, r0}, "eq, r2, r0", "eq_r2_r0"}, 3790b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r10, r12}, "vs, r10, r12", "vs_r10_r12"}, 3800b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r11, r7}, "gt, r11, r7", "gt_r11_r7"}, 3810b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r13, r2}, "vs, r13, r2", "vs_r13_r2"}, 3820b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r11, r12}, "ls, r11, r12", "ls_r11_r12"}, 3830b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r8, r8}, "al, r8, r8", "al_r8_r8"}, 3840b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r6, r10}, "hi, r6, r10", "hi_r6_r10"}, 3850b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r5, r1}, "vs, r5, r1", "vs_r5_r1"}, 3860b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r0, r10}, "ls, r0, r10", "ls_r0_r10"}, 3870b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r0, r1}, "gt, r0, r1", "gt_r0_r1"}, 3880b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r11, r12}, "ne, r11, r12", "ne_r11_r12"}, 3890b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r13, r5}, "ne, r13, r5", "ne_r13_r5"}, 3900b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r0, r12}, "mi, r0, r12", "mi_r0_r12"}, 3910b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r11, r6}, "lt, r11, r6", "lt_r11_r6"}, 3920b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r11, r14}, "eq, r11, r14", "eq_r11_r14"}, 3930b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r11, r10}, "vc, r11, r10", "vc_r11_r10"}, 3940b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r3, r3}, "cs, r3, r3", "cs_r3_r3"}, 3950b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r12, r2}, "le, r12, r2", "le_r12_r2"}, 3960b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r13, r8}, "hi, r13, r8", "hi_r13_r8"}, 3970b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r6, r6}, "pl, r6, r6", "pl_r6_r6"}, 3980b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r4, r5}, "al, r4, r5", "al_r4_r5"}, 3990b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r1, r0}, "hi, r1, r0", "hi_r1_r0"}, 4000b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r10, r11}, "ls, r10, r11", "ls_r10_r11"}, 4010b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r8, r7}, "al, r8, r7", "al_r8_r7"}, 4020b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r7, r1}, "vc, r7, r1", "vc_r7_r1"}, 4030b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r7, r14}, "ne, r7, r14", "ne_r7_r14"}, 40435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{lt, r5, r9}, "lt, r5, r9", "lt_r5_r9"}, 4050b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r13, r8}, "al, r13, r8", "al_r13_r8"}, 4060b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r6, r14}, "ls, r6, r14", "ls_r6_r14"}, 4070b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r12, r0}, "eq, r12, r0", "eq_r12_r0"}, 4080b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r8, r14}, "mi, r8, r14", "mi_r8_r14"}, 4090b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r13, r2}, "hi, r13, r2", "hi_r13_r2"}, 4100b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r13, r2}, "al, r13, r2", "al_r13_r2"}, 4110b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r8, r9}, "vs, r8, r9", "vs_r8_r9"}, 4120b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r6, r2}, "cc, r6, r2", "cc_r6_r2"}, 41335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{lt, r8, r0}, "lt, r8, r0", "lt_r8_r0"}, 4140b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r3, r13}, "ls, r3, r13", "ls_r3_r13"}, 4150b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r10, r14}, "gt, r10, r14", "gt_r10_r14"}, 4160b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r9, r8}, "pl, r9, r8", "pl_r9_r8"}, 4170b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r14, r11}, "pl, r14, r11", "pl_r14_r11"}, 41835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{lt, r9, r3}, "lt, r9, r3", "lt_r9_r3"}, 4190b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r9, r0}, "hi, r9, r0", "hi_r9_r0"}, 4200b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r9, r3}, "cc, r9, r3", "cc_r9_r3"}, 4210b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r10, r14}, "ge, r10, r14", "ge_r10_r14"}, 4220b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r2, r1}, "vs, r2, r1", "vs_r2_r1"}, 4230b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r4, r13}, "vc, r4, r13", "vc_r4_r13"}, 4240b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r1, r9}, "ls, r1, r9", "ls_r1_r9"}, 42535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{lt, r13, r11}, "lt, r13, r11", "lt_r13_r11"}, 4260b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r2, r10}, "cs, r2, r10", "cs_r2_r10"}, 4270b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r0, r13}, "le, r0, r13", "le_r0_r13"}, 4280b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r13, r11}, "al, r13, r11", "al_r13_r11"}, 4290b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r5, r2}, "eq, r5, r2", "eq_r5_r2"}, 4300b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r5, r12}, "vs, r5, r12", "vs_r5_r12"}, 4310b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r12, r0}, "al, r12, r0", "al_r12_r0"}, 4320b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r13, r9}, "le, r13, r9", "le_r13_r9"}, 4330b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r14, r4}, "cs, r14, r4", "cs_r14_r4"}, 4340b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r5, r7}, "ne, r5, r7", "ne_r5_r7"}, 4350b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r6, r6}, "al, r6, r6", "al_r6_r6"}, 43635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{gt, r4, r8}, "gt, r4, r8", "gt_r4_r8"}, 43735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{gt, r12, r8}, "gt, r12, r8", "gt_r12_r8"}, 4380b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r4, r12}, "eq, r4, r12", "eq_r4_r12"}, 4390b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r7, r13}, "cs, r7, r13", "cs_r7_r13"}, 4400b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r2, r4}, "cs, r2, r4", "cs_r2_r4"}, 4410b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r10, r3}, "al, r10, r3", "al_r10_r3"}, 4420b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r8, r9}, "cs, r8, r9", "cs_r8_r9"}, 4430b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r1, r12}, "cs, r1, r12", "cs_r1_r12"}, 44435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{gt, r13, r0}, "gt, r13, r0", "gt_r13_r0"}, 4450b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r13, r12}, "vc, r13, r12", "vc_r13_r12"}, 4460b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r12, r14}, "lt, r12, r14", "lt_r12_r14"}, 4470b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r0, r1}, "lt, r0, r1", "lt_r0_r1"}, 4480b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r10, r2}, "cc, r10, r2", "cc_r10_r2"}, 44935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{le, r3, r5}, "le, r3, r5", "le_r3_r5"}, 4500b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r2, r11}, "eq, r2, r11", "eq_r2_r11"}, 4510b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r12, r4}, "al, r12, r4", "al_r12_r4"}, 4520b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r6, r5}, "cs, r6, r5", "cs_r6_r5"}, 4530b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r13, r10}, "hi, r13, r10", "hi_r13_r10"}, 4540b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r4, r3}, "vs, r4, r3", "vs_r4_r3"}, 4550b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r7, r9}, "ls, r7, r9", "ls_r7_r9"}, 4560b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r14, r8}, "vs, r14, r8", "vs_r14_r8"}, 4570b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r1, r0}, "cs, r1, r0", "cs_r1_r0"}, 4580b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r10, r8}, "mi, r10, r8", "mi_r10_r8"}, 4590b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r10, r4}, "ge, r10, r4", "ge_r10_r4"}, 4600b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r5, r4}, "cc, r5, r4", "cc_r5_r4"}, 4610b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r0, r7}, "lt, r0, r7", "lt_r0_r7"}, 4620b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r14, r10}, "mi, r14, r10", "mi_r14_r10"}, 4630b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r0, r14}, "mi, r0, r14", "mi_r0_r14"}, 4640b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r14, r10}, "eq, r14, r10", "eq_r14_r10"}, 4650b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r4, r4}, "ls, r4, r4", "ls_r4_r4"}, 4660b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r14, r1}, "pl, r14, r1", "pl_r14_r1"}, 4670b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r10, r8}, "eq, r10, r8", "eq_r10_r8"}, 4680b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r10, r6}, "cs, r10, r6", "cs_r10_r6"}, 4690b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r12, r2}, "al, r12, r2", "al_r12_r2"}, 4700b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r12, r1}, "ls, r12, r1", "ls_r12_r1"}, 4710b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r12, r11}, "eq, r12, r11", "eq_r12_r11"}, 4720b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r4, r1}, "vc, r4, r1", "vc_r4_r1"}, 4730b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r12, r2}, "vs, r12, r2", "vs_r12_r2"}, 4740b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r11, r8}, "al, r11, r8", "al_r11_r8"}, 4750b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r6, r13}, "hi, r6, r13", "hi_r6_r13"}, 4760b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r2, r8}, "eq, r2, r8", "eq_r2_r8"}, 4770b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r9, r5}, "cc, r9, r5", "cc_r9_r5"}, 4780b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r9, r7}, "cc, r9, r7", "cc_r9_r7"}, 4790b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r4, r6}, "lt, r4, r6", "lt_r4_r6"}, 4800b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r14, r13}, "cc, r14, r13", "cc_r14_r13"}, 4810b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r3, r2}, "vc, r3, r2", "vc_r3_r2"}, 4820b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r6, r13}, "al, r6, r13", "al_r6_r13"}, 4830b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r10, r10}, "vs, r10, r10", "vs_r10_r10"}, 4840b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r6, r10}, "cs, r6, r10", "cs_r6_r10"}, 4850b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r8, r12}, "cc, r8, r12", "cc_r8_r12"}, 4860b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r7, r5}, "vs, r7, r5", "vs_r7_r5"}, 4870b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r14, r10}, "pl, r14, r10", "pl_r14_r10"}, 4880b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r1, r14}, "hi, r1, r14", "hi_r1_r14"}, 4890b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r8, r12}, "vc, r8, r12", "vc_r8_r12"}, 4900b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r2, r4}, "ls, r2, r4", "ls_r2_r4"}, 4910b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r5, r12}, "mi, r5, r12", "mi_r5_r12"}, 4920b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r6, r12}, "eq, r6, r12", "eq_r6_r12"}, 4930b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r14, r9}, "lt, r14, r9", "lt_r14_r9"}, 4940b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r11, r9}, "lt, r11, r9", "lt_r11_r9"}, 4950b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r1, r9}, "ne, r1, r9", "ne_r1_r9"}, 4960b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r11, r8}, "pl, r11, r8", "pl_r11_r8"}, 4970b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r0, r6}, "ne, r0, r6", "ne_r0_r6"}, 4980b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r4, r4}, "vs, r4, r4", "vs_r4_r4"}, 4990b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r12, r9}, "ls, r12, r9", "ls_r12_r9"}, 5000b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r9, r7}, "cs, r9, r7", "cs_r9_r7"}, 5010b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r7, r2}, "ne, r7, r2", "ne_r7_r2"}, 5020b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r9, r10}, "hi, r9, r10", "hi_r9_r10"}, 5030b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r5, r2}, "gt, r5, r2", "gt_r5_r2"}, 5040b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r4, r6}, "pl, r4, r6", "pl_r4_r6"}, 5050b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r11, r8}, "lt, r11, r8", "lt_r11_r8"}, 5060b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r13, r4}, "hi, r13, r4", "hi_r13_r4"}, 5070b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r1, r10}, "le, r1, r10", "le_r1_r10"}, 50835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{le, r11, r3}, "le, r11, r3", "le_r11_r3"}, 5090b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r0, r11}, "pl, r0, r11", "pl_r0_r11"}, 5100b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r7, r4}, "le, r7, r4", "le_r7_r4"}, 5110b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r2, r11}, "le, r2, r11", "le_r2_r11"}, 5120b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r1, r10}, "cc, r1, r10", "cc_r1_r10"}, 5130b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r13, r14}, "gt, r13, r14", "gt_r13_r14"}, 5140b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r10, r6}, "ls, r10, r6", "ls_r10_r6"}, 5150b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r13, r4}, "ls, r13, r4", "ls_r13_r4"}, 5160b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r12, r13}, "gt, r12, r13", "gt_r12_r13"}, 5170b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r13, r7}, "pl, r13, r7", "pl_r13_r7"}, 51835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{le, r14, r0}, "le, r14, r0", "le_r14_r0"}, 5190b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r1, r4}, "gt, r1, r4", "gt_r1_r4"}, 5200b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r3, r5}, "mi, r3, r5", "mi_r3_r5"}, 5210b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r4, r0}, "vc, r4, r0", "vc_r4_r0"}, 5220b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r4, r11}, "gt, r4, r11", "gt_r4_r11"}, 5230b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r5, r3}, "vc, r5, r3", "vc_r5_r3"}, 5240b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r4, r7}, "pl, r4, r7", "pl_r4_r7"}, 5250b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r12, r6}, "al, r12, r6", "al_r12_r6"}, 5260b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r2, r3}, "mi, r2, r3", "mi_r2_r3"}, 5270b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r12, r4}, "lt, r12, r4", "lt_r12_r4"}, 5280b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r10, r4}, "lt, r10, r4", "lt_r10_r4"}, 5290b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r10, r8}, "hi, r10, r8", "hi_r10_r8"}, 53035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{al, r0, r14}, "al, r0, r14", "al_r0_r14"}, 5310b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r3, r3}, "cc, r3, r3", "cc_r3_r3"}, 5320b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r10, r13}, "pl, r10, r13", "pl_r10_r13"}, 5330b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r7, r8}, "lt, r7, r8", "lt_r7_r8"}, 5340b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r12, r7}, "le, r12, r7", "le_r12_r7"}, 5350b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r11, r8}, "ge, r11, r8", "ge_r11_r8"}, 5360b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r10, r8}, "ls, r10, r8", "ls_r10_r8"}, 5370b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r9, r1}, "vs, r9, r1", "vs_r9_r1"}, 5380b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r10, r10}, "ne, r10, r10", "ne_r10_r10"}, 53935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{al, r6, r4}, "al, r6, r4", "al_r6_r4"}, 5400b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r10, r0}, "ls, r10, r0", "ls_r10_r0"}, 5410b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r7, r1}, "eq, r7, r1", "eq_r7_r1"}, 54235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{al, r11, r6}, "al, r11, r6", "al_r11_r6"}, 5430b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r5, r10}, "ge, r5, r10", "ge_r5_r10"}, 5440b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vs, r0, r8}, "vs, r0, r8", "vs_r0_r8"}, 5450b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r2, r1}, "lt, r2, r1", "lt_r2_r1"}, 5460b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r13, r2}, "le, r13, r2", "le_r13_r2"}, 54735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley {{al, r13, r6}, "al, r13, r6", "al_r13_r6"}, 5480b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r12, r10}, "lt, r12, r10", "lt_r12_r10"}, 5490b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r13, r1}, "al, r13, r1", "al_r13_r1"}, 5500b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r8, r14}, "ge, r8, r14", "ge_r8_r14"}, 5510b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r11, r6}, "mi, r11, r6", "mi_r11_r6"}, 5520b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r12, r14}, "pl, r12, r14", "pl_r12_r14"}, 5530b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r14, r9}, "ne, r14, r9", "ne_r14_r9"}, 5540b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r3, r1}, "cc, r3, r1", "cc_r3_r1"}, 5550b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r0, r8}, "ge, r0, r8", "ge_r0_r8"}, 5560b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r7, r9}, "vc, r7, r9", "vc_r7_r9"}, 5570b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r11, r4}, "gt, r11, r4", "gt_r11_r4"}, 5580b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{mi, r4, r0}, "mi, r4, r0", "mi_r4_r0"}, 5590b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r3, r11}, "ls, r3, r11", "ls_r3_r11"}, 5600b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r14, r5}, "le, r14, r5", "le_r14_r5"}, 5610b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r6, r7}, "ls, r6, r7", "ls_r6_r7"}, 5620b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r4, r6}, "ne, r4, r6", "ne_r4_r6"}, 5630b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r1, r14}, "cc, r1, r14", "cc_r1_r14"}, 5640b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r11, r7}, "pl, r11, r7", "pl_r11_r7"}, 5650b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r6, r5}, "vc, r6, r5", "vc_r6_r5"}, 5660b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r1, r11}, "al, r1, r11", "al_r1_r11"}, 5670b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r2, r13}, "ne, r2, r13", "ne_r2_r13"}, 5680b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r14, r6}, "vc, r14, r6", "vc_r14_r6"}, 5690b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{gt, r3, r8}, "gt, r3, r8", "gt_r3_r8"}, 5700b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r1, r8}, "pl, r1, r8", "pl_r1_r8"}, 5710b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r2, r14}, "vc, r2, r14", "vc_r2_r14"}, 5720b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{pl, r12, r3}, "pl, r12, r3", "pl_r12_r3"}, 5730b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r0, r12}, "ls, r0, r12", "ls_r0_r12"}, 5740b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{le, r2, r1}, "le, r2, r1", "le_r2_r1"}, 5750b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r13, r5}, "eq, r13, r5", "eq_r13_r5"}, 5760b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r11, r11}, "al, r11, r11", "al_r11_r11"}, 5770b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r9, r3}, "ls, r9, r3", "ls_r9_r3"}, 5780b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r7, r12}, "ne, r7, r12", "ne_r7_r12"}, 5790b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{al, r6, r2}, "al, r6, r2", "al_r6_r2"}, 5800b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r7, r4}, "ne, r7, r4", "ne_r7_r4"}, 5810b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r7, r5}, "vc, r7, r5", "vc_r7_r5"}, 5820b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ne, r7, r1}, "ne, r7, r1", "ne_r7_r1"}, 5830b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r5, r3}, "eq, r5, r3", "eq_r5_r3"}, 5840b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cs, r3, r5}, "cs, r3, r5", "cs_r3_r5"}, 5850b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r7, r4}, "lt, r7, r4", "lt_r7_r4"}, 5860b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r4, r5}, "ls, r4, r5", "ls_r4_r5"}, 5870b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{eq, r11, r2}, "eq, r11, r2", "eq_r11_r2"}, 5880b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{hi, r2, r6}, "hi, r2, r6", "hi_r2_r6"}, 5890b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{vc, r2, r3}, "vc, r2, r3", "vc_r2_r3"}, 5900b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ls, r12, r12}, "ls, r12, r12", "ls_r12_r12"}, 5910b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{lt, r8, r2}, "lt, r8, r2", "lt_r8_r2"}, 5920b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{cc, r14, r8}, "cc, r14, r8", "cc_r14_r8"}, 5930b7621d80653749f6b0c404eb8e79a40dde9a41eGeorgia Kouveli {{ge, r12, r8}, "ge, r12, r8", "ge_r12_r8"}}; 59435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 59535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramleytypedef void (MacroAssembler::*Fn)(Condition cond, Register rd, Register rn); 59635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 59735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// Use a customised disassembler to label test cases. 59835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramleytypedef std::map<uint32_t, int> TestCaseSymbolMap; 59935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 60035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramleyclass TestDisassembler : public PrintDisassembler { 60135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley public: 60235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley TestDisassembler(std::ostream& os, // NOLINT(runtime/references) 60335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley const TestCaseSymbolMap& symbols, 60435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley const char* mnemonic) 60535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley : PrintDisassembler(os), symbols_(symbols), mnemonic_(mnemonic) {} 60635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 60735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley virtual void PrintCodeAddress(uint32_t pc) VIXL_OVERRIDE { 60835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // Label test cases. 60935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley TestCaseSymbolMap::const_iterator symbol = symbols_.find(pc); 61035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley if (symbol != symbols_.end()) { 61135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley int n = symbol->second; 61235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley os().os() << "// " << mnemonic_ << "(" << kTests[n].operands_description 61335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley << ")" << std::endl; 61435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley } 61535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // Print the code address as normal. 61635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley PrintDisassembler::PrintCodeAddress(pc); 61735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley } 61835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 61935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley private: 62035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley const TestCaseSymbolMap& symbols_; 62135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley const char* mnemonic_; 62235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley}; 62335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 62435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramleyvoid TestHelper(Fn instruction, const char* mnemonic) { 62535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley MacroAssembler masm(BUF_SIZE); 62635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 62735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley masm.UseT32(); 62835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 62935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley TestCaseSymbolMap symbols; 63035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 63135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) { 63235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley if (Test::disassemble()) { 63335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // TODO: This will fail if the MacroAssembler generates no code. We can 63435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // fix this with multimap but then we must take care to print the labels 63535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // in the correct order. (Insertion order is only preserved for C++11.) 63635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley symbols.insert(std::pair<uint32_t, int>(masm.GetCursorOffset(), i)); 63735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley } 63835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 63935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // Values to pass to the macro-assembler. 64035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley UseScratchRegisterScope scratch_registers(&masm); 64135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley Condition cond = kTests[i].operands.cond; 64235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley Register rd = kTests[i].operands.rd; 64335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley Register rn = kTests[i].operands.rn; 64435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley scratch_registers.Exclude(rd); 64535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley scratch_registers.Exclude(rn); 64635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 64735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley (masm.*instruction)(cond, rd, rn); 64835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 64935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // For now, these test don't currently produce (or check) any trace; we just 65035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // check that the MacroAssembler didn't crash. 65135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // TODO: We could generate disassembly as a trace here, to check for sane 65235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // output, though the trace would need to be manually checked. 65335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley } 65435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 65535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley masm.FinalizeCode(); 65635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 65735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley if (Test::disassemble()) { 65835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley // Disassemble to stdout if given --disassemble on the command line. 65935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley TestDisassembler dis(std::cout, symbols, mnemonic); 66035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley if (masm.IsUsingT32()) { 66135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley dis.DisassembleT32Buffer(masm.GetBuffer()->GetStartAddress<uint16_t*>(), 66235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley masm.GetCursorOffset()); 66335f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley } else { 66435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley dis.DisassembleA32Buffer(masm.GetBuffer()->GetStartAddress<uint32_t*>(), 66535f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley masm.GetCursorOffset()); 66635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley } 66735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley } 66835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley} 66935f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 67035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley// Instantiate tests for each instruction in the list. 67135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#define TEST(mnemonic) \ 67235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley void Test_##mnemonic() { TestHelper(&MacroAssembler::mnemonic, #mnemonic); } \ 673d1bf2784420717dcd20888a6eaecb18ab7f01d56Pierre Langlois Test test_##mnemonic("AARCH32_MACRO_ASSEMBLER_COND_RD_RN_" #mnemonic, \ 67435f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley &Test_##mnemonic); 67535f2733f5e15d3dce1a035845da1e3f19c723904Jacob BramleyFOREACH_INSTRUCTION(TEST) 67635f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley#undef TEST 67735f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 67835f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley} // namespace 6799a9331faeba996d6c85e6e2a6355ccfc22c6cab6Rodolph Perfetta#endif 68035f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley 68135f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley} // namespace aarch32 68235f2733f5e15d3dce1a035845da1e3f19c723904Jacob Bramley} // namespace vixl 683