< prev index next >

src/cpu/sparc/vm/sparc.ad

Print this page




1963 //
1964 // NOTE: If the platform does not provide any short branch variants, then
1965 //       this method should return false for offset 0.
1966 bool Matcher::is_short_branch_offset(int rule, int br_size, int offset) {
1967   // The passed offset is relative to address of the branch.
1968   // Don't need to adjust the offset.
1969   return UseCBCond && Assembler::is_simm12(offset);
1970 }
1971 
1972 const bool Matcher::isSimpleConstant64(jlong value) {
1973   // Will one (StoreL ConL) be cheaper than two (StoreI ConI)?.
1974   // Depends on optimizations in MacroAssembler::setx.
1975   int hi = (int)(value >> 32);
1976   int lo = (int)(value & ~0);
1977   return (hi == 0) || (hi == -1) || (lo == 0);
1978 }
1979 
1980 // No scaling for the parameter the ClearArray node.
1981 const bool Matcher::init_array_count_is_in_bytes = true;
1982 
1983 // Threshold size for cleararray.
1984 const int Matcher::init_array_short_size = 8 * BytesPerLong;
1985 
1986 // No additional cost for CMOVL.
1987 const int Matcher::long_cmove_cost() { return 0; }
1988 
1989 // CMOVF/CMOVD are expensive on T4 and on SPARC64.
1990 const int Matcher::float_cmove_cost() {
1991   return (VM_Version::is_T4() || VM_Version::is_sparc64()) ? ConditionalMoveLimit : 0;
1992 }
1993 
1994 // Does the CPU require late expand (see block.cpp for description of late expand)?
1995 const bool Matcher::require_postalloc_expand = false;
1996 
1997 // Should the Matcher clone shifts on addressing modes, expecting them to
1998 // be subsumed into complex addressing expressions or compute them into
1999 // registers?  True for Intel but false for most RISCs
2000 const bool Matcher::clone_shift_expressions = false;
2001 
2002 // Do we need to mask the count passed to shift instructions or does
2003 // the cpu only look at the lower 5/6 bits anyway?
2004 const bool Matcher::need_masked_shift_count = false;
2005 




1963 //
1964 // NOTE: If the platform does not provide any short branch variants, then
1965 //       this method should return false for offset 0.
1966 bool Matcher::is_short_branch_offset(int rule, int br_size, int offset) {
1967   // The passed offset is relative to address of the branch.
1968   // Don't need to adjust the offset.
1969   return UseCBCond && Assembler::is_simm12(offset);
1970 }
1971 
1972 const bool Matcher::isSimpleConstant64(jlong value) {
1973   // Will one (StoreL ConL) be cheaper than two (StoreI ConI)?.
1974   // Depends on optimizations in MacroAssembler::setx.
1975   int hi = (int)(value >> 32);
1976   int lo = (int)(value & ~0);
1977   return (hi == 0) || (hi == -1) || (lo == 0);
1978 }
1979 
1980 // No scaling for the parameter the ClearArray node.
1981 const bool Matcher::init_array_count_is_in_bytes = true;
1982 



1983 // No additional cost for CMOVL.
1984 const int Matcher::long_cmove_cost() { return 0; }
1985 
1986 // CMOVF/CMOVD are expensive on T4 and on SPARC64.
1987 const int Matcher::float_cmove_cost() {
1988   return (VM_Version::is_T4() || VM_Version::is_sparc64()) ? ConditionalMoveLimit : 0;
1989 }
1990 
1991 // Does the CPU require late expand (see block.cpp for description of late expand)?
1992 const bool Matcher::require_postalloc_expand = false;
1993 
1994 // Should the Matcher clone shifts on addressing modes, expecting them to
1995 // be subsumed into complex addressing expressions or compute them into
1996 // registers?  True for Intel but false for most RISCs
1997 const bool Matcher::clone_shift_expressions = false;
1998 
1999 // Do we need to mask the count passed to shift instructions or does
2000 // the cpu only look at the lower 5/6 bits anyway?
2001 const bool Matcher::need_masked_shift_count = false;
2002 


< prev index next >