]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Analysis/CostModel/X86/cmp.ll
Vendor import of llvm release_32 branch r168974 (effectively, 3.2 RC2):
[FreeBSD/FreeBSD.git] / test / Analysis / CostModel / X86 / cmp.ll
1 ; RUN: opt < %s  -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7-avx | FileCheck %s
2
3 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
4 target triple = "x86_64-apple-macosx10.8.0"
5
6 define i32 @cmp(i32 %arg) {
7   ;  -- floats --
8   ;CHECK: cost of 1 {{.*}} fcmp
9   %A = fcmp olt <2 x float> undef, undef
10   ;CHECK: cost of 1 {{.*}} fcmp
11   %B = fcmp olt <4 x float> undef, undef
12   ;CHECK: cost of 1 {{.*}} fcmp
13   %C = fcmp olt <8 x float> undef, undef
14   ;CHECK: cost of 1 {{.*}} fcmp
15   %D = fcmp olt <2 x double> undef, undef
16   ;CHECK: cost of 1 {{.*}} fcmp
17   %E = fcmp olt <4 x double> undef, undef
18
19   ;  -- integers --
20
21   ;CHECK: cost of 1 {{.*}} icmp
22   %F = icmp eq <16 x i8> undef, undef
23   ;CHECK: cost of 1 {{.*}} icmp
24   %G = icmp eq <8 x i16> undef, undef
25   ;CHECK: cost of 1 {{.*}} icmp
26   %H = icmp eq <4 x i32> undef, undef
27   ;CHECK: cost of 1 {{.*}} icmp
28   %I = icmp eq <2 x i64> undef, undef
29   ;CHECK: cost of 4 {{.*}} icmp
30   %J = icmp eq <4 x i64> undef, undef
31   ;CHECK: cost of 4 {{.*}} icmp
32   %K = icmp eq <8 x i32> undef, undef
33   ;CHECK: cost of 4 {{.*}} icmp
34   %L = icmp eq <16 x i16> undef, undef
35   ;CHECK: cost of 4 {{.*}} icmp
36   %M = icmp eq <32 x i8> undef, undef
37
38   ;CHECK: cost of 1 {{.*}} ret
39   ret i32 undef
40 }
41
42