1;;===- subzero/runtime/szrt_ll.ll - Subzero runtime source ----------------===;;
2;;
3;;                        The Subzero Code Generator
4;;
5;; This file is distributed under the University of Illinois Open Source
6;; License. See LICENSE.TXT for details.
7;;
8;;===----------------------------------------------------------------------===;;
9;;
10;; This file implements wrappers for particular bitcode instructions that are
11;; too uncommon and complex for a particular target to bother implementing
12;; directly in Subzero target lowering.  This needs to be compiled by some
13;; non-Subzero compiler.
14;;
15;;===----------------------------------------------------------------------===;;
16
17define <4 x float> @__Sz_uitofp_4xi32_4xf32(<4 x i32> %a) {
18entry:
19  %0 = uitofp <4 x i32> %a to <4 x float>
20  ret <4 x float> %0
21}
22
23define <4 x i32> @__Sz_fptoui_4xi32_f32(<4 x float> %a) {
24entry:
25  %0 = fptoui <4 x float> %a to <4 x i32>
26  ret <4 x i32> %0
27}
28
29define i32 @__Sz_bitcast_8xi1_i8(<8 x i1> %a) {
30entry:
31  %0 = bitcast <8 x i1> %a to i8
32  %ret = zext i8 %0 to i32
33  ret i32 %ret
34}
35
36define i32 @__Sz_bitcast_16xi1_i16(<16 x i1> %a) {
37entry:
38  %0 = bitcast <16 x i1> %a to i16
39  %ret = zext i16 %0 to i32
40  ret i32 %ret
41}
42
43define <8 x i1> @__Sz_bitcast_i8_8xi1(i8 %a) {
44entry:
45  %0 = bitcast i8 %a to <8 x i1>
46  ret <8 x i1> %0
47}
48
49define <16 x i1> @__Sz_bitcast_i16_16xi1(i16 %a) {
50entry:
51  %0 = bitcast i16 %a to <16 x i1>
52  ret <16 x i1> %0
53}
54