diff --git a/src/compiler/backend/ia32/instruction-selector-ia32.cc b/src/compiler/backend/ia32/instruction-selector-ia32.cc
index 3a3f79d..a536327 100644
--- a/src/compiler/backend/ia32/instruction-selector-ia32.cc
+++ b/src/compiler/backend/ia32/instruction-selector-ia32.cc
@@ -1811,7 +1811,6 @@
   V(Word32Popcnt, kIA32Popcnt)                               \
   V(SignExtendWord8ToInt32, kIA32Movsxbl)                    \
   V(SignExtendWord16ToInt32, kIA32Movsxwl)                   \
-  IF_WASM(V, F64x2Sqrt, kIA32F64x2Sqrt)
 
 #define RO_WITH_TEMP_OP_T_LIST(V) V(ChangeUint32ToFloat64, kIA32Uint32ToFloat64)
 
@@ -1841,7 +1840,8 @@
   IF_WASM(V, F64x2Floor, kIA32F64x2Round | MiscField::encode(kRoundDown))      \
   IF_WASM(V, F64x2Trunc, kIA32F64x2Round | MiscField::encode(kRoundToZero))    \
   IF_WASM(V, F64x2NearestInt,                                                  \
-          kIA32F64x2Round | MiscField::encode(kRoundToNearest))
+          kIA32F64x2Round | MiscField::encode(kRoundToNearest))                \
+  IF_WASM(V, F64x2Sqrt, kIA32F64x2Sqrt)
 
 #define RRO_FLOAT_OP_T_LIST(V) \
   V(Float32Add, kFloat32Add)   \
diff --git a/test/mjsunit/mjsunit.status b/test/mjsunit/mjsunit.status
index 0d4656d..5e8248b 100644
--- a/test/mjsunit/mjsunit.status
+++ b/test/mjsunit/mjsunit.status
@@ -2147,6 +2147,7 @@
   'regress/wasm/regress-379414135': [SKIP],
   'regress/wasm/regress-379811148': [SKIP],
   'regress/wasm/regress-381120595': [SKIP],
+  'regress/wasm/regress-384549252': [SKIP],
   'regress/wasm/regress-crbug-1338980': [SKIP],
   'regress/wasm/regress-crbug-1355070': [SKIP],
   'regress/wasm/regress-crbug-1356718': [SKIP],
diff --git a/test/mjsunit/regress/wasm/regress-384549252.js b/test/mjsunit/regress/wasm/regress-384549252.js
new file mode 100644
index 0000000..8c6ac8f
--- /dev/null
+++ b/test/mjsunit/regress/wasm/regress-384549252.js
@@ -0,0 +1,30 @@
+// Copyright 2024 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --no-liftoff --no-enable-sse4-2
+
+d8.file.execute('test/mjsunit/wasm/wasm-module-builder.js');
+
+const builder = new WasmModuleBuilder();
+let $sig0 = builder.addType(makeSig([], [kWasmF64, kWasmF64]));
+let $array2 = builder.addArray(kWasmI32, false, kNoSuperType, true);
+let $f = builder.addFunction('f', $sig0)
+  .addLocals(kWasmS128, 1)  // $var0
+  .addBody([
+    kExprI32Const, 57,
+    kGCPrefix, kExprArrayNewDefault, $array2,
+    kGCPrefix, kExprArrayLen,
+    kExprLoop, kWasmVoid,
+      kExprLocalGet, 0,  // $var0
+      ...SimdInstr(kExprF64x2Sqrt),
+      kSimdPrefix, kExprI32x4ExtractLane, 2,
+      kExprBrIf, 0,
+      kExprUnreachable,
+    kExprEnd,
+    kExprUnreachable,
+  ]).exportFunc();
+
+const instance = builder.instantiate({});
+
+assertTraps(kTrapUnreachable, instance.exports.f);
