diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index ff4a5abdb667d4..a0cb11eb927816 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -178,35 +178,35 @@
https://github.com/dotnet/runtime-assets
86e7816b9869ab19ee3f44aba7ac5f0ef7d04c8c
-
+
https://github.com/dotnet/llvm-project
54cc196d506692c366d9e116cdb3a9a56342f720
-
+
https://github.com/dotnet/llvm-project
54cc196d506692c366d9e116cdb3a9a56342f720
-
+
https://github.com/dotnet/llvm-project
54cc196d506692c366d9e116cdb3a9a56342f720
-
+
https://github.com/dotnet/llvm-project
54cc196d506692c366d9e116cdb3a9a56342f720
-
+
https://github.com/dotnet/llvm-project
54cc196d506692c366d9e116cdb3a9a56342f720
-
+
https://github.com/dotnet/llvm-project
54cc196d506692c366d9e116cdb3a9a56342f720
-
+
https://github.com/dotnet/llvm-project
54cc196d506692c366d9e116cdb3a9a56342f720
-
+
https://github.com/dotnet/llvm-project
54cc196d506692c366d9e116cdb3a9a56342f720
diff --git a/eng/Versions.props b/eng/Versions.props
index 49b36949e354fd..2547657202663a 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -174,14 +174,14 @@
7.0.0-alpha.1.22366.1
- 11.1.0-alpha.1.22259.2
- 11.1.0-alpha.1.22259.2
- 11.1.0-alpha.1.22259.2
- 11.1.0-alpha.1.22259.2
- 11.1.0-alpha.1.22259.2
- 11.1.0-alpha.1.22259.2
- 11.1.0-alpha.1.22259.2
- 11.1.0-alpha.1.22259.2
+ 14.0.0-alpha.1.22368.3
+ 14.0.0-alpha.1.22368.3
+ 14.0.0-alpha.1.22368.3
+ 14.0.0-alpha.1.22368.3
+ 14.0.0-alpha.1.22368.3
+ 14.0.0-alpha.1.22368.3
+ 14.0.0-alpha.1.22368.3
+ 14.0.0-alpha.1.22368.3
7.0.0-rc.1.22362.2
$(MicrosoftNETWorkloadEmscriptenManifest70100Version)
diff --git a/src/mono/CMakeLists.txt b/src/mono/CMakeLists.txt
index 8925f55b42c95b..9c7f2bd413ac76 100644
--- a/src/mono/CMakeLists.txt
+++ b/src/mono/CMakeLists.txt
@@ -561,6 +561,7 @@ set(MONO_llvm_extra_libs_armcodegen_1100 "LLVMARMCodeGen" "LLVMCFGuard" "LLVMGlo
# llvm-config --libs aarch64codegen
set(MONO_llvm_extra_libs_aarch64codegen_1100 "LLVMAArch64CodeGen" "LLVMCFGuard" "LLVMGlobalISel" "LLVMSelectionDAG" "LLVMAsmPrinter" "LLVMDebugInfoDWARF" "LLVMCodeGen" "LLVMTarget" "LLVMScalarOpts" "LLVMInstCombine" "LLVMAggressiveInstCombine" "LLVMTransformUtils" "LLVMBitWriter" "LLVMAnalysis" "LLVMProfileData" "LLVMObject" "LLVMTextAPI" "LLVMMCParser" "LLVMBitReader" "LLVMCore" "LLVMRemarks" "LLVMBitstreamReader" "LLVMAArch64Desc" "LLVMMC" "LLVMDebugInfoCodeView" "LLVMDebugInfoMSF" "LLVMBinaryFormat" "LLVMAArch64Utils" "LLVMAArch64Info" "LLVMSupport" "LLVMDemangle")
+set(MONO_llvm_extra_libs_aarch64codegen_1400 "${MONO_llvm_extra_libs_aarch64codegen_1100}")
######################################
# LLVM CHECKS
diff --git a/src/mono/mono/mini/aot-compiler.c b/src/mono/mono/mini/aot-compiler.c
index b942e7a6760401..9439b948a79fd5 100644
--- a/src/mono/mono/mini/aot-compiler.c
+++ b/src/mono/mono/mini/aot-compiler.c
@@ -10149,6 +10149,16 @@ emit_llvm_file (MonoAotCompile *acfg)
if (acfg->aot_opts.no_opt)
return TRUE;
+
+#if (defined(TARGET_X86) || defined(TARGET_AMD64)) && LLVM_API_VERSION >= 1400
+ if (acfg->aot_opts.llvm_cpu_attr && strstr (acfg->aot_opts.llvm_cpu_attr, "sse4.2"))
+ /*
+ * LLVM 14 added a 'crc32' mattr which needs to be explicitly enabled to
+ * add support for the crc32 sse instructions.
+ */
+ acfg->aot_opts.llvm_cpu_attr = g_strdup_printf ("%s,crc32", acfg->aot_opts.llvm_cpu_attr);
+#endif
+
/*
* FIXME: Experiment with adding optimizations, the -std-compile-opts set takes
* a lot of time, and doesn't seem to save much space.