Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / X86 / switch-zextload.ll
blobf83908ce417e6e9fa77bd9a79c196c92bee1f8f1
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s | FileCheck %s
4 ; Do zextload, instead of a load and a separate zext.
6 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
7 target triple = "i386-apple-darwin9.6"
8         %struct.move_s = type { i32, i32, i32, i32, i32, i32 }
9         %struct.node_t = type { i8, i8, i8, i8, i32, i32, ptr, ptr, %struct.move_s }
11 define fastcc void @set_proof_and_disproof_numbers(ptr nocapture %node) nounwind {
12 ; CHECK-LABEL: set_proof_and_disproof_numbers:
13 ; CHECK:       ## %bb.0: ## %entry
14 ; CHECK-NEXT:    movzbl 0, %eax
15 ; CHECK-NEXT:    cmpl $3, %eax
16 ; CHECK-NEXT:    ja LBB0_3
17 ; CHECK-NEXT:  ## %bb.1: ## %entry
18 ; CHECK-NEXT:    jmpl *LJTI0_0(,%eax,4)
19 ; CHECK-NEXT:  LBB0_3: ## %return
20 ; CHECK-NEXT:    retl
21 ; CHECK-NEXT:  LBB0_2: ## %bb31
22 ; CHECK-NEXT:    ud2
23 entry:
24         %0 = load i8, ptr null, align 1         ; <i8> [#uses=1]
25         switch i8 %0, label %return [
26                 i8 2, label %bb31
27                 i8 0, label %bb80
28                 i8 1, label %bb82
29                 i8 3, label %bb84
30         ]
32 bb31:           ; preds = %entry
33         unreachable
35 bb80:           ; preds = %entry
36         ret void
38 bb82:           ; preds = %entry
39         ret void
41 bb84:           ; preds = %entry
42         ret void
44 return:         ; preds = %entry
45         ret void