blob: 70e3fe56805c7a8c17b7d202c50af68ffb86a757 [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; Check to make sure that Value Numbering doesn't merge casts of different
2; flavors.
Tanya Lattnera695f012008-02-14 06:56:27 +00003; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | \
Dan Gohman8c89a502007-08-15 13:36:28 +00004; RUN: grep {\[sz\]ext} | count 2
Dan Gohmanf17a25c2007-07-18 16:29:46 +00005
Tanya Lattnera695f012008-02-14 06:56:27 +00006declare void @external(i32)
Dan Gohmanf17a25c2007-07-18 16:29:46 +00007
Tanya Lattnera695f012008-02-14 06:56:27 +00008define i32 @test_casts(i16 %x) {
9 %a = sext i16 %x to i32 ; <i32> [#uses=1]
10 %b = zext i16 %x to i32 ; <i32> [#uses=1]
11 call void @external( i32 %a )
12 ret i32 %b
Dan Gohmanf17a25c2007-07-18 16:29:46 +000013}