Mercurial > hg > truffle
comparison src/cpu/x86/vm/c1_LIRAssembler_x86.cpp @ 1790:7f9553bedfd5
6984056: C1: incorrect code for integer constant addition on x64
Summary: Fix add/sub of constants to ints on x64
Reviewed-by: kvn
author | iveresov |
---|---|
date | Sat, 11 Sep 2010 15:21:37 -0700 |
parents | d5d065957597 |
children | 3a294e483abc |
comparison
equal
deleted
inserted
replaced
1789:a83b0246bb77 | 1790:7f9553bedfd5 |
---|---|
2064 } else if (right->is_constant()) { | 2064 } else if (right->is_constant()) { |
2065 // cpu register - constant | 2065 // cpu register - constant |
2066 jint c = right->as_constant_ptr()->as_jint(); | 2066 jint c = right->as_constant_ptr()->as_jint(); |
2067 switch (code) { | 2067 switch (code) { |
2068 case lir_add: { | 2068 case lir_add: { |
2069 __ increment(lreg, c); | 2069 __ incrementl(lreg, c); |
2070 break; | 2070 break; |
2071 } | 2071 } |
2072 case lir_sub: { | 2072 case lir_sub: { |
2073 __ decrement(lreg, c); | 2073 __ decrementl(lreg, c); |
2074 break; | 2074 break; |
2075 } | 2075 } |
2076 default: ShouldNotReachHere(); | 2076 default: ShouldNotReachHere(); |
2077 } | 2077 } |
2078 | 2078 |