Mercurial > hg > truffle
comparison src/cpu/sparc/vm/assembler_sparc.cpp @ 2258:28bf941f445e
7018378: JSR 292: _bound_int_mh produces wrong result on 64-bit SPARC
Reviewed-by: kvn
author | twisti |
---|---|
date | Mon, 14 Feb 2011 03:21:18 -0800 |
parents | 5577848f5923 |
children | 8033953d67ff |
comparison
equal
deleted
inserted
replaced
2257:34457f6ac818 | 2258:28bf941f445e |
---|---|
2405 movcc(greater, false, xcc, 1, Rresult); | 2405 movcc(greater, false, xcc, 1, Rresult); |
2406 } | 2406 } |
2407 #endif | 2407 #endif |
2408 | 2408 |
2409 | 2409 |
2410 void MacroAssembler::load_sized_value(Address src, Register dst, | 2410 void MacroAssembler::load_sized_value(Address src, Register dst, size_t size_in_bytes, bool is_signed) { |
2411 size_t size_in_bytes, bool is_signed) { | |
2412 switch (size_in_bytes) { | 2411 switch (size_in_bytes) { |
2413 case 8: ldx(src, dst); break; | 2412 case 8: ld_long(src, dst); break; |
2414 case 4: ld( src, dst); break; | 2413 case 4: ld( src, dst); break; |
2415 case 2: is_signed ? ldsh(src, dst) : lduh(src, dst); break; | 2414 case 2: is_signed ? ldsh(src, dst) : lduh(src, dst); break; |
2416 case 1: is_signed ? ldsb(src, dst) : ldub(src, dst); break; | 2415 case 1: is_signed ? ldsb(src, dst) : ldub(src, dst); break; |
2417 default: ShouldNotReachHere(); | 2416 default: ShouldNotReachHere(); |
2417 } | |
2418 } | |
2419 | |
2420 void MacroAssembler::store_sized_value(Register src, Address dst, size_t size_in_bytes) { | |
2421 switch (size_in_bytes) { | |
2422 case 8: st_long(src, dst); break; | |
2423 case 4: st( src, dst); break; | |
2424 case 2: sth( src, dst); break; | |
2425 case 1: stb( src, dst); break; | |
2426 default: ShouldNotReachHere(); | |
2418 } | 2427 } |
2419 } | 2428 } |
2420 | 2429 |
2421 | 2430 |
2422 void MacroAssembler::float_cmp( bool is_float, int unordered_result, | 2431 void MacroAssembler::float_cmp( bool is_float, int unordered_result, |