[vm] Define kFpuRegisterSize based on the target architecture, not the host architecture.

TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/47802
Change-Id: Icf4522df4109dd653727aa988ba4dccd8f939ae2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/226420
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
diff --git a/runtime/platform/globals.h b/runtime/platform/globals.h
index 2a2c087..3891afc 100644
--- a/runtime/platform/globals.h
+++ b/runtime/platform/globals.h
@@ -197,40 +197,15 @@
 #if defined(_M_X64) || defined(__x86_64__)
 #define HOST_ARCH_X64 1
 #define ARCH_IS_64_BIT 1
-#define kFpuRegisterSize 16
-typedef simd128_value_t fpu_register_t;
 #elif defined(_M_IX86) || defined(__i386__)
 #define HOST_ARCH_IA32 1
 #define ARCH_IS_32_BIT 1
-#define kFpuRegisterSize 16
-typedef simd128_value_t fpu_register_t;
 #elif defined(__ARMEL__)
 #define HOST_ARCH_ARM 1
 #define ARCH_IS_32_BIT 1
-#define kFpuRegisterSize 16
-// Mark the fact that we have defined simd_value_t.
-#define SIMD_VALUE_T_
-typedef struct {
-  union {
-    uint32_t u;
-    float f;
-  } data_[4];
-} simd_value_t;
-typedef simd_value_t fpu_register_t;
-#define simd_value_safe_load(addr) (*reinterpret_cast<simd_value_t*>(addr))
-#define simd_value_safe_store(addr, value)                                     \
-  do {                                                                         \
-    reinterpret_cast<simd_value_t*>(addr)->data_[0] = value.data_[0];          \
-    reinterpret_cast<simd_value_t*>(addr)->data_[1] = value.data_[1];          \
-    reinterpret_cast<simd_value_t*>(addr)->data_[2] = value.data_[2];          \
-    reinterpret_cast<simd_value_t*>(addr)->data_[3] = value.data_[3];          \
-  } while (0)
-
 #elif defined(__aarch64__)
 #define HOST_ARCH_ARM64 1
 #define ARCH_IS_64_BIT 1
-#define kFpuRegisterSize 16
-typedef simd128_value_t fpu_register_t;
 #else
 #error Architecture was not detected as supported by Dart.
 #endif
diff --git a/runtime/vm/constants_arm.h b/runtime/vm/constants_arm.h
index c774203..94b214a 100644
--- a/runtime/vm/constants_arm.h
+++ b/runtime/vm/constants_arm.h
@@ -288,6 +288,8 @@
 typedef QRegister FpuRegister;
 
 const FpuRegister FpuTMP = QTMP;
+const int kFpuRegisterSize = 16;
+typedef simd128_value_t fpu_register_t;
 const int kNumberOfFpuRegisters = kNumberOfQRegisters;
 const FpuRegister kNoFpuRegister = kNoQRegister;
 
diff --git a/runtime/vm/constants_arm64.h b/runtime/vm/constants_arm64.h
index 7947a60..9e4213d 100644
--- a/runtime/vm/constants_arm64.h
+++ b/runtime/vm/constants_arm64.h
@@ -123,6 +123,8 @@
 // Architecture independent aliases.
 typedef VRegister FpuRegister;
 const FpuRegister FpuTMP = VTMP;
+const int kFpuRegisterSize = 16;
+typedef simd128_value_t fpu_register_t;
 const int kNumberOfFpuRegisters = kNumberOfVRegisters;
 const FpuRegister kNoFpuRegister = kNoVRegister;
 
diff --git a/runtime/vm/constants_ia32.h b/runtime/vm/constants_ia32.h
index 4a497730..bac9dd5 100644
--- a/runtime/vm/constants_ia32.h
+++ b/runtime/vm/constants_ia32.h
@@ -61,6 +61,8 @@
 // Architecture independent aliases.
 typedef XmmRegister FpuRegister;
 const FpuRegister FpuTMP = XMM7;
+const int kFpuRegisterSize = 16;
+typedef simd128_value_t fpu_register_t;
 const int kNumberOfFpuRegisters = kNumberOfXmmRegisters;
 const FpuRegister kNoFpuRegister = kNoXmmRegister;
 
diff --git a/runtime/vm/constants_x64.h b/runtime/vm/constants_x64.h
index 3e7f3c5..2bc9444 100644
--- a/runtime/vm/constants_x64.h
+++ b/runtime/vm/constants_x64.h
@@ -93,6 +93,8 @@
 // Architecture independent aliases.
 typedef XmmRegister FpuRegister;
 const FpuRegister FpuTMP = XMM15;
+const int kFpuRegisterSize = 16;
+typedef simd128_value_t fpu_register_t;
 const int kNumberOfFpuRegisters = kNumberOfXmmRegisters;
 const FpuRegister kNoFpuRegister = kNoXmmRegister;
 
diff --git a/runtime/vm/simulator_arm.h b/runtime/vm/simulator_arm.h
index 8074d56..61beaec 100644
--- a/runtime/vm/simulator_arm.h
+++ b/runtime/vm/simulator_arm.h
@@ -25,14 +25,12 @@
 class SimulatorSetjmpBuffer;
 class Thread;
 
-#if !defined(SIMD_VALUE_T_)
 typedef struct {
   union {
     uint32_t u;
     float f;
   } data_[4];
 } simd_value_t;
-#endif
 
 class Simulator {
  public: