[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / X86 / 2006-11-17-IllegalMove.ll
blobe0b14f2a6b4c0da2507bf3312c8b78fb7d8b9fc8
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s
4 define void @handle_vector_size_attribute() nounwind {
5 ; CHECK-LABEL: handle_vector_size_attribute:
6 ; CHECK:       # %bb.0: # %entry
7 ; CHECK-NEXT:    movl 0, %eax
8 ; CHECK-NEXT:    decl %eax
9 ; CHECK-NEXT:    cmpl $1, %eax
10 ; CHECK-NEXT:    ja .LBB0_2
11 ; CHECK-NEXT:  # %bb.1: # %bb77
12 ; CHECK-NEXT:    movb 0, %al
13 ; CHECK-NEXT:    movb 0, %al
14 ; CHECK-NEXT:    xorl %eax, %eax
15 ; CHECK-NEXT:    testb %al, %al
16 ; CHECK-NEXT:  .LBB0_2: # %bb84
17 ; CHECK-NEXT:    retq
18 entry:
19         %tmp69 = load i32, i32* null            ; <i32> [#uses=1]
20         switch i32 %tmp69, label %bb84 [
21                  i32 2, label %bb77
22                  i32 1, label %bb77
23         ]
25 bb77:           ; preds = %entry, %entry
26         %tmp99 = udiv i64 0, 0          ; <i64> [#uses=1]
27         %tmp = load volatile i8, i8* null               ; <i8> [#uses=1]
28         %tmp114 = icmp eq i64 0, 0              ; <i1> [#uses=1]
29         br label %cond_true115
31 bb84:           ; preds = %entry
32         ret void
34 cond_true115:           ; preds = %bb77
35         %tmp118 = load volatile i8, i8* null            ; <i8> [#uses=1]
36         br label %cond_true120
38 cond_true120:           ; preds = %cond_true115
39         %tmp127 = udiv i8 %tmp, %tmp118         ; <i8> [#uses=1]
40         %tmp127.upgrd.1 = zext i8 %tmp127 to i64                ; <i64> [#uses=1]
41         br label %cond_next129
43 cond_next129:           ; preds = %cond_true120, %cond_true115
44         %iftmp.30.0 = phi i64 [ %tmp127.upgrd.1, %cond_true120 ]                ; <i64> [#uses=1]
45         %tmp132 = icmp eq i64 %iftmp.30.0, %tmp99               ; <i1> [#uses=1]
46         br i1 %tmp132, label %cond_false148, label %cond_next136
48 cond_next136:           ; preds = %cond_next129, %bb77
49         ret void
51 cond_false148:          ; preds = %cond_next129
52         ret void