Commit 10ea6989 by Jim Stichnoth

Subzero: Add a script that builds a hybrid Subzero/llc native executable.

The script translates a pexe using both Subzero and llc, and then uses linker tricks to resolve each symbol into either its Subzero or llc version. This enables quick bisection-based debugging of Subzero code generation. BUG= none R=jfb@chromium.org, jvoung@chromium.org Review URL: https://codereview.chromium.org/551953002
parent 72a8f8da
//===- 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_fptoui_v4f32
Sz_uitofp_v4i32
Sz_bitcast_v8i1_to_i8
Sz_bitcast_v16i1_to_i16
Sz_bitcast_i8_to_v8i1
Sz_bitcast_i16_to_v16i1
*/
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment