diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e74c57aaf13..6c33a80cec7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-11-06  Vineet Gupta  <vgupta@synopsys.com>
+
+	* config/arc/arc-c.c (arc_cpu_cpp_builtins) : Add
+	__arc_hard_float__, __ARC_HARD_FLOAT__,
+	__arc_soft_float__, __ARC_SOFT_FLOAT__
+
 2019-11-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
 
 	PR tree-optimization/92317
diff --git a/gcc/config/arc/arc-c.c b/gcc/config/arc/arc-c.c
index cf3340d29c2..1a5ff3e88a6 100644
--- a/gcc/config/arc/arc-c.c
+++ b/gcc/config/arc/arc-c.c
@@ -71,4 +71,14 @@ arc_cpu_cpp_builtins (cpp_reader * pfile)
   if (TARGET_BIG_ENDIAN)
     builtin_define ("__big_endian__");
 
+  if (TARGET_HARD_FLOAT)
+    {
+      builtin_define ("__arc_hard_float__");
+      builtin_define ("__ARC_HARD_FLOAT__");
+    }
+  else
+    {
+      builtin_define ("__arc_soft_float__");
+      builtin_define ("__ARC_SOFT_FLOAT__");
+    }
 }