| Index: test/NaCl/Bitcode/cmp.ll
|
| diff --git a/test/NaCl/Bitcode/cmp.ll b/test/NaCl/Bitcode/cmp.ll
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ac24c72704d24a5954d4bd2cf2c88a7079afcc93
|
| --- /dev/null
|
| +++ b/test/NaCl/Bitcode/cmp.ll
|
| @@ -0,0 +1,72 @@
|
| +; Tests that all comparison conditions survive through PNaCl bitcode files.
|
| +
|
| +; RUN: llvm-as < %s | pnacl-freeze | pnacl-thaw | llvm-dis - \
|
| +; RUN: | FileCheck %s
|
| +
|
| +define void @IntCompare() {
|
| + %1 = icmp eq i32 0, 1
|
| + %2 = icmp ne i32 0, 1
|
| + %3 = icmp ugt i32 0, 1
|
| + %4 = icmp uge i32 0, 1
|
| + %5 = icmp ult i32 0, 1
|
| + %6 = icmp ule i32 0, 1
|
| + %7 = icmp sgt i32 0, 1
|
| + %8 = icmp sge i32 0, 1
|
| + %9 = icmp slt i32 0, 1
|
| + %10 = icmp sle i32 0, 1
|
| + ret void
|
| +}
|
| +
|
| +; CHECK: define void @IntCompare() {
|
| +; CHECK: %1 = icmp eq i32 0, 1
|
| +; CHECK: %2 = icmp ne i32 0, 1
|
| +; CHECK: %3 = icmp ugt i32 0, 1
|
| +; CHECK: %4 = icmp uge i32 0, 1
|
| +; CHECK: %5 = icmp ult i32 0, 1
|
| +; CHECK: %6 = icmp ule i32 0, 1
|
| +; CHECK: %7 = icmp sgt i32 0, 1
|
| +; CHECK: %8 = icmp sge i32 0, 1
|
| +; CHECK: %9 = icmp slt i32 0, 1
|
| +; CHECK: %10 = icmp sle i32 0, 1
|
| +; CHECK: ret void
|
| +; CHECK: }
|
| +
|
| +define void @FloatCompare() {
|
| + %1 = fcmp false float 0.000000e+00, 1.000000e+00
|
| + %2 = fcmp oeq float 0.000000e+00, 1.000000e+00
|
| + %3 = fcmp ogt float 0.000000e+00, 1.000000e+00
|
| + %4 = fcmp oge float 0.000000e+00, 1.000000e+00
|
| + %5 = fcmp olt float 0.000000e+00, 1.000000e+00
|
| + %6 = fcmp ole float 0.000000e+00, 1.000000e+00
|
| + %7 = fcmp one float 0.000000e+00, 1.000000e+00
|
| + %8 = fcmp ord float 0.000000e+00, 1.000000e+00
|
| + %9 = fcmp ueq float 0.000000e+00, 1.000000e+00
|
| + %10 = fcmp ugt float 0.000000e+00, 1.000000e+00
|
| + %11 = fcmp uge float 0.000000e+00, 1.000000e+00
|
| + %12 = fcmp ult float 0.000000e+00, 1.000000e+00
|
| + %13 = fcmp ule float 0.000000e+00, 1.000000e+00
|
| + %14 = fcmp une float 0.000000e+00, 1.000000e+00
|
| + %15 = fcmp uno float 0.000000e+00, 1.000000e+00
|
| + %16 = fcmp true float 0.000000e+00, 1.000000e+00
|
| + ret void
|
| +}
|
| +
|
| +; CHECK: define void @FloatCompare() {
|
| +; CHECK: %1 = fcmp false float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %2 = fcmp oeq float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %3 = fcmp ogt float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %4 = fcmp oge float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %5 = fcmp olt float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %6 = fcmp ole float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %7 = fcmp one float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %8 = fcmp ord float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %9 = fcmp ueq float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %10 = fcmp ugt float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %11 = fcmp uge float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %12 = fcmp ult float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %13 = fcmp ule float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %14 = fcmp une float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %15 = fcmp uno float 0.000000e+00, 1.000000e+00
|
| +; CHECK: %16 = fcmp true float 0.000000e+00, 1.000000e+00
|
| +; CHECK: ret void
|
| +; CHECK: }
|
|
|