Put out burning tinderbox on OSX.

This commit is contained in:
Graydon Hoare 2010-08-10 16:49:36 -07:00
parent 5d2e94838e
commit 60e5ad384e
2 changed files with 18 additions and 6 deletions

View file

@ -398,6 +398,7 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
test/run-pass/generic-recursive-tag.rs \
test/run-pass/int-lib.rs \
test/run-pass/iter-ret.rs \
test/run-pass/lib-deque.rs \
test/run-pass/lib-map.rs \
test/run-pass/mlist-cycle.rs \
test/run-pass/obj-as.rs \

View file

@ -311,14 +311,25 @@ let emit_target_specific
Il.Mem (Il.next_spill_slot e
(Il.ScalarTy (Il.operand_scalar_ty op)))
in
let lhs_spill = next_spill_like lhs in
let rhs_spill = next_spill_like rhs in
let is_eax cell =
match cell with
Il.Cell (Il.Reg (Il.Hreg hr, _)) -> hr = eax
| _ -> false
in
if is_eax lhs
then
mov rhs_ecx rhs
else
begin
let lhs_spill = next_spill_like lhs in
let rhs_spill = next_spill_like rhs in
mov lhs_spill lhs;
mov rhs_spill rhs;
mov lhs_spill lhs;
mov rhs_spill rhs;
mov lhs_eax (Il.Cell lhs_spill);
mov rhs_ecx (Il.Cell rhs_spill);
mov lhs_eax (Il.Cell lhs_spill);
mov rhs_ecx (Il.Cell rhs_spill);
end;
put (Il.Binary
{ b with