Add tests to Transforms/CodeGenPrepare/X86/freeze-cmp.ll before commiting D76048
authorJuneyoung Lee <aqjune@gmail.com>
Fri, 13 Mar 2020 08:18:42 +0000 (17:18 +0900)
committerJuneyoung Lee <aqjune@gmail.com>
Fri, 13 Mar 2020 08:18:42 +0000 (17:18 +0900)
llvm/test/Transforms/CodeGenPrepare/X86/freeze-cmp.ll [moved from llvm/test/Transforms/CodeGenPrepare/X86/freeze-icmp.ll with 67% similarity]

@@ -71,5 +71,38 @@ B:
   ret void
 }
 
+define i1 @ptrcmp(i8* %p) {
+; CHECK-LABEL: @ptrcmp(
+; CHECK-NEXT:    [[C:%.*]] = icmp eq i8* [[P:%.*]], null
+; CHECK-NEXT:    [[FR:%.*]] = freeze i1 [[C]]
+; CHECK-NEXT:    ret i1 [[FR]]
+;
+  %c = icmp eq i8* %p, null
+  %fr = freeze i1 %c
+  ret i1 %fr
+}
+
+
+define i1 @fcmp(float %a) {
+; CHECK-LABEL: @fcmp(
+; CHECK-NEXT:    [[C:%.*]] = fcmp oeq float [[A:%.*]], 0.000000e+00
+; CHECK-NEXT:    [[FR:%.*]] = freeze i1 [[C]]
+; CHECK-NEXT:    ret i1 [[FR]]
+;
+  %c = fcmp oeq float %a, 0.0
+  %fr = freeze i1 %c
+  ret i1 %fr
+}
+
+define i1 @fcmp_nan(float %a) {
+; CHECK-LABEL: @fcmp_nan(
+; CHECK-NEXT:    [[C:%.*]] = fcmp nnan oeq float [[A:%.*]], 0.000000e+00
+; CHECK-NEXT:    [[FR:%.*]] = freeze i1 [[C]]
+; CHECK-NEXT:    ret i1 [[FR]]
+;
+  %c = fcmp nnan oeq float %a, 0.0
+  %fr = freeze i1 %c
+  ret i1 %fr
+}
 declare void @g1()
 declare void @g2()