blob: 04e3fb537f4fb6556f3a50619d495d394e46616d [file] [log] [blame]
;;===- subzero/runtime/szrt_ll.ll - Subzero runtime source ----------------===;;
;;
;; The Subzero Code Generator
;;
;; This file is distributed under the University of Illinois Open Source
;; License. See LICENSE.TXT for details.
;;
;;===----------------------------------------------------------------------===;;
;;
;; This file implements wrappers for particular bitcode instructions that are
;; too uncommon and complex for a particular target to bother implementing
;; directly in Subzero target lowering. This needs to be compiled by some
;; non-Subzero compiler.
;;
;;===----------------------------------------------------------------------===;;
define <4 x float> @__Sz_uitofp_4xi32_4xf32(<4 x i32> %a) {
entry:
%0 = uitofp <4 x i32> %a to <4 x float>
ret <4 x float> %0
}
define <4 x i32> @__Sz_fptoui_4xi32_f32(<4 x float> %a) {
entry:
%0 = fptoui <4 x float> %a to <4 x i32>
ret <4 x i32> %0
}
define i32 @__Sz_bitcast_8xi1_i8(<8 x i1> %a) {
entry:
%0 = bitcast <8 x i1> %a to i8
%ret = zext i8 %0 to i32
ret i32 %ret
}
define i32 @__Sz_bitcast_16xi1_i16(<16 x i1> %a) {
entry:
%0 = bitcast <16 x i1> %a to i16
%ret = zext i16 %0 to i32
ret i32 %ret
}
define <8 x i1> @__Sz_bitcast_i8_8xi1(i8 %a) {
entry:
%0 = bitcast i8 %a to <8 x i1>
ret <8 x i1> %0
}
define <16 x i1> @__Sz_bitcast_i16_16xi1(i16 %a) {
entry:
%0 = bitcast i16 %a to <16 x i1>
ret <16 x i1> %0
}