diff options
Diffstat (limited to 'llvm/test/Integer/BitCast.ll')
-rw-r--r-- | llvm/test/Integer/BitCast.ll | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/llvm/test/Integer/BitCast.ll b/llvm/test/Integer/BitCast.ll new file mode 100644 index 00000000000..b1849bbab10 --- /dev/null +++ b/llvm/test/Integer/BitCast.ll @@ -0,0 +1,28 @@ +; RUN: llvm-as %s -o - | llvm-dis > %t1.ll +; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll +; RUN: diff %t1.ll %t2.ll + + +declare void "foo"(i31 %i, i1280 %j, i1 %k, float %f) + +implementation + +; foo test basic arith operations +define void "foo"(i31 %i, i1280 %j, i1 %k, float %f) +begin + %t1 = trunc i1280 %j to i31 + %t2 = trunc i31 %t1 to i1 + + %t3 = zext i31 %i to i1280 + %t4 = sext i31 %i to i1280 + + %t5 = fptoui float 3.14159 to i31 + %t6 = uitofp i31 %t5 to double + + %t7 = fptosi double -1234.5678 to i28 + %t8 = sitofp i8 -1 to double + %t9 = uitofp i8 255 to double + + ret void +end + |