diff --git a/llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll b/llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll index e2fcd72eb1863f..551222be3402e8 100644 --- a/llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll +++ b/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 } diff --git a/llvm/test/CodeGen/Generic/ForceStackAlign.ll b/llvm/test/CodeGen/Generic/ForceStackAlign.ll index d4bdb1526c191d..e3b7247e017fc1 100644 --- a/llvm/test/CodeGen/Generic/ForceStackAlign.ll +++ b/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 diff --git a/llvm/test/CodeGen/Generic/add-with-overflow-128.ll b/llvm/test/CodeGen/Generic/add-with-overflow-128.ll index 2a7456cbc2110b..2a45dd4c170d7c 100644 --- a/llvm/test/CodeGen/Generic/add-with-overflow-128.ll +++ b/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" diff --git a/llvm/test/CodeGen/Generic/addr-label.ll b/llvm/test/CodeGen/Generic/addr-label.ll index 2f9b9b79611496..d60e3757c3a1c5 100644 --- a/llvm/test/CodeGen/Generic/addr-label.ll +++ b/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: diff --git a/llvm/test/CodeGen/Generic/externally_available.ll b/llvm/test/CodeGen/Generic/externally_available.ll index 5bf31c2f027683..f9321e3047ae1f 100644 --- a/llvm/test/CodeGen/Generic/externally_available.ll +++ b/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 diff --git a/llvm/test/CodeGen/Generic/fpowi-promote.ll b/llvm/test/CodeGen/Generic/fpowi-promote.ll index dbdc423879999f..3f9434b6e5d6ed 100644 --- a/llvm/test/CodeGen/Generic/fpowi-promote.ll +++ b/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 ) diff --git a/llvm/test/CodeGen/Generic/icmp-illegal.ll b/llvm/test/CodeGen/Generic/icmp-illegal.ll index 77dd5a59dfd1e4..be5b46639d24b2 100644 --- a/llvm/test/CodeGen/Generic/icmp-illegal.ll +++ b/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 diff --git a/llvm/test/CodeGen/Generic/inline-asm-mem-clobber.ll b/llvm/test/CodeGen/Generic/inline-asm-mem-clobber.ll index a4f21a0955fec6..02ca3ddcd539b4 100644 --- a/llvm/test/CodeGen/Generic/inline-asm-mem-clobber.ll +++ b/llvm/test/CodeGen/Generic/inline-asm-mem-clobber.ll @@ -14,7 +14,7 @@ entry: %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 diff --git a/llvm/test/CodeGen/Generic/intrinsics.ll b/llvm/test/CodeGen/Generic/intrinsics.ll index a889d967a13342..f432f202d63afb 100644 --- a/llvm/test/CodeGen/Generic/intrinsics.ll +++ b/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) diff --git a/llvm/test/CodeGen/Generic/live-debug-label.ll b/llvm/test/CodeGen/Generic/live-debug-label.ll index 6f2f06a69addd6..cf3b98c5e1c98d 100644 --- a/llvm/test/CodeGen/Generic/live-debug-label.ll +++ b/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) { diff --git a/llvm/test/CodeGen/Generic/llc-start-stop.ll b/llvm/test/CodeGen/Generic/llc-start-stop.ll index a60b274c44fd09..a797ccf89fef26 100644 --- a/llvm/test/CodeGen/Generic/llc-start-stop.ll +++ b/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