--- compiler-rt/lib/builtins/CMakeLists.txt.orig	2022-01-20 21:31:59 UTC
+++ compiler-rt/lib/builtins/CMakeLists.txt
@@ -675,8 +675,6 @@ else ()
 else ()
   set(BUILTIN_CFLAGS "")
 
-  append_list_if(COMPILER_RT_HAS_FLOAT16 -DCOMPILER_RT_HAS_FLOAT16 BUILTIN_CFLAGS)
-
   append_list_if(COMPILER_RT_HAS_STD_C11_FLAG -std=c11 BUILTIN_CFLAGS)
 
   # These flags would normally be added to CMAKE_C_FLAGS by the llvm
@@ -747,6 +745,10 @@ else ()
         )
 
         set(deps_aarch64 lse_builtin_symlinks)
+      endif()
+
+      if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" AND ${arch} STREQUAL "i386"))
+        append_list_if(COMPILER_RT_HAS_FLOAT16 -DCOMPILER_RT_HAS_FLOAT16 BUILTIN_CFLAGS_${arch})
       endif()
 
       add_compiler_rt_runtime(clang_rt.builtins
