mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-20 16:17:38 +00:00
Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change.
This update was done with the following bash script:
find test/Transforms -name "*.ll" | \
while read NAME; do
echo "$NAME"
if ! grep -q "^; *RUN: *llc" $NAME; then
TEMP=`mktemp -t temp`
cp $NAME $TEMP
sed -n "s/^define [^@]*@\([A-Za-z0-9_]*\)(.*$/\1/p" < $NAME | \
while read FUNC; do
sed -i '' "s/;\(.*\)\([A-Za-z0-9_]*\):\( *\)@$FUNC\([( ]*\)\$/;\1\2-LABEL:\3@$FUNC(/g" $TEMP
done
mv $TEMP $NAME
fi
done
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186268 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @foo
|
||||
;CHECK-LABEL: @foo(
|
||||
;CHECK: icmp eq <4 x i32>
|
||||
;CHECK: select <4 x i1>
|
||||
;CHECK: ret i32
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
|
||||
target triple = "thumbv7-apple-ios3.0.0"
|
||||
|
||||
;CHECK: @foo
|
||||
;CHECK-LABEL: @foo(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK-NOT: load <4 x i32>
|
||||
;CHECK: ret
|
||||
;SWIFT: @foo
|
||||
;SWIFT-LABEL: @foo(
|
||||
;SWIFT: load <4 x i32>
|
||||
;SWIFT: load <4 x i32>
|
||||
;SWIFT: ret
|
||||
|
||||
@@ -8,7 +8,7 @@ target triple = "thumbv7-apple-ios3.0.0"
|
||||
@a = common global [2048 x i32] zeroinitializer, align 16
|
||||
|
||||
; Select VF = 8;
|
||||
;CHECK: @example1
|
||||
;CHECK-LABEL: @example1(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add nsw <4 x i32>
|
||||
;CHECK: store <4 x i32>
|
||||
@@ -34,7 +34,7 @@ define void @example1() nounwind uwtable ssp {
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example10b
|
||||
;CHECK-LABEL: @example10b(
|
||||
;CHECK: load <4 x i16>
|
||||
;CHECK: sext <4 x i16>
|
||||
;CHECK: store <4 x i32>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @read_mod_write_single_ptr
|
||||
;CHECK-LABEL: @read_mod_write_single_ptr(
|
||||
;CHECK: load <8 x float>
|
||||
;CHECK: ret i32
|
||||
define i32 @read_mod_write_single_ptr(float* nocapture %a, i32 %n) nounwind uwtable ssp {
|
||||
@@ -26,7 +26,7 @@ define i32 @read_mod_write_single_ptr(float* nocapture %a, i32 %n) nounwind uwta
|
||||
}
|
||||
|
||||
|
||||
;CHECK: @read_mod_i64
|
||||
;CHECK-LABEL: @read_mod_i64(
|
||||
;CHECK: load <2 x i64>
|
||||
;CHECK: ret i32
|
||||
define i32 @read_mod_i64(i64* nocapture %a, i32 %n) nounwind uwtable ssp {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @conversion_cost1
|
||||
;CHECK-LABEL: @conversion_cost1(
|
||||
;CHECK: store <32 x i8>
|
||||
;CHECK: ret
|
||||
define i32 @conversion_cost1(i32 %n, i8* nocapture %A, float* nocapture %B) nounwind uwtable ssp {
|
||||
@@ -24,7 +24,7 @@ define i32 @conversion_cost1(i32 %n, i8* nocapture %A, float* nocapture %B) noun
|
||||
ret i32 undef
|
||||
}
|
||||
|
||||
;CHECK: @conversion_cost2
|
||||
;CHECK-LABEL: @conversion_cost2(
|
||||
;CHECK: <2 x float>
|
||||
;CHECK: ret
|
||||
define i32 @conversion_cost2(i32 %n, i8* nocapture %A, float* nocapture %B) nounwind uwtable ssp {
|
||||
|
||||
@@ -9,13 +9,13 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
@a = common global [2048 x i32] zeroinitializer, align 16
|
||||
|
||||
; Select VF = 8;
|
||||
;CHECK: @example1
|
||||
;CHECK-LABEL: @example1(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add nsw <4 x i32>
|
||||
;CHECK: store <4 x i32>
|
||||
;CHECK: ret void
|
||||
|
||||
;UNROLL: @example1
|
||||
;UNROLL-LABEL: @example1(
|
||||
;UNROLL: load <4 x i32>
|
||||
;UNROLL: load <4 x i32>
|
||||
;UNROLL: add nsw <4 x i32>
|
||||
@@ -45,12 +45,12 @@ define void @example1() nounwind uwtable ssp {
|
||||
}
|
||||
|
||||
; Select VF=4 because sext <8 x i1> to <8 x i32> is expensive.
|
||||
;CHECK: @example10b
|
||||
;CHECK-LABEL: @example10b(
|
||||
;CHECK: load <4 x i16>
|
||||
;CHECK: sext <4 x i16>
|
||||
;CHECK: store <4 x i32>
|
||||
;CHECK: ret void
|
||||
;UNROLL: @example10b
|
||||
;UNROLL-LABEL: @example10b(
|
||||
;UNROLL: load <4 x i16>
|
||||
;UNROLL: load <4 x i16>
|
||||
;UNROLL: store <4 x i32>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
||||
;CHECK: @foo
|
||||
;CHECK-LABEL: @foo(
|
||||
;CHECK-NOT: <4 x i32>
|
||||
;CHECK: ret void
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ target triple = "x86_64-unknown-linux-gnu"
|
||||
; }
|
||||
;}
|
||||
|
||||
;CHECK: @loop
|
||||
;CHECK-LABEL: @loop(
|
||||
;CHECK-NOT: <4 x i32>
|
||||
define void @loop(i32* nocapture %a, i32* nocapture %b) nounwind uwtable {
|
||||
entry:
|
||||
@@ -42,7 +42,7 @@ for.end: ; preds = %for.body
|
||||
; The same loop with parallel loop metadata added to the loop branch
|
||||
; and the memory instructions.
|
||||
|
||||
;CHECK: @parallel_loop
|
||||
;CHECK-LABEL: @parallel_loop(
|
||||
;CHECK: <4 x i32>
|
||||
define void @parallel_loop(i32* nocapture %a, i32* nocapture %b) nounwind uwtable {
|
||||
entry:
|
||||
@@ -74,7 +74,7 @@ for.end: ; preds = %for.body
|
||||
; The same loop with an illegal parallel loop metadata: the memory
|
||||
; accesses refer to a different loop's identifier.
|
||||
|
||||
;CHECK: @mixed_metadata
|
||||
;CHECK-LABEL: @mixed_metadata(
|
||||
;CHECK-NOT: <4 x i32>
|
||||
|
||||
define void @mixed_metadata(i32* nocapture %a, i32* nocapture %b) nounwind uwtable {
|
||||
|
||||
@@ -5,7 +5,7 @@ target triple = "i386-apple-darwin"
|
||||
|
||||
; PR15344
|
||||
define void @test1(float* nocapture %arg, i32 %arg1) nounwind {
|
||||
; CHECK: @test1
|
||||
; CHECK-LABEL: @test1(
|
||||
; CHECK: preheader
|
||||
; CHECK: insertelement <2 x double> zeroinitializer, double %tmp, i32 0
|
||||
; CHECK: vector.memcheck
|
||||
|
||||
@@ -20,7 +20,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
@dj = common global [1024 x i32] zeroinitializer, align 16
|
||||
|
||||
; We can optimize this test without a tail.
|
||||
;CHECK: @example1
|
||||
;CHECK-LABEL: @example1(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add nsw <4 x i32>
|
||||
;CHECK: store <4 x i32>
|
||||
@@ -47,7 +47,7 @@ define void @example1() optsize {
|
||||
}
|
||||
|
||||
; Can't vectorize in 'optsize' mode because we need a tail.
|
||||
;CHECK: @example2
|
||||
;CHECK-LABEL: @example2(
|
||||
;CHECK-NOT: store <4 x i32>
|
||||
;CHECK: ret void
|
||||
define void @example2(i32 %n, i32 %x) optsize {
|
||||
@@ -92,7 +92,7 @@ define void @example2(i32 %n, i32 %x) optsize {
|
||||
}
|
||||
|
||||
; N is unknown, we need a tail. Can't vectorize.
|
||||
;CHECK: @example3
|
||||
;CHECK-LABEL: @example3(
|
||||
;CHECK-NOT: <4 x i32>
|
||||
;CHECK: ret void
|
||||
define void @example3(i32 %n, i32* noalias nocapture %p, i32* noalias nocapture %q) optsize {
|
||||
@@ -117,7 +117,7 @@ define void @example3(i32 %n, i32* noalias nocapture %p, i32* noalias nocapture
|
||||
|
||||
|
||||
; We can't vectorize this one because we need a runtime ptr check.
|
||||
;CHECK: @example23
|
||||
;CHECK-LABEL: @example23(
|
||||
;CHECK-NOT: <4 x i32>
|
||||
;CHECK: ret void
|
||||
define void @example23(i16* nocapture %src, i32* nocapture %dst) optsize {
|
||||
@@ -143,7 +143,7 @@ define void @example23(i16* nocapture %src, i32* nocapture %dst) optsize {
|
||||
|
||||
|
||||
; We CAN vectorize this example because the pointers are marked as noalias.
|
||||
;CHECK: @example23b
|
||||
;CHECK-LABEL: @example23b(
|
||||
;CHECK: <4 x i32>
|
||||
;CHECK: ret void
|
||||
define void @example23b(i16* noalias nocapture %src, i32* noalias nocapture %dst) optsize {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
;CHECK: @foo
|
||||
;CHECK-LABEL: @foo(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK-NOT: load <4 x i32>
|
||||
;CHECK: store <4 x i32>
|
||||
@@ -26,7 +26,7 @@ define i32 @foo(i32* nocapture %A) nounwind uwtable ssp {
|
||||
ret i32 undef
|
||||
}
|
||||
|
||||
;CHECK: @bar
|
||||
;CHECK-LABEL: @bar(
|
||||
;CHECK: store <4 x i32>
|
||||
;CHECK: store <4 x i32>
|
||||
;CHECK: ret
|
||||
|
||||
@@ -5,7 +5,7 @@ target triple = "x86_64-apple-macosx10.7.0"
|
||||
|
||||
@x = common global [1024 x x86_fp80] zeroinitializer, align 16
|
||||
|
||||
;CHECK: @example
|
||||
;CHECK-LABEL: @example(
|
||||
;CHECK-NOT: bitcast x86_fp80* {{%[^ ]+}} to <{{[2-9][0-9]*}} x x86_fp80>*
|
||||
;CHECK: store
|
||||
;CHECK: ret void
|
||||
|
||||
@@ -7,7 +7,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
@a = common global [2048 x i32] zeroinitializer, align 16
|
||||
|
||||
;CHECK: @example12
|
||||
;CHECK-LABEL: @example12(
|
||||
;CHECK: trunc i64
|
||||
;CHECK: store <4 x i32>
|
||||
;CHECK: ret void
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @cpp_new_arrays
|
||||
;CHECK-LABEL: @cpp_new_arrays(
|
||||
;CHECK: sext i32
|
||||
;CHECK: load <4 x float>
|
||||
;CHECK: fadd <4 x float>
|
||||
|
||||
@@ -8,7 +8,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
@B = global [1024 x i32] zeroinitializer, align 16
|
||||
@C = global [1024 x i32] zeroinitializer, align 16
|
||||
|
||||
; CHECK: @test
|
||||
; CHECK-LABEL: @test(
|
||||
define i32 @test() #0 {
|
||||
entry:
|
||||
tail call void @llvm.dbg.value(metadata !1, i64 0, metadata !9), !dbg !18
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @flags1
|
||||
;CHECK-LABEL: @flags1(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: mul nsw <4 x i32>
|
||||
;CHECK: store <4 x i32>
|
||||
@@ -28,7 +28,7 @@ define i32 @flags1(i32 %n, i32* nocapture %A) nounwind uwtable ssp {
|
||||
}
|
||||
|
||||
|
||||
;CHECK: @flags2
|
||||
;CHECK-LABEL: @flags2(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: mul <4 x i32>
|
||||
;CHECK: store <4 x i32>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
;CHECK: @foo
|
||||
;CHECK-LABEL: @foo(
|
||||
;CHECK: fadd <4 x float>
|
||||
;CHECK: ret
|
||||
define float @foo(float* nocapture %A, i32* nocapture %n) nounwind uwtable readonly ssp {
|
||||
|
||||
@@ -20,12 +20,12 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
@dd = common global [1024 x float] zeroinitializer, align 16
|
||||
@dj = common global [1024 x i32] zeroinitializer, align 16
|
||||
|
||||
;CHECK: @example1
|
||||
;CHECK-LABEL: @example1(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add nsw <4 x i32>
|
||||
;CHECK: store <4 x i32>
|
||||
;CHECK: ret void
|
||||
;UNROLL: @example1
|
||||
;UNROLL-LABEL: @example1(
|
||||
;UNROLL: load <4 x i32>
|
||||
;UNROLL: load <4 x i32>
|
||||
;UNROLL: load <4 x i32>
|
||||
@@ -60,10 +60,10 @@ define void @example1() nounwind uwtable ssp {
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example2
|
||||
;CHECK-LABEL: @example2(
|
||||
;CHECK: store <4 x i32>
|
||||
;CHECK: ret void
|
||||
;UNROLL: @example2
|
||||
;UNROLL-LABEL: @example2(
|
||||
;UNROLL: store <4 x i32>
|
||||
;UNROLL: store <4 x i32>
|
||||
;UNROLL: store <4 x i32>
|
||||
@@ -110,10 +110,10 @@ define void @example2(i32 %n, i32 %x) nounwind uwtable ssp {
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example3
|
||||
;CHECK-LABEL: @example3(
|
||||
;CHECK: <4 x i32>
|
||||
;CHECK: ret void
|
||||
;UNROLL: @example3
|
||||
;UNROLL-LABEL: @example3(
|
||||
;UNROLL: <4 x i32>
|
||||
;UNROLL: <4 x i32>
|
||||
;UNROLL: <4 x i32>
|
||||
@@ -139,10 +139,10 @@ define void @example3(i32 %n, i32* noalias nocapture %p, i32* noalias nocapture
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example4
|
||||
;CHECK-LABEL: @example4(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: ret void
|
||||
;UNROLL: @example4
|
||||
;UNROLL-LABEL: @example4(
|
||||
;UNROLL: load <4 x i32>
|
||||
;UNROLL: load <4 x i32>
|
||||
;UNROLL: load <4 x i32>
|
||||
@@ -205,10 +205,10 @@ define void @example4(i32 %n, i32* noalias nocapture %p, i32* noalias nocapture
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example8
|
||||
;CHECK-LABEL: @example8(
|
||||
;CHECK: store <4 x i32>
|
||||
;CHECK: ret void
|
||||
;UNROLL: @example8
|
||||
;UNROLL-LABEL: @example8(
|
||||
;UNROLL: store <4 x i32>
|
||||
;UNROLL: store <4 x i32>
|
||||
;UNROLL: store <4 x i32>
|
||||
@@ -240,7 +240,7 @@ define void @example8(i32 %x) nounwind uwtable ssp {
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example9
|
||||
;CHECK-LABEL: @example9(
|
||||
;CHECK: phi <4 x i32>
|
||||
;CHECK: ret i32
|
||||
define i32 @example9() nounwind uwtable readonly ssp {
|
||||
@@ -264,7 +264,7 @@ define i32 @example9() nounwind uwtable readonly ssp {
|
||||
ret i32 %7
|
||||
}
|
||||
|
||||
;CHECK: @example10a
|
||||
;CHECK-LABEL: @example10a(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add nsw <4 x i32>
|
||||
;CHECK: load <4 x i16>
|
||||
@@ -299,7 +299,7 @@ define void @example10a(i16* noalias nocapture %sa, i16* noalias nocapture %sb,
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example10b
|
||||
;CHECK-LABEL: @example10b(
|
||||
;CHECK: load <4 x i16>
|
||||
;CHECK: sext <4 x i16>
|
||||
;CHECK: store <4 x i32>
|
||||
@@ -323,7 +323,7 @@ define void @example10b(i16* noalias nocapture %sa, i16* noalias nocapture %sb,
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example11
|
||||
;CHECK-LABEL: @example11(
|
||||
;CHECK: load i32
|
||||
;CHECK: load i32
|
||||
;CHECK: load i32
|
||||
@@ -367,7 +367,7 @@ define void @example11() nounwind uwtable ssp {
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example12
|
||||
;CHECK-LABEL: @example12(
|
||||
;CHECK: trunc i64
|
||||
;CHECK: store <4 x i32>
|
||||
;CHECK: ret void
|
||||
@@ -389,7 +389,7 @@ define void @example12() nounwind uwtable ssp {
|
||||
}
|
||||
|
||||
; Can't vectorize because of reductions.
|
||||
;CHECK: @example13
|
||||
;CHECK-LABEL: @example13(
|
||||
;CHECK-NOT: <4 x i32>
|
||||
;CHECK: ret void
|
||||
define void @example13(i32** nocapture %A, i32** nocapture %B, i32* nocapture %out) nounwind uwtable ssp {
|
||||
@@ -430,7 +430,7 @@ define void @example13(i32** nocapture %A, i32** nocapture %B, i32* nocapture %o
|
||||
}
|
||||
|
||||
; Can vectorize.
|
||||
;CHECK: @example14
|
||||
;CHECK-LABEL: @example14(
|
||||
;CHECK: <4 x i32>
|
||||
;CHECK: ret void
|
||||
define void @example14(i32** nocapture %in, i32** nocapture %coeff, i32* nocapture %out) nounwind uwtable ssp {
|
||||
@@ -575,7 +575,7 @@ define void @example14(i32** nocapture %in, i32** nocapture %coeff, i32* nocaptu
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example21
|
||||
;CHECK-LABEL: @example21(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: shufflevector {{.*}} <i32 3, i32 2, i32 1, i32 0>
|
||||
;CHECK: ret i32
|
||||
@@ -603,7 +603,7 @@ define i32 @example21(i32* nocapture %b, i32 %n) nounwind uwtable readonly ssp {
|
||||
ret i32 %a.0.lcssa
|
||||
}
|
||||
|
||||
;CHECK: @example23
|
||||
;CHECK-LABEL: @example23(
|
||||
;CHECK: <4 x i32>
|
||||
;CHECK: ret void
|
||||
define void @example23(i16* nocapture %src, i32* nocapture %dst) nounwind uwtable ssp {
|
||||
@@ -627,7 +627,7 @@ define void @example23(i16* nocapture %src, i32* nocapture %dst) nounwind uwtabl
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example24
|
||||
;CHECK-LABEL: @example24(
|
||||
;CHECK: shufflevector <4 x i16>
|
||||
;CHECK: ret void
|
||||
define void @example24(i16 signext %x, i16 signext %y) nounwind uwtable ssp {
|
||||
@@ -653,7 +653,7 @@ define void @example24(i16 signext %x, i16 signext %y) nounwind uwtable ssp {
|
||||
ret void
|
||||
}
|
||||
|
||||
;CHECK: @example25
|
||||
;CHECK-LABEL: @example25(
|
||||
;CHECK: and <4 x i1>
|
||||
;CHECK: zext <4 x i1>
|
||||
;CHECK: ret void
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
|
||||
;CHECK: @foo
|
||||
;CHECK-LABEL: @foo(
|
||||
;CHECK: icmp sgt
|
||||
;CHECK: icmp sgt
|
||||
;CHECK: icmp slt
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.9.0"
|
||||
|
||||
;CHECK: @reduction_func
|
||||
;CHECK-LABEL: @reduction_func(
|
||||
;CHECK-NOT: load <4 x i32>
|
||||
;CHECK: ret i32
|
||||
define i32 @reduction_func(i32* nocapture %A, i32 %n) nounwind uwtable readonly ssp {
|
||||
|
||||
@@ -17,7 +17,7 @@ target triple = "x86_64-apple-macosx10.9.0"
|
||||
; }
|
||||
;}
|
||||
|
||||
;CHECK: @function0
|
||||
;CHECK-LABEL: @function0(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: icmp sgt <4 x i32>
|
||||
;CHECK: mul <4 x i32>
|
||||
@@ -70,7 +70,7 @@ for.end:
|
||||
; return sum;
|
||||
; }
|
||||
|
||||
;CHECK: @reduction_func
|
||||
;CHECK-LABEL: @reduction_func(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: icmp sgt <4 x i32>
|
||||
;CHECK: add <4 x i32>
|
||||
|
||||
@@ -9,7 +9,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
; for (i=0; i<n; i++){
|
||||
; a[i] += i;
|
||||
; }
|
||||
;CHECK: @inc
|
||||
;CHECK-LABEL: @inc(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add nsw <4 x i32>
|
||||
;CHECK: store <4 x i32>
|
||||
@@ -39,7 +39,7 @@ define void @inc(i32 %n) nounwind uwtable noinline ssp {
|
||||
; for (i = 0; i < n; ++i) {
|
||||
; A[B[i]]++;
|
||||
;
|
||||
;CHECK: @histogram
|
||||
;CHECK-LABEL: @histogram(
|
||||
;CHECK-NOT: <4 x i32>
|
||||
;CHECK: ret i32
|
||||
define i32 @histogram(i32* nocapture noalias %A, i32* nocapture noalias %B, i32 %n) nounwind uwtable ssp {
|
||||
|
||||
@@ -5,7 +5,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
@array = common global [1024 x i32] zeroinitializer, align 16
|
||||
|
||||
;CHECK: @array_at_plus_one
|
||||
;CHECK-LABEL: @array_at_plus_one(
|
||||
;CHECK: trunc i64
|
||||
;CHECK: add i64 %index, 12
|
||||
;CHECK: ret i32
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
||||
;CHECK: @sqrt_f32
|
||||
;CHECK-LABEL: @sqrt_f32(
|
||||
;CHECK: llvm.sqrt.v4f32
|
||||
;CHECK: ret void
|
||||
define void @sqrt_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -29,7 +29,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.sqrt.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @sqrt_f64
|
||||
;CHECK-LABEL: @sqrt_f64(
|
||||
;CHECK: llvm.sqrt.v4f64
|
||||
;CHECK: ret void
|
||||
define void @sqrt_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -55,7 +55,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.sqrt.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @sin_f32
|
||||
;CHECK-LABEL: @sin_f32(
|
||||
;CHECK: llvm.sin.v4f32
|
||||
;CHECK: ret void
|
||||
define void @sin_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -81,7 +81,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.sin.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @sin_f64
|
||||
;CHECK-LABEL: @sin_f64(
|
||||
;CHECK: llvm.sin.v4f64
|
||||
;CHECK: ret void
|
||||
define void @sin_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -107,7 +107,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.sin.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @cos_f32
|
||||
;CHECK-LABEL: @cos_f32(
|
||||
;CHECK: llvm.cos.v4f32
|
||||
;CHECK: ret void
|
||||
define void @cos_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -133,7 +133,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.cos.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @cos_f64
|
||||
;CHECK-LABEL: @cos_f64(
|
||||
;CHECK: llvm.cos.v4f64
|
||||
;CHECK: ret void
|
||||
define void @cos_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -159,7 +159,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.cos.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @exp_f32
|
||||
;CHECK-LABEL: @exp_f32(
|
||||
;CHECK: llvm.exp.v4f32
|
||||
;CHECK: ret void
|
||||
define void @exp_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -185,7 +185,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.exp.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @exp_f64
|
||||
;CHECK-LABEL: @exp_f64(
|
||||
;CHECK: llvm.exp.v4f64
|
||||
;CHECK: ret void
|
||||
define void @exp_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -211,7 +211,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.exp.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @exp2_f32
|
||||
;CHECK-LABEL: @exp2_f32(
|
||||
;CHECK: llvm.exp2.v4f32
|
||||
;CHECK: ret void
|
||||
define void @exp2_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -237,7 +237,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.exp2.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @exp2_f64
|
||||
;CHECK-LABEL: @exp2_f64(
|
||||
;CHECK: llvm.exp2.v4f64
|
||||
;CHECK: ret void
|
||||
define void @exp2_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -263,7 +263,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.exp2.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @log_f32
|
||||
;CHECK-LABEL: @log_f32(
|
||||
;CHECK: llvm.log.v4f32
|
||||
;CHECK: ret void
|
||||
define void @log_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -289,7 +289,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.log.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @log_f64
|
||||
;CHECK-LABEL: @log_f64(
|
||||
;CHECK: llvm.log.v4f64
|
||||
;CHECK: ret void
|
||||
define void @log_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -315,7 +315,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.log.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @log10_f32
|
||||
;CHECK-LABEL: @log10_f32(
|
||||
;CHECK: llvm.log10.v4f32
|
||||
;CHECK: ret void
|
||||
define void @log10_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -341,7 +341,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.log10.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @log10_f64
|
||||
;CHECK-LABEL: @log10_f64(
|
||||
;CHECK: llvm.log10.v4f64
|
||||
;CHECK: ret void
|
||||
define void @log10_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -367,7 +367,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.log10.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @log2_f32
|
||||
;CHECK-LABEL: @log2_f32(
|
||||
;CHECK: llvm.log2.v4f32
|
||||
;CHECK: ret void
|
||||
define void @log2_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -393,7 +393,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.log2.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @log2_f64
|
||||
;CHECK-LABEL: @log2_f64(
|
||||
;CHECK: llvm.log2.v4f64
|
||||
;CHECK: ret void
|
||||
define void @log2_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -419,7 +419,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.log2.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @fabs_f32
|
||||
;CHECK-LABEL: @fabs_f32(
|
||||
;CHECK: llvm.fabs.v4f32
|
||||
;CHECK: ret void
|
||||
define void @fabs_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -468,7 +468,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.fabs(double) nounwind readnone
|
||||
|
||||
;CHECK: @floor_f32
|
||||
;CHECK-LABEL: @floor_f32(
|
||||
;CHECK: llvm.floor.v4f32
|
||||
;CHECK: ret void
|
||||
define void @floor_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -494,7 +494,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.floor.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @floor_f64
|
||||
;CHECK-LABEL: @floor_f64(
|
||||
;CHECK: llvm.floor.v4f64
|
||||
;CHECK: ret void
|
||||
define void @floor_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -520,7 +520,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.floor.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @ceil_f32
|
||||
;CHECK-LABEL: @ceil_f32(
|
||||
;CHECK: llvm.ceil.v4f32
|
||||
;CHECK: ret void
|
||||
define void @ceil_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -546,7 +546,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.ceil.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @ceil_f64
|
||||
;CHECK-LABEL: @ceil_f64(
|
||||
;CHECK: llvm.ceil.v4f64
|
||||
;CHECK: ret void
|
||||
define void @ceil_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -572,7 +572,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.ceil.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @trunc_f32
|
||||
;CHECK-LABEL: @trunc_f32(
|
||||
;CHECK: llvm.trunc.v4f32
|
||||
;CHECK: ret void
|
||||
define void @trunc_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -598,7 +598,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.trunc.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @trunc_f64
|
||||
;CHECK-LABEL: @trunc_f64(
|
||||
;CHECK: llvm.trunc.v4f64
|
||||
;CHECK: ret void
|
||||
define void @trunc_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -624,7 +624,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.trunc.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @rint_f32
|
||||
;CHECK-LABEL: @rint_f32(
|
||||
;CHECK: llvm.rint.v4f32
|
||||
;CHECK: ret void
|
||||
define void @rint_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -650,7 +650,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.rint.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @rint_f64
|
||||
;CHECK-LABEL: @rint_f64(
|
||||
;CHECK: llvm.rint.v4f64
|
||||
;CHECK: ret void
|
||||
define void @rint_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -676,7 +676,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.rint.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @nearbyint_f32
|
||||
;CHECK-LABEL: @nearbyint_f32(
|
||||
;CHECK: llvm.nearbyint.v4f32
|
||||
;CHECK: ret void
|
||||
define void @nearbyint_f32(i32 %n, float* noalias %y, float* noalias %x) nounwind uwtable {
|
||||
@@ -702,7 +702,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.nearbyint.f32(float) nounwind readnone
|
||||
|
||||
;CHECK: @nearbyint_f64
|
||||
;CHECK-LABEL: @nearbyint_f64(
|
||||
;CHECK: llvm.nearbyint.v4f64
|
||||
;CHECK: ret void
|
||||
define void @nearbyint_f64(i32 %n, double* noalias %y, double* noalias %x) nounwind uwtable {
|
||||
@@ -728,7 +728,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.nearbyint.f64(double) nounwind readnone
|
||||
|
||||
;CHECK: @fma_f32
|
||||
;CHECK-LABEL: @fma_f32(
|
||||
;CHECK: llvm.fma.v4f32
|
||||
;CHECK: ret void
|
||||
define void @fma_f32(i32 %n, float* noalias %y, float* noalias %x, float* noalias %z, float* noalias %w) nounwind uwtable {
|
||||
@@ -758,7 +758,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.fma.f32(float, float, float) nounwind readnone
|
||||
|
||||
;CHECK: @fma_f64
|
||||
;CHECK-LABEL: @fma_f64(
|
||||
;CHECK: llvm.fma.v4f64
|
||||
;CHECK: ret void
|
||||
define void @fma_f64(i32 %n, double* noalias %y, double* noalias %x, double* noalias %z, double* noalias %w) nounwind uwtable {
|
||||
@@ -788,7 +788,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.fma.f64(double, double, double) nounwind readnone
|
||||
|
||||
;CHECK: @fmuladd_f32
|
||||
;CHECK-LABEL: @fmuladd_f32(
|
||||
;CHECK: llvm.fmuladd.v4f32
|
||||
;CHECK: ret void
|
||||
define void @fmuladd_f32(i32 %n, float* noalias %y, float* noalias %x, float* noalias %z, float* noalias %w) nounwind uwtable {
|
||||
@@ -818,7 +818,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.fmuladd.f32(float, float, float) nounwind readnone
|
||||
|
||||
;CHECK: @fmuladd_f64
|
||||
;CHECK-LABEL: @fmuladd_f64(
|
||||
;CHECK: llvm.fmuladd.v4f64
|
||||
;CHECK: ret void
|
||||
define void @fmuladd_f64(i32 %n, double* noalias %y, double* noalias %x, double* noalias %z, double* noalias %w) nounwind uwtable {
|
||||
@@ -848,7 +848,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare double @llvm.fmuladd.f64(double, double, double) nounwind readnone
|
||||
|
||||
;CHECK: @pow_f32
|
||||
;CHECK-LABEL: @pow_f32(
|
||||
;CHECK: llvm.pow.v4f32
|
||||
;CHECK: ret void
|
||||
define void @pow_f32(i32 %n, float* noalias %y, float* noalias %x, float* noalias %z) nounwind uwtable {
|
||||
@@ -876,7 +876,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
declare float @llvm.pow.f32(float, float) nounwind readnone
|
||||
|
||||
;CHECK: @pow_f64
|
||||
;CHECK-LABEL: @pow_f64(
|
||||
;CHECK: llvm.pow.v4f64
|
||||
;CHECK: ret void
|
||||
define void @pow_f64(i32 %n, double* noalias %y, double* noalias %x, double* noalias %z) nounwind uwtable {
|
||||
|
||||
@@ -159,7 +159,7 @@ for.end:
|
||||
; happen.
|
||||
;
|
||||
|
||||
; CHECK: @nostoreloadforward
|
||||
; CHECK-LABEL: @nostoreloadforward(
|
||||
; CHECK-NOT: <2 x i32>
|
||||
|
||||
define void @nostoreloadforward(i32* %A) {
|
||||
@@ -194,7 +194,7 @@ for.end:
|
||||
; happen.
|
||||
;
|
||||
|
||||
; CHECK: @nostoreloadforward2
|
||||
; CHECK-LABEL: @nostoreloadforward2(
|
||||
; CHECK-NOT: <2 x i32>
|
||||
|
||||
define void @nostoreloadforward2(i32* noalias %A, i32* noalias %B, i32* noalias %C) {
|
||||
|
||||
@@ -9,7 +9,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
; for (i=0; i<n; i++){
|
||||
; a[i] += i;
|
||||
; }
|
||||
;CHECK: @inc
|
||||
;CHECK-LABEL: @inc(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add nsw <4 x i32>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
||||
; CHECK: @test1
|
||||
; CHECK-LABEL: @test1(
|
||||
; CHECK: store <8 x i32>
|
||||
; CHECK: ret void
|
||||
define void @test1(i32* nocapture %a, i32 %n) #0 {
|
||||
|
||||
@@ -10,7 +10,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
|
||||
|
||||
; Turn this into a max reduction. Make sure we use a splat to initialize the
|
||||
; vector for the reduction.
|
||||
; CHECK: @max_red
|
||||
; CHECK-LABEL: @max_red(
|
||||
; CHECK: %[[VAR:.*]] = insertelement <2 x i32> undef, i32 %max, i32 0
|
||||
; CHECK: {{.*}} = shufflevector <2 x i32> %[[VAR]], <2 x i32> undef, <2 x i32> zeroinitializer
|
||||
; CHECK: icmp sgt <2 x i32>
|
||||
@@ -41,7 +41,7 @@ for.end:
|
||||
|
||||
; Turn this into a max reduction. The select has its inputs reversed therefore
|
||||
; this is a max reduction.
|
||||
; CHECK: @max_red_inverse_select
|
||||
; CHECK-LABEL: @max_red_inverse_select(
|
||||
; CHECK: icmp slt <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -69,7 +69,7 @@ for.end:
|
||||
}
|
||||
|
||||
; Turn this into a min reduction.
|
||||
; CHECK: @min_red
|
||||
; CHECK-LABEL: @min_red(
|
||||
; CHECK: icmp slt <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -98,7 +98,7 @@ for.end:
|
||||
|
||||
; Turn this into a min reduction. The select has its inputs reversed therefore
|
||||
; this is a min reduction.
|
||||
; CHECK: @min_red_inverse_select
|
||||
; CHECK-LABEL: @min_red_inverse_select(
|
||||
; CHECK: icmp sgt <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -128,7 +128,7 @@ for.end:
|
||||
; Unsigned tests.
|
||||
|
||||
; Turn this into a max reduction.
|
||||
; CHECK: @umax_red
|
||||
; CHECK-LABEL: @umax_red(
|
||||
; CHECK: icmp ugt <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -157,7 +157,7 @@ for.end:
|
||||
|
||||
; Turn this into a max reduction. The select has its inputs reversed therefore
|
||||
; this is a max reduction.
|
||||
; CHECK: @umax_red_inverse_select
|
||||
; CHECK-LABEL: @umax_red_inverse_select(
|
||||
; CHECK: icmp ult <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -185,7 +185,7 @@ for.end:
|
||||
}
|
||||
|
||||
; Turn this into a min reduction.
|
||||
; CHECK: @umin_red
|
||||
; CHECK-LABEL: @umin_red(
|
||||
; CHECK: icmp ult <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -214,7 +214,7 @@ for.end:
|
||||
|
||||
; Turn this into a min reduction. The select has its inputs reversed therefore
|
||||
; this is a min reduction.
|
||||
; CHECK: @umin_red_inverse_select
|
||||
; CHECK-LABEL: @umin_red_inverse_select(
|
||||
; CHECK: icmp ugt <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -243,7 +243,7 @@ for.end:
|
||||
|
||||
; SGE -> SLT
|
||||
; Turn this into a min reduction (select inputs are reversed).
|
||||
; CHECK: @sge_min_red
|
||||
; CHECK-LABEL: @sge_min_red(
|
||||
; CHECK: icmp sge <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -272,7 +272,7 @@ for.end:
|
||||
|
||||
; SLE -> SGT
|
||||
; Turn this into a max reduction (select inputs are reversed).
|
||||
; CHECK: @sle_min_red
|
||||
; CHECK-LABEL: @sle_min_red(
|
||||
; CHECK: icmp sle <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -301,7 +301,7 @@ for.end:
|
||||
|
||||
; UGE -> ULT
|
||||
; Turn this into a min reduction (select inputs are reversed).
|
||||
; CHECK: @uge_min_red
|
||||
; CHECK-LABEL: @uge_min_red(
|
||||
; CHECK: icmp uge <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -330,7 +330,7 @@ for.end:
|
||||
|
||||
; ULE -> UGT
|
||||
; Turn this into a max reduction (select inputs are reversed).
|
||||
; CHECK: @ule_min_red
|
||||
; CHECK-LABEL: @ule_min_red(
|
||||
; CHECK: icmp ule <2 x i32>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -358,7 +358,7 @@ for.end:
|
||||
}
|
||||
|
||||
; No reduction.
|
||||
; CHECK: @no_red_1
|
||||
; CHECK-LABEL: @no_red_1(
|
||||
; CHECK-NOT: icmp <2 x i32>
|
||||
define i32 @no_red_1(i32 %max) {
|
||||
entry:
|
||||
@@ -382,7 +382,7 @@ for.end:
|
||||
ret i32 %max.red.0
|
||||
}
|
||||
|
||||
; CHECK: @no_red_2
|
||||
; CHECK-LABEL: @no_red_2(
|
||||
; CHECK-NOT: icmp <2 x i32>
|
||||
define i32 @no_red_2(i32 %max) {
|
||||
entry:
|
||||
@@ -411,7 +411,7 @@ for.end:
|
||||
; Maximum.
|
||||
|
||||
; Turn this into a max reduction in the presence of a no-nans-fp-math attribute.
|
||||
; CHECK: @max_red_float
|
||||
; CHECK-LABEL: @max_red_float(
|
||||
; CHECK: fcmp ogt <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -437,7 +437,7 @@ for.end:
|
||||
ret float %max.red.0
|
||||
}
|
||||
|
||||
; CHECK: @max_red_float_ge
|
||||
; CHECK-LABEL: @max_red_float_ge(
|
||||
; CHECK: fcmp oge <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -463,7 +463,7 @@ for.end:
|
||||
ret float %max.red.0
|
||||
}
|
||||
|
||||
; CHECK: @inverted_max_red_float
|
||||
; CHECK-LABEL: @inverted_max_red_float(
|
||||
; CHECK: fcmp olt <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -489,7 +489,7 @@ for.end:
|
||||
ret float %max.red.0
|
||||
}
|
||||
|
||||
; CHECK: @inverted_max_red_float_le
|
||||
; CHECK-LABEL: @inverted_max_red_float_le(
|
||||
; CHECK: fcmp ole <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -541,7 +541,7 @@ for.end:
|
||||
ret float %max.red.0
|
||||
}
|
||||
|
||||
; CHECK: @unordered_max_red_float_ge
|
||||
; CHECK-LABEL: @unordered_max_red_float_ge(
|
||||
; CHECK: fcmp uge <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -593,7 +593,7 @@ for.end:
|
||||
ret float %max.red.0
|
||||
}
|
||||
|
||||
; CHECK: @inverted_unordered_max_red_float_le
|
||||
; CHECK-LABEL: @inverted_unordered_max_red_float_le(
|
||||
; CHECK: fcmp ule <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -622,7 +622,7 @@ for.end:
|
||||
; Minimum.
|
||||
|
||||
; Turn this into a min reduction in the presence of a no-nans-fp-math attribute.
|
||||
; CHECK: @min_red_float
|
||||
; CHECK-LABEL: @min_red_float(
|
||||
; CHECK: fcmp olt <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -648,7 +648,7 @@ for.end:
|
||||
ret float %min.red.0
|
||||
}
|
||||
|
||||
; CHECK: @min_red_float_le
|
||||
; CHECK-LABEL: @min_red_float_le(
|
||||
; CHECK: fcmp ole <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -674,7 +674,7 @@ for.end:
|
||||
ret float %min.red.0
|
||||
}
|
||||
|
||||
; CHECK: @inverted_min_red_float
|
||||
; CHECK-LABEL: @inverted_min_red_float(
|
||||
; CHECK: fcmp ogt <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -700,7 +700,7 @@ for.end:
|
||||
ret float %min.red.0
|
||||
}
|
||||
|
||||
; CHECK: @inverted_min_red_float_ge
|
||||
; CHECK-LABEL: @inverted_min_red_float_ge(
|
||||
; CHECK: fcmp oge <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -752,7 +752,7 @@ for.end:
|
||||
ret float %min.red.0
|
||||
}
|
||||
|
||||
; CHECK: @unordered_min_red_float_le
|
||||
; CHECK-LABEL: @unordered_min_red_float_le(
|
||||
; CHECK: fcmp ule <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -804,7 +804,7 @@ for.end:
|
||||
ret float %min.red.0
|
||||
}
|
||||
|
||||
; CHECK: @inverted_unordered_min_red_float_ge
|
||||
; CHECK-LABEL: @inverted_unordered_min_red_float_ge(
|
||||
; CHECK: fcmp uge <2 x float>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -831,7 +831,7 @@ for.end:
|
||||
}
|
||||
|
||||
; Make sure we handle doubles, too.
|
||||
; CHECK: @min_red_double
|
||||
; CHECK-LABEL: @min_red_double(
|
||||
; CHECK: fcmp olt <2 x double>
|
||||
; CHECK: select <2 x i1>
|
||||
; CHECK: middle.block
|
||||
@@ -859,7 +859,7 @@ for.end:
|
||||
|
||||
|
||||
; Don't this into a max reduction. The no-nans-fp-math attribute is missing
|
||||
; CHECK: @max_red_float_nans
|
||||
; CHECK-LABEL: @max_red_float_nans(
|
||||
; CHECK-NOT: <2 x float>
|
||||
|
||||
define float @max_red_float_nans(float %max) {
|
||||
|
||||
@@ -16,7 +16,7 @@ target triple = "x86_64-unknown-linux-gnu"
|
||||
@Y = common addrspace(1) global [40000 x i8] zeroinitializer, align 16
|
||||
@X = common global [40000 x i8] zeroinitializer, align 16
|
||||
|
||||
;CHECK: @main
|
||||
;CHECK-LABEL: @main(
|
||||
;CHECK: bitcast i8 addrspace(1)* %{{.*}} to <4 x i8> addrspace(1)*
|
||||
;CHECK: bitcast i8* %{{.*}} to <4 x i8>*
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ entry:
|
||||
br label %for.body
|
||||
|
||||
for.body:
|
||||
; CHECK: @g
|
||||
; CHECK-LABEL: @g(
|
||||
; CHECK-NOT: sdiv <2 x i32>
|
||||
%indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
|
||||
%r.05 = phi i32 [ 80, %entry ], [ %div, %for.body ]
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @sum_array
|
||||
;CHECK-LABEL: @sum_array(
|
||||
;CHECK: phi <4 x i32>
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add nsw <4 x i32>
|
||||
|
||||
@@ -7,7 +7,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
@a = common global [2048 x i32] zeroinitializer, align 16
|
||||
|
||||
;CHECK: @example12
|
||||
;CHECK-LABEL: @example12(
|
||||
;CHECK-NOT: store <4 x i32>
|
||||
;CHECK: ret void
|
||||
define void @example12() noimplicitfloat { ; <--------- "noimplicitfloat" attribute here!
|
||||
|
||||
@@ -7,7 +7,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
@c = common global [2048 x i32] zeroinitializer, align 16
|
||||
@a = common global [2048 x i32] zeroinitializer, align 16
|
||||
|
||||
;CHECK: @example1
|
||||
;CHECK-LABEL: @example1(
|
||||
;CHECK: shl i32
|
||||
;CHECK: zext i32
|
||||
;CHECK: load <4 x i32>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @read_only_func
|
||||
;CHECK-LABEL: @read_only_func(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: ret i32
|
||||
define i32 @read_only_func(i32* nocapture %A, i32* nocapture %B, i32 %n) nounwind uwtable readonly ssp {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @reduction_sum
|
||||
;CHECK-LABEL: @reduction_sum(
|
||||
;CHECK: phi <4 x i32>
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add <4 x i32>
|
||||
@@ -38,7 +38,7 @@ define i32 @reduction_sum(i32 %n, i32* noalias nocapture %A, i32* noalias nocapt
|
||||
ret i32 %sum.0.lcssa
|
||||
}
|
||||
|
||||
;CHECK: @reduction_prod
|
||||
;CHECK-LABEL: @reduction_prod(
|
||||
;CHECK: phi <4 x i32>
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: mul <4 x i32>
|
||||
@@ -73,7 +73,7 @@ define i32 @reduction_prod(i32 %n, i32* noalias nocapture %A, i32* noalias nocap
|
||||
ret i32 %prod.0.lcssa
|
||||
}
|
||||
|
||||
;CHECK: @reduction_mix
|
||||
;CHECK-LABEL: @reduction_mix(
|
||||
;CHECK: phi <4 x i32>
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: mul nsw <4 x i32>
|
||||
@@ -108,7 +108,7 @@ define i32 @reduction_mix(i32 %n, i32* noalias nocapture %A, i32* noalias nocapt
|
||||
ret i32 %sum.0.lcssa
|
||||
}
|
||||
|
||||
;CHECK: @reduction_mul
|
||||
;CHECK-LABEL: @reduction_mul(
|
||||
;CHECK: mul <4 x i32>
|
||||
;CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> undef, <4 x i32> <i32 2, i32 3, i32 undef, i32 undef>
|
||||
;CHECK: mul <4 x i32>
|
||||
@@ -141,7 +141,7 @@ define i32 @reduction_mul(i32 %n, i32* noalias nocapture %A, i32* noalias nocapt
|
||||
ret i32 %sum.0.lcssa
|
||||
}
|
||||
|
||||
;CHECK: @start_at_non_zero
|
||||
;CHECK-LABEL: @start_at_non_zero(
|
||||
;CHECK: phi <4 x i32>
|
||||
;CHECK: <i32 120, i32 0, i32 0, i32 0>
|
||||
;CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> undef, <4 x i32> <i32 2, i32 3, i32 undef, i32 undef>
|
||||
@@ -174,7 +174,7 @@ for.end: ; preds = %for.body, %entry
|
||||
ret i32 %sum.0.lcssa
|
||||
}
|
||||
|
||||
;CHECK: @reduction_and
|
||||
;CHECK-LABEL: @reduction_and(
|
||||
;CHECK: and <4 x i32>
|
||||
;CHECK: <i32 -1, i32 -1, i32 -1, i32 -1>
|
||||
;CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> undef, <4 x i32> <i32 2, i32 3, i32 undef, i32 undef>
|
||||
@@ -207,7 +207,7 @@ for.end: ; preds = %for.body, %entry
|
||||
ret i32 %result.0.lcssa
|
||||
}
|
||||
|
||||
;CHECK: @reduction_or
|
||||
;CHECK-LABEL: @reduction_or(
|
||||
;CHECK: or <4 x i32>
|
||||
;CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> undef, <4 x i32> <i32 2, i32 3, i32 undef, i32 undef>
|
||||
;CHECK: or <4 x i32>
|
||||
@@ -239,7 +239,7 @@ for.end: ; preds = %for.body, %entry
|
||||
ret i32 %result.0.lcssa
|
||||
}
|
||||
|
||||
;CHECK: @reduction_xor
|
||||
;CHECK-LABEL: @reduction_xor(
|
||||
;CHECK: xor <4 x i32>
|
||||
;CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> undef, <4 x i32> <i32 2, i32 3, i32 undef, i32 undef>
|
||||
;CHECK: xor <4 x i32>
|
||||
@@ -272,7 +272,7 @@ for.end: ; preds = %for.body, %entry
|
||||
}
|
||||
|
||||
; In this code the subtracted variable is on the RHS and this is not an induction variable.
|
||||
;CHECK: @reduction_sub_rhs
|
||||
;CHECK-LABEL: @reduction_sub_rhs(
|
||||
;CHECK-NOT: phi <4 x i32>
|
||||
;CHECK-NOT: sub nsw <4 x i32>
|
||||
;CHECK: ret i32
|
||||
@@ -299,7 +299,7 @@ for.end: ; preds = %for.body, %entry
|
||||
|
||||
|
||||
; In this test the reduction variable is on the LHS and we can vectorize it.
|
||||
;CHECK: @reduction_sub_lhs
|
||||
;CHECK-LABEL: @reduction_sub_lhs(
|
||||
;CHECK: phi <4 x i32>
|
||||
;CHECK: sub nsw <4 x i32>
|
||||
;CHECK: ret i32
|
||||
@@ -449,7 +449,7 @@ for.end:
|
||||
; outside user misses a few iterations (VF-1) of the loop.
|
||||
; PR16522
|
||||
|
||||
; CHECK: @phivalueredux
|
||||
; CHECK-LABEL: @phivalueredux(
|
||||
; CHECK-NOT: x i32>
|
||||
|
||||
define i32 @phivalueredux(i32 %p) {
|
||||
|
||||
@@ -13,7 +13,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
; }
|
||||
;
|
||||
|
||||
;CHECK: @foo
|
||||
;CHECK-LABEL: @foo(
|
||||
;CHECK: <i64 0, i64 -1, i64 -2, i64 -3>
|
||||
;CHECK: ret
|
||||
define i32 @foo(i32 %n, i32* nocapture %A) {
|
||||
|
||||
@@ -11,7 +11,7 @@ target triple = "x86_64-apple-macosx10.9.0"
|
||||
; x[k] = x[k-1] + y[k];
|
||||
; }
|
||||
|
||||
; CHECK: @kernel11
|
||||
; CHECK-LABEL: @kernel11(
|
||||
; CHECK-NOT: <4 x double>
|
||||
; CHECK: ret
|
||||
define i32 @kernel11(double* %x, double* %y, i32 %n) nounwind uwtable ssp {
|
||||
@@ -77,7 +77,7 @@ define i32 @kernel11(double* %x, double* %y, i32 %n) nounwind uwtable ssp {
|
||||
; }
|
||||
; }
|
||||
|
||||
; CHECK: @func2
|
||||
; CHECK-LABEL: @func2(
|
||||
; CHECK-NOT: <4 x i32>
|
||||
; CHECK: ret
|
||||
define i32 @func2(i32* nocapture %a) nounwind uwtable ssp {
|
||||
|
||||
@@ -7,7 +7,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
@b = common global [2048 x i32] zeroinitializer, align 16
|
||||
@c = common global [2048 x i32] zeroinitializer, align 16
|
||||
|
||||
;CHECK: @example1
|
||||
;CHECK-LABEL: @example1(
|
||||
;CHECK: load <4 x i32>
|
||||
; make sure that we have a scalar condition and a vector operand.
|
||||
;CHECK: select i1 %cond, <4 x i32>
|
||||
|
||||
@@ -10,7 +10,7 @@ target triple = "x86_64-apple-macosx"
|
||||
@e = common global i32* null, align 8
|
||||
@c = common global i32 0, align 4
|
||||
|
||||
; CHECK-LABEL: @fn1
|
||||
; CHECK-LABEL-LABEL: @fn1(
|
||||
; CHECK: vector.body
|
||||
define void @fn1() #0 {
|
||||
entry:
|
||||
|
||||
@@ -9,7 +9,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
; for (i=0; i<n; i++){
|
||||
; a[i] += i;
|
||||
; }
|
||||
;CHECK: @inc
|
||||
;CHECK-LABEL: @inc(
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: load <4 x i32>
|
||||
;CHECK: add nsw <4 x i32>
|
||||
|
||||
@@ -7,7 +7,7 @@ target triple = "x86_64-apple-macosx10.8.0"
|
||||
@b = common global [2048 x i32] zeroinitializer, align 16
|
||||
@c = common global [2048 x i32] zeroinitializer, align 16
|
||||
|
||||
;CHECK: @example1
|
||||
;CHECK-LABEL: @example1(
|
||||
;CHECK-NOT: load <4 x i32>
|
||||
;CHECK: ret void
|
||||
define void @example1() nounwind uwtable ssp {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @start_at_nonzero
|
||||
;CHECK-LABEL: @start_at_nonzero(
|
||||
;CHECK: mul nuw <4 x i32>
|
||||
;CHECK: ret i32
|
||||
define i32 @start_at_nonzero(i32* nocapture %a, i32 %start, i32 %end) nounwind uwtable ssp {
|
||||
|
||||
@@ -17,7 +17,7 @@ define void @t() {
|
||||
entry:
|
||||
br label %for.body
|
||||
|
||||
; CHECK: @t
|
||||
; CHECK-LABEL: @t(
|
||||
; CHECK: vector.body:
|
||||
; CHECK: load <4 x i32>
|
||||
; CHECK: [[VAR1:%[a-zA-Z0-9]+]] = shufflevector
|
||||
|
||||
@@ -21,7 +21,7 @@ target triple = "x86_64-apple-macosx10.9.0"
|
||||
; return sum;
|
||||
; }
|
||||
|
||||
;CHECK: @foo
|
||||
;CHECK-LABEL: @foo(
|
||||
;CHECK-NOT: load <4 x i32>
|
||||
;CHECK: ret
|
||||
define i32 @foo(%struct.coordinate* nocapture %A, i32 %n) nounwind uwtable readonly ssp {
|
||||
|
||||
@@ -11,7 +11,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
|
||||
|
||||
; Verify that we don't miscompile this loop.
|
||||
|
||||
; CHECK: @t
|
||||
; CHECK-LABEL: @t(
|
||||
; CHECK: <4 x i32>
|
||||
|
||||
define void @t() {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.8.0"
|
||||
|
||||
;CHECK: @read_mod_write_single_ptr
|
||||
;CHECK-LABEL: @read_mod_write_single_ptr(
|
||||
;CHECK: load <4 x float>
|
||||
;CHECK: ret i32
|
||||
define i32 @read_mod_write_single_ptr(float* nocapture %a, i32 %n) nounwind uwtable ssp {
|
||||
|
||||
Reference in New Issue
Block a user