14d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// Copyright 2016, VIXL authors 24d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// All rights reserved. 34d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// 44d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// Redistribution and use in source and binary forms, with or without 54d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// modification, are permitted provided that the following conditions are met: 64d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// 74d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// * Redistributions of source code must retain the above copyright notice, 84d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// this list of conditions and the following disclaimer. 94d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// * Redistributions in binary form must reproduce the above copyright notice, 104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// this list of conditions and the following disclaimer in the documentation 114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// and/or other materials provided with the distribution. 124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// * Neither the name of ARM Limited nor the names of its contributors may be 134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// used to endorse or promote products derived from this software without 144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// specific prior written permission. 154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// 164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND 174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// ----------------------------------------------------------------------------- 294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// This file is auto generated from the 304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// test/aarch32/config/template-simulator-aarch32.cc.in template file using 314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// tools/generate_tests.py. 324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// 334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// PLEASE DO NOT EDIT. 344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// ----------------------------------------------------------------------------- 354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#include "test-runner.h" 384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#include "test-utils.h" 404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#include "test-utils-aarch32.h" 414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#include "aarch32/assembler-aarch32.h" 434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#include "aarch32/disasm-aarch32.h" 441bce007699e07bd855b7d194ca93fa5504a73edaPierre Langlois#include "aarch32/macro-assembler-aarch32.h" 454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define __ masm. 474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define BUF_SIZE (4096) 484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#ifdef VIXL_INCLUDE_SIMULATOR_AARCH32 504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// Run tests with the simulator. 514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define SETUP() MacroAssembler masm(BUF_SIZE) 534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define START() masm.GetBuffer()->Reset() 554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define END() \ 574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Hlt(0); \ 584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ FinalizeCode(); 594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// TODO: Run the tests in the simulator. 614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define RUN() 624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#else // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32. 644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define SETUP() \ 664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois MacroAssembler masm(BUF_SIZE); \ 674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois UseScratchRegisterScope harness_scratch; 684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define START() \ 704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois harness_scratch.Open(&masm); \ 714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois harness_scratch.ExcludeAll(); \ 724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois masm.GetBuffer()->Reset(); \ 734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Push(r4); \ 744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Push(r5); \ 754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Push(r6); \ 764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Push(r7); \ 774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Push(r8); \ 784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Push(r9); \ 794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Push(r10); \ 804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Push(r11); \ 814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Push(lr); \ 824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois harness_scratch.Include(ip); 834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define END() \ 854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois harness_scratch.Exclude(ip); \ 864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Pop(lr); \ 874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Pop(r11); \ 884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Pop(r10); \ 894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Pop(r9); \ 904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Pop(r8); \ 914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Pop(r7); \ 924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Pop(r6); \ 934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Pop(r5); \ 944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Pop(r4); \ 954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Bx(lr); \ 964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ FinalizeCode(); \ 974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois harness_scratch.Close(); 984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define RUN() \ 1004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois { \ 1014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois int pcs_offset = masm.IsUsingT32() ? 1 : 0; \ 1024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois masm.GetBuffer()->SetExecutable(); \ 1034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ExecuteMemory(masm.GetBuffer()->GetStartAddress<byte*>(), \ 1044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois masm.GetSizeOfCodeGenerated(), \ 1054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois pcs_offset); \ 1064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois masm.GetBuffer()->SetWritable(); \ 1074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 1084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#endif // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32 1104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisnamespace vixl { 1124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisnamespace aarch32 { 1134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// List of instruction encodings: 1154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define FOREACH_INSTRUCTION(M) \ 1164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois M(Vadd) \ 1174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois M(Vsub) 1184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// The following definitions are defined again in each generated test, therefore 1214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// we need to place them in an anomymous namespace. It expresses that they are 1224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// local to this file only, and the compiler is not allowed to share these types 1234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// across test files during template instantiation. Specifically, `Operands` and 1244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// `Inputs` have various layouts across generated tests so they absolutely 1254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// cannot be shared. 1264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#ifdef VIXL_INCLUDE_TARGET_A32 1284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisnamespace { 1294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// Values to be passed to the assembler to produce the instruction under test. 1314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisstruct Operands { 1324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DataType dt; 1334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DRegister rd; 1344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DRegister rn; 1354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DRegister rm; 1364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois}; 1374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// Input data to feed to the instruction. 1394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisstruct Inputs { 1404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint32_t fpscr; 1414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rd; 1424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rn; 1434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rm; 1444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois}; 1454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// This structure contains all input data needed to test one specific encoding. 1474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// It used to generate a loop over an instruction. 1484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisstruct TestLoopData { 1494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // The `operands` fields represents the values to pass to the assembler to 1504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // produce the instruction. 1514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois Operands operands; 1524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Description of the operands, used for error reporting. 1534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois const char* operands_description; 1544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Unique identifier, used for generating traces. 1554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois const char* identifier; 1564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Array of values to be fed to the instruction. 1574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois size_t input_size; 1584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois const Inputs* inputs; 1594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois}; 1604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 1614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisstatic const Inputs kFloats[] = 1624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{0x0, 0x3fefffffffffffff, 0x000fffffffffffff, 0xfff0000000000000}, 1634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xffefffffffffffff, 0xbfe0000000000000, 0x3ff0000000000000}, 1644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0x3ff0000000000001, 0x0000000000000000}, 1654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000000, 0x4024000000000000, 0x4024000000000000}, 1664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000000, 0x3fdfffffffffffff, 0x0000000000000000}, 1674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fefffffffffffff, 0x7fefffffffffffff, 0xfff0000000000000}, 1684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000000, 0xc024000000000000, 0x7ff123456789abcd}, 1694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000fffffffffffff, 0x3ff0000000000001, 0xbff0000000000001}, 1704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000001, 0x0000000000000000, 0x3fdfffffffffffff}, 1714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8000000000000000, 0xfff123456789abcd, 0xfff0000000000000}, 1724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff923456789abcd, 0xc024000000000000, 0x3ff0000000000000}, 1734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0x3ff8000000000000, 0x3fdfffffffffffff}, 1744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff923456789abcd, 0x3ff0000000000001, 0x8000000000000001}, 1754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0010000000000000, 0x0000000000000001, 0xbff0000000000000}, 1764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fefffffffffffff, 0x3fdfffffffffffff, 0xfff0000000000000}, 1774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000001, 0x800fffffffffffff, 0xfff123456789abcd}, 1784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xffefffffffffffff, 0x3ff0000000000001, 0x800fffffffffffff}, 1794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0010000000000000, 0xbfe0000000000001, 0xbfe0000000000000}, 1804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xc024000000000000, 0x0000000000000000, 0xbff0000000000000}, 1814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff0000000000000, 0x8000000000000001, 0x7ff0000000000000}, 1824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fdfffffffffffff, 0xbfdfffffffffffff, 0x3fe0000000000001}, 1834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x4024000000000000, 0x000fffffffffffff, 0x7ff923456789abcd}, 1844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff8000000000000, 0xbfe0000000000001, 0x3ff0000000000001}, 1854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7fefffffffffffff, 0xbfe0000000000001, 0x3ff0000000000000}, 1864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7fefffffffffffff, 0xbfe0000000000001, 0xfff123456789abcd}, 1874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff8000000000000, 0x7ff0000000000000, 0x7fefffffffffffff}, 1884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000000, 0x7ff123456789abcd, 0x800123456789abcd}, 1894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff0000000000001, 0xffefffffffffffff, 0xfff923456789abcd}, 1904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000000, 0x0000000000000001, 0x3ff8000000000000}, 1914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x800123456789abcd, 0xbfe0000000000001, 0x8000000000000000}, 1924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000000, 0x3fe0000000000000, 0x3ff8000000000000}, 1934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8010000000000000, 0x0010000000000000, 0x8010000000000000}, 1944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000001, 0x7ff923456789abcd, 0x000123456789abcd}, 1954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000001, 0x3ff8000000000000, 0xbfe0000000000001}, 1964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfefffffffffffff, 0x0000000000000001, 0x0010000000000000}, 1974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfefffffffffffff, 0xbfdfffffffffffff, 0xbff8000000000000}, 1984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000000, 0x3ff0000000000000, 0x3fe0000000000001}, 1994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000000, 0xffefffffffffffff, 0x3fefffffffffffff}, 2004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff8000000000000, 0x7ff8000000000000, 0x7ff0000000000000}, 2014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x4024000000000000, 0xbfefffffffffffff, 0xfff8000000000000}, 2024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000000, 0x000123456789abcd, 0x3fe0000000000000}, 2034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7fefffffffffffff, 0x3fe0000000000001, 0xfff0000000000000}, 2044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfefffffffffffff, 0x000123456789abcd, 0x800fffffffffffff}, 2054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff8000000000000, 0x8000000000000001, 0x7fefffffffffffff}, 2064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff8000000000000, 0x3ff0000000000001, 0xfff123456789abcd}, 2074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000001, 0x0000000000000000, 0xbfefffffffffffff}, 2084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7fefffffffffffff, 0xfff0000000000000, 0xbff0000000000000}, 2094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0x3fe0000000000000, 0x7ff123456789abcd}, 2104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0x8000000000000001}, 2114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff8000000000000, 0x4024000000000000, 0x3ff8000000000000}, 2124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff923456789abcd, 0xbff8000000000000, 0x000fffffffffffff}, 2134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x800123456789abcd, 0x0000000000000001, 0x4024000000000000}, 2144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000000, 0xfff923456789abcd, 0x0000000000000000}, 2154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff0000000000000, 0xfff8000000000000, 0xbfefffffffffffff}, 2164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8000000000000000, 0x0000000000000001, 0x3fefffffffffffff}, 2174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff8000000000000, 0xbff0000000000000, 0x7ff8000000000000}, 2184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fdfffffffffffff, 0x8000000000000001, 0x3fdfffffffffffff}, 2194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8010000000000000, 0x0000000000000001, 0x000123456789abcd}, 2204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000001, 0x000fffffffffffff, 0xbfe0000000000001}, 2214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff8000000000000, 0xbff0000000000001, 0x7ff0000000000000}, 2224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfdfffffffffffff, 0x7ff123456789abcd, 0x4024000000000000}, 2234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff8000000000000, 0xbff0000000000000, 0xbfdfffffffffffff}, 2244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000123456789abcd, 0x3fefffffffffffff, 0x0000000000000000}, 2254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x800fffffffffffff, 0xc024000000000000, 0x0000000000000001}, 2264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff8000000000000, 0xbfe0000000000000, 0x8010000000000000}, 2274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fdfffffffffffff, 0x000fffffffffffff, 0x3fdfffffffffffff}, 2284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0010000000000000, 0x800fffffffffffff, 0x3ff0000000000001}, 2294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff8000000000000, 0xfff0000000000000, 0x000fffffffffffff}, 2304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fefffffffffffff, 0xbfefffffffffffff, 0x3fe0000000000000}, 2314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0xbff0000000000001, 0xbff8000000000000}, 2324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000fffffffffffff, 0xfff0000000000000, 0xbfe0000000000000}, 2334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000000, 0x3fdfffffffffffff, 0x7ff123456789abcd}, 2344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff8000000000000, 0xbff8000000000000, 0x000fffffffffffff}, 2354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff923456789abcd, 0x7ff0000000000000, 0x7ff923456789abcd}, 2364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000fffffffffffff, 0x000fffffffffffff, 0x3fe0000000000000}, 2374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff923456789abcd, 0xbff0000000000000, 0x8000000000000001}, 2384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000001, 0x3ff0000000000000, 0x7fefffffffffffff}, 2394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff923456789abcd, 0x3fe0000000000000, 0xc024000000000000}, 2404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000000, 0x8010000000000000, 0x000fffffffffffff}, 2414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000001, 0x4024000000000000, 0x7fefffffffffffff}, 2424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff0000000000000, 0x0000000000000000, 0xffefffffffffffff}, 2434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff8000000000000, 0x3fe0000000000000, 0x800fffffffffffff}, 2444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000fffffffffffff, 0xbfe0000000000000, 0x7fefffffffffffff}, 2454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000fffffffffffff, 0xffefffffffffffff, 0x7ff0000000000000}, 2464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000001, 0x3ff0000000000001, 0x7ff123456789abcd}, 2474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xc024000000000000, 0x8000000000000001, 0x3ff8000000000000}, 2484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000001, 0x8000000000000001, 0xbfdfffffffffffff}, 2494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff0000000000000, 0x0000000000000000, 0xfff923456789abcd}, 2504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fefffffffffffff, 0xbfdfffffffffffff, 0x8000000000000001}, 2514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000000, 0xfff123456789abcd, 0xffefffffffffffff}, 2524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fefffffffffffff, 0xfff923456789abcd, 0x800123456789abcd}, 2534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8010000000000000, 0x3ff0000000000000, 0xc024000000000000}, 2544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff123456789abcd, 0x3fe0000000000001, 0x0000000000000001}, 2554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0xffefffffffffffff, 0x3fe0000000000001}, 2564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0010000000000000, 0xfff923456789abcd, 0x000fffffffffffff}, 2574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x4024000000000000, 0x7ff8000000000000, 0x000123456789abcd}, 2584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8010000000000000, 0x8000000000000001, 0xbfe0000000000000}, 2594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000fffffffffffff, 0x3ff0000000000000, 0x3ff0000000000001}, 2604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000000, 0x3fe0000000000000, 0xbff0000000000000}, 2614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000001, 0xbfe0000000000000, 0x7ff0000000000000}}; 2624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 2634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisstatic const Inputs kFloatsSameRegisters[] = 2644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{0x0, 0x8000000000000000, 0xbfdfffffffffffff, 0xbfdfffffffffffff}, 2654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000000, 0xfff0000000000000, 0xfff0000000000000}, 2664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000001, 0x3fdfffffffffffff, 0x3fdfffffffffffff}, 2674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff8000000000000, 0x8000000000000001, 0x8000000000000001}, 2684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0x7ff923456789abcd, 0x7ff923456789abcd}, 2694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff123456789abcd, 0xfff0000000000000, 0xfff0000000000000}, 2704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000001, 0xfff123456789abcd, 0xfff123456789abcd}, 2714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000001, 0x8000000000000000, 0x8000000000000000}, 2724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xc024000000000000, 0x3fe0000000000001, 0x3fe0000000000001}, 2734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff0000000000000, 0x8000000000000001, 0x8000000000000001}, 2744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x800fffffffffffff, 0x7ff8000000000000, 0x7ff8000000000000}, 2754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x800fffffffffffff, 0xfff8000000000000, 0xfff8000000000000}, 2764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000001, 0x7ff8000000000000, 0x7ff8000000000000}, 2774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0010000000000000, 0x7fefffffffffffff, 0x7fefffffffffffff}, 2784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff0000000000000, 0xbff0000000000000, 0xbff0000000000000}, 2794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xc024000000000000, 0xfff8000000000000, 0xfff8000000000000}, 2804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000001, 0xbfe0000000000000, 0xbfe0000000000000}, 2814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000001, 0x3ff0000000000000, 0x3ff0000000000000}, 2824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fdfffffffffffff, 0xbfe0000000000000, 0xbfe0000000000000}, 2834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff923456789abcd, 0xfff123456789abcd, 0xfff123456789abcd}, 2844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0x800123456789abcd, 0x800123456789abcd}, 2854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff8000000000000, 0xbfdfffffffffffff, 0xbfdfffffffffffff}, 2864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xffefffffffffffff, 0xbfe0000000000000, 0xbfe0000000000000}, 2874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x800123456789abcd, 0xbff0000000000001, 0xbff0000000000001}, 2884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000000, 0x800fffffffffffff, 0x800fffffffffffff}, 2894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff0000000000000, 0x3ff8000000000000, 0x3ff8000000000000}, 2904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000}, 2914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0010000000000000, 0xfff923456789abcd, 0xfff923456789abcd}, 2924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fefffffffffffff, 0xfff0000000000000, 0xfff0000000000000}, 2934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000fffffffffffff, 0x7ff0000000000000, 0x7ff0000000000000}, 2944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000123456789abcd, 0xbfe0000000000001, 0xbfe0000000000001}, 2954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff923456789abcd, 0x3fefffffffffffff, 0x3fefffffffffffff}, 2964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fdfffffffffffff, 0xbff0000000000001, 0xbff0000000000001}, 2974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000123456789abcd, 0xbfe0000000000000, 0xbfe0000000000000}, 2984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff0000000000000, 0xbfefffffffffffff, 0xbfefffffffffffff}, 2994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff8000000000000, 0xfff0000000000000, 0xfff0000000000000}, 3004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000000, 0xbfdfffffffffffff, 0xbfdfffffffffffff}, 3014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0010000000000000, 0xfff0000000000000, 0xfff0000000000000}, 3024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff123456789abcd, 0x3fe0000000000000, 0x3fe0000000000000}, 3034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000000, 0xfff0000000000000, 0xfff0000000000000}, 3044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fdfffffffffffff, 0xbff8000000000000, 0xbff8000000000000}, 3054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000001, 0x3fefffffffffffff, 0x3fefffffffffffff}, 3064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000000, 0x7ff0000000000000, 0x7ff0000000000000}, 3074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0xffefffffffffffff, 0xffefffffffffffff}, 3084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000123456789abcd, 0x3fdfffffffffffff, 0x3fdfffffffffffff}, 3094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xc024000000000000, 0x4024000000000000, 0x4024000000000000}, 3104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fefffffffffffff, 0xbfdfffffffffffff, 0xbfdfffffffffffff}, 3114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0010000000000000, 0x7ff8000000000000, 0x7ff8000000000000}, 3124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000001, 0x7ff8000000000000, 0x7ff8000000000000}, 3134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8000000000000000, 0x7fefffffffffffff, 0x7fefffffffffffff}, 3144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff123456789abcd, 0xfff0000000000000, 0xfff0000000000000}, 3154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0x000fffffffffffff, 0x000fffffffffffff}, 3164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff923456789abcd, 0xbff8000000000000, 0xbff8000000000000}, 3174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0xbfefffffffffffff, 0xbfefffffffffffff}, 3184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff123456789abcd, 0x3ff0000000000000, 0x3ff0000000000000}, 3194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff923456789abcd, 0x3ff0000000000001, 0x3ff0000000000001}, 3204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xc024000000000000, 0xfff123456789abcd, 0xfff123456789abcd}, 3214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000001, 0x8010000000000000, 0x8010000000000000}, 3224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff923456789abcd, 0xbfdfffffffffffff, 0xbfdfffffffffffff}, 3234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8010000000000000, 0x3fe0000000000000, 0x3fe0000000000000}, 3244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff123456789abcd, 0x3ff8000000000000, 0x3ff8000000000000}, 3254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x800fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff}, 3264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xffefffffffffffff, 0xfff0000000000000, 0xfff0000000000000}, 3274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x4024000000000000, 0xbfe0000000000001, 0xbfe0000000000001}, 3284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xfff0000000000000, 0xfff923456789abcd, 0xfff923456789abcd}, 3294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff123456789abcd, 0xfff0000000000000, 0xfff0000000000000}, 3304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8000000000000000, 0x7ff123456789abcd, 0x7ff123456789abcd}, 3314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000001, 0xc024000000000000, 0xc024000000000000}, 3324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0010000000000000, 0x7ff0000000000000, 0x7ff0000000000000}, 3334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000000, 0xbff0000000000000, 0xbff0000000000000}, 3344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfdfffffffffffff, 0x8010000000000000, 0x8010000000000000}, 3354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff8000000000000, 0x3fe0000000000001, 0x3fe0000000000001}, 3364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xffefffffffffffff, 0x8000000000000000, 0x8000000000000000}, 3374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000000, 0x7ff8000000000000, 0x7ff8000000000000}, 3384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000001, 0xbff8000000000000, 0xbff8000000000000}, 3394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000000, 0xbfe0000000000001, 0xbfe0000000000001}, 3404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xc024000000000000, 0x7ff0000000000000, 0x7ff0000000000000}, 3414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8000000000000001, 0x7fefffffffffffff, 0x7fefffffffffffff}, 3424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff923456789abcd, 0xfff0000000000000, 0xfff0000000000000}, 3434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8010000000000000, 0x7ff0000000000000, 0x7ff0000000000000}, 3444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xc024000000000000, 0x800123456789abcd, 0x800123456789abcd}, 3454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff0000000000000, 0xc024000000000000, 0xc024000000000000}, 3464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x4024000000000000, 0x0010000000000000, 0x0010000000000000}, 3474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000}, 3484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000001, 0xc024000000000000, 0xc024000000000000}, 3494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfdfffffffffffff, 0x7ff0000000000000, 0x7ff0000000000000}, 3504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000123456789abcd, 0xfff8000000000000, 0xfff8000000000000}, 3514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000001, 0x000123456789abcd, 0x000123456789abcd}, 3524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x0000000000000000, 0x7ff123456789abcd, 0x7ff123456789abcd}, 3534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff0000000000001, 0x7ff8000000000000, 0x7ff8000000000000}, 3544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3fe0000000000001, 0x3ff0000000000001, 0x3ff0000000000001}, 3554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff0000000000001, 0x000123456789abcd, 0x000123456789abcd}, 3564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x3ff8000000000000, 0x8010000000000000, 0x8010000000000000}, 3574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8000000000000000, 0x800fffffffffffff, 0x800fffffffffffff}, 3584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff8000000000000, 0x7ff0000000000000, 0x7ff0000000000000}, 3594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbff0000000000000, 0xfff8000000000000, 0xfff8000000000000}, 3604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x000fffffffffffff, 0xbff8000000000000, 0xbff8000000000000}, 3614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x7ff123456789abcd, 0x8010000000000000, 0x8010000000000000}, 3624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0x8000000000000000, 0x3fefffffffffffff, 0x3fefffffffffffff}, 3634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {0x0, 0xbfe0000000000000, 0x7ff0000000000000, 0x7ff0000000000000}}; 3644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 3654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 3664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// A loop will be generated for each element of this array. 3674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisconst TestLoopData kTests[] = {{{F64, d3, d31, d11}, 3684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d3 d31 d11", 3694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d3_d31_d11", 3704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 3714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 3724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d21, d17, d0}, 3734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d21 d17 d0", 3744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d21_d17_d0", 3754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 3764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 3774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d8, d4, d16}, 3784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d8 d4 d16", 3794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d8_d4_d16", 3804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 3814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 3824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d11, d29}, 3834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d11 d29", 3844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d18_d11_d29", 3854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 3864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 3874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d7, d16}, 3884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d7 d16", 3894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d18_d7_d16", 3904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 3914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 3924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d31, d28, d30}, 3934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d31 d28 d30", 3944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d31_d28_d30", 3954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 3964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 3974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d3, d27, d4}, 3984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d3 d27 d4", 3994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d3_d27_d4", 4004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d16, d17, d25}, 4034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d16 d17 d25", 4044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d16_d17_d25", 4054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d12, d16, d21}, 4084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d12 d16 d21", 4094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d12_d16_d21", 4104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d13, d3, d9}, 4134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d13 d3 d9", 4144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d13_d3_d9", 4154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d14, d15, d9}, 4184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d14 d15 d9", 4194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d14_d15_d9", 4204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d23, d3, d9}, 4234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d23 d3 d9", 4244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d23_d3_d9", 4254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d8, d5, d4}, 4284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d8 d5 d4", 4294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d8_d5_d4", 4304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d28, d10, d8}, 4334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d28 d10 d8", 4344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d28_d10_d8", 4354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d8, d28, d11}, 4384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d8 d28 d11", 4394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d8_d28_d11", 4404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d1, d2, d23}, 4434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d1 d2 d23", 4444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d1_d2_d23", 4454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d27, d26, d30}, 4484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d27 d26 d30", 4494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d27_d26_d30", 4504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d3, d22, d7}, 4534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d3 d22 d7", 4544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d3_d22_d7", 4554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d3, d19, d24}, 4584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d3 d19 d24", 4594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d3_d19_d24", 4604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d27, d30, d22}, 4634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d27 d30 d22", 4644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d27_d30_d22", 4654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d27, d25, d7}, 4684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d27 d25 d7", 4694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d27_d25_d7", 4704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d21, d8, d10}, 4734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d21 d8 d10", 4744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d21_d8_d10", 4754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d28, d17, d14}, 4784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d28 d17 d14", 4794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d28_d17_d14", 4804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d1, d5, d24}, 4834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d1 d5 d24", 4844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d1_d5_d24", 4854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d20, d12, d17}, 4884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d20 d12 d17", 4894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d20_d12_d17", 4904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d30, d29, d10}, 4934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d30 d29 d10", 4944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d30_d29_d10", 4954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 4964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 4974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d25, d14, d25}, 4984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d25 d14 d25", 4994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d25_d14_d25", 5004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d1, d27, d16}, 5034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d1 d27 d16", 5044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d1_d27_d16", 5054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d6, d28, d7}, 5084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d6 d28 d7", 5094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d6_d28_d7", 5104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d23, d23, d15}, 5134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d23 d23 d15", 5144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d23_d23_d15", 5154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d7, d23, d3}, 5184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d7 d23 d3", 5194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d7_d23_d3", 5204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d7, d23, d16}, 5234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d7 d23 d16", 5244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d7_d23_d16", 5254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d23, d18, d21}, 5284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d23 d18 d21", 5294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d23_d18_d21", 5304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d16, d9, d17}, 5334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d16 d9 d17", 5344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d16_d9_d17", 5354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d5, d21, d9}, 5384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d5 d21 d9", 5394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d5_d21_d9", 5404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d28, d15, d11}, 5434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d28 d15 d11", 5444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d28_d15_d11", 5454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d2, d17, d1}, 5484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d2 d17 d1", 5494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d2_d17_d1", 5504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d25, d29, d17}, 5534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d25 d29 d17", 5544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d25_d29_d17", 5554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d16, d2, d12}, 5584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d16 d2 d12", 5594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d16_d2_d12", 5604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d14, d18, d24}, 5634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d14 d18 d24", 5644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d14_d18_d24", 5654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d3, d4, d25}, 5684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d3 d4 d25", 5694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d3_d4_d25", 5704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d29, d10, d21}, 5734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d29 d10 d21", 5744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d29_d10_d21", 5754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d29, d27, d24}, 5784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d29 d27 d24", 5794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d29_d27_d24", 5804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d30, d19, d23}, 5834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d30 d19 d23", 5844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d30_d19_d23", 5854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d3, d2, d14}, 5884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d3 d2 d14", 5894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d3_d2_d14", 5904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d17, d26, d0}, 5934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d17 d26 d0", 5944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d17_d26_d0", 5954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 5964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 5974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d17, d28, d8}, 5984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d17 d28 d8", 5994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d17_d28_d8", 6004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d0, d3, d24}, 6034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d0 d3 d24", 6044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d0_d3_d24", 6054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d30, d16, d21}, 6084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d30 d16 d21", 6094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d30_d16_d21", 6104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d24, d3}, 6134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d24 d3", 6144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d18_d24_d3", 6154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d6, d2, d15}, 6184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d6 d2 d15", 6194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d6_d2_d15", 6204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d7, d0, d27}, 6234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d7 d0 d27", 6244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d7_d0_d27", 6254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d0, d9, d27}, 6284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d0 d9 d27", 6294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d0_d9_d27", 6304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d7, d11, d27}, 6334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d7 d11 d27", 6344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d7_d11_d27", 6354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d17, d25, d11}, 6384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d17 d25 d11", 6394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d17_d25_d11", 6404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d31, d9, d22}, 6434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d31 d9 d22", 6444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d31_d9_d22", 6454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d24, d0, d5}, 6484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d24 d0 d5", 6494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d24_d0_d5", 6504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d5, d31, d4}, 6534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d5 d31 d4", 6544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d5_d31_d4", 6554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d16, d24, d2}, 6584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d16 d24 d2", 6594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d16_d24_d2", 6604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d7, d30, d4}, 6634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d7 d30 d4", 6644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d7_d30_d4", 6654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d31, d4, d28}, 6684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d31 d4 d28", 6694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d31_d4_d28", 6704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d10, d31, d13}, 6734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d10 d31 d13", 6744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d10_d31_d13", 6754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d28, d14, d1}, 6784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d28 d14 d1", 6794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d28_d14_d1", 6804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d4, d16, d0}, 6834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d4 d16 d0", 6844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d4_d16_d0", 6854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d19, d26, d15}, 6884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d19 d26 d15", 6894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d19_d26_d15", 6904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d23, d2, d26}, 6934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d23 d2 d26", 6944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d23_d2_d26", 6954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 6964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 6974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d25, d26, d10}, 6984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d25 d26 d10", 6994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d25_d26_d10", 7004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d0, d19, d0}, 7034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d0 d19 d0", 7044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d0_d19_d0", 7054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d4, d31, d23}, 7084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d4 d31 d23", 7094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d4_d31_d23", 7104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d30, d1, d23}, 7134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d30 d1 d23", 7144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d30_d1_d23", 7154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d14, d5, d20}, 7184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d14 d5 d20", 7194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d14_d5_d20", 7204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d20, d4, d12}, 7234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d20 d4 d12", 7244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d20_d4_d12", 7254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d2, d5, d10}, 7284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d2 d5 d10", 7294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d2_d5_d10", 7304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d14, d29, d3}, 7334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d14 d29 d3", 7344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d14_d29_d3", 7354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d17, d2, d15}, 7384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d17 d2 d15", 7394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d17_d2_d15", 7404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d9, d30, d29}, 7434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d9 d30 d29", 7444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d9_d30_d29", 7454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d30, d12, d30}, 7484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d30 d12 d30", 7494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d30_d12_d30", 7504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d28, d13, d21}, 7534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d28 d13 d21", 7544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d28_d13_d21", 7554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d15, d17, d26}, 7584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d15 d17 d26", 7594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d15_d17_d26", 7604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d30, d18, d9}, 7634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d30 d18 d9", 7644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d30_d18_d9", 7654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d6, d9, d31}, 7684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d6 d9 d31", 7694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d6_d9_d31", 7704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d11, d23, d22}, 7734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d11 d23 d22", 7744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d11_d23_d22", 7754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d26, d23, d29}, 7784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d26 d23 d29", 7794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d26_d23_d29", 7804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d20, d2, d21}, 7834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d20 d2 d21", 7844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d20_d2_d21", 7854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d1, d25, d1}, 7884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d1 d25 d1", 7894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d1_d25_d1", 7904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d1, d13, d15}, 7934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d1 d13 d15", 7944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d1_d13_d15", 7954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 7964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 7974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d6, d15, d13}, 7984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d6 d15 d13", 7994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d6_d15_d13", 8004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d4, d3, d7}, 8034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d4 d3 d7", 8044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d4_d3_d7", 8054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d8, d16, d18}, 8084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d8 d16 d18", 8094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d8_d16_d18", 8104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d12, d30, d21}, 8134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d12 d30 d21", 8144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d12_d30_d21", 8154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d0, d1, d15}, 8184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d0 d1 d15", 8194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d0_d1_d15", 8204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d6, d11, d4}, 8234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d6 d11 d4", 8244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d6_d11_d4", 8254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d8, d30, d13}, 8284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d8 d30 d13", 8294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d8_d30_d13", 8304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d12, d22, d12}, 8334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d12 d22 d12", 8344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d12_d22_d12", 8354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d9, d7, d13}, 8384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d9 d7 d13", 8394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d9_d7_d13", 8404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d3, d1, d0}, 8434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d3 d1 d0", 8444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d3_d1_d0", 8454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d28, d22, d20}, 8484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d28 d22 d20", 8494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d28_d22_d20", 8504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d22, d20, d9}, 8534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d22 d20 d9", 8544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d22_d20_d9", 8554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d18, d25}, 8584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d18 d25", 8594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d18_d18_d25", 8604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d19, d3, d8}, 8634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d19 d3 d8", 8644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "Floats_F64_d19_d3_d8", 8654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloats), 8664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloats}, 8674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d25, d21, d21}, 8684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d25 d21 d21", 8694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d25_d21_d21", 8704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 8714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 8724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d31, d4, d4}, 8734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d31 d4 d4", 8744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d31_d4_d4", 8754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 8764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 8774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d14, d30, d30}, 8784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d14 d30 d30", 8794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d14_d30_d30", 8804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 8814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 8824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d11, d27, d27}, 8834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d11 d27 d27", 8844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d11_d27_d27", 8854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 8864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 8874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d21, d20, d20}, 8884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d21 d20 d20", 8894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d21_d20_d20", 8904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 8914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 8924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d26, d14, d14}, 8934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d26 d14 d14", 8944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d26_d14_d14", 8954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 8964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 8974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d10, d1, d1}, 8984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d10 d1 d1", 8994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d10_d1_d1", 9004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d9, d24, d24}, 9034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d9 d24 d24", 9044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d9_d24_d24", 9054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d17, d20, d20}, 9084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d17 d20 d20", 9094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d17_d20_d20", 9104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d15, d13, d13}, 9134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d15 d13 d13", 9144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d15_d13_d13", 9154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d14, d14}, 9184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d14 d14", 9194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d18_d14_d14", 9204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d20, d10, d10}, 9234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d20 d10 d10", 9244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d20_d10_d10", 9254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d23, d27, d27}, 9284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d23 d27 d27", 9294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d23_d27_d27", 9304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d25, d26, d26}, 9334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d25 d26 d26", 9344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d25_d26_d26", 9354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d24, d5, d5}, 9384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d24 d5 d5", 9394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d24_d5_d5", 9404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d15, d10, d10}, 9434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d15 d10 d10", 9444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d15_d10_d10", 9454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d0, d26, d26}, 9484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d0 d26 d26", 9494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d0_d26_d26", 9504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d22, d23, d23}, 9534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d22 d23 d23", 9544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d22_d23_d23", 9554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d29, d29}, 9584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d29 d29", 9594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d18_d29_d29", 9604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d27, d25, d25}, 9634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d27 d25 d25", 9644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d27_d25_d25", 9654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d15, d15, d15}, 9684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d15 d15 d15", 9694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d15_d15_d15", 9704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d17, d5, d5}, 9734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d17 d5 d5", 9744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d17_d5_d5", 9754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d1, d22, d22}, 9784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d1 d22 d22", 9794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d1_d22_d22", 9804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d20, d29, d29}, 9834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d20 d29 d29", 9844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d20_d29_d29", 9854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d7, d26, d26}, 9884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d7 d26 d26", 9894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d7_d26_d26", 9904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d5, d19, d19}, 9934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d5 d19 d19", 9944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d5_d19_d19", 9954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 9964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 9974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d19, d13, d13}, 9984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d19 d13 d13", 9994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d19_d13_d13", 10004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d23, d13, d13}, 10034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d23 d13 d13", 10044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d23_d13_d13", 10054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d0, d20, d20}, 10084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d0 d20 d20", 10094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d0_d20_d20", 10104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d19, d26, d26}, 10134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d19 d26 d26", 10144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d19_d26_d26", 10154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d7, d15, d15}, 10184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d7 d15 d15", 10194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d7_d15_d15", 10204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d1, d6, d6}, 10234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d1 d6 d6", 10244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d1_d6_d6", 10254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d3, d25, d25}, 10284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d3 d25 d25", 10294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d3_d25_d25", 10304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d11, d11, d11}, 10334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d11 d11 d11", 10344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d11_d11_d11", 10354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d10, d28, d28}, 10384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d10 d28 d28", 10394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d10_d28_d28", 10404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d20, d13, d13}, 10434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d20 d13 d13", 10444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d20_d13_d13", 10454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d1, d24, d24}, 10484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d1 d24 d24", 10494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d1_d24_d24", 10504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d27, d6, d6}, 10534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d27 d6 d6", 10544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d27_d6_d6", 10554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d30, d29, d29}, 10584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d30 d29 d29", 10594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d30_d29_d29", 10604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d31, d14, d14}, 10634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d31 d14 d14", 10644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d31_d14_d14", 10654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d25, d13, d13}, 10684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d25 d13 d13", 10694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d25_d13_d13", 10704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d21, d16, d16}, 10734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d21 d16 d16", 10744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d21_d16_d16", 10754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d12, d26, d26}, 10784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d12 d26 d26", 10794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d12_d26_d26", 10804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d2, d10, d10}, 10834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d2 d10 d10", 10844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d2_d10_d10", 10854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d1, d5, d5}, 10884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d1 d5 d5", 10894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d1_d5_d5", 10904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d26, d10, d10}, 10934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d26 d10 d10", 10944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d26_d10_d10", 10954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 10964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 10974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d21, d22, d22}, 10984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d21 d22 d22", 10994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d21_d22_d22", 11004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d2, d15, d15}, 11034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d2 d15 d15", 11044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d2_d15_d15", 11054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d30, d27, d27}, 11084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d30 d27 d27", 11094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d30_d27_d27", 11104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d17, d4, d4}, 11134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d17 d4 d4", 11144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d17_d4_d4", 11154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d0, d8, d8}, 11184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d0 d8 d8", 11194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d0_d8_d8", 11204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d27, d28, d28}, 11234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d27 d28 d28", 11244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d27_d28_d28", 11254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d10, d10, d10}, 11284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d10 d10 d10", 11294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d10_d10_d10", 11304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d10, d17, d17}, 11334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d10 d17 d17", 11344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d10_d17_d17", 11354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d16, d16}, 11384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d16 d16", 11394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d18_d16_d16", 11404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d3, d20, d20}, 11434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d3 d20 d20", 11444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d3_d20_d20", 11454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d0, d28, d28}, 11484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d0 d28 d28", 11494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d0_d28_d28", 11504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d2, d27, d27}, 11534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d2 d27 d27", 11544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d2_d27_d27", 11554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d12, d20, d20}, 11584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d12 d20 d20", 11594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d12_d20_d20", 11604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d9, d22, d22}, 11634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d9 d22 d22", 11644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d9_d22_d22", 11654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d10, d4, d4}, 11684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d10 d4 d4", 11694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d10_d4_d4", 11704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d8, d10, d10}, 11734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d8 d10 d10", 11744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d8_d10_d10", 11754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d26, d5, d5}, 11784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d26 d5 d5", 11794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d26_d5_d5", 11804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d7, d20, d20}, 11834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d7 d20 d20", 11844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d7_d20_d20", 11854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d21, d24, d24}, 11884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d21 d24 d24", 11894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d21_d24_d24", 11904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d29, d9, d9}, 11934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d29 d9 d9", 11944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d29_d9_d9", 11954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 11964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 11974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d20, d14, d14}, 11984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d20 d14 d14", 11994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d20_d14_d14", 12004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d30, d30}, 12034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d30 d30", 12044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d18_d30_d30", 12054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d15, d14, d14}, 12084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d15 d14 d14", 12094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d15_d14_d14", 12104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d31, d21, d21}, 12134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d31 d21 d21", 12144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d31_d21_d21", 12154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d20, d22, d22}, 12184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d20 d22 d22", 12194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d20_d22_d22", 12204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d13, d5, d5}, 12234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d13 d5 d5", 12244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d13_d5_d5", 12254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d28, d14, d14}, 12284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d28 d14 d14", 12294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d28_d14_d14", 12304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d21, d25, d25}, 12334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d21 d25 d25", 12344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d21_d25_d25", 12354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d23, d29, d29}, 12384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d23 d29 d29", 12394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d23_d29_d29", 12404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d19, d17, d17}, 12434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d19 d17 d17", 12444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d19_d17_d17", 12454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d30, d21, d21}, 12484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d30 d21 d21", 12494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d30_d21_d21", 12504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d6, d9, d9}, 12534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d6 d9 d9", 12544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d6_d9_d9", 12554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d22, d27, d27}, 12584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d22 d27 d27", 12594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d22_d27_d27", 12604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d9, d25, d25}, 12634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d9 d25 d25", 12644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d9_d25_d25", 12654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d12, d22, d22}, 12684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d12 d22 d22", 12694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d12_d22_d22", 12704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d12, d9, d9}, 12734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d12 d9 d9", 12744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d12_d9_d9", 12754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d0, d27, d27}, 12784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d0 d27 d27", 12794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d0_d27_d27", 12804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d2, d12, d12}, 12834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d2 d12 d12", 12844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d2_d12_d12", 12854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d27, d29, d29}, 12884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d27 d29 d29", 12894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d27_d29_d29", 12904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d14, d4, d4}, 12934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d14 d4 d4", 12944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d14_d4_d4", 12954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 12964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 12974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d17, d25, d25}, 12984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d17 d25 d25", 12994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d17_d25_d25", 13004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d19, d11, d11}, 13034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d19 d11 d11", 13044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d19_d11_d11", 13054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d2, d6, d6}, 13084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d2 d6 d6", 13094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d2_d6_d6", 13104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d26, d24, d24}, 13134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d26 d24 d24", 13144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d26_d24_d24", 13154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d17, d16, d16}, 13184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d17 d16 d16", 13194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d17_d16_d16", 13204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d14, d26, d26}, 13234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d14 d26 d26", 13244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d14_d26_d26", 13254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d20, d20}, 13284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d20 d20", 13294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d18_d20_d20", 13304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d24, d14, d14}, 13334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d24 d14 d14", 13344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d24_d14_d14", 13354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d8, d14, d14}, 13384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d8 d14 d14", 13394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d8_d14_d14", 13404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d13, d9, d9}, 13434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d13 d9 d9", 13444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d13_d9_d9", 13454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d18, d31, d31}, 13484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d18 d31 d31", 13494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d18_d31_d31", 13504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d7, d22, d22}, 13534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d7 d22 d22", 13544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d7_d22_d22", 13554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d29, d10, d10}, 13584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d29 d10 d10", 13594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d29_d10_d10", 13604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}, 13624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois {{F64, d5, d29, d29}, 13634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "F64 d5 d29 d29", 13644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "FloatsSameRegisters_F64_d5_d29_d29", 13654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois ARRAY_SIZE(kFloatsSameRegisters), 13664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kFloatsSameRegisters}}; 13674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 13684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// We record all inputs to the instructions as outputs. This way, we also check 13694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// that what shouldn't change didn't change. 13704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisstruct TestResult { 13714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois size_t output_size; 13724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois const Inputs* outputs; 13734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois}; 13744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 13754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// These headers each contain an array of `TestResult` with the reference output 13764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// values. The reference arrays are names `kReference{mnemonic}`. 13774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#include "aarch32/traces/simulator-cond-dt-drt-drd-drn-drm-float-f64-vadd-a32.h" 13784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#include "aarch32/traces/simulator-cond-dt-drt-drd-drn-drm-float-f64-vsub-a32.h" 13794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 13804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 13814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// The maximum number of errors to report in detail for each test. 13824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisconst unsigned kErrorReportLimit = 8; 13834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 13844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloistypedef void (MacroAssembler::*Fn)(DataType dt, 13854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DRegister rd, 13864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DRegister rn, 13874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DRegister rm); 13884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 13894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langloisvoid TestHelper(Fn instruction, 13904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois const char* mnemonic, 13914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois const TestResult reference[]) { 13924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois SETUP(); 13934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois masm.UseA32(); 13944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois START(); 13954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 13964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Data to compare to `reference`. 13974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois TestResult* results[ARRAY_SIZE(kTests)]; 13984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 13994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Test cases for memory bound instructions may allocate a buffer and save its 14004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // address in this array. 14014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois byte* scratch_memory_buffers[ARRAY_SIZE(kTests)]; 14024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Generate a loop for each element in `kTests`. Each loop tests one specific 14044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // instruction. 14054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) { 14064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Allocate results on the heap for this test. 14074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois results[i] = new TestResult; 14084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois results[i]->outputs = new Inputs[kTests[i].input_size]; 14094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois results[i]->output_size = kTests[i].input_size; 14104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois size_t input_stride = sizeof(kTests[i].inputs[0]) * kTests[i].input_size; 14124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois VIXL_ASSERT(IsUint32(input_stride)); 14134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois scratch_memory_buffers[i] = NULL; 14154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois Label loop; 14174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois UseScratchRegisterScope scratch_registers(&masm); 14184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Include all registers from r0 ro r12. 14194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois scratch_registers.Include(RegisterList(0x1fff)); 14204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Values to pass to the macro-assembler. 14224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DataType dt = kTests[i].operands.dt; 14234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DRegister rd = kTests[i].operands.rd; 14244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DRegister rn = kTests[i].operands.rn; 14254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois DRegister rm = kTests[i].operands.rm; 14264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Allocate reserved registers for our own use. 14284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois Register input_ptr = scratch_registers.Acquire(); 14294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois Register input_end = scratch_registers.Acquire(); 14304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois Register result_ptr = scratch_registers.Acquire(); 14314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Initialize `input_ptr` to the first element and `input_end` the address 14334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // after the array. 14344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Mov(input_ptr, Operand::From(kTests[i].inputs)); 14354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Add(input_end, input_ptr, static_cast<uint32_t>(input_stride)); 14364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Mov(result_ptr, Operand::From(results[i]->outputs)); 14374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Bind(&loop); 14384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois { 14404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois UseScratchRegisterScope temp_registers(&masm); 14414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois Register fpsr_bits = temp_registers.Acquire(); 14424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Ldr(fpsr_bits, MemOperand(input_ptr, offsetof(Inputs, fpscr))); 14434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Vmsr(FPSCR, fpsr_bits); 14444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 14454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Vldr(rd, MemOperand(input_ptr, offsetof(Inputs, rd))); 14464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Vldr(rn, MemOperand(input_ptr, offsetof(Inputs, rn))); 14474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Vldr(rm, MemOperand(input_ptr, offsetof(Inputs, rm))); 14484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois (masm.*instruction)(dt, rd, rn, rm); 14504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois { 14524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois UseScratchRegisterScope temp_registers(&masm); 14534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois Register fpsr_bits = temp_registers.Acquire(); 14544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Vmrs(RegisterOrAPSR_nzcv(fpsr_bits.GetCode()), FPSCR); 14554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Str(fpsr_bits, MemOperand(result_ptr, offsetof(Inputs, fpscr))); 14564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 14574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Vstr(rd, MemOperand(result_ptr, offsetof(Inputs, rd))); 14584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Vstr(rn, MemOperand(result_ptr, offsetof(Inputs, rn))); 14594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Vstr(rm, MemOperand(result_ptr, offsetof(Inputs, rm))); 14604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Advance the result pointer. 14624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Add(result_ptr, result_ptr, Operand::From(sizeof(kTests[i].inputs[0]))); 14634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Loop back until `input_ptr` is lower than `input_base`. 14644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Add(input_ptr, input_ptr, Operand::From(sizeof(kTests[i].inputs[0]))); 14654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ Cmp(input_ptr, input_end); 14664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois __ B(ne, &loop); 14674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 14684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois END(); 14704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois RUN(); 14724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 14734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois if (Test::generate_test_trace()) { 14744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Print the results. 14754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) { 14764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("const Inputs kOutputs_%s_%s[] = {\n", 14774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois mnemonic, 14784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kTests[i].identifier); 14794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois for (size_t j = 0; j < results[i]->output_size; j++) { 14804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(" { "); 14814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%08" PRIx32, results[i]->outputs[j].fpscr); 14824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 14834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64, results[i]->outputs[j].rd); 14844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 14854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64, results[i]->outputs[j].rn); 14864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 14874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64, results[i]->outputs[j].rm); 14884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(" },\n"); 14894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 14904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("};\n"); 14914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 14924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("const TestResult kReference%s[] = {\n", mnemonic); 14934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) { 14944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(" {\n"); 14954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(" ARRAY_SIZE(kOutputs_%s_%s),\n", 14964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois mnemonic, 14974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kTests[i].identifier); 14984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(" kOutputs_%s_%s,\n", mnemonic, kTests[i].identifier); 14994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(" },\n"); 15004d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 15014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("};\n"); 15024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } else if (kCheckSimulatorTestResults) { 15034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Check the results. 15044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois unsigned total_error_count = 0; 15054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) { 15064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois bool instruction_has_errors = false; 15074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois for (size_t j = 0; j < kTests[i].input_size; j++) { 15084d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint32_t fpscr = results[i]->outputs[j].fpscr; 15094d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rd = results[i]->outputs[j].rd; 15104d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rn = results[i]->outputs[j].rn; 15114d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rm = results[i]->outputs[j].rm; 15124d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint32_t fpscr_input = kTests[i].inputs[j].fpscr; 15134d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rd_input = kTests[i].inputs[j].rd; 15144d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rn_input = kTests[i].inputs[j].rn; 15154d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rm_input = kTests[i].inputs[j].rm; 15164d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint32_t fpscr_ref = reference[i].outputs[j].fpscr; 15174d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rd_ref = reference[i].outputs[j].rd; 15184d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rn_ref = reference[i].outputs[j].rn; 15194d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois uint64_t rm_ref = reference[i].outputs[j].rm; 15204d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 15214d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois if (((fpscr != fpscr_ref) || (rd != rd_ref) || (rn != rn_ref) || 15224d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois (rm != rm_ref)) && 15234d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois (++total_error_count <= kErrorReportLimit)) { 15244d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Print the instruction once even if it triggered multiple failures. 15254d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois if (!instruction_has_errors) { 15264d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("Error(s) when testing \"%s %s\":\n", 15274d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois mnemonic, 15284d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois kTests[i].operands_description); 15294d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois instruction_has_errors = true; 15304d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 15314d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois // Print subsequent errors. 15324d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(" Input: "); 15334d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%08" PRIx32, fpscr_input); 15344d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 15354d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64 "(%g)", rd_input, RawbitsToDouble(rd_input)); 15364d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 15374d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64 "(%g)", rn_input, RawbitsToDouble(rn_input)); 15384d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 15394d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64 "(%g)", rm_input, RawbitsToDouble(rm_input)); 15404d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("\n"); 15414d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(" Expected: "); 15424d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%08" PRIx32, fpscr_ref); 15434d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 15444d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64 "(%g)", rd_ref, RawbitsToDouble(rd_ref)); 15454d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 15464d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64 "(%g)", rn_ref, RawbitsToDouble(rn_ref)); 15474d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 15484d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64 "(%g)", rm_ref, RawbitsToDouble(rm_ref)); 15494d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("\n"); 15504d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(" Found: "); 15514d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%08" PRIx32, fpscr); 15524d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 15534d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64 "(%g)", rd, RawbitsToDouble(rd)); 15544d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 15554d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64 "(%g)", rn, RawbitsToDouble(rn)); 15564d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf(", "); 15574d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("0x%016" PRIx64 "(%g)", rm, RawbitsToDouble(rm)); 15584d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("\n\n"); 15594d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 15604d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 15614d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 15624d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 15634d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois if (total_error_count > kErrorReportLimit) { 15644d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois printf("%u other errors follow.\n", 15654d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois total_error_count - kErrorReportLimit); 15664d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 15674d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois VIXL_CHECK(total_error_count == 0); 15684d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } else { 15694d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois VIXL_WARNING("Assembled the code, but did not run anything.\n"); 15704d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 15714d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 15724d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) { 15734d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois delete[] results[i]->outputs; 15744d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois delete results[i]; 15754d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois delete[] scratch_memory_buffers[i]; 15764d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } 15774d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois} 15784d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 15794d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// Instantiate tests for each instruction in the list. 15804d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois// TODO: Remove this limitation by having a sandboxing mechanism. 15814d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#if defined(VIXL_HOST_POINTER_32) 15824d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define TEST(mnemonic) \ 15834d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois void Test_##mnemonic() { \ 15844d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \ 15854d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } \ 15864d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois Test test_##mnemonic( \ 15874d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "AARCH32_SIMULATOR_COND_DT_DRT_DRD_DRN_DRM_FLOAT_F64_" #mnemonic "_A32", \ 15884d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois &Test_##mnemonic); 15894d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#else 15904d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#define TEST(mnemonic) \ 15914d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois void Test_##mnemonic() { \ 15924d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois VIXL_WARNING("This test can only run on a 32-bit host.\n"); \ 15934d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois USE(TestHelper); \ 15944d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois } \ 15954d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois Test test_##mnemonic( \ 15964d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois "AARCH32_SIMULATOR_COND_DT_DRT_DRD_DRN_DRM_FLOAT_F64_" #mnemonic "_A32", \ 15974d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois &Test_##mnemonic); 15984d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#endif 15994d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 16004d912ac1b98ffe0638320815636b0b9661a8846cPierre LangloisFOREACH_INSTRUCTION(TEST) 16014d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#undef TEST 16024d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 16034d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois} // namespace 16044d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois#endif 16054d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois 16064d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois} // namespace aarch32 16074d912ac1b98ffe0638320815636b0b9661a8846cPierre Langlois} // namespace vixl 1608