diff --git a/test/CodeGen/X86/2006-05-17-VectorArg.ll b/test/CodeGen/X86/2006-05-17-VectorArg.ll index 1d24b776db2..217cbe1059f 100644 --- a/test/CodeGen/X86/2006-05-17-VectorArg.ll +++ b/test/CodeGen/X86/2006-05-17-VectorArg.ll @@ -1,6 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 -define <4 x float> @opRSQ(<4 x float> %a) { +define <4 x float> @opRSQ(<4 x float> %a) nounwind { entry: %tmp2 = extractelement <4 x float> %a, i32 3 ; [#uses=2] %abscond = fcmp oge float %tmp2, -0.000000e+00 ; [#uses=1] diff --git a/test/CodeGen/X86/mmx-insert-element.ll b/test/CodeGen/X86/mmx-insert-element.ll index e24b4821b9e..dc488363e7f 100644 --- a/test/CodeGen/X86/mmx-insert-element.ll +++ b/test/CodeGen/X86/mmx-insert-element.ll @@ -16,7 +16,7 @@ ; ; Which is ugly. We need to fix this. -define <2 x i32> @qux(i32 %A) { +define <2 x i32> @qux(i32 %A) nounwind { entry: %tmp3 = insertelement <2 x i32> < i32 0, i32 undef >, i32 %A, i32 1 ; <<2 x i32>> [#uses=1] ret <2 x i32> %tmp3 diff --git a/test/CodeGen/X86/sse-align-0.ll b/test/CodeGen/X86/sse-align-0.ll index 0b280679665..39debaa3257 100644 --- a/test/CodeGen/X86/sse-align-0.ll +++ b/test/CodeGen/X86/sse-align-0.ll @@ -1,13 +1,11 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | not grep mov -define <4 x float> @foo(<4 x float>* %p, <4 x float> %x) -{ +define <4 x float> @foo(<4 x float>* %p, <4 x float> %x) nounwind { %t = load <4 x float>* %p %z = mul <4 x float> %t, %x ret <4 x float> %z } -define <2 x double> @bar(<2 x double>* %p, <2 x double> %x) -{ +define <2 x double> @bar(<2 x double>* %p, <2 x double> %x) nounwind { %t = load <2 x double>* %p %z = mul <2 x double> %t, %x ret <2 x double> %z diff --git a/test/CodeGen/X86/sse-align-1.ll b/test/CodeGen/X86/sse-align-1.ll index 7135d7a224a..0edc6e09458 100644 --- a/test/CodeGen/X86/sse-align-1.ll +++ b/test/CodeGen/X86/sse-align-1.ll @@ -1,12 +1,10 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movap | count 2 -define <4 x float> @foo(<4 x float>* %p) -{ +define <4 x float> @foo(<4 x float>* %p) nounwind { %t = load <4 x float>* %p ret <4 x float> %t } -define <2 x double> @bar(<2 x double>* %p) -{ +define <2 x double> @bar(<2 x double>* %p) nounwind { %t = load <2 x double>* %p ret <2 x double> %t } diff --git a/test/CodeGen/X86/sse-align-10.ll b/test/CodeGen/X86/sse-align-10.ll index 3738becde75..1a23eb2ae3d 100644 --- a/test/CodeGen/X86/sse-align-10.ll +++ b/test/CodeGen/X86/sse-align-10.ll @@ -1,7 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movups | count 1 -define <2 x i64> @bar(<2 x i64>* %p) -{ +define <2 x i64> @bar(<2 x i64>* %p) nounwind { %t = load <2 x i64>* %p, align 8 ret <2 x i64> %t } diff --git a/test/CodeGen/X86/sse-align-11.ll b/test/CodeGen/X86/sse-align-11.ll index 81471bd5be5..a10b102c6b9 100644 --- a/test/CodeGen/X86/sse-align-11.ll +++ b/test/CodeGen/X86/sse-align-11.ll @@ -1,7 +1,7 @@ ; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah -mtriple=i686-apple-darwin8 | grep movaps ; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah -mtriple=linux | grep movups -define <4 x float> @foo(float %a, float %b, float %c, float %d) { +define <4 x float> @foo(float %a, float %b, float %c, float %d) nounwind { entry: %tmp6 = insertelement <4 x float> undef, float %a, i32 0 %tmp7 = insertelement <4 x float> %tmp6, float %b, i32 1 diff --git a/test/CodeGen/X86/sse-align-12.ll b/test/CodeGen/X86/sse-align-12.ll index 960a4f64500..7ff6b1e3ed3 100644 --- a/test/CodeGen/X86/sse-align-12.ll +++ b/test/CodeGen/X86/sse-align-12.ll @@ -4,8 +4,7 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep pd | count 4 ; RUN: llvm-as < %s | llc -march=x86-64 | grep movup | count 4 -define <4 x float> @a(<4 x float>* %y) -{ +define <4 x float> @a(<4 x float>* %y) nounwind { %x = load <4 x float>* %y, align 4 %a = extractelement <4 x float> %x, i32 0 %b = extractelement <4 x float> %x, i32 1 @@ -17,8 +16,7 @@ define <4 x float> @a(<4 x float>* %y) %s = insertelement <4 x float> %r, float %a, i32 3 ret <4 x float> %s } -define <4 x float> @b(<4 x float>* %y, <4 x float> %z) -{ +define <4 x float> @b(<4 x float>* %y, <4 x float> %z) nounwind { %x = load <4 x float>* %y, align 4 %a = extractelement <4 x float> %x, i32 2 %b = extractelement <4 x float> %x, i32 3 diff --git a/test/CodeGen/X86/sse-align-2.ll b/test/CodeGen/X86/sse-align-2.ll index 71587a2f684..b5b261d20ab 100644 --- a/test/CodeGen/X86/sse-align-2.ll +++ b/test/CodeGen/X86/sse-align-2.ll @@ -1,13 +1,11 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movup | count 2 -define <4 x float> @foo(<4 x float>* %p, <4 x float> %x) -{ +define <4 x float> @foo(<4 x float>* %p, <4 x float> %x) nounwind { %t = load <4 x float>* %p, align 4 %z = mul <4 x float> %t, %x ret <4 x float> %z } -define <2 x double> @bar(<2 x double>* %p, <2 x double> %x) -{ +define <2 x double> @bar(<2 x double>* %p, <2 x double> %x) nounwind { %t = load <2 x double>* %p, align 8 %z = mul <2 x double> %t, %x ret <2 x double> %z diff --git a/test/CodeGen/X86/sse-align-3.ll b/test/CodeGen/X86/sse-align-3.ll index ae9faabea41..5bbcd59e0e9 100644 --- a/test/CodeGen/X86/sse-align-3.ll +++ b/test/CodeGen/X86/sse-align-3.ll @@ -1,12 +1,10 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movap | count 2 -define void @foo(<4 x float>* %p, <4 x float> %x) -{ +define void @foo(<4 x float>* %p, <4 x float> %x) nounwind { store <4 x float> %x, <4 x float>* %p ret void } -define void @bar(<2 x double>* %p, <2 x double> %x) -{ +define void @bar(<2 x double>* %p, <2 x double> %x) nounwind { store <2 x double> %x, <2 x double>* %p ret void } diff --git a/test/CodeGen/X86/sse-align-4.ll b/test/CodeGen/X86/sse-align-4.ll index c98aff76d61..f7e5fe3d684 100644 --- a/test/CodeGen/X86/sse-align-4.ll +++ b/test/CodeGen/X86/sse-align-4.ll @@ -1,12 +1,10 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movup | count 2 -define void @foo(<4 x float>* %p, <4 x float> %x) -{ +define void @foo(<4 x float>* %p, <4 x float> %x) nounwind { store <4 x float> %x, <4 x float>* %p, align 4 ret void } -define void @bar(<2 x double>* %p, <2 x double> %x) -{ +define void @bar(<2 x double>* %p, <2 x double> %x) nounwind { store <2 x double> %x, <2 x double>* %p, align 8 ret void } diff --git a/test/CodeGen/X86/sse-align-5.ll b/test/CodeGen/X86/sse-align-5.ll index a5c4b0dadc4..19e0eaf8fff 100644 --- a/test/CodeGen/X86/sse-align-5.ll +++ b/test/CodeGen/X86/sse-align-5.ll @@ -1,7 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movaps | count 1 -define <2 x i64> @bar(<2 x i64>* %p) -{ +define <2 x i64> @bar(<2 x i64>* %p) nounwind { %t = load <2 x i64>* %p ret <2 x i64> %t } diff --git a/test/CodeGen/X86/sse-align-6.ll b/test/CodeGen/X86/sse-align-6.ll index dc9d99c6272..dace291730f 100644 --- a/test/CodeGen/X86/sse-align-6.ll +++ b/test/CodeGen/X86/sse-align-6.ll @@ -1,7 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movups | count 1 -define <2 x i64> @bar(<2 x i64>* %p, <2 x i64> %x) -{ +define <2 x i64> @bar(<2 x i64>* %p, <2 x i64> %x) nounwind { %t = load <2 x i64>* %p, align 8 %z = mul <2 x i64> %t, %x ret <2 x i64> %z diff --git a/test/CodeGen/X86/sse-align-7.ll b/test/CodeGen/X86/sse-align-7.ll index d93ca40577f..7fb65b5f9e8 100644 --- a/test/CodeGen/X86/sse-align-7.ll +++ b/test/CodeGen/X86/sse-align-7.ll @@ -1,7 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movaps | count 1 -define void @bar(<2 x i64>* %p, <2 x i64> %x) -{ +define void @bar(<2 x i64>* %p, <2 x i64> %x) nounwind { store <2 x i64> %x, <2 x i64>* %p ret void } diff --git a/test/CodeGen/X86/sse-align-8.ll b/test/CodeGen/X86/sse-align-8.ll index 4353698dcc0..17a3d2987ff 100644 --- a/test/CodeGen/X86/sse-align-8.ll +++ b/test/CodeGen/X86/sse-align-8.ll @@ -1,7 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movups | count 1 -define void @bar(<2 x i64>* %p, <2 x i64> %x) -{ +define void @bar(<2 x i64>* %p, <2 x i64> %x) nounwind { store <2 x i64> %x, <2 x i64>* %p, align 8 ret void } diff --git a/test/CodeGen/X86/sse-align-9.ll b/test/CodeGen/X86/sse-align-9.ll index 58641b38b6e..24b437ab353 100644 --- a/test/CodeGen/X86/sse-align-9.ll +++ b/test/CodeGen/X86/sse-align-9.ll @@ -1,12 +1,10 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movup | count 2 -define <4 x float> @foo(<4 x float>* %p) -{ +define <4 x float> @foo(<4 x float>* %p) nounwind { %t = load <4 x float>* %p, align 4 ret <4 x float> %t } -define <2 x double> @bar(<2 x double>* %p) -{ +define <2 x double> @bar(<2 x double>* %p) nounwind { %t = load <2 x double>* %p, align 8 ret <2 x double> %t } diff --git a/test/CodeGen/X86/vec_align.ll b/test/CodeGen/X86/vec_align.ll index 8d70c9ae7eb..d88104d79e8 100644 --- a/test/CodeGen/X86/vec_align.ll +++ b/test/CodeGen/X86/vec_align.ll @@ -7,7 +7,7 @@ target triple = "i686-apple-darwin8" @G = external global { float,float,float,float}, align 16 -define %f4 @test1(float %W, float %X, float %Y, float %Z) { +define %f4 @test1(float %W, float %X, float %Y, float %Z) nounwind { %tmp = insertelement %f4 undef, float %W, i32 0 %tmp2 = insertelement %f4 %tmp, float %X, i32 1 %tmp4 = insertelement %f4 %tmp2, float %Y, i32 2 @@ -15,7 +15,7 @@ define %f4 @test1(float %W, float %X, float %Y, float %Z) { ret %f4 %tmp6 } -define %f4 @test2() { +define %f4 @test2() nounwind { %Wp = getelementptr { float,float,float,float}* @G, i32 0, i32 0 %Xp = getelementptr { float,float,float,float}* @G, i32 0, i32 1 %Yp = getelementptr { float,float,float,float}* @G, i32 0, i32 2 diff --git a/test/CodeGen/X86/vec_set-2.ll b/test/CodeGen/X86/vec_set-2.ll index ab15d4abbe2..ae9530db8df 100644 --- a/test/CodeGen/X86/vec_set-2.ll +++ b/test/CodeGen/X86/vec_set-2.ll @@ -1,7 +1,7 @@ ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movss | count 1 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movd | count 1 -define <4 x float> @test1(float %a) { +define <4 x float> @test1(float %a) nounwind { %tmp = insertelement <4 x float> zeroinitializer, float %a, i32 0 ; <<4 x float>> [#uses=1] %tmp5 = insertelement <4 x float> %tmp, float 0.000000e+00, i32 1 ; <<4 x float>> [#uses=1] %tmp6 = insertelement <4 x float> %tmp5, float 0.000000e+00, i32 2 ; <<4 x float>> [#uses=1] @@ -9,7 +9,7 @@ define <4 x float> @test1(float %a) { ret <4 x float> %tmp7 } -define <2 x i64> @test(i32 %a) { +define <2 x i64> @test(i32 %a) nounwind { %tmp = insertelement <4 x i32> zeroinitializer, i32 %a, i32 0 ; <<8 x i16>> [#uses=1] %tmp6 = insertelement <4 x i32> %tmp, i32 0, i32 1 ; <<8 x i32>> [#uses=1] %tmp8 = insertelement <4 x i32> %tmp6, i32 0, i32 2 ; <<8 x i32>> [#uses=1] diff --git a/test/CodeGen/X86/vec_set-4.ll b/test/CodeGen/X86/vec_set-4.ll index 0a1c1763318..da7ef80a3a5 100644 --- a/test/CodeGen/X86/vec_set-4.ll +++ b/test/CodeGen/X86/vec_set-4.ll @@ -1,6 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep pinsrw | count 2 -define <2 x i64> @test(i16 %a) { +define <2 x i64> @test(i16 %a) nounwind { entry: %tmp10 = insertelement <8 x i16> zeroinitializer, i16 %a, i32 3 ; <<8 x i16>> [#uses=1] %tmp12 = insertelement <8 x i16> %tmp10, i16 0, i32 4 ; <<8 x i16>> [#uses=1] @@ -11,7 +11,7 @@ entry: ret <2 x i64> %tmp19 } -define <2 x i64> @test2(i8 %a) { +define <2 x i64> @test2(i8 %a) nounwind { entry: %tmp24 = insertelement <16 x i8> zeroinitializer, i8 %a, i32 10 ; <<16 x i8>> [#uses=1] %tmp26 = insertelement <16 x i8> %tmp24, i8 0, i32 11 ; <<16 x i8>> [#uses=1] diff --git a/test/CodeGen/X86/vec_set-5.ll b/test/CodeGen/X86/vec_set-5.ll index 0052c4df5dd..687d6afca4f 100644 --- a/test/CodeGen/X86/vec_set-5.ll +++ b/test/CodeGen/X86/vec_set-5.ll @@ -4,7 +4,7 @@ ; RUN: grep punpckldq %t | count 1 ; RUN: grep movq %t | count 1 -define <4 x float> @test1(float %a, float %b) { +define <4 x float> @test1(float %a, float %b) nounwind { %tmp = insertelement <4 x float> zeroinitializer, float %a, i32 0 ; <<4 x float>> [#uses=1] %tmp6 = insertelement <4 x float> %tmp, float 0.000000e+00, i32 1 ; <<4 x float>> [#uses=1] %tmp8 = insertelement <4 x float> %tmp6, float %b, i32 2 ; <<4 x float>> [#uses=1] @@ -12,7 +12,7 @@ define <4 x float> @test1(float %a, float %b) { ret <4 x float> %tmp9 } -define <4 x float> @test2(float %a, float %b) { +define <4 x float> @test2(float %a, float %b) nounwind { %tmp = insertelement <4 x float> zeroinitializer, float %a, i32 0 ; <<4 x float>> [#uses=1] %tmp7 = insertelement <4 x float> %tmp, float %b, i32 1 ; <<4 x float>> [#uses=1] %tmp8 = insertelement <4 x float> %tmp7, float 0.000000e+00, i32 2 ; <<4 x float>> [#uses=1] @@ -20,7 +20,7 @@ define <4 x float> @test2(float %a, float %b) { ret <4 x float> %tmp9 } -define <2 x i64> @test3(i32 %a, i32 %b) { +define <2 x i64> @test3(i32 %a, i32 %b) nounwind { %tmp = insertelement <4 x i32> zeroinitializer, i32 %a, i32 0 ; <<4 x i32>> [#uses=1] %tmp6 = insertelement <4 x i32> %tmp, i32 %b, i32 1 ; <<4 x i32>> [#uses=1] %tmp8 = insertelement <4 x i32> %tmp6, i32 0, i32 2 ; <<4 x i32>> [#uses=1] diff --git a/test/CodeGen/X86/vec_set-7.ll b/test/CodeGen/X86/vec_set-7.ll index 69bfac66346..6f98c510efc 100644 --- a/test/CodeGen/X86/vec_set-7.ll +++ b/test/CodeGen/X86/vec_set-7.ll @@ -1,6 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movsd | count 1 -define <2 x i64> @test(<2 x i64>* %p) { +define <2 x i64> @test(<2 x i64>* %p) nounwind { %tmp = bitcast <2 x i64>* %p to double* %tmp.upgrd.1 = load double* %tmp %tmp.upgrd.2 = insertelement <2 x double> undef, double %tmp.upgrd.1, i32 0 diff --git a/test/CodeGen/X86/vec_set-9.ll b/test/CodeGen/X86/vec_set-9.ll index b73187c055d..38f729fbc89 100644 --- a/test/CodeGen/X86/vec_set-9.ll +++ b/test/CodeGen/X86/vec_set-9.ll @@ -1,7 +1,7 @@ ; RUN: llvm-as < %s | llc -march=x86-64 | grep movd | count 1 ; RUN: llvm-as < %s | llc -march=x86-64 | grep {punpcklqdq.*%xmm0, %xmm0} -define <2 x i64> @test3(i64 %A) { +define <2 x i64> @test3(i64 %A) nounwind { entry: %B = insertelement <2 x i64> undef, i64 %A, i32 1 ret <2 x i64> %B diff --git a/test/CodeGen/X86/vec_set-A.ll b/test/CodeGen/X86/vec_set-A.ll index 49a8e01eade..f33263f1aef 100644 --- a/test/CodeGen/X86/vec_set-A.ll +++ b/test/CodeGen/X86/vec_set-A.ll @@ -1,5 +1,5 @@ ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep {movl.*\$1, %} -define <2 x i64> @test1() { +define <2 x i64> @test1() nounwind { entry: ret <2 x i64> < i64 1, i64 0 > } diff --git a/test/CodeGen/X86/vec_set-B.ll b/test/CodeGen/X86/vec_set-B.ll index a53116c92d1..d318964686c 100644 --- a/test/CodeGen/X86/vec_set-B.ll +++ b/test/CodeGen/X86/vec_set-B.ll @@ -8,14 +8,14 @@ ; movd %eax, %xmm0 ; ret -define <2 x i64> @test3(i64 %arg) { +define <2 x i64> @test3(i64 %arg) nounwind { entry: %A = and i64 %arg, 1234567 %B = insertelement <2 x i64> zeroinitializer, i64 %A, i32 0 ret <2 x i64> %B } -define <2 x i64> @test2(i64 %arg) { +define <2 x i64> @test2(i64 %arg) nounwind { entry: %A = and i64 %arg, 1234567 %B = insertelement <2 x i64> undef, i64 %A, i32 0 diff --git a/test/CodeGen/X86/vec_set.ll b/test/CodeGen/X86/vec_set.ll index b8e1534152d..77636eda1c0 100644 --- a/test/CodeGen/X86/vec_set.ll +++ b/test/CodeGen/X86/vec_set.ll @@ -1,6 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep punpckl | count 7 -define void @test(<8 x i16>* %b, i16 %a0, i16 %a1, i16 %a2, i16 %a3, i16 %a4, i16 %a5, i16 %a6, i16 %a7) { +define void @test(<8 x i16>* %b, i16 %a0, i16 %a1, i16 %a2, i16 %a3, i16 %a4, i16 %a5, i16 %a6, i16 %a7) nounwind { %tmp = insertelement <8 x i16> zeroinitializer, i16 %a0, i32 0 ; <<8 x i16>> [#uses=1] %tmp2 = insertelement <8 x i16> %tmp, i16 %a1, i32 1 ; <<8 x i16>> [#uses=1] %tmp4 = insertelement <8 x i16> %tmp2, i16 %a2, i32 2 ; <<8 x i16>> [#uses=1] diff --git a/test/CodeGen/X86/vec_ss_load_fold.ll b/test/CodeGen/X86/vec_ss_load_fold.ll index c123765f14d..0f15f923fea 100644 --- a/test/CodeGen/X86/vec_ss_load_fold.ll +++ b/test/CodeGen/X86/vec_ss_load_fold.ll @@ -5,7 +5,7 @@ target datalayout = "e-p:32:32" target triple = "i686-apple-darwin8.7.2" -define i16 @test1(float %f) { +define i16 @test1(float %f) nounwind { %tmp = insertelement <4 x float> undef, float %f, i32 0 ; <<4 x float>> [#uses=1] %tmp10 = insertelement <4 x float> %tmp, float 0.000000e+00, i32 1 ; <<4 x float>> [#uses=1] %tmp11 = insertelement <4 x float> %tmp10, float 0.000000e+00, i32 2 ; <<4 x float>> [#uses=1] @@ -19,7 +19,7 @@ define i16 @test1(float %f) { ret i16 %tmp69 } -define i16 @test2(float %f) { +define i16 @test2(float %f) nounwind { %tmp28 = sub float %f, 1.000000e+00 ; [#uses=1] %tmp37 = mul float %tmp28, 5.000000e-01 ; [#uses=1] %tmp375 = insertelement <4 x float> undef, float %tmp37, i32 0 ; <<4 x float>> [#uses=1]