Chromium Code Reviews| Index: runtime/vm/intermediate_language_ia32.cc |
| diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc |
| index 39355cf6435915acc01b776cd8eaf55b5cefcb13..eb33fa8943049f12bdb1e37f8b60b0ade1dd264e 100644 |
| --- a/runtime/vm/intermediate_language_ia32.cc |
| +++ b/runtime/vm/intermediate_language_ia32.cc |
| @@ -4155,6 +4155,37 @@ void Float64x2OneArgInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| } |
| +LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary( |
| + Isolate* isolate, bool opt) const { |
| + const intptr_t kNumInputs = 4; |
| + const intptr_t kNumTemps = 0; |
| + LocationSummary* summary = new(isolate) LocationSummary( |
| + isolate, kNumInputs, kNumTemps, LocationSummary::kNoCall); |
| + summary->set_in(0, Location::RequiresRegister()); |
| + summary->set_in(1, Location::RequiresRegister()); |
| + summary->set_in(2, Location::RequiresRegister()); |
| + summary->set_in(3, Location::RequiresRegister()); |
| + summary->set_out(0, Location::RequiresFpuRegister()); |
| + return summary; |
| +} |
| + |
| + |
| +void Int32x4ConstructorInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| + Register v0 = locs()->in(0).reg(); |
| + Register v1 = locs()->in(1).reg(); |
| + Register v2 = locs()->in(2).reg(); |
| + Register v3 = locs()->in(3).reg(); |
| + XmmRegister result = locs()->out(0).fpu_reg(); |
| + __ subl(ESP, Immediate(16)); |
|
srdjan
2014/08/14 16:33:02
4 * kWordSize instead of 16 (also below and on all
Cutch
2014/08/14 17:21:35
Done but with kInt32Size.
|
| + __ movl(Address(ESP, 0), v0); |
|
srdjan
2014/08/14 16:33:02
0 * kWordSize
1 * kWordSize
on all architectures.
Cutch
2014/08/14 17:21:35
Done but with kInt32Size.
|
| + __ movl(Address(ESP, 4), v1); |
| + __ movl(Address(ESP, 8), v2); |
| + __ movl(Address(ESP, 12), v3); |
| + __ movups(result, Address(ESP, 0)); |
| + __ addl(ESP, Immediate(16)); |
| +} |
| + |
| + |
| LocationSummary* Int32x4BoolConstructorInstr::MakeLocationSummary( |
| Isolate* isolate, bool opt) const { |
| const intptr_t kNumInputs = 4; |