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 cannot select BlockAddress
+; 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
@@ -14,7 +14,7 @@
   %0 = load i8*, i8** %p.addr, align 8
 ; CHECK: blah
   %1 = call i32 asm "blah", "=r,r,~{memory}"(i8* %0) nounwind
-; CHECK: @G
+; CHECK: {{[^[:alnum:]]}}G{{[^[:alnum:]]}}
   store i32 %1, i32* %rv, align 4
   %2 = load i32, i32* %rv, align 4
   %3 = load i32, i32* @G, align 4
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