1 /* |
1 /* |
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
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 |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
248 // Used to determine if we have fast l2f conversion |
248 // Used to determine if we have fast l2f conversion |
249 // USII has it, USIII doesn't |
249 // USII has it, USIII doesn't |
250 static const bool convL2FSupported(void); |
250 static const bool convL2FSupported(void); |
251 |
251 |
252 // Vector width in bytes |
252 // Vector width in bytes |
253 static const uint vector_width_in_bytes(void); |
253 static const int vector_width_in_bytes(BasicType bt); |
|
254 |
|
255 // Limits on vector size (number of elements). |
|
256 static const int max_vector_size(const BasicType bt); |
|
257 static const int min_vector_size(const BasicType bt); |
|
258 static const bool vector_size_supported(const BasicType bt, int size) { |
|
259 return (Matcher::max_vector_size(bt) >= size && |
|
260 Matcher::min_vector_size(bt) <= size); |
|
261 } |
254 |
262 |
255 // Vector ideal reg |
263 // Vector ideal reg |
256 static const uint vector_ideal_reg(void); |
264 static const int vector_ideal_reg(int len); |
|
265 |
|
266 // CPU supports misaligned vectors store/load. |
|
267 static const bool misaligned_vectors_ok(); |
257 |
268 |
258 // Used to determine a "low complexity" 64-bit constant. (Zero is simple.) |
269 // Used to determine a "low complexity" 64-bit constant. (Zero is simple.) |
259 // The standard of comparison is one (StoreL ConL) vs. two (StoreI ConI). |
270 // The standard of comparison is one (StoreL ConL) vs. two (StoreI ConI). |
260 // Depends on the details of 64-bit constant generation on the CPU. |
271 // Depends on the details of 64-bit constant generation on the CPU. |
261 static const bool isSimpleConstant64(jlong con); |
272 static const bool isSimpleConstant64(jlong con); |