xref: /llvm-project/llvm/test/Transforms/SLPVectorizer/X86/arith-scmp.ll (revision a156b5a47df58a1ac75cf67e26f557b1a4d26dc9)
1*a156b5a4SYingwei Zheng; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2*a156b5a4SYingwei Zheng; RUN: opt < %s -mtriple=x86_64-unknown -passes=slp-vectorizer -S | FileCheck %s --check-prefix=SSE
3*a156b5a4SYingwei Zheng; RUN: opt < %s -mtriple=x86_64-unknown -mcpu=slm -passes=slp-vectorizer -S | FileCheck %s --check-prefix=SSE
4*a156b5a4SYingwei Zheng; RUN: opt < %s -mtriple=x86_64-unknown -mcpu=corei7-avx -passes=slp-vectorizer -S | FileCheck %s --check-prefix=AVX
5*a156b5a4SYingwei Zheng; RUN: opt < %s -mtriple=x86_64-unknown -mcpu=core-avx2 -passes=slp-vectorizer -S | FileCheck %s --check-prefix=AVX
6*a156b5a4SYingwei Zheng; RUN: opt < %s -mtriple=x86_64-unknown -mcpu=knl -passes=slp-vectorizer -S | FileCheck %s --check-prefix=AVX512
7*a156b5a4SYingwei Zheng; RUN: opt < %s -mtriple=x86_64-unknown -mcpu=skx -mattr=-prefer-256-bit -passes=slp-vectorizer -S | FileCheck %s --check-prefix=AVX512
8*a156b5a4SYingwei Zheng; RUN: opt < %s -mtriple=x86_64-unknown -mcpu=skx -mattr=+prefer-256-bit -passes=slp-vectorizer -S | FileCheck %s --check-prefix=AVX
9*a156b5a4SYingwei Zheng
10*a156b5a4SYingwei Zheng@a64 = common global [8 x i64] zeroinitializer, align 64
11*a156b5a4SYingwei Zheng@b64 = common global [8 x i64] zeroinitializer, align 64
12*a156b5a4SYingwei Zheng@c64 = common global [8 x i64] zeroinitializer, align 64
13*a156b5a4SYingwei Zheng@a32 = common global [16 x i32] zeroinitializer, align 64
14*a156b5a4SYingwei Zheng@b32 = common global [16 x i32] zeroinitializer, align 64
15*a156b5a4SYingwei Zheng@c32 = common global [16 x i32] zeroinitializer, align 64
16*a156b5a4SYingwei Zheng@a16 = common global [32 x i16] zeroinitializer, align 64
17*a156b5a4SYingwei Zheng@b16 = common global [32 x i16] zeroinitializer, align 64
18*a156b5a4SYingwei Zheng@c16 = common global [32 x i16] zeroinitializer, align 64
19*a156b5a4SYingwei Zheng@a8  = common global [64 x i8] zeroinitializer, align 64
20*a156b5a4SYingwei Zheng@b8  = common global [64 x i8] zeroinitializer, align 64
21*a156b5a4SYingwei Zheng@c8  = common global [64 x i8] zeroinitializer, align 64
22*a156b5a4SYingwei Zheng
23*a156b5a4SYingwei Zhengdefine void @scmp_v8i64() {
24*a156b5a4SYingwei Zheng; AVX-LABEL: @scmp_v8i64(
25*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP1:%.*]] = load <4 x i64>, ptr @a64, align 8
26*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP2:%.*]] = load <4 x i64>, ptr @b64, align 8
27*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP3:%.*]] = call <4 x i64> @llvm.scmp.v4i64.v4i64(<4 x i64> [[TMP1]], <4 x i64> [[TMP2]])
28*a156b5a4SYingwei Zheng; AVX-NEXT:    store <4 x i64> [[TMP3]], ptr @c64, align 8
29*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP4:%.*]] = load <4 x i64>, ptr getelementptr inbounds ([8 x i64], ptr @a64, i32 0, i64 4), align 8
30*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP5:%.*]] = load <4 x i64>, ptr getelementptr inbounds ([8 x i64], ptr @b64, i32 0, i64 4), align 8
31*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP6:%.*]] = call <4 x i64> @llvm.scmp.v4i64.v4i64(<4 x i64> [[TMP4]], <4 x i64> [[TMP5]])
32*a156b5a4SYingwei Zheng; AVX-NEXT:    store <4 x i64> [[TMP6]], ptr getelementptr inbounds ([8 x i64], ptr @c64, i32 0, i64 4), align 8
33*a156b5a4SYingwei Zheng; AVX-NEXT:    ret void
34*a156b5a4SYingwei Zheng;
35*a156b5a4SYingwei Zheng; AVX512-LABEL: @scmp_v8i64(
36*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP1:%.*]] = load <8 x i64>, ptr @a64, align 8
37*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP2:%.*]] = load <8 x i64>, ptr @b64, align 8
38*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP3:%.*]] = call <8 x i64> @llvm.scmp.v8i64.v8i64(<8 x i64> [[TMP1]], <8 x i64> [[TMP2]])
39*a156b5a4SYingwei Zheng; AVX512-NEXT:    store <8 x i64> [[TMP3]], ptr @c64, align 8
40*a156b5a4SYingwei Zheng; AVX512-NEXT:    ret void
41*a156b5a4SYingwei Zheng;
42*a156b5a4SYingwei Zheng  %a0 = load i64, ptr @a64, align 8
43*a156b5a4SYingwei Zheng  %a1 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @a64, i32 0, i64 1), align 8
44*a156b5a4SYingwei Zheng  %a2 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @a64, i32 0, i64 2), align 8
45*a156b5a4SYingwei Zheng  %a3 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @a64, i32 0, i64 3), align 8
46*a156b5a4SYingwei Zheng  %a4 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @a64, i32 0, i64 4), align 8
47*a156b5a4SYingwei Zheng  %a5 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @a64, i32 0, i64 5), align 8
48*a156b5a4SYingwei Zheng  %a6 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @a64, i32 0, i64 6), align 8
49*a156b5a4SYingwei Zheng  %a7 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @a64, i32 0, i64 7), align 8
50*a156b5a4SYingwei Zheng  %b0 = load i64, ptr @b64, align 8
51*a156b5a4SYingwei Zheng  %b1 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @b64, i32 0, i64 1), align 8
52*a156b5a4SYingwei Zheng  %b2 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @b64, i32 0, i64 2), align 8
53*a156b5a4SYingwei Zheng  %b3 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @b64, i32 0, i64 3), align 8
54*a156b5a4SYingwei Zheng  %b4 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @b64, i32 0, i64 4), align 8
55*a156b5a4SYingwei Zheng  %b5 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @b64, i32 0, i64 5), align 8
56*a156b5a4SYingwei Zheng  %b6 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @b64, i32 0, i64 6), align 8
57*a156b5a4SYingwei Zheng  %b7 = load i64, ptr getelementptr inbounds ([8 x i64], ptr @b64, i32 0, i64 7), align 8
58*a156b5a4SYingwei Zheng  %r0 = call i64 @llvm.scmp.i64.i64(i64 %a0, i64 %b0)
59*a156b5a4SYingwei Zheng  %r1 = call i64 @llvm.scmp.i64.i64(i64 %a1, i64 %b1)
60*a156b5a4SYingwei Zheng  %r2 = call i64 @llvm.scmp.i64.i64(i64 %a2, i64 %b2)
61*a156b5a4SYingwei Zheng  %r3 = call i64 @llvm.scmp.i64.i64(i64 %a3, i64 %b3)
62*a156b5a4SYingwei Zheng  %r4 = call i64 @llvm.scmp.i64.i64(i64 %a4, i64 %b4)
63*a156b5a4SYingwei Zheng  %r5 = call i64 @llvm.scmp.i64.i64(i64 %a5, i64 %b5)
64*a156b5a4SYingwei Zheng  %r6 = call i64 @llvm.scmp.i64.i64(i64 %a6, i64 %b6)
65*a156b5a4SYingwei Zheng  %r7 = call i64 @llvm.scmp.i64.i64(i64 %a7, i64 %b7)
66*a156b5a4SYingwei Zheng  store i64 %r0, ptr @c64, align 8
67*a156b5a4SYingwei Zheng  store i64 %r1, ptr getelementptr inbounds ([8 x i64], ptr @c64, i32 0, i64 1), align 8
68*a156b5a4SYingwei Zheng  store i64 %r2, ptr getelementptr inbounds ([8 x i64], ptr @c64, i32 0, i64 2), align 8
69*a156b5a4SYingwei Zheng  store i64 %r3, ptr getelementptr inbounds ([8 x i64], ptr @c64, i32 0, i64 3), align 8
70*a156b5a4SYingwei Zheng  store i64 %r4, ptr getelementptr inbounds ([8 x i64], ptr @c64, i32 0, i64 4), align 8
71*a156b5a4SYingwei Zheng  store i64 %r5, ptr getelementptr inbounds ([8 x i64], ptr @c64, i32 0, i64 5), align 8
72*a156b5a4SYingwei Zheng  store i64 %r6, ptr getelementptr inbounds ([8 x i64], ptr @c64, i32 0, i64 6), align 8
73*a156b5a4SYingwei Zheng  store i64 %r7, ptr getelementptr inbounds ([8 x i64], ptr @c64, i32 0, i64 7), align 8
74*a156b5a4SYingwei Zheng  ret void
75*a156b5a4SYingwei Zheng}
76*a156b5a4SYingwei Zheng
77*a156b5a4SYingwei Zhengdefine void @scmp_v16i32() {
78*a156b5a4SYingwei Zheng; SSE-LABEL: @scmp_v16i32(
79*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP1:%.*]] = load <4 x i32>, ptr @a32, align 4
80*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP2:%.*]] = load <4 x i32>, ptr @b32, align 4
81*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP3:%.*]] = call <4 x i32> @llvm.scmp.v4i32.v4i32(<4 x i32> [[TMP1]], <4 x i32> [[TMP2]])
82*a156b5a4SYingwei Zheng; SSE-NEXT:    store <4 x i32> [[TMP3]], ptr @c32, align 4
83*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP4:%.*]] = load <4 x i32>, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 4), align 4
84*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP5:%.*]] = load <4 x i32>, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 4), align 4
85*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP6:%.*]] = call <4 x i32> @llvm.scmp.v4i32.v4i32(<4 x i32> [[TMP4]], <4 x i32> [[TMP5]])
86*a156b5a4SYingwei Zheng; SSE-NEXT:    store <4 x i32> [[TMP6]], ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 4), align 4
87*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP7:%.*]] = load <4 x i32>, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 8), align 4
88*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP8:%.*]] = load <4 x i32>, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 8), align 4
89*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP9:%.*]] = call <4 x i32> @llvm.scmp.v4i32.v4i32(<4 x i32> [[TMP7]], <4 x i32> [[TMP8]])
90*a156b5a4SYingwei Zheng; SSE-NEXT:    store <4 x i32> [[TMP9]], ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 8), align 4
91*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP10:%.*]] = load <4 x i32>, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 12), align 4
92*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP11:%.*]] = load <4 x i32>, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 12), align 4
93*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP12:%.*]] = call <4 x i32> @llvm.scmp.v4i32.v4i32(<4 x i32> [[TMP10]], <4 x i32> [[TMP11]])
94*a156b5a4SYingwei Zheng; SSE-NEXT:    store <4 x i32> [[TMP12]], ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 12), align 4
95*a156b5a4SYingwei Zheng; SSE-NEXT:    ret void
96*a156b5a4SYingwei Zheng;
97*a156b5a4SYingwei Zheng; AVX-LABEL: @scmp_v16i32(
98*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP1:%.*]] = load <8 x i32>, ptr @a32, align 4
99*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP2:%.*]] = load <8 x i32>, ptr @b32, align 4
100*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP3:%.*]] = call <8 x i32> @llvm.scmp.v8i32.v8i32(<8 x i32> [[TMP1]], <8 x i32> [[TMP2]])
101*a156b5a4SYingwei Zheng; AVX-NEXT:    store <8 x i32> [[TMP3]], ptr @c32, align 4
102*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP4:%.*]] = load <8 x i32>, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 8), align 4
103*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP5:%.*]] = load <8 x i32>, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 8), align 4
104*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP6:%.*]] = call <8 x i32> @llvm.scmp.v8i32.v8i32(<8 x i32> [[TMP4]], <8 x i32> [[TMP5]])
105*a156b5a4SYingwei Zheng; AVX-NEXT:    store <8 x i32> [[TMP6]], ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 8), align 4
106*a156b5a4SYingwei Zheng; AVX-NEXT:    ret void
107*a156b5a4SYingwei Zheng;
108*a156b5a4SYingwei Zheng; AVX512-LABEL: @scmp_v16i32(
109*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP1:%.*]] = load <16 x i32>, ptr @a32, align 4
110*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP2:%.*]] = load <16 x i32>, ptr @b32, align 4
111*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP3:%.*]] = call <16 x i32> @llvm.scmp.v16i32.v16i32(<16 x i32> [[TMP1]], <16 x i32> [[TMP2]])
112*a156b5a4SYingwei Zheng; AVX512-NEXT:    store <16 x i32> [[TMP3]], ptr @c32, align 4
113*a156b5a4SYingwei Zheng; AVX512-NEXT:    ret void
114*a156b5a4SYingwei Zheng;
115*a156b5a4SYingwei Zheng  %a0  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 0 ), align 4
116*a156b5a4SYingwei Zheng  %a1  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 1 ), align 4
117*a156b5a4SYingwei Zheng  %a2  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 2 ), align 4
118*a156b5a4SYingwei Zheng  %a3  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 3 ), align 4
119*a156b5a4SYingwei Zheng  %a4  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 4 ), align 4
120*a156b5a4SYingwei Zheng  %a5  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 5 ), align 4
121*a156b5a4SYingwei Zheng  %a6  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 6 ), align 4
122*a156b5a4SYingwei Zheng  %a7  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 7 ), align 4
123*a156b5a4SYingwei Zheng  %a8  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 8 ), align 4
124*a156b5a4SYingwei Zheng  %a9  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 9 ), align 4
125*a156b5a4SYingwei Zheng  %a10 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 10), align 4
126*a156b5a4SYingwei Zheng  %a11 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 11), align 4
127*a156b5a4SYingwei Zheng  %a12 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 12), align 4
128*a156b5a4SYingwei Zheng  %a13 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 13), align 4
129*a156b5a4SYingwei Zheng  %a14 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 14), align 4
130*a156b5a4SYingwei Zheng  %a15 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @a32, i32 0, i64 15), align 4
131*a156b5a4SYingwei Zheng  %b0  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 0 ), align 4
132*a156b5a4SYingwei Zheng  %b1  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 1 ), align 4
133*a156b5a4SYingwei Zheng  %b2  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 2 ), align 4
134*a156b5a4SYingwei Zheng  %b3  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 3 ), align 4
135*a156b5a4SYingwei Zheng  %b4  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 4 ), align 4
136*a156b5a4SYingwei Zheng  %b5  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 5 ), align 4
137*a156b5a4SYingwei Zheng  %b6  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 6 ), align 4
138*a156b5a4SYingwei Zheng  %b7  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 7 ), align 4
139*a156b5a4SYingwei Zheng  %b8  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 8 ), align 4
140*a156b5a4SYingwei Zheng  %b9  = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 9 ), align 4
141*a156b5a4SYingwei Zheng  %b10 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 10), align 4
142*a156b5a4SYingwei Zheng  %b11 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 11), align 4
143*a156b5a4SYingwei Zheng  %b12 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 12), align 4
144*a156b5a4SYingwei Zheng  %b13 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 13), align 4
145*a156b5a4SYingwei Zheng  %b14 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 14), align 4
146*a156b5a4SYingwei Zheng  %b15 = load i32, ptr getelementptr inbounds ([16 x i32], ptr @b32, i32 0, i64 15), align 4
147*a156b5a4SYingwei Zheng  %r0  = call i32 @llvm.scmp.i32.i32(i32 %a0 , i32 %b0 )
148*a156b5a4SYingwei Zheng  %r1  = call i32 @llvm.scmp.i32.i32(i32 %a1 , i32 %b1 )
149*a156b5a4SYingwei Zheng  %r2  = call i32 @llvm.scmp.i32.i32(i32 %a2 , i32 %b2 )
150*a156b5a4SYingwei Zheng  %r3  = call i32 @llvm.scmp.i32.i32(i32 %a3 , i32 %b3 )
151*a156b5a4SYingwei Zheng  %r4  = call i32 @llvm.scmp.i32.i32(i32 %a4 , i32 %b4 )
152*a156b5a4SYingwei Zheng  %r5  = call i32 @llvm.scmp.i32.i32(i32 %a5 , i32 %b5 )
153*a156b5a4SYingwei Zheng  %r6  = call i32 @llvm.scmp.i32.i32(i32 %a6 , i32 %b6 )
154*a156b5a4SYingwei Zheng  %r7  = call i32 @llvm.scmp.i32.i32(i32 %a7 , i32 %b7 )
155*a156b5a4SYingwei Zheng  %r8  = call i32 @llvm.scmp.i32.i32(i32 %a8 , i32 %b8 )
156*a156b5a4SYingwei Zheng  %r9  = call i32 @llvm.scmp.i32.i32(i32 %a9 , i32 %b9 )
157*a156b5a4SYingwei Zheng  %r10 = call i32 @llvm.scmp.i32.i32(i32 %a10, i32 %b10)
158*a156b5a4SYingwei Zheng  %r11 = call i32 @llvm.scmp.i32.i32(i32 %a11, i32 %b11)
159*a156b5a4SYingwei Zheng  %r12 = call i32 @llvm.scmp.i32.i32(i32 %a12, i32 %b12)
160*a156b5a4SYingwei Zheng  %r13 = call i32 @llvm.scmp.i32.i32(i32 %a13, i32 %b13)
161*a156b5a4SYingwei Zheng  %r14 = call i32 @llvm.scmp.i32.i32(i32 %a14, i32 %b14)
162*a156b5a4SYingwei Zheng  %r15 = call i32 @llvm.scmp.i32.i32(i32 %a15, i32 %b15)
163*a156b5a4SYingwei Zheng  store i32 %r0 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 0 ), align 4
164*a156b5a4SYingwei Zheng  store i32 %r1 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 1 ), align 4
165*a156b5a4SYingwei Zheng  store i32 %r2 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 2 ), align 4
166*a156b5a4SYingwei Zheng  store i32 %r3 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 3 ), align 4
167*a156b5a4SYingwei Zheng  store i32 %r4 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 4 ), align 4
168*a156b5a4SYingwei Zheng  store i32 %r5 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 5 ), align 4
169*a156b5a4SYingwei Zheng  store i32 %r6 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 6 ), align 4
170*a156b5a4SYingwei Zheng  store i32 %r7 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 7 ), align 4
171*a156b5a4SYingwei Zheng  store i32 %r8 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 8 ), align 4
172*a156b5a4SYingwei Zheng  store i32 %r9 , ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 9 ), align 4
173*a156b5a4SYingwei Zheng  store i32 %r10, ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 10), align 4
174*a156b5a4SYingwei Zheng  store i32 %r11, ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 11), align 4
175*a156b5a4SYingwei Zheng  store i32 %r12, ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 12), align 4
176*a156b5a4SYingwei Zheng  store i32 %r13, ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 13), align 4
177*a156b5a4SYingwei Zheng  store i32 %r14, ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 14), align 4
178*a156b5a4SYingwei Zheng  store i32 %r15, ptr getelementptr inbounds ([16 x i32], ptr @c32, i32 0, i64 15), align 4
179*a156b5a4SYingwei Zheng  ret void
180*a156b5a4SYingwei Zheng}
181*a156b5a4SYingwei Zheng
182*a156b5a4SYingwei Zhengdefine void @scmp_v32i16() {
183*a156b5a4SYingwei Zheng; SSE-LABEL: @scmp_v32i16(
184*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP1:%.*]] = load <8 x i16>, ptr @a16, align 2
185*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP2:%.*]] = load <8 x i16>, ptr @b16, align 2
186*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP3:%.*]] = call <8 x i16> @llvm.scmp.v8i16.v8i16(<8 x i16> [[TMP1]], <8 x i16> [[TMP2]])
187*a156b5a4SYingwei Zheng; SSE-NEXT:    store <8 x i16> [[TMP3]], ptr @c16, align 2
188*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP4:%.*]] = load <8 x i16>, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 8), align 2
189*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP5:%.*]] = load <8 x i16>, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 8), align 2
190*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP6:%.*]] = call <8 x i16> @llvm.scmp.v8i16.v8i16(<8 x i16> [[TMP4]], <8 x i16> [[TMP5]])
191*a156b5a4SYingwei Zheng; SSE-NEXT:    store <8 x i16> [[TMP6]], ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 8), align 2
192*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP7:%.*]] = load <8 x i16>, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 16), align 2
193*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP8:%.*]] = load <8 x i16>, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 16), align 2
194*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP9:%.*]] = call <8 x i16> @llvm.scmp.v8i16.v8i16(<8 x i16> [[TMP7]], <8 x i16> [[TMP8]])
195*a156b5a4SYingwei Zheng; SSE-NEXT:    store <8 x i16> [[TMP9]], ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 16), align 2
196*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP10:%.*]] = load <8 x i16>, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 24), align 2
197*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP11:%.*]] = load <8 x i16>, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 24), align 2
198*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP12:%.*]] = call <8 x i16> @llvm.scmp.v8i16.v8i16(<8 x i16> [[TMP10]], <8 x i16> [[TMP11]])
199*a156b5a4SYingwei Zheng; SSE-NEXT:    store <8 x i16> [[TMP12]], ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 24), align 2
200*a156b5a4SYingwei Zheng; SSE-NEXT:    ret void
201*a156b5a4SYingwei Zheng;
202*a156b5a4SYingwei Zheng; AVX-LABEL: @scmp_v32i16(
203*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP1:%.*]] = load <16 x i16>, ptr @a16, align 2
204*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP2:%.*]] = load <16 x i16>, ptr @b16, align 2
205*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP3:%.*]] = call <16 x i16> @llvm.scmp.v16i16.v16i16(<16 x i16> [[TMP1]], <16 x i16> [[TMP2]])
206*a156b5a4SYingwei Zheng; AVX-NEXT:    store <16 x i16> [[TMP3]], ptr @c16, align 2
207*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP4:%.*]] = load <16 x i16>, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 16), align 2
208*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP5:%.*]] = load <16 x i16>, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 16), align 2
209*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP6:%.*]] = call <16 x i16> @llvm.scmp.v16i16.v16i16(<16 x i16> [[TMP4]], <16 x i16> [[TMP5]])
210*a156b5a4SYingwei Zheng; AVX-NEXT:    store <16 x i16> [[TMP6]], ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 16), align 2
211*a156b5a4SYingwei Zheng; AVX-NEXT:    ret void
212*a156b5a4SYingwei Zheng;
213*a156b5a4SYingwei Zheng; AVX512-LABEL: @scmp_v32i16(
214*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP1:%.*]] = load <32 x i16>, ptr @a16, align 2
215*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP2:%.*]] = load <32 x i16>, ptr @b16, align 2
216*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP3:%.*]] = call <32 x i16> @llvm.scmp.v32i16.v32i16(<32 x i16> [[TMP1]], <32 x i16> [[TMP2]])
217*a156b5a4SYingwei Zheng; AVX512-NEXT:    store <32 x i16> [[TMP3]], ptr @c16, align 2
218*a156b5a4SYingwei Zheng; AVX512-NEXT:    ret void
219*a156b5a4SYingwei Zheng;
220*a156b5a4SYingwei Zheng  %a0  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 0 ), align 2
221*a156b5a4SYingwei Zheng  %a1  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 1 ), align 2
222*a156b5a4SYingwei Zheng  %a2  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 2 ), align 2
223*a156b5a4SYingwei Zheng  %a3  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 3 ), align 2
224*a156b5a4SYingwei Zheng  %a4  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 4 ), align 2
225*a156b5a4SYingwei Zheng  %a5  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 5 ), align 2
226*a156b5a4SYingwei Zheng  %a6  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 6 ), align 2
227*a156b5a4SYingwei Zheng  %a7  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 7 ), align 2
228*a156b5a4SYingwei Zheng  %a8  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 8 ), align 2
229*a156b5a4SYingwei Zheng  %a9  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 9 ), align 2
230*a156b5a4SYingwei Zheng  %a10 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 10), align 2
231*a156b5a4SYingwei Zheng  %a11 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 11), align 2
232*a156b5a4SYingwei Zheng  %a12 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 12), align 2
233*a156b5a4SYingwei Zheng  %a13 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 13), align 2
234*a156b5a4SYingwei Zheng  %a14 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 14), align 2
235*a156b5a4SYingwei Zheng  %a15 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 15), align 2
236*a156b5a4SYingwei Zheng  %a16 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 16), align 2
237*a156b5a4SYingwei Zheng  %a17 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 17), align 2
238*a156b5a4SYingwei Zheng  %a18 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 18), align 2
239*a156b5a4SYingwei Zheng  %a19 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 19), align 2
240*a156b5a4SYingwei Zheng  %a20 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 20), align 2
241*a156b5a4SYingwei Zheng  %a21 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 21), align 2
242*a156b5a4SYingwei Zheng  %a22 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 22), align 2
243*a156b5a4SYingwei Zheng  %a23 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 23), align 2
244*a156b5a4SYingwei Zheng  %a24 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 24), align 2
245*a156b5a4SYingwei Zheng  %a25 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 25), align 2
246*a156b5a4SYingwei Zheng  %a26 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 26), align 2
247*a156b5a4SYingwei Zheng  %a27 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 27), align 2
248*a156b5a4SYingwei Zheng  %a28 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 28), align 2
249*a156b5a4SYingwei Zheng  %a29 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 29), align 2
250*a156b5a4SYingwei Zheng  %a30 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 30), align 2
251*a156b5a4SYingwei Zheng  %a31 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @a16, i32 0, i64 31), align 2
252*a156b5a4SYingwei Zheng  %b0  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 0 ), align 2
253*a156b5a4SYingwei Zheng  %b1  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 1 ), align 2
254*a156b5a4SYingwei Zheng  %b2  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 2 ), align 2
255*a156b5a4SYingwei Zheng  %b3  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 3 ), align 2
256*a156b5a4SYingwei Zheng  %b4  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 4 ), align 2
257*a156b5a4SYingwei Zheng  %b5  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 5 ), align 2
258*a156b5a4SYingwei Zheng  %b6  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 6 ), align 2
259*a156b5a4SYingwei Zheng  %b7  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 7 ), align 2
260*a156b5a4SYingwei Zheng  %b8  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 8 ), align 2
261*a156b5a4SYingwei Zheng  %b9  = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 9 ), align 2
262*a156b5a4SYingwei Zheng  %b10 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 10), align 2
263*a156b5a4SYingwei Zheng  %b11 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 11), align 2
264*a156b5a4SYingwei Zheng  %b12 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 12), align 2
265*a156b5a4SYingwei Zheng  %b13 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 13), align 2
266*a156b5a4SYingwei Zheng  %b14 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 14), align 2
267*a156b5a4SYingwei Zheng  %b15 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 15), align 2
268*a156b5a4SYingwei Zheng  %b16 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 16), align 2
269*a156b5a4SYingwei Zheng  %b17 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 17), align 2
270*a156b5a4SYingwei Zheng  %b18 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 18), align 2
271*a156b5a4SYingwei Zheng  %b19 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 19), align 2
272*a156b5a4SYingwei Zheng  %b20 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 20), align 2
273*a156b5a4SYingwei Zheng  %b21 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 21), align 2
274*a156b5a4SYingwei Zheng  %b22 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 22), align 2
275*a156b5a4SYingwei Zheng  %b23 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 23), align 2
276*a156b5a4SYingwei Zheng  %b24 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 24), align 2
277*a156b5a4SYingwei Zheng  %b25 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 25), align 2
278*a156b5a4SYingwei Zheng  %b26 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 26), align 2
279*a156b5a4SYingwei Zheng  %b27 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 27), align 2
280*a156b5a4SYingwei Zheng  %b28 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 28), align 2
281*a156b5a4SYingwei Zheng  %b29 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 29), align 2
282*a156b5a4SYingwei Zheng  %b30 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 30), align 2
283*a156b5a4SYingwei Zheng  %b31 = load i16, ptr getelementptr inbounds ([32 x i16], ptr @b16, i32 0, i64 31), align 2
284*a156b5a4SYingwei Zheng  %r0  = call i16 @llvm.scmp.i16.i16(i16 %a0 , i16 %b0 )
285*a156b5a4SYingwei Zheng  %r1  = call i16 @llvm.scmp.i16.i16(i16 %a1 , i16 %b1 )
286*a156b5a4SYingwei Zheng  %r2  = call i16 @llvm.scmp.i16.i16(i16 %a2 , i16 %b2 )
287*a156b5a4SYingwei Zheng  %r3  = call i16 @llvm.scmp.i16.i16(i16 %a3 , i16 %b3 )
288*a156b5a4SYingwei Zheng  %r4  = call i16 @llvm.scmp.i16.i16(i16 %a4 , i16 %b4 )
289*a156b5a4SYingwei Zheng  %r5  = call i16 @llvm.scmp.i16.i16(i16 %a5 , i16 %b5 )
290*a156b5a4SYingwei Zheng  %r6  = call i16 @llvm.scmp.i16.i16(i16 %a6 , i16 %b6 )
291*a156b5a4SYingwei Zheng  %r7  = call i16 @llvm.scmp.i16.i16(i16 %a7 , i16 %b7 )
292*a156b5a4SYingwei Zheng  %r8  = call i16 @llvm.scmp.i16.i16(i16 %a8 , i16 %b8 )
293*a156b5a4SYingwei Zheng  %r9  = call i16 @llvm.scmp.i16.i16(i16 %a9 , i16 %b9 )
294*a156b5a4SYingwei Zheng  %r10 = call i16 @llvm.scmp.i16.i16(i16 %a10, i16 %b10)
295*a156b5a4SYingwei Zheng  %r11 = call i16 @llvm.scmp.i16.i16(i16 %a11, i16 %b11)
296*a156b5a4SYingwei Zheng  %r12 = call i16 @llvm.scmp.i16.i16(i16 %a12, i16 %b12)
297*a156b5a4SYingwei Zheng  %r13 = call i16 @llvm.scmp.i16.i16(i16 %a13, i16 %b13)
298*a156b5a4SYingwei Zheng  %r14 = call i16 @llvm.scmp.i16.i16(i16 %a14, i16 %b14)
299*a156b5a4SYingwei Zheng  %r15 = call i16 @llvm.scmp.i16.i16(i16 %a15, i16 %b15)
300*a156b5a4SYingwei Zheng  %r16 = call i16 @llvm.scmp.i16.i16(i16 %a16, i16 %b16)
301*a156b5a4SYingwei Zheng  %r17 = call i16 @llvm.scmp.i16.i16(i16 %a17, i16 %b17)
302*a156b5a4SYingwei Zheng  %r18 = call i16 @llvm.scmp.i16.i16(i16 %a18, i16 %b18)
303*a156b5a4SYingwei Zheng  %r19 = call i16 @llvm.scmp.i16.i16(i16 %a19, i16 %b19)
304*a156b5a4SYingwei Zheng  %r20 = call i16 @llvm.scmp.i16.i16(i16 %a20, i16 %b20)
305*a156b5a4SYingwei Zheng  %r21 = call i16 @llvm.scmp.i16.i16(i16 %a21, i16 %b21)
306*a156b5a4SYingwei Zheng  %r22 = call i16 @llvm.scmp.i16.i16(i16 %a22, i16 %b22)
307*a156b5a4SYingwei Zheng  %r23 = call i16 @llvm.scmp.i16.i16(i16 %a23, i16 %b23)
308*a156b5a4SYingwei Zheng  %r24 = call i16 @llvm.scmp.i16.i16(i16 %a24, i16 %b24)
309*a156b5a4SYingwei Zheng  %r25 = call i16 @llvm.scmp.i16.i16(i16 %a25, i16 %b25)
310*a156b5a4SYingwei Zheng  %r26 = call i16 @llvm.scmp.i16.i16(i16 %a26, i16 %b26)
311*a156b5a4SYingwei Zheng  %r27 = call i16 @llvm.scmp.i16.i16(i16 %a27, i16 %b27)
312*a156b5a4SYingwei Zheng  %r28 = call i16 @llvm.scmp.i16.i16(i16 %a28, i16 %b28)
313*a156b5a4SYingwei Zheng  %r29 = call i16 @llvm.scmp.i16.i16(i16 %a29, i16 %b29)
314*a156b5a4SYingwei Zheng  %r30 = call i16 @llvm.scmp.i16.i16(i16 %a30, i16 %b30)
315*a156b5a4SYingwei Zheng  %r31 = call i16 @llvm.scmp.i16.i16(i16 %a31, i16 %b31)
316*a156b5a4SYingwei Zheng  store i16 %r0 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 0 ), align 2
317*a156b5a4SYingwei Zheng  store i16 %r1 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 1 ), align 2
318*a156b5a4SYingwei Zheng  store i16 %r2 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 2 ), align 2
319*a156b5a4SYingwei Zheng  store i16 %r3 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 3 ), align 2
320*a156b5a4SYingwei Zheng  store i16 %r4 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 4 ), align 2
321*a156b5a4SYingwei Zheng  store i16 %r5 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 5 ), align 2
322*a156b5a4SYingwei Zheng  store i16 %r6 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 6 ), align 2
323*a156b5a4SYingwei Zheng  store i16 %r7 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 7 ), align 2
324*a156b5a4SYingwei Zheng  store i16 %r8 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 8 ), align 2
325*a156b5a4SYingwei Zheng  store i16 %r9 , ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 9 ), align 2
326*a156b5a4SYingwei Zheng  store i16 %r10, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 10), align 2
327*a156b5a4SYingwei Zheng  store i16 %r11, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 11), align 2
328*a156b5a4SYingwei Zheng  store i16 %r12, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 12), align 2
329*a156b5a4SYingwei Zheng  store i16 %r13, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 13), align 2
330*a156b5a4SYingwei Zheng  store i16 %r14, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 14), align 2
331*a156b5a4SYingwei Zheng  store i16 %r15, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 15), align 2
332*a156b5a4SYingwei Zheng  store i16 %r16, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 16), align 2
333*a156b5a4SYingwei Zheng  store i16 %r17, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 17), align 2
334*a156b5a4SYingwei Zheng  store i16 %r18, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 18), align 2
335*a156b5a4SYingwei Zheng  store i16 %r19, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 19), align 2
336*a156b5a4SYingwei Zheng  store i16 %r20, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 20), align 2
337*a156b5a4SYingwei Zheng  store i16 %r21, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 21), align 2
338*a156b5a4SYingwei Zheng  store i16 %r22, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 22), align 2
339*a156b5a4SYingwei Zheng  store i16 %r23, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 23), align 2
340*a156b5a4SYingwei Zheng  store i16 %r24, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 24), align 2
341*a156b5a4SYingwei Zheng  store i16 %r25, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 25), align 2
342*a156b5a4SYingwei Zheng  store i16 %r26, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 26), align 2
343*a156b5a4SYingwei Zheng  store i16 %r27, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 27), align 2
344*a156b5a4SYingwei Zheng  store i16 %r28, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 28), align 2
345*a156b5a4SYingwei Zheng  store i16 %r29, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 29), align 2
346*a156b5a4SYingwei Zheng  store i16 %r30, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 30), align 2
347*a156b5a4SYingwei Zheng  store i16 %r31, ptr getelementptr inbounds ([32 x i16], ptr @c16, i32 0, i64 31), align 2
348*a156b5a4SYingwei Zheng  ret void
349*a156b5a4SYingwei Zheng}
350*a156b5a4SYingwei Zheng
351*a156b5a4SYingwei Zhengdefine void @scmp_v64i8() {
352*a156b5a4SYingwei Zheng; SSE-LABEL: @scmp_v64i8(
353*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP1:%.*]] = load <16 x i8>, ptr @a8, align 1
354*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP2:%.*]] = load <16 x i8>, ptr @b8, align 1
355*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP3:%.*]] = call <16 x i8> @llvm.scmp.v16i8.v16i8(<16 x i8> [[TMP1]], <16 x i8> [[TMP2]])
356*a156b5a4SYingwei Zheng; SSE-NEXT:    store <16 x i8> [[TMP3]], ptr @c8, align 1
357*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP4:%.*]] = load <16 x i8>, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 16), align 1
358*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP5:%.*]] = load <16 x i8>, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 16), align 1
359*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP6:%.*]] = call <16 x i8> @llvm.scmp.v16i8.v16i8(<16 x i8> [[TMP4]], <16 x i8> [[TMP5]])
360*a156b5a4SYingwei Zheng; SSE-NEXT:    store <16 x i8> [[TMP6]], ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 16), align 1
361*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP7:%.*]] = load <16 x i8>, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 32), align 1
362*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP8:%.*]] = load <16 x i8>, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 32), align 1
363*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP9:%.*]] = call <16 x i8> @llvm.scmp.v16i8.v16i8(<16 x i8> [[TMP7]], <16 x i8> [[TMP8]])
364*a156b5a4SYingwei Zheng; SSE-NEXT:    store <16 x i8> [[TMP9]], ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 32), align 1
365*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP10:%.*]] = load <16 x i8>, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 48), align 1
366*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP11:%.*]] = load <16 x i8>, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 48), align 1
367*a156b5a4SYingwei Zheng; SSE-NEXT:    [[TMP12:%.*]] = call <16 x i8> @llvm.scmp.v16i8.v16i8(<16 x i8> [[TMP10]], <16 x i8> [[TMP11]])
368*a156b5a4SYingwei Zheng; SSE-NEXT:    store <16 x i8> [[TMP12]], ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 48), align 1
369*a156b5a4SYingwei Zheng; SSE-NEXT:    ret void
370*a156b5a4SYingwei Zheng;
371*a156b5a4SYingwei Zheng; AVX-LABEL: @scmp_v64i8(
372*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP1:%.*]] = load <32 x i8>, ptr @a8, align 1
373*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP2:%.*]] = load <32 x i8>, ptr @b8, align 1
374*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP3:%.*]] = call <32 x i8> @llvm.scmp.v32i8.v32i8(<32 x i8> [[TMP1]], <32 x i8> [[TMP2]])
375*a156b5a4SYingwei Zheng; AVX-NEXT:    store <32 x i8> [[TMP3]], ptr @c8, align 1
376*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP4:%.*]] = load <32 x i8>, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 32), align 1
377*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP5:%.*]] = load <32 x i8>, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 32), align 1
378*a156b5a4SYingwei Zheng; AVX-NEXT:    [[TMP6:%.*]] = call <32 x i8> @llvm.scmp.v32i8.v32i8(<32 x i8> [[TMP4]], <32 x i8> [[TMP5]])
379*a156b5a4SYingwei Zheng; AVX-NEXT:    store <32 x i8> [[TMP6]], ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 32), align 1
380*a156b5a4SYingwei Zheng; AVX-NEXT:    ret void
381*a156b5a4SYingwei Zheng;
382*a156b5a4SYingwei Zheng; AVX512-LABEL: @scmp_v64i8(
383*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP1:%.*]] = load <64 x i8>, ptr @a8, align 1
384*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP2:%.*]] = load <64 x i8>, ptr @b8, align 1
385*a156b5a4SYingwei Zheng; AVX512-NEXT:    [[TMP3:%.*]] = call <64 x i8> @llvm.scmp.v64i8.v64i8(<64 x i8> [[TMP1]], <64 x i8> [[TMP2]])
386*a156b5a4SYingwei Zheng; AVX512-NEXT:    store <64 x i8> [[TMP3]], ptr @c8, align 1
387*a156b5a4SYingwei Zheng; AVX512-NEXT:    ret void
388*a156b5a4SYingwei Zheng;
389*a156b5a4SYingwei Zheng  %a0  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 0 ), align 1
390*a156b5a4SYingwei Zheng  %a1  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 1 ), align 1
391*a156b5a4SYingwei Zheng  %a2  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 2 ), align 1
392*a156b5a4SYingwei Zheng  %a3  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 3 ), align 1
393*a156b5a4SYingwei Zheng  %a4  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 4 ), align 1
394*a156b5a4SYingwei Zheng  %a5  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 5 ), align 1
395*a156b5a4SYingwei Zheng  %a6  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 6 ), align 1
396*a156b5a4SYingwei Zheng  %a7  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 7 ), align 1
397*a156b5a4SYingwei Zheng  %a8  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 8 ), align 1
398*a156b5a4SYingwei Zheng  %a9  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 9 ), align 1
399*a156b5a4SYingwei Zheng  %a10 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 10), align 1
400*a156b5a4SYingwei Zheng  %a11 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 11), align 1
401*a156b5a4SYingwei Zheng  %a12 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 12), align 1
402*a156b5a4SYingwei Zheng  %a13 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 13), align 1
403*a156b5a4SYingwei Zheng  %a14 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 14), align 1
404*a156b5a4SYingwei Zheng  %a15 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 15), align 1
405*a156b5a4SYingwei Zheng  %a16 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 16), align 1
406*a156b5a4SYingwei Zheng  %a17 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 17), align 1
407*a156b5a4SYingwei Zheng  %a18 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 18), align 1
408*a156b5a4SYingwei Zheng  %a19 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 19), align 1
409*a156b5a4SYingwei Zheng  %a20 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 20), align 1
410*a156b5a4SYingwei Zheng  %a21 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 21), align 1
411*a156b5a4SYingwei Zheng  %a22 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 22), align 1
412*a156b5a4SYingwei Zheng  %a23 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 23), align 1
413*a156b5a4SYingwei Zheng  %a24 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 24), align 1
414*a156b5a4SYingwei Zheng  %a25 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 25), align 1
415*a156b5a4SYingwei Zheng  %a26 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 26), align 1
416*a156b5a4SYingwei Zheng  %a27 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 27), align 1
417*a156b5a4SYingwei Zheng  %a28 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 28), align 1
418*a156b5a4SYingwei Zheng  %a29 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 29), align 1
419*a156b5a4SYingwei Zheng  %a30 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 30), align 1
420*a156b5a4SYingwei Zheng  %a31 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 31), align 1
421*a156b5a4SYingwei Zheng  %a32 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 32), align 1
422*a156b5a4SYingwei Zheng  %a33 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 33), align 1
423*a156b5a4SYingwei Zheng  %a34 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 34), align 1
424*a156b5a4SYingwei Zheng  %a35 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 35), align 1
425*a156b5a4SYingwei Zheng  %a36 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 36), align 1
426*a156b5a4SYingwei Zheng  %a37 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 37), align 1
427*a156b5a4SYingwei Zheng  %a38 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 38), align 1
428*a156b5a4SYingwei Zheng  %a39 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 39), align 1
429*a156b5a4SYingwei Zheng  %a40 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 40), align 1
430*a156b5a4SYingwei Zheng  %a41 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 41), align 1
431*a156b5a4SYingwei Zheng  %a42 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 42), align 1
432*a156b5a4SYingwei Zheng  %a43 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 43), align 1
433*a156b5a4SYingwei Zheng  %a44 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 44), align 1
434*a156b5a4SYingwei Zheng  %a45 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 45), align 1
435*a156b5a4SYingwei Zheng  %a46 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 46), align 1
436*a156b5a4SYingwei Zheng  %a47 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 47), align 1
437*a156b5a4SYingwei Zheng  %a48 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 48), align 1
438*a156b5a4SYingwei Zheng  %a49 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 49), align 1
439*a156b5a4SYingwei Zheng  %a50 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 50), align 1
440*a156b5a4SYingwei Zheng  %a51 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 51), align 1
441*a156b5a4SYingwei Zheng  %a52 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 52), align 1
442*a156b5a4SYingwei Zheng  %a53 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 53), align 1
443*a156b5a4SYingwei Zheng  %a54 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 54), align 1
444*a156b5a4SYingwei Zheng  %a55 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 55), align 1
445*a156b5a4SYingwei Zheng  %a56 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 56), align 1
446*a156b5a4SYingwei Zheng  %a57 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 57), align 1
447*a156b5a4SYingwei Zheng  %a58 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 58), align 1
448*a156b5a4SYingwei Zheng  %a59 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 59), align 1
449*a156b5a4SYingwei Zheng  %a60 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 60), align 1
450*a156b5a4SYingwei Zheng  %a61 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 61), align 1
451*a156b5a4SYingwei Zheng  %a62 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 62), align 1
452*a156b5a4SYingwei Zheng  %a63 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @a8, i32 0, i64 63), align 1
453*a156b5a4SYingwei Zheng  %b0  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 0 ), align 1
454*a156b5a4SYingwei Zheng  %b1  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 1 ), align 1
455*a156b5a4SYingwei Zheng  %b2  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 2 ), align 1
456*a156b5a4SYingwei Zheng  %b3  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 3 ), align 1
457*a156b5a4SYingwei Zheng  %b4  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 4 ), align 1
458*a156b5a4SYingwei Zheng  %b5  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 5 ), align 1
459*a156b5a4SYingwei Zheng  %b6  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 6 ), align 1
460*a156b5a4SYingwei Zheng  %b7  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 7 ), align 1
461*a156b5a4SYingwei Zheng  %b8  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 8 ), align 1
462*a156b5a4SYingwei Zheng  %b9  = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 9 ), align 1
463*a156b5a4SYingwei Zheng  %b10 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 10), align 1
464*a156b5a4SYingwei Zheng  %b11 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 11), align 1
465*a156b5a4SYingwei Zheng  %b12 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 12), align 1
466*a156b5a4SYingwei Zheng  %b13 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 13), align 1
467*a156b5a4SYingwei Zheng  %b14 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 14), align 1
468*a156b5a4SYingwei Zheng  %b15 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 15), align 1
469*a156b5a4SYingwei Zheng  %b16 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 16), align 1
470*a156b5a4SYingwei Zheng  %b17 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 17), align 1
471*a156b5a4SYingwei Zheng  %b18 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 18), align 1
472*a156b5a4SYingwei Zheng  %b19 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 19), align 1
473*a156b5a4SYingwei Zheng  %b20 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 20), align 1
474*a156b5a4SYingwei Zheng  %b21 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 21), align 1
475*a156b5a4SYingwei Zheng  %b22 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 22), align 1
476*a156b5a4SYingwei Zheng  %b23 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 23), align 1
477*a156b5a4SYingwei Zheng  %b24 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 24), align 1
478*a156b5a4SYingwei Zheng  %b25 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 25), align 1
479*a156b5a4SYingwei Zheng  %b26 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 26), align 1
480*a156b5a4SYingwei Zheng  %b27 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 27), align 1
481*a156b5a4SYingwei Zheng  %b28 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 28), align 1
482*a156b5a4SYingwei Zheng  %b29 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 29), align 1
483*a156b5a4SYingwei Zheng  %b30 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 30), align 1
484*a156b5a4SYingwei Zheng  %b31 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 31), align 1
485*a156b5a4SYingwei Zheng  %b32 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 32), align 1
486*a156b5a4SYingwei Zheng  %b33 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 33), align 1
487*a156b5a4SYingwei Zheng  %b34 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 34), align 1
488*a156b5a4SYingwei Zheng  %b35 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 35), align 1
489*a156b5a4SYingwei Zheng  %b36 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 36), align 1
490*a156b5a4SYingwei Zheng  %b37 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 37), align 1
491*a156b5a4SYingwei Zheng  %b38 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 38), align 1
492*a156b5a4SYingwei Zheng  %b39 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 39), align 1
493*a156b5a4SYingwei Zheng  %b40 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 40), align 1
494*a156b5a4SYingwei Zheng  %b41 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 41), align 1
495*a156b5a4SYingwei Zheng  %b42 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 42), align 1
496*a156b5a4SYingwei Zheng  %b43 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 43), align 1
497*a156b5a4SYingwei Zheng  %b44 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 44), align 1
498*a156b5a4SYingwei Zheng  %b45 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 45), align 1
499*a156b5a4SYingwei Zheng  %b46 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 46), align 1
500*a156b5a4SYingwei Zheng  %b47 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 47), align 1
501*a156b5a4SYingwei Zheng  %b48 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 48), align 1
502*a156b5a4SYingwei Zheng  %b49 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 49), align 1
503*a156b5a4SYingwei Zheng  %b50 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 50), align 1
504*a156b5a4SYingwei Zheng  %b51 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 51), align 1
505*a156b5a4SYingwei Zheng  %b52 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 52), align 1
506*a156b5a4SYingwei Zheng  %b53 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 53), align 1
507*a156b5a4SYingwei Zheng  %b54 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 54), align 1
508*a156b5a4SYingwei Zheng  %b55 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 55), align 1
509*a156b5a4SYingwei Zheng  %b56 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 56), align 1
510*a156b5a4SYingwei Zheng  %b57 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 57), align 1
511*a156b5a4SYingwei Zheng  %b58 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 58), align 1
512*a156b5a4SYingwei Zheng  %b59 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 59), align 1
513*a156b5a4SYingwei Zheng  %b60 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 60), align 1
514*a156b5a4SYingwei Zheng  %b61 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 61), align 1
515*a156b5a4SYingwei Zheng  %b62 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 62), align 1
516*a156b5a4SYingwei Zheng  %b63 = load i8, ptr getelementptr inbounds ([64 x i8], ptr @b8, i32 0, i64 63), align 1
517*a156b5a4SYingwei Zheng  %r0  = call i8 @llvm.scmp.i8.i8(i8 %a0 , i8 %b0 )
518*a156b5a4SYingwei Zheng  %r1  = call i8 @llvm.scmp.i8.i8(i8 %a1 , i8 %b1 )
519*a156b5a4SYingwei Zheng  %r2  = call i8 @llvm.scmp.i8.i8(i8 %a2 , i8 %b2 )
520*a156b5a4SYingwei Zheng  %r3  = call i8 @llvm.scmp.i8.i8(i8 %a3 , i8 %b3 )
521*a156b5a4SYingwei Zheng  %r4  = call i8 @llvm.scmp.i8.i8(i8 %a4 , i8 %b4 )
522*a156b5a4SYingwei Zheng  %r5  = call i8 @llvm.scmp.i8.i8(i8 %a5 , i8 %b5 )
523*a156b5a4SYingwei Zheng  %r6  = call i8 @llvm.scmp.i8.i8(i8 %a6 , i8 %b6 )
524*a156b5a4SYingwei Zheng  %r7  = call i8 @llvm.scmp.i8.i8(i8 %a7 , i8 %b7 )
525*a156b5a4SYingwei Zheng  %r8  = call i8 @llvm.scmp.i8.i8(i8 %a8 , i8 %b8 )
526*a156b5a4SYingwei Zheng  %r9  = call i8 @llvm.scmp.i8.i8(i8 %a9 , i8 %b9 )
527*a156b5a4SYingwei Zheng  %r10 = call i8 @llvm.scmp.i8.i8(i8 %a10, i8 %b10)
528*a156b5a4SYingwei Zheng  %r11 = call i8 @llvm.scmp.i8.i8(i8 %a11, i8 %b11)
529*a156b5a4SYingwei Zheng  %r12 = call i8 @llvm.scmp.i8.i8(i8 %a12, i8 %b12)
530*a156b5a4SYingwei Zheng  %r13 = call i8 @llvm.scmp.i8.i8(i8 %a13, i8 %b13)
531*a156b5a4SYingwei Zheng  %r14 = call i8 @llvm.scmp.i8.i8(i8 %a14, i8 %b14)
532*a156b5a4SYingwei Zheng  %r15 = call i8 @llvm.scmp.i8.i8(i8 %a15, i8 %b15)
533*a156b5a4SYingwei Zheng  %r16 = call i8 @llvm.scmp.i8.i8(i8 %a16, i8 %b16)
534*a156b5a4SYingwei Zheng  %r17 = call i8 @llvm.scmp.i8.i8(i8 %a17, i8 %b17)
535*a156b5a4SYingwei Zheng  %r18 = call i8 @llvm.scmp.i8.i8(i8 %a18, i8 %b18)
536*a156b5a4SYingwei Zheng  %r19 = call i8 @llvm.scmp.i8.i8(i8 %a19, i8 %b19)
537*a156b5a4SYingwei Zheng  %r20 = call i8 @llvm.scmp.i8.i8(i8 %a20, i8 %b20)
538*a156b5a4SYingwei Zheng  %r21 = call i8 @llvm.scmp.i8.i8(i8 %a21, i8 %b21)
539*a156b5a4SYingwei Zheng  %r22 = call i8 @llvm.scmp.i8.i8(i8 %a22, i8 %b22)
540*a156b5a4SYingwei Zheng  %r23 = call i8 @llvm.scmp.i8.i8(i8 %a23, i8 %b23)
541*a156b5a4SYingwei Zheng  %r24 = call i8 @llvm.scmp.i8.i8(i8 %a24, i8 %b24)
542*a156b5a4SYingwei Zheng  %r25 = call i8 @llvm.scmp.i8.i8(i8 %a25, i8 %b25)
543*a156b5a4SYingwei Zheng  %r26 = call i8 @llvm.scmp.i8.i8(i8 %a26, i8 %b26)
544*a156b5a4SYingwei Zheng  %r27 = call i8 @llvm.scmp.i8.i8(i8 %a27, i8 %b27)
545*a156b5a4SYingwei Zheng  %r28 = call i8 @llvm.scmp.i8.i8(i8 %a28, i8 %b28)
546*a156b5a4SYingwei Zheng  %r29 = call i8 @llvm.scmp.i8.i8(i8 %a29, i8 %b29)
547*a156b5a4SYingwei Zheng  %r30 = call i8 @llvm.scmp.i8.i8(i8 %a30, i8 %b30)
548*a156b5a4SYingwei Zheng  %r31 = call i8 @llvm.scmp.i8.i8(i8 %a31, i8 %b31)
549*a156b5a4SYingwei Zheng  %r32 = call i8 @llvm.scmp.i8.i8(i8 %a32, i8 %b32)
550*a156b5a4SYingwei Zheng  %r33 = call i8 @llvm.scmp.i8.i8(i8 %a33, i8 %b33)
551*a156b5a4SYingwei Zheng  %r34 = call i8 @llvm.scmp.i8.i8(i8 %a34, i8 %b34)
552*a156b5a4SYingwei Zheng  %r35 = call i8 @llvm.scmp.i8.i8(i8 %a35, i8 %b35)
553*a156b5a4SYingwei Zheng  %r36 = call i8 @llvm.scmp.i8.i8(i8 %a36, i8 %b36)
554*a156b5a4SYingwei Zheng  %r37 = call i8 @llvm.scmp.i8.i8(i8 %a37, i8 %b37)
555*a156b5a4SYingwei Zheng  %r38 = call i8 @llvm.scmp.i8.i8(i8 %a38, i8 %b38)
556*a156b5a4SYingwei Zheng  %r39 = call i8 @llvm.scmp.i8.i8(i8 %a39, i8 %b39)
557*a156b5a4SYingwei Zheng  %r40 = call i8 @llvm.scmp.i8.i8(i8 %a40, i8 %b40)
558*a156b5a4SYingwei Zheng  %r41 = call i8 @llvm.scmp.i8.i8(i8 %a41, i8 %b41)
559*a156b5a4SYingwei Zheng  %r42 = call i8 @llvm.scmp.i8.i8(i8 %a42, i8 %b42)
560*a156b5a4SYingwei Zheng  %r43 = call i8 @llvm.scmp.i8.i8(i8 %a43, i8 %b43)
561*a156b5a4SYingwei Zheng  %r44 = call i8 @llvm.scmp.i8.i8(i8 %a44, i8 %b44)
562*a156b5a4SYingwei Zheng  %r45 = call i8 @llvm.scmp.i8.i8(i8 %a45, i8 %b45)
563*a156b5a4SYingwei Zheng  %r46 = call i8 @llvm.scmp.i8.i8(i8 %a46, i8 %b46)
564*a156b5a4SYingwei Zheng  %r47 = call i8 @llvm.scmp.i8.i8(i8 %a47, i8 %b47)
565*a156b5a4SYingwei Zheng  %r48 = call i8 @llvm.scmp.i8.i8(i8 %a48, i8 %b48)
566*a156b5a4SYingwei Zheng  %r49 = call i8 @llvm.scmp.i8.i8(i8 %a49, i8 %b49)
567*a156b5a4SYingwei Zheng  %r50 = call i8 @llvm.scmp.i8.i8(i8 %a50, i8 %b50)
568*a156b5a4SYingwei Zheng  %r51 = call i8 @llvm.scmp.i8.i8(i8 %a51, i8 %b51)
569*a156b5a4SYingwei Zheng  %r52 = call i8 @llvm.scmp.i8.i8(i8 %a52, i8 %b52)
570*a156b5a4SYingwei Zheng  %r53 = call i8 @llvm.scmp.i8.i8(i8 %a53, i8 %b53)
571*a156b5a4SYingwei Zheng  %r54 = call i8 @llvm.scmp.i8.i8(i8 %a54, i8 %b54)
572*a156b5a4SYingwei Zheng  %r55 = call i8 @llvm.scmp.i8.i8(i8 %a55, i8 %b55)
573*a156b5a4SYingwei Zheng  %r56 = call i8 @llvm.scmp.i8.i8(i8 %a56, i8 %b56)
574*a156b5a4SYingwei Zheng  %r57 = call i8 @llvm.scmp.i8.i8(i8 %a57, i8 %b57)
575*a156b5a4SYingwei Zheng  %r58 = call i8 @llvm.scmp.i8.i8(i8 %a58, i8 %b58)
576*a156b5a4SYingwei Zheng  %r59 = call i8 @llvm.scmp.i8.i8(i8 %a59, i8 %b59)
577*a156b5a4SYingwei Zheng  %r60 = call i8 @llvm.scmp.i8.i8(i8 %a60, i8 %b60)
578*a156b5a4SYingwei Zheng  %r61 = call i8 @llvm.scmp.i8.i8(i8 %a61, i8 %b61)
579*a156b5a4SYingwei Zheng  %r62 = call i8 @llvm.scmp.i8.i8(i8 %a62, i8 %b62)
580*a156b5a4SYingwei Zheng  %r63 = call i8 @llvm.scmp.i8.i8(i8 %a63, i8 %b63)
581*a156b5a4SYingwei Zheng  store i8 %r0 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 0 ), align 1
582*a156b5a4SYingwei Zheng  store i8 %r1 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 1 ), align 1
583*a156b5a4SYingwei Zheng  store i8 %r2 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 2 ), align 1
584*a156b5a4SYingwei Zheng  store i8 %r3 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 3 ), align 1
585*a156b5a4SYingwei Zheng  store i8 %r4 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 4 ), align 1
586*a156b5a4SYingwei Zheng  store i8 %r5 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 5 ), align 1
587*a156b5a4SYingwei Zheng  store i8 %r6 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 6 ), align 1
588*a156b5a4SYingwei Zheng  store i8 %r7 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 7 ), align 1
589*a156b5a4SYingwei Zheng  store i8 %r8 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 8 ), align 1
590*a156b5a4SYingwei Zheng  store i8 %r9 , ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 9 ), align 1
591*a156b5a4SYingwei Zheng  store i8 %r10, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 10), align 1
592*a156b5a4SYingwei Zheng  store i8 %r11, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 11), align 1
593*a156b5a4SYingwei Zheng  store i8 %r12, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 12), align 1
594*a156b5a4SYingwei Zheng  store i8 %r13, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 13), align 1
595*a156b5a4SYingwei Zheng  store i8 %r14, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 14), align 1
596*a156b5a4SYingwei Zheng  store i8 %r15, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 15), align 1
597*a156b5a4SYingwei Zheng  store i8 %r16, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 16), align 1
598*a156b5a4SYingwei Zheng  store i8 %r17, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 17), align 1
599*a156b5a4SYingwei Zheng  store i8 %r18, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 18), align 1
600*a156b5a4SYingwei Zheng  store i8 %r19, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 19), align 1
601*a156b5a4SYingwei Zheng  store i8 %r20, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 20), align 1
602*a156b5a4SYingwei Zheng  store i8 %r21, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 21), align 1
603*a156b5a4SYingwei Zheng  store i8 %r22, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 22), align 1
604*a156b5a4SYingwei Zheng  store i8 %r23, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 23), align 1
605*a156b5a4SYingwei Zheng  store i8 %r24, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 24), align 1
606*a156b5a4SYingwei Zheng  store i8 %r25, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 25), align 1
607*a156b5a4SYingwei Zheng  store i8 %r26, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 26), align 1
608*a156b5a4SYingwei Zheng  store i8 %r27, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 27), align 1
609*a156b5a4SYingwei Zheng  store i8 %r28, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 28), align 1
610*a156b5a4SYingwei Zheng  store i8 %r29, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 29), align 1
611*a156b5a4SYingwei Zheng  store i8 %r30, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 30), align 1
612*a156b5a4SYingwei Zheng  store i8 %r31, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 31), align 1
613*a156b5a4SYingwei Zheng  store i8 %r32, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 32), align 1
614*a156b5a4SYingwei Zheng  store i8 %r33, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 33), align 1
615*a156b5a4SYingwei Zheng  store i8 %r34, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 34), align 1
616*a156b5a4SYingwei Zheng  store i8 %r35, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 35), align 1
617*a156b5a4SYingwei Zheng  store i8 %r36, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 36), align 1
618*a156b5a4SYingwei Zheng  store i8 %r37, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 37), align 1
619*a156b5a4SYingwei Zheng  store i8 %r38, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 38), align 1
620*a156b5a4SYingwei Zheng  store i8 %r39, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 39), align 1
621*a156b5a4SYingwei Zheng  store i8 %r40, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 40), align 1
622*a156b5a4SYingwei Zheng  store i8 %r41, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 41), align 1
623*a156b5a4SYingwei Zheng  store i8 %r42, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 42), align 1
624*a156b5a4SYingwei Zheng  store i8 %r43, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 43), align 1
625*a156b5a4SYingwei Zheng  store i8 %r44, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 44), align 1
626*a156b5a4SYingwei Zheng  store i8 %r45, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 45), align 1
627*a156b5a4SYingwei Zheng  store i8 %r46, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 46), align 1
628*a156b5a4SYingwei Zheng  store i8 %r47, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 47), align 1
629*a156b5a4SYingwei Zheng  store i8 %r48, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 48), align 1
630*a156b5a4SYingwei Zheng  store i8 %r49, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 49), align 1
631*a156b5a4SYingwei Zheng  store i8 %r50, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 50), align 1
632*a156b5a4SYingwei Zheng  store i8 %r51, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 51), align 1
633*a156b5a4SYingwei Zheng  store i8 %r52, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 52), align 1
634*a156b5a4SYingwei Zheng  store i8 %r53, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 53), align 1
635*a156b5a4SYingwei Zheng  store i8 %r54, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 54), align 1
636*a156b5a4SYingwei Zheng  store i8 %r55, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 55), align 1
637*a156b5a4SYingwei Zheng  store i8 %r56, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 56), align 1
638*a156b5a4SYingwei Zheng  store i8 %r57, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 57), align 1
639*a156b5a4SYingwei Zheng  store i8 %r58, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 58), align 1
640*a156b5a4SYingwei Zheng  store i8 %r59, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 59), align 1
641*a156b5a4SYingwei Zheng  store i8 %r60, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 60), align 1
642*a156b5a4SYingwei Zheng  store i8 %r61, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 61), align 1
643*a156b5a4SYingwei Zheng  store i8 %r62, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 62), align 1
644*a156b5a4SYingwei Zheng  store i8 %r63, ptr getelementptr inbounds ([64 x i8], ptr @c8, i32 0, i64 63), align 1
645*a156b5a4SYingwei Zheng  ret void
646*a156b5a4SYingwei Zheng}
647