Introduce Float32x4, Float64x2, Int32x4, Float32x4Array, Float64x2Array
and Int32x4Array data types, implement the SIMD operations on the
Float32x4, Float64x2 and Int32x4 with C++ runtime functions and implement
Float32x4Array, Float64x2Array and Int32x4Array element loading and storing.

Conflicts:
	include/v8.h
	src/arm/assembler-arm.h
	src/hydrogen-instructions.cc
	src/ia32/assembler-ia32.h
	src/ia32/lithium-codegen-ia32.cc
	src/types.cc
	src/types.h
	src/x64/assembler-x64.h
	src/x64/lithium-codegen-x64.cc
	src/x64/lithium-x64.cc
	src/x64/lithium-x64.h
Change Float32x4, Float64x2 and Int32x4 to JSObject.

These objects contains a "value" pointer pointing to a corresponding
FixedTypedArray which is the real data storage.
Inline all SIMD operations and optimize the SIMD arrays load and store.

The implementation is for ia32 and x64 ports.

Optimize Float32x4Array, Float64x2Array and Int32x4Array element loading
and storing for ia32 and x64 port by:
  1). Allocating SIMD128 registers
  2). Emitting SIMD movups instruction
  3). Adding deoptimization support for SIMD128 registers or stack slots

Inline all SIMD operations and emit SIMD instructions for ia32 and x64 port

Conflicts:
	src/hydrogen-instructions.cc
	src/hydrogen-instructions.h
	src/ia32/assembler-ia32.h
	src/ia32/deoptimizer-ia32.cc
	src/ia32/lithium-codegen-ia32.cc
	src/ia32/lithium-codegen-ia32.h
	src/ia32/macro-assembler-ia32.cc
	src/x64/assembler-x64.h
	src/x64/lithium-codegen-x64.cc
	src/x64/lithium-x64.h
	src/hydrogen-instructions.cc
	src/hydrogen-instructions.h
	src/hydrogen.cc
	src/ia32/lithium-ia32.cc
	src/x64/lithium-x64.cc
	test/cctest/test-disasm-ia32.cc
Fix the presubmit step

- Fix the runtime function test auto generation.
- Fix the coding style issues.

TODO(ningxin): squash into patch 1
Inline the simd128-tag

Implement the simd128-tag inlining for the new JSObject-based
SIMD128 types' layout.

TODO(ningxin): squash into patch-2
Merge pull request #44 from huningxin/simd-jsobject

Rebase SIMD.JS patches to M37