diff --git a/llvm/test/CodeGen/Generic/2007-12-17-InvokeAsm.ll b/llvm/test/CodeGen/Generic/2007-12-17-InvokeAsm.ll --- a/llvm/test/CodeGen/Generic/2007-12-17-InvokeAsm.ll +++ b/llvm/test/CodeGen/Generic/2007-12-17-InvokeAsm.ll @@ -1,5 +1,9 @@ ; RUN: llc -no-integrated-as < %s +; The test uses inline assembly with x86-specific constraints. +; UNSUPPORTED: nvptx + + define fastcc void @bc__support__high_resolution_time__initialize_clock_rate() personality i32 (...)* @__gxx_personality_v0 { entry: invoke void asm "rdtsc\0A\09movl %eax, $0\0A\09movl %edx, $1", "=*imr,=*imr,~{dirflag},~{fpsr},~{flags},~{dx},~{ax}"( i32* elementtype( i32) null, i32* elementtype(i32) null ) diff --git a/llvm/test/CodeGen/Generic/2010-ZeroSizedArg.ll b/llvm/test/CodeGen/Generic/2010-ZeroSizedArg.ll --- a/llvm/test/CodeGen/Generic/2010-ZeroSizedArg.ll +++ b/llvm/test/CodeGen/Generic/2010-ZeroSizedArg.ll @@ -1,6 +1,9 @@ ; RUN: llc < %s ; PR4975 +; NVPTX does not support zero sized type arg +; UNSUPPORTED: nvptx + %0 = type <{ [0 x i32] }> %union.T0 = type { } diff --git a/llvm/test/CodeGen/Generic/APIntLoadStore.ll b/llvm/test/CodeGen/Generic/APIntLoadStore.ll --- a/llvm/test/CodeGen/Generic/APIntLoadStore.ll +++ b/llvm/test/CodeGen/Generic/APIntLoadStore.ll @@ -1,4 +1,8 @@ ; RUN: llc < %s > %t + +; NVPTX does not support arbitrary integer types and has acceptable subset tested in NVPTX/APIntLoadStore.ll +; UNSUPPORTED: nvptx + @i1_l = external global i1 ; [#uses=1] @i1_s = external global i1 ; [#uses=1] @i2_l = external global i2 ; [#uses=1] diff --git a/llvm/test/CodeGen/Generic/APIntParam.ll b/llvm/test/CodeGen/Generic/APIntParam.ll --- a/llvm/test/CodeGen/Generic/APIntParam.ll +++ b/llvm/test/CodeGen/Generic/APIntParam.ll @@ -1,4 +1,8 @@ ; RUN: llc < %s > %t + +; NVPTX does not support arbitrary integer types and has acceptable subset tested in NVPTX/APIntParam.ll +; UNSUPPORTED: nvptx + @i1_s = external global i1 ; [#uses=1] @i2_s = external global i2 ; [#uses=1] @i3_s = external global i3 ; [#uses=1] diff --git a/llvm/test/CodeGen/Generic/APIntSextParam.ll b/llvm/test/CodeGen/Generic/APIntSextParam.ll --- a/llvm/test/CodeGen/Generic/APIntSextParam.ll +++ b/llvm/test/CodeGen/Generic/APIntSextParam.ll @@ -1,4 +1,8 @@ ; RUN: llc < %s > %t + +; NVPTX does not support arbitrary integer types and has acceptable subset tested in NVPTX/APIntSextParam.ll +; UNSUPPORTED: nvptx + @i1_s = external global i1 ; [#uses=1] @i2_s = external global i2 ; [#uses=1] @i3_s = external global i3 ; [#uses=1] diff --git a/llvm/test/CodeGen/Generic/APIntZextParam.ll b/llvm/test/CodeGen/Generic/APIntZextParam.ll --- a/llvm/test/CodeGen/Generic/APIntZextParam.ll +++ b/llvm/test/CodeGen/Generic/APIntZextParam.ll @@ -1,4 +1,8 @@ ; RUN: llc < %s > %t + +; NVPTX does not support arbitrary integer types and has acceptable subset tested in NVPTX/APIntZextParam.ll +; UNSUPPORTED: nvptx + @i1_s = external global i1 ; [#uses=1] @i2_s = external global i2 ; [#uses=1] @i3_s = external global i3 ; [#uses=1] diff --git a/llvm/test/CodeGen/Generic/empty-load-store.ll b/llvm/test/CodeGen/Generic/empty-load-store.ll --- a/llvm/test/CodeGen/Generic/empty-load-store.ll +++ b/llvm/test/CodeGen/Generic/empty-load-store.ll @@ -1,6 +1,9 @@ ; RUN: llc < %s ; PR2612 +; Triggers a crash on assertion as NVPTX does not support 0-sized arrays. +; UNSUPPORTED: nvptx + @current_foo = internal global { } zeroinitializer define i32 @foo() { diff --git a/llvm/test/CodeGen/Generic/pr12507.ll b/llvm/test/CodeGen/Generic/pr12507.ll --- a/llvm/test/CodeGen/Generic/pr12507.ll +++ b/llvm/test/CodeGen/Generic/pr12507.ll @@ -1,5 +1,8 @@ ; RUN: llc < %s +; NVPTX failed to lower arg i160, as size > 64 +; UNSUPPORTED: nvptx + @c = external global i32, align 4 define void @foo(i160 %x) { diff --git a/llvm/test/CodeGen/Generic/pr24662.ll b/llvm/test/CodeGen/Generic/pr24662.ll --- a/llvm/test/CodeGen/Generic/pr24662.ll +++ b/llvm/test/CodeGen/Generic/pr24662.ll @@ -1,6 +1,9 @@ ; RUN: llc < %s -fast-isel ; RUN: llc < %s +; NVPTX failed to lower i670010, as size > 64 +; UNSUPPORTED: nvptx + define i60 @PR24662a() { ret i60 trunc (i670010 fptoui(float 0x400D9999A0000000 to i670010) to i60) } diff --git a/llvm/test/CodeGen/Generic/stacksave-restore.ll b/llvm/test/CodeGen/Generic/stacksave-restore.ll --- a/llvm/test/CodeGen/Generic/stacksave-restore.ll +++ b/llvm/test/CodeGen/Generic/stacksave-restore.ll @@ -1,5 +1,8 @@ ; RUN: llc < %s +; NVPTX can not select llvm.stacksave (dynamic_stackalloc) and llvm.stackrestore +; UNSUPPORTED: nvptx + declare i8* @llvm.stacksave() declare void @llvm.stackrestore(i8*) diff --git a/llvm/test/CodeGen/Generic/zero-sized-array.ll b/llvm/test/CodeGen/Generic/zero-sized-array.ll --- a/llvm/test/CodeGen/Generic/zero-sized-array.ll +++ b/llvm/test/CodeGen/Generic/zero-sized-array.ll @@ -1,6 +1,9 @@ ; RUN: llc < %s ; PR9900 +; NVPTX does not support zero sized type arg +; UNSUPPORTED: nvptx + %zero = type [0 x i8] %foobar = type { i32, %zero } diff --git a/llvm/test/CodeGen/MLRegalloc/default-eviction-advisor.ll b/llvm/test/CodeGen/MLRegalloc/default-eviction-advisor.ll --- a/llvm/test/CodeGen/MLRegalloc/default-eviction-advisor.ll +++ b/llvm/test/CodeGen/MLRegalloc/default-eviction-advisor.ll @@ -7,6 +7,9 @@ ; RUN: not llc -O2 -regalloc-enable-advisor=release < %s 2>&1 | FileCheck %s ; RUN: llc -O2 -regalloc-enable-advisor=default < %s 2>&1 | FileCheck %s --check-prefix=DEFAULT +; regalloc-enable-advisor is not enabled for NVPTX +; UNSUPPORTED: nvptx + define void @f2(i64 %lhs, i64 %rhs, i64* %addr) { %sum = add i64 %lhs, %rhs store i64 %sum, i64* %addr diff --git a/llvm/test/CodeGen/NVPTX/APIntLoadStore.ll b/llvm/test/CodeGen/NVPTX/APIntLoadStore.ll new file mode 100644 --- /dev/null +++ b/llvm/test/CodeGen/NVPTX/APIntLoadStore.ll @@ -0,0 +1,515 @@ +; RUN: llc -march=nvptx < %s > %t +; RUN: llc -march=nvptx64 < %s > %t + +@i1_l = external global i1 ; [#uses=1] +@i1_s = external global i1 ; [#uses=1] +@i2_l = external global i2 ; [#uses=1] +@i2_s = external global i2 ; [#uses=1] +@i3_l = external global i3 ; [#uses=1] +@i3_s = external global i3 ; [#uses=1] +@i4_l = external global i4 ; [#uses=1] +@i4_s = external global i4 ; [#uses=1] +@i5_l = external global i5 ; [#uses=1] +@i5_s = external global i5 ; [#uses=1] +@i6_l = external global i6 ; [#uses=1] +@i6_s = external global i6 ; [#uses=1] +@i7_l = external global i7 ; [#uses=1] +@i7_s = external global i7 ; [#uses=1] +@i8_l = external global i8 ; [#uses=1] +@i8_s = external global i8 ; [#uses=1] +@i9_l = external global i9 ; [#uses=1] +@i9_s = external global i9 ; [#uses=1] +@i10_l = external global i10 ; [#uses=1] +@i10_s = external global i10 ; [#uses=1] +@i11_l = external global i11 ; [#uses=1] +@i11_s = external global i11 ; [#uses=1] +@i12_l = external global i12 ; [#uses=1] +@i12_s = external global i12 ; [#uses=1] +@i13_l = external global i13 ; [#uses=1] +@i13_s = external global i13 ; [#uses=1] +@i14_l = external global i14 ; [#uses=1] +@i14_s = external global i14 ; [#uses=1] +@i15_l = external global i15 ; [#uses=1] +@i15_s = external global i15 ; [#uses=1] +@i16_l = external global i16 ; [#uses=1] +@i16_s = external global i16 ; [#uses=1] +@i17_l = external global i17 ; [#uses=1] +@i17_s = external global i17 ; [#uses=1] +@i18_l = external global i18 ; [#uses=1] +@i18_s = external global i18 ; [#uses=1] +@i19_l = external global i19 ; [#uses=1] +@i19_s = external global i19 ; [#uses=1] +@i20_l = external global i20 ; [#uses=1] +@i20_s = external global i20 ; [#uses=1] +@i21_l = external global i21 ; [#uses=1] +@i21_s = external global i21 ; [#uses=1] +@i22_l = external global i22 ; [#uses=1] +@i22_s = external global i22 ; [#uses=1] +@i23_l = external global i23 ; [#uses=1] +@i23_s = external global i23 ; [#uses=1] +@i24_l = external global i24 ; [#uses=1] +@i24_s = external global i24 ; [#uses=1] +@i25_l = external global i25 ; [#uses=1] +@i25_s = external global i25 ; [#uses=1] +@i26_l = external global i26 ; [#uses=1] +@i26_s = external global i26 ; [#uses=1] +@i27_l = external global i27 ; [#uses=1] +@i27_s = external global i27 ; [#uses=1] +@i28_l = external global i28 ; [#uses=1] +@i28_s = external global i28 ; [#uses=1] +@i29_l = external global i29 ; [#uses=1] +@i29_s = external global i29 ; [#uses=1] +@i30_l = external global i30 ; [#uses=1] +@i30_s = external global i30 ; [#uses=1] +@i31_l = external global i31 ; [#uses=1] +@i31_s = external global i31 ; [#uses=1] +@i32_l = external global i32 ; [#uses=1] +@i32_s = external global i32 ; [#uses=1] +@i33_l = external global i33 ; [#uses=1] +@i33_s = external global i33 ; [#uses=1] +@i34_l = external global i34 ; [#uses=1] +@i34_s = external global i34 ; [#uses=1] +@i35_l = external global i35 ; [#uses=1] +@i35_s = external global i35 ; [#uses=1] +@i36_l = external global i36 ; [#uses=1] +@i36_s = external global i36 ; [#uses=1] +@i37_l = external global i37 ; [#uses=1] +@i37_s = external global i37 ; [#uses=1] +@i38_l = external global i38 ; [#uses=1] +@i38_s = external global i38 ; [#uses=1] +@i39_l = external global i39 ; [#uses=1] +@i39_s = external global i39 ; [#uses=1] +@i40_l = external global i40 ; [#uses=1] +@i40_s = external global i40 ; [#uses=1] +@i41_l = external global i41 ; [#uses=1] +@i41_s = external global i41 ; [#uses=1] +@i42_l = external global i42 ; [#uses=1] +@i42_s = external global i42 ; [#uses=1] +@i43_l = external global i43 ; [#uses=1] +@i43_s = external global i43 ; [#uses=1] +@i44_l = external global i44 ; [#uses=1] +@i44_s = external global i44 ; [#uses=1] +@i45_l = external global i45 ; [#uses=1] +@i45_s = external global i45 ; [#uses=1] +@i46_l = external global i46 ; [#uses=1] +@i46_s = external global i46 ; [#uses=1] +@i47_l = external global i47 ; [#uses=1] +@i47_s = external global i47 ; [#uses=1] +@i48_l = external global i48 ; [#uses=1] +@i48_s = external global i48 ; [#uses=1] +@i49_l = external global i49 ; [#uses=1] +@i49_s = external global i49 ; [#uses=1] +@i50_l = external global i50 ; [#uses=1] +@i50_s = external global i50 ; [#uses=1] +@i51_l = external global i51 ; [#uses=1] +@i51_s = external global i51 ; [#uses=1] +@i52_l = external global i52 ; [#uses=1] +@i52_s = external global i52 ; [#uses=1] +@i53_l = external global i53 ; [#uses=1] +@i53_s = external global i53 ; [#uses=1] +@i54_l = external global i54 ; [#uses=1] +@i54_s = external global i54 ; [#uses=1] +@i55_l = external global i55 ; [#uses=1] +@i55_s = external global i55 ; [#uses=1] +@i56_l = external global i56 ; [#uses=1] +@i56_s = external global i56 ; [#uses=1] +@i57_l = external global i57 ; [#uses=1] +@i57_s = external global i57 ; [#uses=1] +@i58_l = external global i58 ; [#uses=1] +@i58_s = external global i58 ; [#uses=1] +@i59_l = external global i59 ; [#uses=1] +@i59_s = external global i59 ; [#uses=1] +@i60_l = external global i60 ; [#uses=1] +@i60_s = external global i60 ; [#uses=1] +@i61_l = external global i61 ; [#uses=1] +@i61_s = external global i61 ; [#uses=1] +@i62_l = external global i62 ; [#uses=1] +@i62_s = external global i62 ; [#uses=1] +@i63_l = external global i63 ; [#uses=1] +@i63_s = external global i63 ; [#uses=1] +@i64_l = external global i64 ; [#uses=1] +@i64_s = external global i64 ; [#uses=1] + +define void @i1_ls() nounwind { + %tmp = load i1, i1* @i1_l ; [#uses=1] + store i1 %tmp, i1* @i1_s + ret void +} + +define void @i2_ls() nounwind { + %tmp = load i2, i2* @i2_l ; [#uses=1] + store i2 %tmp, i2* @i2_s + ret void +} + +define void @i3_ls() nounwind { + %tmp = load i3, i3* @i3_l ; [#uses=1] + store i3 %tmp, i3* @i3_s + ret void +} + +define void @i4_ls() nounwind { + %tmp = load i4, i4* @i4_l ; [#uses=1] + store i4 %tmp, i4* @i4_s + ret void +} + +define void @i5_ls() nounwind { + %tmp = load i5, i5* @i5_l ; [#uses=1] + store i5 %tmp, i5* @i5_s + ret void +} + +define void @i6_ls() nounwind { + %tmp = load i6, i6* @i6_l ; [#uses=1] + store i6 %tmp, i6* @i6_s + ret void +} + +define void @i7_ls() nounwind { + %tmp = load i7, i7* @i7_l ; [#uses=1] + store i7 %tmp, i7* @i7_s + ret void +} + +define void @i8_ls() nounwind { + %tmp = load i8, i8* @i8_l ; [#uses=1] + store i8 %tmp, i8* @i8_s + ret void +} + +define void @i9_ls() nounwind { + %tmp = load i9, i9* @i9_l ; [#uses=1] + store i9 %tmp, i9* @i9_s + ret void +} + +define void @i10_ls() nounwind { + %tmp = load i10, i10* @i10_l ; [#uses=1] + store i10 %tmp, i10* @i10_s + ret void +} + +define void @i11_ls() nounwind { + %tmp = load i11, i11* @i11_l ; [#uses=1] + store i11 %tmp, i11* @i11_s + ret void +} + +define void @i12_ls() nounwind { + %tmp = load i12, i12* @i12_l ; [#uses=1] + store i12 %tmp, i12* @i12_s + ret void +} + +define void @i13_ls() nounwind { + %tmp = load i13, i13* @i13_l ; [#uses=1] + store i13 %tmp, i13* @i13_s + ret void +} + +define void @i14_ls() nounwind { + %tmp = load i14, i14* @i14_l ; [#uses=1] + store i14 %tmp, i14* @i14_s + ret void +} + +define void @i15_ls() nounwind { + %tmp = load i15, i15* @i15_l ; [#uses=1] + store i15 %tmp, i15* @i15_s + ret void +} + +define void @i16_ls() nounwind { + %tmp = load i16, i16* @i16_l ; [#uses=1] + store i16 %tmp, i16* @i16_s + ret void +} + +define void @i17_ls() nounwind { + %tmp = load i17, i17* @i17_l ; [#uses=1] + store i17 %tmp, i17* @i17_s + ret void +} + +define void @i18_ls() nounwind { + %tmp = load i18, i18* @i18_l ; [#uses=1] + store i18 %tmp, i18* @i18_s + ret void +} + +define void @i19_ls() nounwind { + %tmp = load i19, i19* @i19_l ; [#uses=1] + store i19 %tmp, i19* @i19_s + ret void +} + +define void @i20_ls() nounwind { + %tmp = load i20, i20* @i20_l ; [#uses=1] + store i20 %tmp, i20* @i20_s + ret void +} + +define void @i21_ls() nounwind { + %tmp = load i21, i21* @i21_l ; [#uses=1] + store i21 %tmp, i21* @i21_s + ret void +} + +define void @i22_ls() nounwind { + %tmp = load i22, i22* @i22_l ; [#uses=1] + store i22 %tmp, i22* @i22_s + ret void +} + +define void @i23_ls() nounwind { + %tmp = load i23, i23* @i23_l ; [#uses=1] + store i23 %tmp, i23* @i23_s + ret void +} + +define void @i24_ls() nounwind { + %tmp = load i24, i24* @i24_l ; [#uses=1] + store i24 %tmp, i24* @i24_s + ret void +} + +define void @i25_ls() nounwind { + %tmp = load i25, i25* @i25_l ; [#uses=1] + store i25 %tmp, i25* @i25_s + ret void +} + +define void @i26_ls() nounwind { + %tmp = load i26, i26* @i26_l ; [#uses=1] + store i26 %tmp, i26* @i26_s + ret void +} + +define void @i27_ls() nounwind { + %tmp = load i27, i27* @i27_l ; [#uses=1] + store i27 %tmp, i27* @i27_s + ret void +} + +define void @i28_ls() nounwind { + %tmp = load i28, i28* @i28_l ; [#uses=1] + store i28 %tmp, i28* @i28_s + ret void +} + +define void @i29_ls() nounwind { + %tmp = load i29, i29* @i29_l ; [#uses=1] + store i29 %tmp, i29* @i29_s + ret void +} + +define void @i30_ls() nounwind { + %tmp = load i30, i30* @i30_l ; [#uses=1] + store i30 %tmp, i30* @i30_s + ret void +} + +define void @i31_ls() nounwind { + %tmp = load i31, i31* @i31_l ; [#uses=1] + store i31 %tmp, i31* @i31_s + ret void +} + +define void @i32_ls() nounwind { + %tmp = load i32, i32* @i32_l ; [#uses=1] + store i32 %tmp, i32* @i32_s + ret void +} + +define void @i33_ls() nounwind { + %tmp = load i33, i33* @i33_l ; [#uses=1] + store i33 %tmp, i33* @i33_s + ret void +} + +define void @i34_ls() nounwind { + %tmp = load i34, i34* @i34_l ; [#uses=1] + store i34 %tmp, i34* @i34_s + ret void +} + +define void @i35_ls() nounwind { + %tmp = load i35, i35* @i35_l ; [#uses=1] + store i35 %tmp, i35* @i35_s + ret void +} + +define void @i36_ls() nounwind { + %tmp = load i36, i36* @i36_l ; [#uses=1] + store i36 %tmp, i36* @i36_s + ret void +} + +define void @i37_ls() nounwind { + %tmp = load i37, i37* @i37_l ; [#uses=1] + store i37 %tmp, i37* @i37_s + ret void +} + +define void @i38_ls() nounwind { + %tmp = load i38, i38* @i38_l ; [#uses=1] + store i38 %tmp, i38* @i38_s + ret void +} + +define void @i39_ls() nounwind { + %tmp = load i39, i39* @i39_l ; [#uses=1] + store i39 %tmp, i39* @i39_s + ret void +} + +define void @i40_ls() nounwind { + %tmp = load i40, i40* @i40_l ; [#uses=1] + store i40 %tmp, i40* @i40_s + ret void +} + +define void @i41_ls() nounwind { + %tmp = load i41, i41* @i41_l ; [#uses=1] + store i41 %tmp, i41* @i41_s + ret void +} + +define void @i42_ls() nounwind { + %tmp = load i42, i42* @i42_l ; [#uses=1] + store i42 %tmp, i42* @i42_s + ret void +} + +define void @i43_ls() nounwind { + %tmp = load i43, i43* @i43_l ; [#uses=1] + store i43 %tmp, i43* @i43_s + ret void +} + +define void @i44_ls() nounwind { + %tmp = load i44, i44* @i44_l ; [#uses=1] + store i44 %tmp, i44* @i44_s + ret void +} + +define void @i45_ls() nounwind { + %tmp = load i45, i45* @i45_l ; [#uses=1] + store i45 %tmp, i45* @i45_s + ret void +} + +define void @i46_ls() nounwind { + %tmp = load i46, i46* @i46_l ; [#uses=1] + store i46 %tmp, i46* @i46_s + ret void +} + +define void @i47_ls() nounwind { + %tmp = load i47, i47* @i47_l ; [#uses=1] + store i47 %tmp, i47* @i47_s + ret void +} + +define void @i48_ls() nounwind { + %tmp = load i48, i48* @i48_l ; [#uses=1] + store i48 %tmp, i48* @i48_s + ret void +} + +define void @i49_ls() nounwind { + %tmp = load i49, i49* @i49_l ; [#uses=1] + store i49 %tmp, i49* @i49_s + ret void +} + +define void @i50_ls() nounwind { + %tmp = load i50, i50* @i50_l ; [#uses=1] + store i50 %tmp, i50* @i50_s + ret void +} + +define void @i51_ls() nounwind { + %tmp = load i51, i51* @i51_l ; [#uses=1] + store i51 %tmp, i51* @i51_s + ret void +} + +define void @i52_ls() nounwind { + %tmp = load i52, i52* @i52_l ; [#uses=1] + store i52 %tmp, i52* @i52_s + ret void +} + +define void @i53_ls() nounwind { + %tmp = load i53, i53* @i53_l ; [#uses=1] + store i53 %tmp, i53* @i53_s + ret void +} + +define void @i54_ls() nounwind { + %tmp = load i54, i54* @i54_l ; [#uses=1] + store i54 %tmp, i54* @i54_s + ret void +} + +define void @i55_ls() nounwind { + %tmp = load i55, i55* @i55_l ; [#uses=1] + store i55 %tmp, i55* @i55_s + ret void +} + +define void @i56_ls() nounwind { + %tmp = load i56, i56* @i56_l ; [#uses=1] + store i56 %tmp, i56* @i56_s + ret void +} + +define void @i57_ls() nounwind { + %tmp = load i57, i57* @i57_l ; [#uses=1] + store i57 %tmp, i57* @i57_s + ret void +} + +define void @i58_ls() nounwind { + %tmp = load i58, i58* @i58_l ; [#uses=1] + store i58 %tmp, i58* @i58_s + ret void +} + +define void @i59_ls() nounwind { + %tmp = load i59, i59* @i59_l ; [#uses=1] + store i59 %tmp, i59* @i59_s + ret void +} + +define void @i60_ls() nounwind { + %tmp = load i60, i60* @i60_l ; [#uses=1] + store i60 %tmp, i60* @i60_s + ret void +} + +define void @i61_ls() nounwind { + %tmp = load i61, i61* @i61_l ; [#uses=1] + store i61 %tmp, i61* @i61_s + ret void +} + +define void @i62_ls() nounwind { + %tmp = load i62, i62* @i62_l ; [#uses=1] + store i62 %tmp, i62* @i62_s + ret void +} + +define void @i63_ls() nounwind { + %tmp = load i63, i63* @i63_l ; [#uses=1] + store i63 %tmp, i63* @i63_s + ret void +} + +define void @i64_ls() nounwind { + %tmp = load i64, i64* @i64_l ; [#uses=1] + store i64 %tmp, i64* @i64_s + ret void +} diff --git a/llvm/test/CodeGen/NVPTX/APIntParam.ll b/llvm/test/CodeGen/NVPTX/APIntParam.ll new file mode 100644 --- /dev/null +++ b/llvm/test/CodeGen/NVPTX/APIntParam.ll @@ -0,0 +1,387 @@ +; RUN: llc -march=nvptx < %s > %t +; RUN: llc -march=nvptx64 < %s > %t + +@i1_s = external global i1 ; [#uses=1] +@i2_s = external global i2 ; [#uses=1] +@i3_s = external global i3 ; [#uses=1] +@i4_s = external global i4 ; [#uses=1] +@i5_s = external global i5 ; [#uses=1] +@i6_s = external global i6 ; [#uses=1] +@i7_s = external global i7 ; [#uses=1] +@i8_s = external global i8 ; [#uses=1] +@i9_s = external global i9 ; [#uses=1] +@i10_s = external global i10 ; [#uses=1] +@i11_s = external global i11 ; [#uses=1] +@i12_s = external global i12 ; [#uses=1] +@i13_s = external global i13 ; [#uses=1] +@i14_s = external global i14 ; [#uses=1] +@i15_s = external global i15 ; [#uses=1] +@i16_s = external global i16 ; [#uses=1] +@i17_s = external global i17 ; [#uses=1] +@i18_s = external global i18 ; [#uses=1] +@i19_s = external global i19 ; [#uses=1] +@i20_s = external global i20 ; [#uses=1] +@i21_s = external global i21 ; [#uses=1] +@i22_s = external global i22 ; [#uses=1] +@i23_s = external global i23 ; [#uses=1] +@i24_s = external global i24 ; [#uses=1] +@i25_s = external global i25 ; [#uses=1] +@i26_s = external global i26 ; [#uses=1] +@i27_s = external global i27 ; [#uses=1] +@i28_s = external global i28 ; [#uses=1] +@i29_s = external global i29 ; [#uses=1] +@i30_s = external global i30 ; [#uses=1] +@i31_s = external global i31 ; [#uses=1] +@i32_s = external global i32 ; [#uses=1] +@i33_s = external global i33 ; [#uses=1] +@i34_s = external global i34 ; [#uses=1] +@i35_s = external global i35 ; [#uses=1] +@i36_s = external global i36 ; [#uses=1] +@i37_s = external global i37 ; [#uses=1] +@i38_s = external global i38 ; [#uses=1] +@i39_s = external global i39 ; [#uses=1] +@i40_s = external global i40 ; [#uses=1] +@i41_s = external global i41 ; [#uses=1] +@i42_s = external global i42 ; [#uses=1] +@i43_s = external global i43 ; [#uses=1] +@i44_s = external global i44 ; [#uses=1] +@i45_s = external global i45 ; [#uses=1] +@i46_s = external global i46 ; [#uses=1] +@i47_s = external global i47 ; [#uses=1] +@i48_s = external global i48 ; [#uses=1] +@i49_s = external global i49 ; [#uses=1] +@i50_s = external global i50 ; [#uses=1] +@i51_s = external global i51 ; [#uses=1] +@i52_s = external global i52 ; [#uses=1] +@i53_s = external global i53 ; [#uses=1] +@i54_s = external global i54 ; [#uses=1] +@i55_s = external global i55 ; [#uses=1] +@i56_s = external global i56 ; [#uses=1] +@i57_s = external global i57 ; [#uses=1] +@i58_s = external global i58 ; [#uses=1] +@i59_s = external global i59 ; [#uses=1] +@i60_s = external global i60 ; [#uses=1] +@i61_s = external global i61 ; [#uses=1] +@i62_s = external global i62 ; [#uses=1] +@i63_s = external global i63 ; [#uses=1] +@i64_s = external global i64 ; [#uses=1] + +define void @i1_ls(i1 %x) nounwind { + store i1 %x, i1* @i1_s + ret void +} + +define void @i2_ls(i2 %x) nounwind { + store i2 %x, i2* @i2_s + ret void +} + +define void @i3_ls(i3 %x) nounwind { + store i3 %x, i3* @i3_s + ret void +} + +define void @i4_ls(i4 %x) nounwind { + store i4 %x, i4* @i4_s + ret void +} + +define void @i5_ls(i5 %x) nounwind { + store i5 %x, i5* @i5_s + ret void +} + +define void @i6_ls(i6 %x) nounwind { + store i6 %x, i6* @i6_s + ret void +} + +define void @i7_ls(i7 %x) nounwind { + store i7 %x, i7* @i7_s + ret void +} + +define void @i8_ls(i8 %x) nounwind { + store i8 %x, i8* @i8_s + ret void +} + +define void @i9_ls(i9 %x) nounwind { + store i9 %x, i9* @i9_s + ret void +} + +define void @i10_ls(i10 %x) nounwind { + store i10 %x, i10* @i10_s + ret void +} + +define void @i11_ls(i11 %x) nounwind { + store i11 %x, i11* @i11_s + ret void +} + +define void @i12_ls(i12 %x) nounwind { + store i12 %x, i12* @i12_s + ret void +} + +define void @i13_ls(i13 %x) nounwind { + store i13 %x, i13* @i13_s + ret void +} + +define void @i14_ls(i14 %x) nounwind { + store i14 %x, i14* @i14_s + ret void +} + +define void @i15_ls(i15 %x) nounwind { + store i15 %x, i15* @i15_s + ret void +} + +define void @i16_ls(i16 %x) nounwind { + store i16 %x, i16* @i16_s + ret void +} + +define void @i17_ls(i17 %x) nounwind { + store i17 %x, i17* @i17_s + ret void +} + +define void @i18_ls(i18 %x) nounwind { + store i18 %x, i18* @i18_s + ret void +} + +define void @i19_ls(i19 %x) nounwind { + store i19 %x, i19* @i19_s + ret void +} + +define void @i20_ls(i20 %x) nounwind { + store i20 %x, i20* @i20_s + ret void +} + +define void @i21_ls(i21 %x) nounwind { + store i21 %x, i21* @i21_s + ret void +} + +define void @i22_ls(i22 %x) nounwind { + store i22 %x, i22* @i22_s + ret void +} + +define void @i23_ls(i23 %x) nounwind { + store i23 %x, i23* @i23_s + ret void +} + +define void @i24_ls(i24 %x) nounwind { + store i24 %x, i24* @i24_s + ret void +} + +define void @i25_ls(i25 %x) nounwind { + store i25 %x, i25* @i25_s + ret void +} + +define void @i26_ls(i26 %x) nounwind { + store i26 %x, i26* @i26_s + ret void +} + +define void @i27_ls(i27 %x) nounwind { + store i27 %x, i27* @i27_s + ret void +} + +define void @i28_ls(i28 %x) nounwind { + store i28 %x, i28* @i28_s + ret void +} + +define void @i29_ls(i29 %x) nounwind { + store i29 %x, i29* @i29_s + ret void +} + +define void @i30_ls(i30 %x) nounwind { + store i30 %x, i30* @i30_s + ret void +} + +define void @i31_ls(i31 %x) nounwind { + store i31 %x, i31* @i31_s + ret void +} + +define void @i32_ls(i32 %x) nounwind { + store i32 %x, i32* @i32_s + ret void +} + +define void @i33_ls(i33 %x) nounwind { + store i33 %x, i33* @i33_s + ret void +} + +define void @i34_ls(i34 %x) nounwind { + store i34 %x, i34* @i34_s + ret void +} + +define void @i35_ls(i35 %x) nounwind { + store i35 %x, i35* @i35_s + ret void +} + +define void @i36_ls(i36 %x) nounwind { + store i36 %x, i36* @i36_s + ret void +} + +define void @i37_ls(i37 %x) nounwind { + store i37 %x, i37* @i37_s + ret void +} + +define void @i38_ls(i38 %x) nounwind { + store i38 %x, i38* @i38_s + ret void +} + +define void @i39_ls(i39 %x) nounwind { + store i39 %x, i39* @i39_s + ret void +} + +define void @i40_ls(i40 %x) nounwind { + store i40 %x, i40* @i40_s + ret void +} + +define void @i41_ls(i41 %x) nounwind { + store i41 %x, i41* @i41_s + ret void +} + +define void @i42_ls(i42 %x) nounwind { + store i42 %x, i42* @i42_s + ret void +} + +define void @i43_ls(i43 %x) nounwind { + store i43 %x, i43* @i43_s + ret void +} + +define void @i44_ls(i44 %x) nounwind { + store i44 %x, i44* @i44_s + ret void +} + +define void @i45_ls(i45 %x) nounwind { + store i45 %x, i45* @i45_s + ret void +} + +define void @i46_ls(i46 %x) nounwind { + store i46 %x, i46* @i46_s + ret void +} + +define void @i47_ls(i47 %x) nounwind { + store i47 %x, i47* @i47_s + ret void +} + +define void @i48_ls(i48 %x) nounwind { + store i48 %x, i48* @i48_s + ret void +} + +define void @i49_ls(i49 %x) nounwind { + store i49 %x, i49* @i49_s + ret void +} + +define void @i50_ls(i50 %x) nounwind { + store i50 %x, i50* @i50_s + ret void +} + +define void @i51_ls(i51 %x) nounwind { + store i51 %x, i51* @i51_s + ret void +} + +define void @i52_ls(i52 %x) nounwind { + store i52 %x, i52* @i52_s + ret void +} + +define void @i53_ls(i53 %x) nounwind { + store i53 %x, i53* @i53_s + ret void +} + +define void @i54_ls(i54 %x) nounwind { + store i54 %x, i54* @i54_s + ret void +} + +define void @i55_ls(i55 %x) nounwind { + store i55 %x, i55* @i55_s + ret void +} + +define void @i56_ls(i56 %x) nounwind { + store i56 %x, i56* @i56_s + ret void +} + +define void @i57_ls(i57 %x) nounwind { + store i57 %x, i57* @i57_s + ret void +} + +define void @i58_ls(i58 %x) nounwind { + store i58 %x, i58* @i58_s + ret void +} + +define void @i59_ls(i59 %x) nounwind { + store i59 %x, i59* @i59_s + ret void +} + +define void @i60_ls(i60 %x) nounwind { + store i60 %x, i60* @i60_s + ret void +} + +define void @i61_ls(i61 %x) nounwind { + store i61 %x, i61* @i61_s + ret void +} + +define void @i62_ls(i62 %x) nounwind { + store i62 %x, i62* @i62_s + ret void +} + +define void @i63_ls(i63 %x) nounwind { + store i63 %x, i63* @i63_s + ret void +} + +define void @i64_ls(i64 %x) nounwind { + store i64 %x, i64* @i64_s + ret void +} diff --git a/llvm/test/CodeGen/NVPTX/APIntSextParam.ll b/llvm/test/CodeGen/NVPTX/APIntSextParam.ll new file mode 100644 --- /dev/null +++ b/llvm/test/CodeGen/NVPTX/APIntSextParam.ll @@ -0,0 +1,387 @@ +; RUN: llc -march=nvptx < %s > %t +; RUN: llc -march=nvptx64 < %s > %t + +@i1_s = external global i1 ; [#uses=1] +@i2_s = external global i2 ; [#uses=1] +@i3_s = external global i3 ; [#uses=1] +@i4_s = external global i4 ; [#uses=1] +@i5_s = external global i5 ; [#uses=1] +@i6_s = external global i6 ; [#uses=1] +@i7_s = external global i7 ; [#uses=1] +@i8_s = external global i8 ; [#uses=1] +@i9_s = external global i9 ; [#uses=1] +@i10_s = external global i10 ; [#uses=1] +@i11_s = external global i11 ; [#uses=1] +@i12_s = external global i12 ; [#uses=1] +@i13_s = external global i13 ; [#uses=1] +@i14_s = external global i14 ; [#uses=1] +@i15_s = external global i15 ; [#uses=1] +@i16_s = external global i16 ; [#uses=1] +@i17_s = external global i17 ; [#uses=1] +@i18_s = external global i18 ; [#uses=1] +@i19_s = external global i19 ; [#uses=1] +@i20_s = external global i20 ; [#uses=1] +@i21_s = external global i21 ; [#uses=1] +@i22_s = external global i22 ; [#uses=1] +@i23_s = external global i23 ; [#uses=1] +@i24_s = external global i24 ; [#uses=1] +@i25_s = external global i25 ; [#uses=1] +@i26_s = external global i26 ; [#uses=1] +@i27_s = external global i27 ; [#uses=1] +@i28_s = external global i28 ; [#uses=1] +@i29_s = external global i29 ; [#uses=1] +@i30_s = external global i30 ; [#uses=1] +@i31_s = external global i31 ; [#uses=1] +@i32_s = external global i32 ; [#uses=1] +@i33_s = external global i33 ; [#uses=1] +@i34_s = external global i34 ; [#uses=1] +@i35_s = external global i35 ; [#uses=1] +@i36_s = external global i36 ; [#uses=1] +@i37_s = external global i37 ; [#uses=1] +@i38_s = external global i38 ; [#uses=1] +@i39_s = external global i39 ; [#uses=1] +@i40_s = external global i40 ; [#uses=1] +@i41_s = external global i41 ; [#uses=1] +@i42_s = external global i42 ; [#uses=1] +@i43_s = external global i43 ; [#uses=1] +@i44_s = external global i44 ; [#uses=1] +@i45_s = external global i45 ; [#uses=1] +@i46_s = external global i46 ; [#uses=1] +@i47_s = external global i47 ; [#uses=1] +@i48_s = external global i48 ; [#uses=1] +@i49_s = external global i49 ; [#uses=1] +@i50_s = external global i50 ; [#uses=1] +@i51_s = external global i51 ; [#uses=1] +@i52_s = external global i52 ; [#uses=1] +@i53_s = external global i53 ; [#uses=1] +@i54_s = external global i54 ; [#uses=1] +@i55_s = external global i55 ; [#uses=1] +@i56_s = external global i56 ; [#uses=1] +@i57_s = external global i57 ; [#uses=1] +@i58_s = external global i58 ; [#uses=1] +@i59_s = external global i59 ; [#uses=1] +@i60_s = external global i60 ; [#uses=1] +@i61_s = external global i61 ; [#uses=1] +@i62_s = external global i62 ; [#uses=1] +@i63_s = external global i63 ; [#uses=1] +@i64_s = external global i64 ; [#uses=1] + +define void @i1_ls(i1 signext %x) nounwind { + store i1 %x, i1* @i1_s + ret void +} + +define void @i2_ls(i2 signext %x) nounwind { + store i2 %x, i2* @i2_s + ret void +} + +define void @i3_ls(i3 signext %x) nounwind { + store i3 %x, i3* @i3_s + ret void +} + +define void @i4_ls(i4 signext %x) nounwind { + store i4 %x, i4* @i4_s + ret void +} + +define void @i5_ls(i5 signext %x) nounwind { + store i5 %x, i5* @i5_s + ret void +} + +define void @i6_ls(i6 signext %x) nounwind { + store i6 %x, i6* @i6_s + ret void +} + +define void @i7_ls(i7 signext %x) nounwind { + store i7 %x, i7* @i7_s + ret void +} + +define void @i8_ls(i8 signext %x) nounwind { + store i8 %x, i8* @i8_s + ret void +} + +define void @i9_ls(i9 signext %x) nounwind { + store i9 %x, i9* @i9_s + ret void +} + +define void @i10_ls(i10 signext %x) nounwind { + store i10 %x, i10* @i10_s + ret void +} + +define void @i11_ls(i11 signext %x) nounwind { + store i11 %x, i11* @i11_s + ret void +} + +define void @i12_ls(i12 signext %x) nounwind { + store i12 %x, i12* @i12_s + ret void +} + +define void @i13_ls(i13 signext %x) nounwind { + store i13 %x, i13* @i13_s + ret void +} + +define void @i14_ls(i14 signext %x) nounwind { + store i14 %x, i14* @i14_s + ret void +} + +define void @i15_ls(i15 signext %x) nounwind { + store i15 %x, i15* @i15_s + ret void +} + +define void @i16_ls(i16 signext %x) nounwind { + store i16 %x, i16* @i16_s + ret void +} + +define void @i17_ls(i17 signext %x) nounwind { + store i17 %x, i17* @i17_s + ret void +} + +define void @i18_ls(i18 signext %x) nounwind { + store i18 %x, i18* @i18_s + ret void +} + +define void @i19_ls(i19 signext %x) nounwind { + store i19 %x, i19* @i19_s + ret void +} + +define void @i20_ls(i20 signext %x) nounwind { + store i20 %x, i20* @i20_s + ret void +} + +define void @i21_ls(i21 signext %x) nounwind { + store i21 %x, i21* @i21_s + ret void +} + +define void @i22_ls(i22 signext %x) nounwind { + store i22 %x, i22* @i22_s + ret void +} + +define void @i23_ls(i23 signext %x) nounwind { + store i23 %x, i23* @i23_s + ret void +} + +define void @i24_ls(i24 signext %x) nounwind { + store i24 %x, i24* @i24_s + ret void +} + +define void @i25_ls(i25 signext %x) nounwind { + store i25 %x, i25* @i25_s + ret void +} + +define void @i26_ls(i26 signext %x) nounwind { + store i26 %x, i26* @i26_s + ret void +} + +define void @i27_ls(i27 signext %x) nounwind { + store i27 %x, i27* @i27_s + ret void +} + +define void @i28_ls(i28 signext %x) nounwind { + store i28 %x, i28* @i28_s + ret void +} + +define void @i29_ls(i29 signext %x) nounwind { + store i29 %x, i29* @i29_s + ret void +} + +define void @i30_ls(i30 signext %x) nounwind { + store i30 %x, i30* @i30_s + ret void +} + +define void @i31_ls(i31 signext %x) nounwind { + store i31 %x, i31* @i31_s + ret void +} + +define void @i32_ls(i32 signext %x) nounwind { + store i32 %x, i32* @i32_s + ret void +} + +define void @i33_ls(i33 signext %x) nounwind { + store i33 %x, i33* @i33_s + ret void +} + +define void @i34_ls(i34 signext %x) nounwind { + store i34 %x, i34* @i34_s + ret void +} + +define void @i35_ls(i35 signext %x) nounwind { + store i35 %x, i35* @i35_s + ret void +} + +define void @i36_ls(i36 signext %x) nounwind { + store i36 %x, i36* @i36_s + ret void +} + +define void @i37_ls(i37 signext %x) nounwind { + store i37 %x, i37* @i37_s + ret void +} + +define void @i38_ls(i38 signext %x) nounwind { + store i38 %x, i38* @i38_s + ret void +} + +define void @i39_ls(i39 signext %x) nounwind { + store i39 %x, i39* @i39_s + ret void +} + +define void @i40_ls(i40 signext %x) nounwind { + store i40 %x, i40* @i40_s + ret void +} + +define void @i41_ls(i41 signext %x) nounwind { + store i41 %x, i41* @i41_s + ret void +} + +define void @i42_ls(i42 signext %x) nounwind { + store i42 %x, i42* @i42_s + ret void +} + +define void @i43_ls(i43 signext %x) nounwind { + store i43 %x, i43* @i43_s + ret void +} + +define void @i44_ls(i44 signext %x) nounwind { + store i44 %x, i44* @i44_s + ret void +} + +define void @i45_ls(i45 signext %x) nounwind { + store i45 %x, i45* @i45_s + ret void +} + +define void @i46_ls(i46 signext %x) nounwind { + store i46 %x, i46* @i46_s + ret void +} + +define void @i47_ls(i47 signext %x) nounwind { + store i47 %x, i47* @i47_s + ret void +} + +define void @i48_ls(i48 signext %x) nounwind { + store i48 %x, i48* @i48_s + ret void +} + +define void @i49_ls(i49 signext %x) nounwind { + store i49 %x, i49* @i49_s + ret void +} + +define void @i50_ls(i50 signext %x) nounwind { + store i50 %x, i50* @i50_s + ret void +} + +define void @i51_ls(i51 signext %x) nounwind { + store i51 %x, i51* @i51_s + ret void +} + +define void @i52_ls(i52 signext %x) nounwind { + store i52 %x, i52* @i52_s + ret void +} + +define void @i53_ls(i53 signext %x) nounwind { + store i53 %x, i53* @i53_s + ret void +} + +define void @i54_ls(i54 signext %x) nounwind { + store i54 %x, i54* @i54_s + ret void +} + +define void @i55_ls(i55 signext %x) nounwind { + store i55 %x, i55* @i55_s + ret void +} + +define void @i56_ls(i56 signext %x) nounwind { + store i56 %x, i56* @i56_s + ret void +} + +define void @i57_ls(i57 signext %x) nounwind { + store i57 %x, i57* @i57_s + ret void +} + +define void @i58_ls(i58 signext %x) nounwind { + store i58 %x, i58* @i58_s + ret void +} + +define void @i59_ls(i59 signext %x) nounwind { + store i59 %x, i59* @i59_s + ret void +} + +define void @i60_ls(i60 signext %x) nounwind { + store i60 %x, i60* @i60_s + ret void +} + +define void @i61_ls(i61 signext %x) nounwind { + store i61 %x, i61* @i61_s + ret void +} + +define void @i62_ls(i62 signext %x) nounwind { + store i62 %x, i62* @i62_s + ret void +} + +define void @i63_ls(i63 signext %x) nounwind { + store i63 %x, i63* @i63_s + ret void +} + +define void @i64_ls(i64 signext %x) nounwind { + store i64 %x, i64* @i64_s + ret void +} diff --git a/llvm/test/CodeGen/NVPTX/APIntZextParam.ll b/llvm/test/CodeGen/NVPTX/APIntZextParam.ll new file mode 100644 --- /dev/null +++ b/llvm/test/CodeGen/NVPTX/APIntZextParam.ll @@ -0,0 +1,387 @@ +; RUN: llc -march=nvptx < %s > %t +; RUN: llc -march=nvptx64 < %s > %t + +@i1_s = external global i1 ; [#uses=1] +@i2_s = external global i2 ; [#uses=1] +@i3_s = external global i3 ; [#uses=1] +@i4_s = external global i4 ; [#uses=1] +@i5_s = external global i5 ; [#uses=1] +@i6_s = external global i6 ; [#uses=1] +@i7_s = external global i7 ; [#uses=1] +@i8_s = external global i8 ; [#uses=1] +@i9_s = external global i9 ; [#uses=1] +@i10_s = external global i10 ; [#uses=1] +@i11_s = external global i11 ; [#uses=1] +@i12_s = external global i12 ; [#uses=1] +@i13_s = external global i13 ; [#uses=1] +@i14_s = external global i14 ; [#uses=1] +@i15_s = external global i15 ; [#uses=1] +@i16_s = external global i16 ; [#uses=1] +@i17_s = external global i17 ; [#uses=1] +@i18_s = external global i18 ; [#uses=1] +@i19_s = external global i19 ; [#uses=1] +@i20_s = external global i20 ; [#uses=1] +@i21_s = external global i21 ; [#uses=1] +@i22_s = external global i22 ; [#uses=1] +@i23_s = external global i23 ; [#uses=1] +@i24_s = external global i24 ; [#uses=1] +@i25_s = external global i25 ; [#uses=1] +@i26_s = external global i26 ; [#uses=1] +@i27_s = external global i27 ; [#uses=1] +@i28_s = external global i28 ; [#uses=1] +@i29_s = external global i29 ; [#uses=1] +@i30_s = external global i30 ; [#uses=1] +@i31_s = external global i31 ; [#uses=1] +@i32_s = external global i32 ; [#uses=1] +@i33_s = external global i33 ; [#uses=1] +@i34_s = external global i34 ; [#uses=1] +@i35_s = external global i35 ; [#uses=1] +@i36_s = external global i36 ; [#uses=1] +@i37_s = external global i37 ; [#uses=1] +@i38_s = external global i38 ; [#uses=1] +@i39_s = external global i39 ; [#uses=1] +@i40_s = external global i40 ; [#uses=1] +@i41_s = external global i41 ; [#uses=1] +@i42_s = external global i42 ; [#uses=1] +@i43_s = external global i43 ; [#uses=1] +@i44_s = external global i44 ; [#uses=1] +@i45_s = external global i45 ; [#uses=1] +@i46_s = external global i46 ; [#uses=1] +@i47_s = external global i47 ; [#uses=1] +@i48_s = external global i48 ; [#uses=1] +@i49_s = external global i49 ; [#uses=1] +@i50_s = external global i50 ; [#uses=1] +@i51_s = external global i51 ; [#uses=1] +@i52_s = external global i52 ; [#uses=1] +@i53_s = external global i53 ; [#uses=1] +@i54_s = external global i54 ; [#uses=1] +@i55_s = external global i55 ; [#uses=1] +@i56_s = external global i56 ; [#uses=1] +@i57_s = external global i57 ; [#uses=1] +@i58_s = external global i58 ; [#uses=1] +@i59_s = external global i59 ; [#uses=1] +@i60_s = external global i60 ; [#uses=1] +@i61_s = external global i61 ; [#uses=1] +@i62_s = external global i62 ; [#uses=1] +@i63_s = external global i63 ; [#uses=1] +@i64_s = external global i64 ; [#uses=1] + +define void @i1_ls(i1 zeroext %x) nounwind { + store i1 %x, i1* @i1_s + ret void +} + +define void @i2_ls(i2 zeroext %x) nounwind { + store i2 %x, i2* @i2_s + ret void +} + +define void @i3_ls(i3 zeroext %x) nounwind { + store i3 %x, i3* @i3_s + ret void +} + +define void @i4_ls(i4 zeroext %x) nounwind { + store i4 %x, i4* @i4_s + ret void +} + +define void @i5_ls(i5 zeroext %x) nounwind { + store i5 %x, i5* @i5_s + ret void +} + +define void @i6_ls(i6 zeroext %x) nounwind { + store i6 %x, i6* @i6_s + ret void +} + +define void @i7_ls(i7 zeroext %x) nounwind { + store i7 %x, i7* @i7_s + ret void +} + +define void @i8_ls(i8 zeroext %x) nounwind { + store i8 %x, i8* @i8_s + ret void +} + +define void @i9_ls(i9 zeroext %x) nounwind { + store i9 %x, i9* @i9_s + ret void +} + +define void @i10_ls(i10 zeroext %x) nounwind { + store i10 %x, i10* @i10_s + ret void +} + +define void @i11_ls(i11 zeroext %x) nounwind { + store i11 %x, i11* @i11_s + ret void +} + +define void @i12_ls(i12 zeroext %x) nounwind { + store i12 %x, i12* @i12_s + ret void +} + +define void @i13_ls(i13 zeroext %x) nounwind { + store i13 %x, i13* @i13_s + ret void +} + +define void @i14_ls(i14 zeroext %x) nounwind { + store i14 %x, i14* @i14_s + ret void +} + +define void @i15_ls(i15 zeroext %x) nounwind { + store i15 %x, i15* @i15_s + ret void +} + +define void @i16_ls(i16 zeroext %x) nounwind { + store i16 %x, i16* @i16_s + ret void +} + +define void @i17_ls(i17 zeroext %x) nounwind { + store i17 %x, i17* @i17_s + ret void +} + +define void @i18_ls(i18 zeroext %x) nounwind { + store i18 %x, i18* @i18_s + ret void +} + +define void @i19_ls(i19 zeroext %x) nounwind { + store i19 %x, i19* @i19_s + ret void +} + +define void @i20_ls(i20 zeroext %x) nounwind { + store i20 %x, i20* @i20_s + ret void +} + +define void @i21_ls(i21 zeroext %x) nounwind { + store i21 %x, i21* @i21_s + ret void +} + +define void @i22_ls(i22 zeroext %x) nounwind { + store i22 %x, i22* @i22_s + ret void +} + +define void @i23_ls(i23 zeroext %x) nounwind { + store i23 %x, i23* @i23_s + ret void +} + +define void @i24_ls(i24 zeroext %x) nounwind { + store i24 %x, i24* @i24_s + ret void +} + +define void @i25_ls(i25 zeroext %x) nounwind { + store i25 %x, i25* @i25_s + ret void +} + +define void @i26_ls(i26 zeroext %x) nounwind { + store i26 %x, i26* @i26_s + ret void +} + +define void @i27_ls(i27 zeroext %x) nounwind { + store i27 %x, i27* @i27_s + ret void +} + +define void @i28_ls(i28 zeroext %x) nounwind { + store i28 %x, i28* @i28_s + ret void +} + +define void @i29_ls(i29 zeroext %x) nounwind { + store i29 %x, i29* @i29_s + ret void +} + +define void @i30_ls(i30 zeroext %x) nounwind { + store i30 %x, i30* @i30_s + ret void +} + +define void @i31_ls(i31 zeroext %x) nounwind { + store i31 %x, i31* @i31_s + ret void +} + +define void @i32_ls(i32 zeroext %x) nounwind { + store i32 %x, i32* @i32_s + ret void +} + +define void @i33_ls(i33 zeroext %x) nounwind { + store i33 %x, i33* @i33_s + ret void +} + +define void @i34_ls(i34 zeroext %x) nounwind { + store i34 %x, i34* @i34_s + ret void +} + +define void @i35_ls(i35 zeroext %x) nounwind { + store i35 %x, i35* @i35_s + ret void +} + +define void @i36_ls(i36 zeroext %x) nounwind { + store i36 %x, i36* @i36_s + ret void +} + +define void @i37_ls(i37 zeroext %x) nounwind { + store i37 %x, i37* @i37_s + ret void +} + +define void @i38_ls(i38 zeroext %x) nounwind { + store i38 %x, i38* @i38_s + ret void +} + +define void @i39_ls(i39 zeroext %x) nounwind { + store i39 %x, i39* @i39_s + ret void +} + +define void @i40_ls(i40 zeroext %x) nounwind { + store i40 %x, i40* @i40_s + ret void +} + +define void @i41_ls(i41 zeroext %x) nounwind { + store i41 %x, i41* @i41_s + ret void +} + +define void @i42_ls(i42 zeroext %x) nounwind { + store i42 %x, i42* @i42_s + ret void +} + +define void @i43_ls(i43 zeroext %x) nounwind { + store i43 %x, i43* @i43_s + ret void +} + +define void @i44_ls(i44 zeroext %x) nounwind { + store i44 %x, i44* @i44_s + ret void +} + +define void @i45_ls(i45 zeroext %x) nounwind { + store i45 %x, i45* @i45_s + ret void +} + +define void @i46_ls(i46 zeroext %x) nounwind { + store i46 %x, i46* @i46_s + ret void +} + +define void @i47_ls(i47 zeroext %x) nounwind { + store i47 %x, i47* @i47_s + ret void +} + +define void @i48_ls(i48 zeroext %x) nounwind { + store i48 %x, i48* @i48_s + ret void +} + +define void @i49_ls(i49 zeroext %x) nounwind { + store i49 %x, i49* @i49_s + ret void +} + +define void @i50_ls(i50 zeroext %x) nounwind { + store i50 %x, i50* @i50_s + ret void +} + +define void @i51_ls(i51 zeroext %x) nounwind { + store i51 %x, i51* @i51_s + ret void +} + +define void @i52_ls(i52 zeroext %x) nounwind { + store i52 %x, i52* @i52_s + ret void +} + +define void @i53_ls(i53 zeroext %x) nounwind { + store i53 %x, i53* @i53_s + ret void +} + +define void @i54_ls(i54 zeroext %x) nounwind { + store i54 %x, i54* @i54_s + ret void +} + +define void @i55_ls(i55 zeroext %x) nounwind { + store i55 %x, i55* @i55_s + ret void +} + +define void @i56_ls(i56 zeroext %x) nounwind { + store i56 %x, i56* @i56_s + ret void +} + +define void @i57_ls(i57 zeroext %x) nounwind { + store i57 %x, i57* @i57_s + ret void +} + +define void @i58_ls(i58 zeroext %x) nounwind { + store i58 %x, i58* @i58_s + ret void +} + +define void @i59_ls(i59 zeroext %x) nounwind { + store i59 %x, i59* @i59_s + ret void +} + +define void @i60_ls(i60 zeroext %x) nounwind { + store i60 %x, i60* @i60_s + ret void +} + +define void @i61_ls(i61 zeroext %x) nounwind { + store i61 %x, i61* @i61_s + ret void +} + +define void @i62_ls(i62 zeroext %x) nounwind { + store i62 %x, i62* @i62_s + ret void +} + +define void @i63_ls(i63 zeroext %x) nounwind { + store i63 %x, i63* @i63_s + ret void +} + +define void @i64_ls(i64 zeroext %x) nounwind { + store i64 %x, i64* @i64_s + ret void +} diff --git a/llvm/test/Feature/optnone-llc.ll b/llvm/test/Feature/optnone-llc.ll --- a/llvm/test/Feature/optnone-llc.ll +++ b/llvm/test/Feature/optnone-llc.ll @@ -6,6 +6,7 @@ ; RUN: llc -O1 -debug-only=isel -fast-isel=false %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=NOFAST ; REQUIRES: asserts, default_triple +; UNSUPPORTED: nvptx ; This test verifies that we don't run Machine Function optimizations ; on optnone functions, and that we can turn off FastISel. diff --git a/llvm/test/MC/AsmParser/include.ll b/llvm/test/MC/AsmParser/include.ll --- a/llvm/test/MC/AsmParser/include.ll +++ b/llvm/test/MC/AsmParser/include.ll @@ -1,5 +1,5 @@ ; RUN: llc -I %p/Inputs -filetype asm -o - %s | FileCheck %s -; UNSUPPORTED: -zos +; UNSUPPORTED: -zos,nvptx ; REQUIRES: default_triple module asm ".include \22module.x\22" diff --git a/llvm/test/MC/AsmParser/macro-same-context.ll b/llvm/test/MC/AsmParser/macro-same-context.ll --- a/llvm/test/MC/AsmParser/macro-same-context.ll +++ b/llvm/test/MC/AsmParser/macro-same-context.ll @@ -1,6 +1,6 @@ ;; Test that macros in inline assembly blocks share the same context, ;; thus a definition is available to the whole file. PR36110 -; UNSUPPORTED: -zos +; UNSUPPORTED: -zos,nvptx ; RUN: not llc < %s 2>&1 | FileCheck %s ; REQUIRES: default_triple