+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
%.LC0 = internal global [10 x sbyte] c"argc: %d\0A\00"
implementation ; Functions:
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
implementation ; Functions:
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
implementation
int %main() {
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %main() {
br label %Loop
Loop:
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; We were accidentally inverting the signedness of right shifts. Whoops.
int %main() {
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %main() {
%X = add double 0.0, 1.0
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %bar(sbyte* %X) {
%P = alloca double ; pointer should be 4 byte aligned!
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
target endian = little
target pointersize = 32
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; Testcase distilled from 256.bzip2.
target endian = little
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; Testcase distilled from 256.bzip2.
target endian = little
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; This testcase failed to work because two variable sized allocas confused the
; local register allocator.
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
;
; Regression Test: EnvironmentTest.ll
;
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; This testcase exposes a bug in the local register allocator where it runs out
; of registers (due to too many overlapping live ranges), but then attempts to
; use the ESP register (which is not allocatable) to hold a value.
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
%A = global int 0
int %main() {
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
%.LC0 = internal global [12 x sbyte] c"Hello World\00"
implementation
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
%X = global int 7
%msg = internal global [13 x sbyte] c"Hello World\0A\00"
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
implementation
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
implementation
int %bar() { ret int 0 }
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %main() {
%A = add sbyte 0, 12
%B = sub sbyte %A, 1
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; test unconditional branch
int %main() {
br label %Test
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
declare void %exit(int)
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %foo() {
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; This tests to make sure that we can evaluate wierd constant expressions
%A = global int 5
%B = global int 6
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
double %test(double* %DP, double %Arg) {
%D = load double* %DP
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
void %test(sbyte* %P, short* %P, int* %P, long* %P) {
%V = load sbyte* %P
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %main() {
%A = and sbyte 4, 8
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %main() {
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %main() {
%X = malloc int ; constant size
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; test phi node
%Y = global int 6
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; test return instructions
void %test() { ret void }
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %main() {
%double1 = add double 0.0, 0.0
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
int %main() {
%int1 = add int 0, 0
+; RUN: llvm-as -f %s -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
; test shifts
int %main() {
%shamt = add ubyte 0, 1