1 /*
   2  * Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  20  * CA 95054 USA or visit www.sun.com if you need additional information or
  21  * have any questions.
  22  *
  23  */
  24 
  25 package sun.jvm.hotspot.asm.ia64;
  26 
  27 import sun.jvm.hotspot.utilities.Assert;
  28 
  29 public class IA64FloatRegisters {
  30     public static int getNumRegisters() {
  31         return 128;
  32     }
  33 
  34     public static IA64FloatRegister getRegister(int i) {
  35         Assert.that(i >= 0 && i < 128, "float register number is invalid");
  36         return registers[i];
  37     }
  38 
  39     public static String getRegisterName(int i) {
  40         return "%f" + i;
  41     }
  42 
  43     public static final IA64FloatRegister F0;
  44     public static final IA64FloatRegister F1;
  45     public static final IA64FloatRegister F2;
  46     public static final IA64FloatRegister F3;
  47     public static final IA64FloatRegister F4;
  48     public static final IA64FloatRegister F5;
  49     public static final IA64FloatRegister F6;
  50     public static final IA64FloatRegister F7;
  51     public static final IA64FloatRegister F8;
  52     public static final IA64FloatRegister F9;
  53     public static final IA64FloatRegister F10;
  54     public static final IA64FloatRegister F11;
  55     public static final IA64FloatRegister F12;
  56     public static final IA64FloatRegister F13;
  57     public static final IA64FloatRegister F14;
  58     public static final IA64FloatRegister F15;
  59     public static final IA64FloatRegister F16;
  60     public static final IA64FloatRegister F17;
  61     public static final IA64FloatRegister F18;
  62     public static final IA64FloatRegister F19;
  63     public static final IA64FloatRegister F20;
  64     public static final IA64FloatRegister F21;
  65     public static final IA64FloatRegister F22;
  66     public static final IA64FloatRegister F23;
  67     public static final IA64FloatRegister F24;
  68     public static final IA64FloatRegister F25;
  69     public static final IA64FloatRegister F26;
  70     public static final IA64FloatRegister F27;
  71     public static final IA64FloatRegister F28;
  72     public static final IA64FloatRegister F29;
  73     public static final IA64FloatRegister F30;
  74     public static final IA64FloatRegister F31;
  75     public static final IA64FloatRegister F32;
  76     public static final IA64FloatRegister F33;
  77     public static final IA64FloatRegister F34;
  78     public static final IA64FloatRegister F35;
  79     public static final IA64FloatRegister F36;
  80     public static final IA64FloatRegister F37;
  81     public static final IA64FloatRegister F38;
  82     public static final IA64FloatRegister F39;
  83     public static final IA64FloatRegister F40;
  84     public static final IA64FloatRegister F41;
  85     public static final IA64FloatRegister F42;
  86     public static final IA64FloatRegister F43;
  87     public static final IA64FloatRegister F44;
  88     public static final IA64FloatRegister F45;
  89     public static final IA64FloatRegister F46;
  90     public static final IA64FloatRegister F47;
  91     public static final IA64FloatRegister F48;
  92     public static final IA64FloatRegister F49;
  93     public static final IA64FloatRegister F50;
  94     public static final IA64FloatRegister F51;
  95     public static final IA64FloatRegister F52;
  96     public static final IA64FloatRegister F53;
  97     public static final IA64FloatRegister F54;
  98     public static final IA64FloatRegister F55;
  99     public static final IA64FloatRegister F56;
 100     public static final IA64FloatRegister F57;
 101     public static final IA64FloatRegister F58;
 102     public static final IA64FloatRegister F59;
 103     public static final IA64FloatRegister F60;
 104     public static final IA64FloatRegister F61;
 105     public static final IA64FloatRegister F62;
 106     public static final IA64FloatRegister F63;
 107     public static final IA64FloatRegister F64;
 108     public static final IA64FloatRegister F65;
 109     public static final IA64FloatRegister F66;
 110     public static final IA64FloatRegister F67;
 111     public static final IA64FloatRegister F68;
 112     public static final IA64FloatRegister F69;
 113     public static final IA64FloatRegister F70;
 114     public static final IA64FloatRegister F71;
 115     public static final IA64FloatRegister F72;
 116     public static final IA64FloatRegister F73;
 117     public static final IA64FloatRegister F74;
 118     public static final IA64FloatRegister F75;
 119     public static final IA64FloatRegister F76;
 120     public static final IA64FloatRegister F77;
 121     public static final IA64FloatRegister F78;
 122     public static final IA64FloatRegister F79;
 123     public static final IA64FloatRegister F80;
 124     public static final IA64FloatRegister F81;
 125     public static final IA64FloatRegister F82;
 126     public static final IA64FloatRegister F83;
 127     public static final IA64FloatRegister F84;
 128     public static final IA64FloatRegister F85;
 129     public static final IA64FloatRegister F86;
 130     public static final IA64FloatRegister F87;
 131     public static final IA64FloatRegister F88;
 132     public static final IA64FloatRegister F89;
 133     public static final IA64FloatRegister F90;
 134     public static final IA64FloatRegister F91;
 135     public static final IA64FloatRegister F92;
 136     public static final IA64FloatRegister F93;
 137     public static final IA64FloatRegister F94;
 138     public static final IA64FloatRegister F95;
 139     public static final IA64FloatRegister F96;
 140     public static final IA64FloatRegister F97;
 141     public static final IA64FloatRegister F98;
 142     public static final IA64FloatRegister F99;
 143     public static final IA64FloatRegister F100;
 144     public static final IA64FloatRegister F101;
 145     public static final IA64FloatRegister F102;
 146     public static final IA64FloatRegister F103;
 147     public static final IA64FloatRegister F104;
 148     public static final IA64FloatRegister F105;
 149     public static final IA64FloatRegister F106;
 150     public static final IA64FloatRegister F107;
 151     public static final IA64FloatRegister F108;
 152     public static final IA64FloatRegister F109;
 153     public static final IA64FloatRegister F110;
 154     public static final IA64FloatRegister F111;
 155     public static final IA64FloatRegister F112;
 156     public static final IA64FloatRegister F113;
 157     public static final IA64FloatRegister F114;
 158     public static final IA64FloatRegister F115;
 159     public static final IA64FloatRegister F116;
 160     public static final IA64FloatRegister F117;
 161     public static final IA64FloatRegister F118;
 162     public static final IA64FloatRegister F119;
 163     public static final IA64FloatRegister F120;
 164     public static final IA64FloatRegister F121;
 165     public static final IA64FloatRegister F122;
 166     public static final IA64FloatRegister F123;
 167     public static final IA64FloatRegister F124;
 168     public static final IA64FloatRegister F125;
 169     public static final IA64FloatRegister F126;
 170     public static final IA64FloatRegister F127;
 171     public static final int NUM_REGISTERS = 128;
 172     private static final IA64FloatRegister registers[];
 173 
 174     static {
 175      F0 = new IA64FloatRegister(0);
 176      F1 = new IA64FloatRegister(1);
 177      F2 = new IA64FloatRegister(2);
 178      F3 = new IA64FloatRegister(3);
 179      F4 = new IA64FloatRegister(4);
 180      F5 = new IA64FloatRegister(5);
 181      F6 = new IA64FloatRegister(6);
 182      F7 = new IA64FloatRegister(7);
 183      F8 = new IA64FloatRegister(8);
 184      F9 = new IA64FloatRegister(9);
 185      F10 = new IA64FloatRegister(10);
 186      F11 = new IA64FloatRegister(11);
 187      F12 = new IA64FloatRegister(12);
 188      F13 = new IA64FloatRegister(13);
 189      F14 = new IA64FloatRegister(14);
 190      F15 = new IA64FloatRegister(15);
 191      F16 = new IA64FloatRegister(16);
 192      F17 = new IA64FloatRegister(17);
 193      F18 = new IA64FloatRegister(18);
 194      F19 = new IA64FloatRegister(19);
 195      F20 = new IA64FloatRegister(20);
 196      F21 = new IA64FloatRegister(21);
 197      F22 = new IA64FloatRegister(22);
 198      F23 = new IA64FloatRegister(23);
 199      F24 = new IA64FloatRegister(24);
 200      F25 = new IA64FloatRegister(25);
 201      F26 = new IA64FloatRegister(26);
 202      F27 = new IA64FloatRegister(27);
 203      F28 = new IA64FloatRegister(28);
 204      F29 = new IA64FloatRegister(29);
 205      F30 = new IA64FloatRegister(30);
 206      F31 = new IA64FloatRegister(31);
 207      F32 = new IA64FloatRegister(32);
 208      F33 = new IA64FloatRegister(33);
 209      F34 = new IA64FloatRegister(34);
 210      F35 = new IA64FloatRegister(35);
 211      F36 = new IA64FloatRegister(36);
 212      F37 = new IA64FloatRegister(37);
 213      F38 = new IA64FloatRegister(38);
 214      F39 = new IA64FloatRegister(39);
 215      F40 = new IA64FloatRegister(40);
 216      F41 = new IA64FloatRegister(41);
 217      F42 = new IA64FloatRegister(42);
 218      F43 = new IA64FloatRegister(43);
 219      F44 = new IA64FloatRegister(44);
 220      F45 = new IA64FloatRegister(45);
 221      F46 = new IA64FloatRegister(46);
 222      F47 = new IA64FloatRegister(47);
 223      F48 = new IA64FloatRegister(48);
 224      F49 = new IA64FloatRegister(49);
 225      F50 = new IA64FloatRegister(50);
 226      F51 = new IA64FloatRegister(51);
 227      F52 = new IA64FloatRegister(52);
 228      F53 = new IA64FloatRegister(53);
 229      F54 = new IA64FloatRegister(54);
 230      F55 = new IA64FloatRegister(55);
 231      F56 = new IA64FloatRegister(56);
 232      F57 = new IA64FloatRegister(57);
 233      F58 = new IA64FloatRegister(58);
 234      F59 = new IA64FloatRegister(59);
 235      F60 = new IA64FloatRegister(60);
 236      F61 = new IA64FloatRegister(61);
 237      F62 = new IA64FloatRegister(62);
 238      F63 = new IA64FloatRegister(63);
 239      F64 = new IA64FloatRegister(64);
 240      F65 = new IA64FloatRegister(65);
 241      F66 = new IA64FloatRegister(66);
 242      F67 = new IA64FloatRegister(67);
 243      F68 = new IA64FloatRegister(68);
 244      F69 = new IA64FloatRegister(69);
 245      F70 = new IA64FloatRegister(70);
 246      F71 = new IA64FloatRegister(71);
 247      F72 = new IA64FloatRegister(72);
 248      F73 = new IA64FloatRegister(73);
 249      F74 = new IA64FloatRegister(74);
 250      F75 = new IA64FloatRegister(75);
 251      F76 = new IA64FloatRegister(76);
 252      F77 = new IA64FloatRegister(77);
 253      F78 = new IA64FloatRegister(78);
 254      F79 = new IA64FloatRegister(79);
 255      F80 = new IA64FloatRegister(80);
 256      F81 = new IA64FloatRegister(81);
 257      F82 = new IA64FloatRegister(82);
 258      F83 = new IA64FloatRegister(83);
 259      F84 = new IA64FloatRegister(84);
 260      F85 = new IA64FloatRegister(85);
 261      F86 = new IA64FloatRegister(86);
 262      F87 = new IA64FloatRegister(87);
 263      F88 = new IA64FloatRegister(88);
 264      F89 = new IA64FloatRegister(89);
 265      F90 = new IA64FloatRegister(90);
 266      F91 = new IA64FloatRegister(91);
 267      F92 = new IA64FloatRegister(92);
 268      F93 = new IA64FloatRegister(93);
 269      F94 = new IA64FloatRegister(94);
 270      F95 = new IA64FloatRegister(95);
 271      F96 = new IA64FloatRegister(96);
 272      F97 = new IA64FloatRegister(97);
 273      F98 = new IA64FloatRegister(98);
 274      F99 = new IA64FloatRegister(99);
 275      F100 = new IA64FloatRegister(100);
 276      F101 = new IA64FloatRegister(101);
 277      F102 = new IA64FloatRegister(102);
 278      F103 = new IA64FloatRegister(103);
 279      F104 = new IA64FloatRegister(104);
 280      F105 = new IA64FloatRegister(105);
 281      F106 = new IA64FloatRegister(106);
 282      F107 = new IA64FloatRegister(107);
 283      F108 = new IA64FloatRegister(108);
 284      F109 = new IA64FloatRegister(109);
 285      F110 = new IA64FloatRegister(110);
 286      F111 = new IA64FloatRegister(111);
 287      F112 = new IA64FloatRegister(112);
 288      F113 = new IA64FloatRegister(113);
 289      F114 = new IA64FloatRegister(114);
 290      F115 = new IA64FloatRegister(115);
 291      F116 = new IA64FloatRegister(116);
 292      F117 = new IA64FloatRegister(117);
 293      F118 = new IA64FloatRegister(118);
 294      F119 = new IA64FloatRegister(119);
 295      F120 = new IA64FloatRegister(120);
 296      F121 = new IA64FloatRegister(121);
 297      F122 = new IA64FloatRegister(122);
 298      F123 = new IA64FloatRegister(123);
 299      F124 = new IA64FloatRegister(124);
 300      F125 = new IA64FloatRegister(125);
 301      F126 = new IA64FloatRegister(126);
 302      F127 = new IA64FloatRegister(127);
 303 
 304         registers = (new IA64FloatRegister[] {
 305             F0, F1, F2, F3, F4, F5, F6, F7, F8, F9,
 306             F10, F11, F12, F13, F14, F15, F16, F17, F18, F19,
 307             F20, F21, F22, F23, F24, F25, F26, F27, F28, F29,
 308             F30, F31, F32, F33, F34, F35, F36, F37, F38, F39,
 309             F40, F41, F42, F43, F44, F45, F46, F47, F48, F49,
 310             F50, F51, F52, F53, F54, F55, F56, F57, F58, F59,
 311             F60, F61, F62, F63, F64, F65, F66, F67, F68, F69,
 312             F70, F71, F72, F73, F74, F75, F76, F77, F78, F79,
 313             F80, F81, F82, F83, F84, F85, F86, F87, F88, F89,
 314             F90, F91, F92, F93, F94, F95, F96, F97, F98, F99,
 315             F100, F101, F102, F103, F104, F105, F106, F107, F108, F109,
 316             F110, F111, F112, F113, F114, F115, F116, F117, F118, F119,
 317             F120, F121, F122, F123, F124, F125, F126, F127
 318         });
 319     }
 320 }