Add a small missed optimization: turn X == C ? X : Y into X == C ? C : Y. This
[llvm/stm8.git] / test / Assembler / vector-cmp.ll
blob688369bb62b4907ccd0f40733526bc010fa25140
1 ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | grep {global.*icmp slt}
2 ; PR2317
3 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"
4 target triple = "i686-apple-darwin9.2.2"
6 define <4 x i1> @foo(<4 x float> %a, <4 x float> %b) nounwind  {
7 entry:
8         %cmp = fcmp olt <4 x float> %a, %b              ; <4 x i32> [#uses=1]
9         ret <4 x i1> %cmp
12 global <4 x i1> icmp slt ( <4 x i32> <i32 1, i32 1, i32 1, i32 1>, <4 x i32>  <i32 1, i32 2, i32 1, i32 2> )
14 @B = external global i32
16 global <4 x i1> icmp slt ( <4 x i32> <i32 ptrtoint (i32 * @B to i32), i32 1, i32 1, i32 1>, <4 x i32>  <i32 1, i32 2, i32 1, i32 2> )