1 /*
   2  * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
   3  * Copyright (c) 2014, Red Hat Inc. All rights reserved.
   4  * Copyright (c) 2015, Linaro Ltd. All rights reserved.
   5  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   6  *
   7  * This code is free software; you can redistribute it and/or modify it
   8  * under the terms of the GNU General Public License version 2 only, as
   9  * published by the Free Software Foundation.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  *
  25  */
  26 
  27 #include "precompiled.hpp"
  28 #include "asm/assembler.hpp"
  29 #include "asm/register.hpp"
  30 
  31 REGISTER_DEFINITION(Register, noreg);
  32 
  33 REGISTER_DEFINITION(Register, r0);
  34 REGISTER_DEFINITION(Register, r1);
  35 REGISTER_DEFINITION(Register, r2);
  36 REGISTER_DEFINITION(Register, r3);
  37 REGISTER_DEFINITION(Register, r4);
  38 REGISTER_DEFINITION(Register, r5);
  39 REGISTER_DEFINITION(Register, r6);
  40 REGISTER_DEFINITION(Register, r7);
  41 REGISTER_DEFINITION(Register, r8);
  42 REGISTER_DEFINITION(Register, r9);
  43 REGISTER_DEFINITION(Register, r10);
  44 REGISTER_DEFINITION(Register, r11);
  45 REGISTER_DEFINITION(Register, r12);
  46 REGISTER_DEFINITION(Register, r13);
  47 REGISTER_DEFINITION(Register, r14);
  48 REGISTER_DEFINITION(Register, r15);
  49 
  50 REGISTER_DEFINITION(FloatRegister, fnoreg);
  51 
  52 REGISTER_DEFINITION(FloatRegister, d0);
  53 REGISTER_DEFINITION(FloatRegister, d1);
  54 REGISTER_DEFINITION(FloatRegister, d2);
  55 REGISTER_DEFINITION(FloatRegister, d3);
  56 REGISTER_DEFINITION(FloatRegister, d4);
  57 REGISTER_DEFINITION(FloatRegister, d5);
  58 REGISTER_DEFINITION(FloatRegister, d6);
  59 REGISTER_DEFINITION(FloatRegister, d7);
  60 REGISTER_DEFINITION(FloatRegister, d8);
  61 REGISTER_DEFINITION(FloatRegister, d9);
  62 REGISTER_DEFINITION(FloatRegister, d10);
  63 REGISTER_DEFINITION(FloatRegister, d11);
  64 REGISTER_DEFINITION(FloatRegister, d12);
  65 REGISTER_DEFINITION(FloatRegister, d13);
  66 REGISTER_DEFINITION(FloatRegister, d14);
  67 REGISTER_DEFINITION(FloatRegister, d15);
  68 REGISTER_DEFINITION(FloatRegister, d16);
  69 REGISTER_DEFINITION(FloatRegister, d17);
  70 REGISTER_DEFINITION(FloatRegister, d18);
  71 REGISTER_DEFINITION(FloatRegister, d19);
  72 REGISTER_DEFINITION(FloatRegister, d20);
  73 REGISTER_DEFINITION(FloatRegister, d21);
  74 REGISTER_DEFINITION(FloatRegister, d22);
  75 REGISTER_DEFINITION(FloatRegister, d23);
  76 REGISTER_DEFINITION(FloatRegister, d24);
  77 REGISTER_DEFINITION(FloatRegister, d25);
  78 REGISTER_DEFINITION(FloatRegister, d26);
  79 REGISTER_DEFINITION(FloatRegister, d27);
  80 REGISTER_DEFINITION(FloatRegister, d28);
  81 REGISTER_DEFINITION(FloatRegister, d29);
  82 REGISTER_DEFINITION(FloatRegister, d30);
  83 REGISTER_DEFINITION(FloatRegister, d31);
  84 
  85 REGISTER_DEFINITION(FloatRegister, q0);
  86 REGISTER_DEFINITION(FloatRegister, q1);
  87 REGISTER_DEFINITION(FloatRegister, q2);
  88 REGISTER_DEFINITION(FloatRegister, q3);
  89 REGISTER_DEFINITION(FloatRegister, q4);
  90 REGISTER_DEFINITION(FloatRegister, q5);
  91 REGISTER_DEFINITION(FloatRegister, q6);
  92 REGISTER_DEFINITION(FloatRegister, q7);
  93 REGISTER_DEFINITION(FloatRegister, q8);
  94 REGISTER_DEFINITION(FloatRegister, q9);
  95 REGISTER_DEFINITION(FloatRegister, q10);
  96 REGISTER_DEFINITION(FloatRegister, q11);
  97 REGISTER_DEFINITION(FloatRegister, q12);
  98 REGISTER_DEFINITION(FloatRegister, q13);
  99 REGISTER_DEFINITION(FloatRegister, q14);
 100 REGISTER_DEFINITION(FloatRegister, q15);
 101 
 102 REGISTER_DEFINITION(FloatRegister, f0);
 103 REGISTER_DEFINITION(FloatRegister, f1);
 104 REGISTER_DEFINITION(FloatRegister, f2);
 105 REGISTER_DEFINITION(FloatRegister, f3);
 106 REGISTER_DEFINITION(FloatRegister, f4);
 107 REGISTER_DEFINITION(FloatRegister, f5);
 108 REGISTER_DEFINITION(FloatRegister, f6);
 109 REGISTER_DEFINITION(FloatRegister, f7);
 110 REGISTER_DEFINITION(FloatRegister, f8);
 111 REGISTER_DEFINITION(FloatRegister, f9);
 112 REGISTER_DEFINITION(FloatRegister, f10);
 113 REGISTER_DEFINITION(FloatRegister, f11);
 114 REGISTER_DEFINITION(FloatRegister, f12);
 115 REGISTER_DEFINITION(FloatRegister, f13);
 116 REGISTER_DEFINITION(FloatRegister, f14);
 117 REGISTER_DEFINITION(FloatRegister, f15);
 118 
 119 REGISTER_DEFINITION(Register, c_rarg0);
 120 REGISTER_DEFINITION(Register, c_rarg1);
 121 REGISTER_DEFINITION(Register, c_rarg2);
 122 REGISTER_DEFINITION(Register, c_rarg3);
 123 
 124 REGISTER_DEFINITION(Register, j_rarg0);
 125 REGISTER_DEFINITION(Register, j_rarg1);
 126 REGISTER_DEFINITION(Register, j_rarg2);
 127 REGISTER_DEFINITION(Register, j_rarg3);
 128 
 129 REGISTER_DEFINITION(Register, rdispatch);
 130 REGISTER_DEFINITION(Register, rbcp);
 131 REGISTER_DEFINITION(Register, rlocals);
 132 REGISTER_DEFINITION(Register, rcpool);
 133 REGISTER_DEFINITION(Register, rthread);
 134 REGISTER_DEFINITION(Register, rscratch1);
 135 REGISTER_DEFINITION(Register, rmethod);
 136 REGISTER_DEFINITION(Register, rfp);
 137 REGISTER_DEFINITION(Register, rscratch2);
 138 REGISTER_DEFINITION(Register, sp);
 139 REGISTER_DEFINITION(Register, lr);
 140 REGISTER_DEFINITION(Register, r15_pc);