[x86] Fix disassembly of callw instruction
[oota-llvm.git] / test / Transforms / InstCombine / call-cast-target.ll
index 19074212d3ea020fd6c04a09f600d77636a1bd5f..1af3317a398b1af3b2aea564d326404e471d8fdf 100644 (file)
@@ -3,15 +3,25 @@
 target datalayout = "e-p:32:32"
 target triple = "i686-pc-linux-gnu"
 
-; CHECK-NOT: bitcast
-; CHECK: call
-; CHECK-NOT: bitcast
-
 define i32 @main() {
+; CHECK-LABEL: @main
+; CHECK: call i32 bitcast
 entry:
-        %tmp = call i32 bitcast (i8* (i32*)* @ctime to i32 (i32*)*)( i32* null )          ; <i32> [#uses=1]
-        ret i32 %tmp
+  %tmp = call i32 bitcast (i8* (i32*)* @ctime to i32 (i32*)*)( i32* null )          ; <i32> [#uses=1]
+  ret i32 %tmp
 }
 
 declare i8* @ctime(i32*)
 
+define internal { i8 } @foo(i32*) {
+entry:
+  ret { i8 } { i8 0 }
+}
+
+define void @test_struct_ret() {
+; CHECK-LABEL: @test_struct_ret
+; CHECK-NOT: bitcast
+entry:
+  %0 = call { i8 } bitcast ({ i8 } (i32*)* @foo to { i8 } (i16*)*)(i16* null)
+  ret void
+}