diff --git a/src/compiler/crystal/compiler.cr b/src/compiler/crystal/compiler.cr
index dad0ae1134b2969fe21b050203525bed09dd9014..d3b6f1e34b6fe815038b346d4816d20166c2e966 100644
--- a/src/compiler/crystal/compiler.cr
+++ b/src/compiler/crystal/compiler.cr
@@ -324,9 +324,8 @@ module Crystal
         must_compile = true
 
         if !compiler.llc_flags_changed && File.exists?(bc_name) && File.exists?(o_name)
-          cmd_output = system "cmp -s #{bc_name} #{bc_name_new}"
-          if cmd_output == 0
-            system "rm #{bc_name_new}"
+          if File.cmp(bc_name, bc_name_new)
+            File.delete bc_name_new
             must_compile = false
           end
         end