[AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (#70178)
[llvm-project.git] / llvm / test / CodeGen / X86 / 2006-10-19-SwitchUnnecessaryBranching.ll
blobc345ca502d64f2a83fa3683ab3db365e44fb63ca
1 ; RUN: llc < %s -mtriple=i686-- -asm-verbose | FileCheck %s
3 @str = internal constant [14 x i8] c"Hello world!\0A\00"                ; <ptr> [#uses=1]
4 @str.upgrd.1 = internal constant [13 x i8] c"Blah world!\0A\00"         ; <ptr> [#uses=1]
6 define i32 @test(i32 %argc, ptr %argv) nounwind {
7 entry:
8 ; CHECK: cmpl   $2
9 ; CHECK-NEXT: je
10 ; CHECK-NEXT: %entry
12         switch i32 %argc, label %UnifiedReturnBlock [
13                  i32 1, label %bb
14                  i32 2, label %bb2
15         ]
17 bb:             ; preds = %entry
18         %tmp1 = tail call i32 (ptr, ...) @printf( ptr @str )            ; <i32> [#uses=0]
19         ret i32 0
21 bb2:            ; preds = %entry
22         %tmp4 = tail call i32 (ptr, ...) @printf( ptr @str.upgrd.1 )            ; <i32> [#uses=0]
23         ret i32 0
25 UnifiedReturnBlock:             ; preds = %entry
26         ret i32 0
29 declare i32 @printf(ptr, ...)