comparison src/share/vm/opto/matcher.hpp @ 6179:8c92982cbbc4

7119644: Increase superword's vector size up to 256 bits Summary: Increase vector size up to 256-bits for YMM AVX registers on x86. Reviewed-by: never, twisti, roland
author kvn
date Fri, 15 Jun 2012 01:25:19 -0700
parents db2e64ca2d5a
children da91efe96a93
comparison
equal deleted inserted replaced
6146:eba1d5bce9e8 6179:8c92982cbbc4
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);