diff options
Diffstat (limited to 'test/Integer/newcasts_bt.ll')
-rw-r--r-- | test/Integer/newcasts_bt.ll | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/Integer/newcasts_bt.ll b/test/Integer/newcasts_bt.ll new file mode 100644 index 0000000000..446a007315 --- /dev/null +++ b/test/Integer/newcasts_bt.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 + +define void "NewCasts" (i17 %x) { + %a = zext i17 %x to i32 + %b = sext i17 %x to i32 + %c = trunc i17 %x to i8 + %d = uitofp i17 %x to float + %e = sitofp i17 %x to double + %f = fptoui float %d to i17 + %g = fptosi double %e to i17 + %i = fpext float %d to double + %j = fptrunc double %i to float + %k = bitcast i32 %a to float + %l = inttoptr i17 %x to i32* + %m = ptrtoint i32* %l to i64 + ret void +} + + +define i17 "ZExtConst" () { + ret i17 trunc ( i32 zext ( i17 42 to i32) to i17 ) +} + +define i17 "SExtConst" () { + ret i17 trunc (i32 sext (i17 42 to i32) to i17 ) +} |