Commit 785f7a21 authored by bmeurer@chromium.org's avatar bmeurer@chromium.org

Fix x64 after r24656.

TBR=jarin@chromium.org

Review URL: https://codereview.chromium.org/655383003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 04c17602
......@@ -319,8 +319,8 @@ Handle<Code> Pipeline::GenerateCode() {
ValueNumberingReducer vn_reducer(zone());
SimplifiedOperatorReducer simple_reducer(&jsgraph);
GraphReducer graph_reducer(&graph);
graph_reducer.AddReducer(&simple_reducer);
graph_reducer.AddReducer(&vn_reducer);
graph_reducer.AddReducer(&simple_reducer);
graph_reducer.ReduceGraph();
VerifyAndPrintGraph(&graph, "Lowered simplified");
......@@ -333,11 +333,13 @@ Handle<Code> Pipeline::GenerateCode() {
SourcePosition::Unknown());
Linkage linkage(info());
ValueNumberingReducer vn_reducer(zone());
SimplifiedOperatorReducer simple_reducer(&jsgraph);
ChangeLowering lowering(&jsgraph, &linkage);
MachineOperatorReducer mach_reducer(&jsgraph);
GraphReducer graph_reducer(&graph);
// TODO(titzer): Figure out if we should run all reducers at once here.
graph_reducer.AddReducer(&vn_reducer);
graph_reducer.AddReducer(&simple_reducer);
graph_reducer.AddReducer(&lowering);
graph_reducer.AddReducer(&mach_reducer);
graph_reducer.ReduceGraph();
......
......@@ -726,7 +726,7 @@ class RepresentationSelector {
}
case IrOpcode::kWord32Shr:
// We output unsigned int32 for shift right because JavaScript.
return VisitBinop(node, kRepWord32, kRepWord32 | kTypeUint32);
return VisitBinop(node, kMachUint32, kMachUint32);
case IrOpcode::kWord32And:
case IrOpcode::kWord32Or:
case IrOpcode::kWord32Xor:
......
......@@ -447,10 +447,11 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
break;
case kSSEUint32ToFloat64:
if (instr->InputAt(0)->IsRegister()) {
__ cvtqsi2sd(i.OutputDoubleRegister(), i.InputRegister(0));
__ movl(kScratchRegister, i.InputRegister(0));
} else {
__ cvtqsi2sd(i.OutputDoubleRegister(), i.InputOperand(0));
__ movl(kScratchRegister, i.InputOperand(0));
}
__ cvtqsi2sd(i.OutputDoubleRegister(), kScratchRegister);
break;
case kX64Movsxbl:
__ movsxbl(i.OutputRegister(), i.MemoryOperand());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment