Index: runtime/vm/intermediate_language_ia32.cc |
=================================================================== |
--- runtime/vm/intermediate_language_ia32.cc (revision 41048) |
+++ runtime/vm/intermediate_language_ia32.cc (working copy) |
@@ -5929,7 +5929,7 @@ |
__ sarl(left_lo, Immediate(shift - 32)); |
} |
} else { |
- __ shrd(left_lo, left_hi, Immediate(shift)); |
+ __ shrdl(left_lo, left_hi, Immediate(shift)); |
__ sarl(left_hi, Immediate(shift)); |
} |
break; |
@@ -5952,7 +5952,7 @@ |
__ cmpl(temp1, temp2); |
__ j(NOT_EQUAL, deopt); |
} else { |
- __ shld(left_hi, left_lo, Immediate(shift)); |
+ __ shldl(left_hi, left_lo, Immediate(shift)); |
__ shll(left_lo, Immediate(shift)); |
// Check for overflow by shifting back the high 32 bits |
// and comparing with the input. |
@@ -5969,7 +5969,7 @@ |
__ shll(left_hi, Immediate(shift - 32)); |
} |
} else { |
- __ shld(left_hi, left_lo, Immediate(shift)); |
+ __ shldl(left_hi, left_lo, Immediate(shift)); |
__ shll(left_lo, Immediate(shift)); |
} |
} |
@@ -5982,7 +5982,7 @@ |
// Code for a variable shift amount. |
// Deoptimize if shift count is > 63. |
// sarl operation masks the count to 5 bits and |
- // shrd is undefined with count > operand size (32) |
+ // shrdl is undefined with count > operand size (32) |
__ SmiUntag(ECX); |
if (has_shift_count_check()) { |
__ cmpl(ECX, Immediate(kMintShiftCountLimit)); |
@@ -5994,7 +5994,7 @@ |
__ cmpl(ECX, Immediate(31)); |
__ j(ABOVE, &large_shift); |
- __ shrd(left_lo, left_hi); // Shift count in CL. |
+ __ shrdl(left_lo, left_hi); // Shift count in CL. |
__ sarl(left_hi, ECX); // Shift count in CL. |
__ jmp(&done, Assembler::kNearJump); |
@@ -6013,7 +6013,7 @@ |
__ cmpl(ECX, Immediate(31)); |
__ j(ABOVE, &large_shift); |
- __ shld(left_hi, left_lo); // Shift count in CL. |
+ __ shldl(left_hi, left_lo); // Shift count in CL. |
__ shll(left_lo, ECX); // Shift count in CL. |
// Check for overflow by shifting back the high 32 bits |
// and comparing with the input. |
@@ -6038,7 +6038,7 @@ |
__ cmpl(ECX, Immediate(31)); |
__ j(ABOVE, &large_shift); |
- __ shld(left_hi, left_lo); // Shift count in CL. |
+ __ shldl(left_hi, left_lo); // Shift count in CL. |
__ shll(left_lo, ECX); // Shift count in CL. |
__ jmp(&done, Assembler::kNearJump); |