Index: llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll =================================================================== --- llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll +++ llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll @@ -1,6 +1,9 @@ ; RUN: llc < %s ; PR3806 +; NVPTX does not support 'alias' yet +; XFAIL: nvptx + %struct..0__pthread_mutex_s = type { i32, i32, i32, i32, i32, i32, %struct.__pthread_list_t } %struct.Alignment = type { i32 } %struct.QDesignerFormWindowInterface = type { %struct.QWidget } Index: llvm/test/CodeGen/Generic/ForceStackAlign.ll =================================================================== --- llvm/test/CodeGen/Generic/ForceStackAlign.ll +++ llvm/test/CodeGen/Generic/ForceStackAlign.ll @@ -8,6 +8,9 @@ ; Stack realignment not supported. ; XFAIL: sparc +; NVPTX cannot select dynamic_stackalloc +; XFAIL: nvptx + define i32 @f(i8* %p) nounwind { entry: %0 = load i8, i8* %p Index: llvm/test/CodeGen/Generic/add-with-overflow-128.ll =================================================================== --- llvm/test/CodeGen/Generic/add-with-overflow-128.ll +++ llvm/test/CodeGen/Generic/add-with-overflow-128.ll @@ -1,5 +1,9 @@ ; RUN: llc < %s +; NVPTX fails to LowerFormalArguments for arg type i96 +; the arg byte size must be one of the {16, 8, 4, 2} +; XFAIL: nvptx + @ok = internal constant [4 x i8] c"%d\0A\00" @no = internal constant [4 x i8] c"no\0A\00" Index: llvm/test/CodeGen/Generic/addr-label.ll =================================================================== --- llvm/test/CodeGen/Generic/addr-label.ll +++ llvm/test/CodeGen/Generic/addr-label.ll @@ -3,6 +3,9 @@ ; REQUIRES: arm-registered-target +; NVPTX unexpectedly emitted of the global var, while the function is not emitted as expected +; XFAIL: nvptx + ;; Reference to a label that gets deleted. define i8* @test1() nounwind { entry: Index: llvm/test/CodeGen/Generic/externally_available.ll =================================================================== --- llvm/test/CodeGen/Generic/externally_available.ll +++ llvm/test/CodeGen/Generic/externally_available.ll @@ -6,6 +6,9 @@ ; so that users won't run into errors in situations like: ; clang -target powerpc-ibm-aix -xc -<<<$'extern inline __attribute__((__gnu_inline__)) void foo() {}\nvoid bar() { foo(); }' -O -Xclang -disable-llvm-passes +; XFAIL: nvptx +; unexpected emitting of the global var, while the function is not emitted as expected + ; test_function should not be emitted to the .s file. define available_externally i32 @test_function() { ret i32 4 Index: llvm/test/CodeGen/Generic/fpowi-promote.ll =================================================================== --- llvm/test/CodeGen/Generic/fpowi-promote.ll +++ llvm/test/CodeGen/Generic/fpowi-promote.ll @@ -2,6 +2,9 @@ ; PR1239 +; Undefined external symbol "__powisf2" +; XFAIL: nvptx + define float @test(float %tmp23302331, i32 %tmp23282329 ) { %tmp2339 = call float @llvm.powi.f32.i32( float %tmp23302331, i32 %tmp23282329 ) Index: llvm/test/CodeGen/Generic/icmp-illegal.ll =================================================================== --- llvm/test/CodeGen/Generic/icmp-illegal.ll +++ llvm/test/CodeGen/Generic/icmp-illegal.ll @@ -1,5 +1,9 @@ ; RUN: llc < %s | FileCheck %s +; NVPTX fails to LowerFormalArguments for arg size > i128 +; the arg byte size must be one of the {16, 8, 4, 2} +; XFAIL: nvptx + ; CHECK-LABEL: test_ult define i1 @test_ult(i256 %a) nounwind { %1 = icmp ult i256 %a, -6432394258550908438 Index: llvm/test/CodeGen/Generic/inline-asm-mem-clobber.ll =================================================================== --- llvm/test/CodeGen/Generic/inline-asm-mem-clobber.ll +++ llvm/test/CodeGen/Generic/inline-asm-mem-clobber.ll @@ -3,6 +3,9 @@ ; XCore default subtarget does not support 8-byte alignment on stack. ; XFAIL: xcore +; NVPTX output seems valid, but not what the test expects +; XFAIL: nvptx + @G = common global i32 0, align 4 define i32 @foo(i8* %p) nounwind uwtable { Index: llvm/test/CodeGen/Generic/intrinsics.ll =================================================================== --- llvm/test/CodeGen/Generic/intrinsics.ll +++ llvm/test/CodeGen/Generic/intrinsics.ll @@ -1,6 +1,9 @@ ; RUN: llc < %s ; RUN: llc -O0 < %s +; NVPTX can't select sinf(float)/sin(double) +; XFAIL: nvptx + ;; SQRT declare float @llvm.sqrt.f32(float) Index: llvm/test/CodeGen/Generic/live-debug-label.ll =================================================================== --- llvm/test/CodeGen/Generic/live-debug-label.ll +++ llvm/test/CodeGen/Generic/live-debug-label.ll @@ -1,5 +1,8 @@ ; RUN: llc < %s -stop-after=virtregrewriter -o - | FileCheck %s ; +; NVPTX produces a different order of the BBs +; XFAIL: nvptx + ; Generated with "clang++ -g -O1 -S -emit-llvm" ; ; inline bool bar(char c) { Index: llvm/test/CodeGen/Generic/llc-start-stop.ll =================================================================== --- llvm/test/CodeGen/Generic/llc-start-stop.ll +++ llvm/test/CodeGen/Generic/llc-start-stop.ll @@ -1,3 +1,6 @@ +; NVPTX customizes the list of passes so the test cannot find what it expects +; XFAIL: nvptx + ; Note: -verify-machineinstrs is used in order to make this test compatible with EXPENSIVE_CHECKS. ; RUN: llc < %s -debug-pass=Structure -stop-after=loop-reduce -verify-machineinstrs -o /dev/null 2>&1 \ ; RUN: | FileCheck %s -check-prefix=STOP-AFTER