| ; RUN: llc < %s -mtriple=x86_64-- | |
| define i64 @foo() nounwind { | |
| entry: | |
| %t0 = load i32, i32* null, align 8 | |
| switch i32 %t0, label %bb65 [ | |
| i32 16, label %bb | |
| i32 12, label %bb56 | |
| ] | |
| bb: | |
| br label %bb65 | |
| bb56: | |
| unreachable | |
| bb65: | |
| %a = phi i64 [ 0, %bb ], [ 0, %entry ] | |
| tail call void asm "", "{cx}"(i64 %a) nounwind | |
| %t15 = and i64 %a, 4294967295 | |
| ret i64 %t15 | |
| } | |
| define i64 @bar(i64 %t0) nounwind { | |
| call void asm "", "{cx}"(i64 0) nounwind | |
| %t1 = sub i64 0, %t0 | |
| %t2 = and i64 %t1, 4294967295 | |
| ret i64 %t2 | |
| } |