+; RUN: llvm-as -f %s -o - | llc
+
; This causes the backend to assert out with:
; SparcInstrInfo.cpp:103: failed assertion `0 && "Unexpected unsigned type"'
;
+; RUN: llvm-as -f %s -o - | llc
+
; Compiling this file produces:
; Sparc.cpp:91: failed assertion `(offset - OFFSET) % getStackFrameSizeAlignment() == 0'
;
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/MultiSource/McCat-05-eks/QRfact.c
;; Function: Matrix QRiterate(Matrix A, Matrix U)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 27, 2003.
;; From: Variant of 2003-05-27-usefsubasbool.ll
;;
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 27, 2003.
;; From: test/Programs/MultiSource/McCat-05-eks/QRfact.c
;; Function: Matrix QRiterate(Matrix A, Matrix U)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/External/SPEC/CINT2000/175.vpr.llvm.bc
;; Function: int %main(int %argc.1, sbyte** %argv.1)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/External/SPEC/CINT2000/254.gap.llvm.bc
;; Function: int %OpenOutput(sbyte* %filename.1)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/SingleSource/richards_benchmark.c
;; Function: struct task *handlerfn(struct packet *pkt)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/MultiSource/Olden-perimeter/maketree.c
;; Function: int CheckOutside(int x, int y)
+; RUN: llvm-as -f %s -o - | llc
+
target endian = big
target pointersize = 64
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: Jul 8, 2003.
;; From: test/Programs/MultiSource/Olden-perimeter
;; Function: int %adj(uint %d.1, uint %ct.1)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: Jul 29, 2003.
;; From: test/Programs/MultiSource/Ptrdist-bc
;; Function: ---
+; RUN: llvm-as -f %s -o - | llc
+
;; Register allocation is doing a very poor job on this routine from yyparse
;; in Burg:
;; -- at least two long-lived values are being allocated to %o? registers
+; RUN: llvm-as -f %s -o - | llc
+
; This caused a problem because the argument of a call was defined by
; the return value of another call that appears later in the code.
; When processing the first call, the second call has not yet been processed
+; RUN: llvm-as -f %s -o - | llc
+
;; GetMemInstArgs() folded the two getElementPtr instructions together,
;; producing an illegal getElementPtr. That's because the type generated
;; by the last index for the first one is a structure field, not an array
+; RUN: llvm-as -f %s -o - | llc
+
; On this code, llc did not pass the sixth argument (%reg321) to printf.
; It passed the first five in %o0 - %o4, but never initialized %o5.
; Fix in SparcInstrSelection.cpp:
+; RUN: llvm-as -f %s -o - | llc
+
implementation
int "main"()
+; RUN: llvm-as -f %s -o - | llc
+
; Test that a sequence of constant indices are folded correctly
; into the equivalent offset at compile-time.
+; RUN: llvm-as -f %s -o - | llc
+
;;
;; Test the sequence:
;; cast -> setle 0, %cast -> br %cond
+; RUN: llvm-as -f %s -o - | llc
+
; Test that a negative constant smaller than 64 bits (e.g., int)
; is correctly implemented with sign-extension.
; In particular, the current code generated is:
+; RUN: llvm-as -f %s -o - | llc
+
implementation
declare int "printf"(sbyte*, int, float)
+; RUN: llvm-as -f %s -o - | llc
+
%AConst = constant int 123
%Domain = type { sbyte*, int, int*, int, int, int*, %Domain* }
+; RUN: llvm-as -f %s -o - | llc
+
; July 6, 2002 -- LLC Regression test
; This test case checks if the integer CC register %xcc (or %ccr)
; is correctly spilled. The code fragment came from function
+; RUN: llvm-as -f %s -o - | llc
+
; This causes the backend to assert out with:
; SparcInstrInfo.cpp:103: failed assertion `0 && "Unexpected unsigned type"'
;
+; RUN: llvm-as -f %s -o - | llc
+
; Compiling this file produces:
; Sparc.cpp:91: failed assertion `(offset - OFFSET) % getStackFrameSizeAlignment() == 0'
;
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/MultiSource/McCat-05-eks/QRfact.c
;; Function: Matrix QRiterate(Matrix A, Matrix U)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 27, 2003.
;; From: Variant of 2003-05-27-usefsubasbool.ll
;;
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 27, 2003.
;; From: test/Programs/MultiSource/McCat-05-eks/QRfact.c
;; Function: Matrix QRiterate(Matrix A, Matrix U)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/External/SPEC/CINT2000/175.vpr.llvm.bc
;; Function: int %main(int %argc.1, sbyte** %argv.1)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/External/SPEC/CINT2000/254.gap.llvm.bc
;; Function: int %OpenOutput(sbyte* %filename.1)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/SingleSource/richards_benchmark.c
;; Function: struct task *handlerfn(struct packet *pkt)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: May 28, 2003.
;; From: test/Programs/MultiSource/Olden-perimeter/maketree.c
;; Function: int CheckOutside(int x, int y)
+; RUN: llvm-as -f %s -o - | llc
+
target endian = big
target pointersize = 64
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: Jul 8, 2003.
;; From: test/Programs/MultiSource/Olden-perimeter
;; Function: int %adj(uint %d.1, uint %ct.1)
+; RUN: llvm-as -f %s -o - | llc
+
;; Date: Jul 29, 2003.
;; From: test/Programs/MultiSource/Ptrdist-bc
;; Function: ---
+; RUN: llvm-as -f %s -o - | llc
+
;; Register allocation is doing a very poor job on this routine from yyparse
;; in Burg:
;; -- at least two long-lived values are being allocated to %o? registers
+; RUN: llvm-as -f %s -o - | llc
+
; This caused a problem because the argument of a call was defined by
; the return value of another call that appears later in the code.
; When processing the first call, the second call has not yet been processed
+; RUN: llvm-as -f %s -o - | llc
+
;; GetMemInstArgs() folded the two getElementPtr instructions together,
;; producing an illegal getElementPtr. That's because the type generated
;; by the last index for the first one is a structure field, not an array
+; RUN: llvm-as -f %s -o - | llc
+
; On this code, llc did not pass the sixth argument (%reg321) to printf.
; It passed the first five in %o0 - %o4, but never initialized %o5.
; Fix in SparcInstrSelection.cpp:
+; RUN: llvm-as -f %s -o - | llc
+
implementation
int "main"()
+; RUN: llvm-as -f %s -o - | llc
+
; Test that a sequence of constant indices are folded correctly
; into the equivalent offset at compile-time.
+; RUN: llvm-as -f %s -o - | llc
+
;;
;; Test the sequence:
;; cast -> setle 0, %cast -> br %cond
+; RUN: llvm-as -f %s -o - | llc
+
; Test that a negative constant smaller than 64 bits (e.g., int)
; is correctly implemented with sign-extension.
; In particular, the current code generated is:
+; RUN: llvm-as -f %s -o - | llc
+
implementation
declare int "printf"(sbyte*, int, float)
+; RUN: llvm-as -f %s -o - | llc
+
%AConst = constant int 123
%Domain = type { sbyte*, int, int*, int, int, int*, %Domain* }
+; RUN: llvm-as -f %s -o - | llc
+
; July 6, 2002 -- LLC Regression test
; This test case checks if the integer CC register %xcc (or %ccr)
; is correctly spilled. The code fragment came from function
+; RUN: not llvm-as -f %s -o /dev/null
+
; Verify the the operand type of the ret instructions in a function match the
; delcared return type of the function they live in.
;
+; RUN: not llvm-as -f %s -o /dev/null
+
; This testcase is invalid because we are indexing into a pointer that is
; contained WITHIN a structure.
+; RUN: not llvm-as -f %s -o /dev/null
+
%T = type { int }
+; RUN: not llvm-as -f %s -o /dev/null
+
int %main() {
+; RUN: not llvm-as -f %s -o /dev/null
+
int "test"(int %i, int %j, bool %c) {
+; RUN: not llvm-as -f %s -o /dev/null
+
int "test"(int %i, int %j, bool %c) {
+; RUN: not llvm-as -f %s -o /dev/null
+
; Test that self referential instructions are not allowed
implementation