blob: 1be5261eb6b0a5a3ecf4f9864225a6c51c3ed256 [file] [log] [blame]
Chris Lattner3b68c202004-03-30 21:21:14 +00001; RUN: llvm-as < %s | llc -march=x86
2
3bool %boolSel(bool %A, bool %B, bool %C) {
4 %X = select bool %A, bool %B, bool %C
5 ret bool %X
6}
7
8sbyte %byteSel(bool %A, sbyte %B, sbyte %C) {
9 %X = select bool %A, sbyte %B, sbyte %C
10 ret sbyte %X
11}
12
13short %shortSel(bool %A, short %B, short %C) {
14 %X = select bool %A, short %B, short %C
15 ret short %X
16}
17
18int %intSel(bool %A, int %B, int %C) {
19 %X = select bool %A, int %B, int %C
20 ret int %X
21}
22
23long %longSel(bool %A, long %B, long %C) {
24 %X = select bool %A, long %B, long %C
25 ret long %X
26}
27
28double %doubleSel(bool %A, double %B, double %C) {
29 %X = select bool %A, double %B, double %C
30 ret double %X
31}
32
Chris Lattnerdd285ea2004-03-30 22:37:04 +000033sbyte %foldSel(bool %A, sbyte %B, sbyte %C) {
34 %Cond = setlt sbyte %B, %C
35 %X = select bool %Cond, sbyte %B, sbyte %C
36 ret sbyte %X
37}
38
39int %foldSel2(bool %A, int %B, int %C) {
40 %Cond = seteq int %B, %C
41 %X = select bool %Cond, int %B, int %C
42 ret int %X
43}
44
45int %foldSel2(bool %A, int %B, int %C, double %X, double %Y) {
46 %Cond = setlt double %X, %Y
47 %X = select bool %Cond, int %B, int %C
48 ret int %X
49}
50