blob: d9d578a270c77c200fbd6ab211edb50eaa0b229b [file] [log] [blame]
//===- subzero/runtime/szrt.c - Subzero runtime source ----------*- C++ -*-===//
//
// The Subzero Code Generator
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file implements the runtime helper routines that are needed by
// Subzero. This needs to be compiled by some non-Subzero compiler.
//
//===----------------------------------------------------------------------===//
#include <stdint.h>
#include <stdlib.h>
void ice_unreachable(void) { abort(); }
uint32_t cvtftoui32(float value) { return (uint32_t)value; }
uint32_t cvtdtoui32(double value) { return (uint32_t)value; }
int64_t cvtftosi64(float value) { return (int64_t)value; }
int64_t cvtdtosi64(double value) { return (int64_t)value; }
uint64_t cvtftoui64(float value) { return (uint64_t)value; }
uint64_t cvtdtoui64(double value) { return (uint64_t)value; }
float cvtui32tof(uint32_t value) { return (float)value; }
float cvtsi64tof(int64_t value) { return (float)value; }
float cvtui64tof(uint64_t value) { return (float)value; }
double cvtui32tod(uint32_t value) { return (double)value; }
double cvtsi64tod(int64_t value) { return (double)value; }
double cvtui64tod(uint64_t value) { return (double)value; }
/* TODO(stichnot):
Sz_bitcast_v8i1_to_i8
Sz_bitcast_v16i1_to_i16
Sz_bitcast_i8_to_v8i1
Sz_bitcast_i16_to_v16i1
*/