diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM/ParallelDSP/top-bottom-multi-use.ll')
| -rw-r--r-- | llvm/test/CodeGen/ARM/ParallelDSP/top-bottom-multi-use.ll | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/llvm/test/CodeGen/ARM/ParallelDSP/top-bottom-multi-use.ll b/llvm/test/CodeGen/ARM/ParallelDSP/top-bottom-multi-use.ll deleted file mode 100644 index ed2b3fedbb6..00000000000 --- a/llvm/test/CodeGen/ARM/ParallelDSP/top-bottom-multi-use.ll +++ /dev/null @@ -1,74 +0,0 @@ -; RUN: opt -mtriple=thumbv8m.main -mcpu=cortex-m33 -S -arm-parallel-dsp %s -o - | FileCheck %s -; RUN: opt -mtriple=thumbv7a-linux-android -arm-parallel-dsp -S %s -o - | FileCheck %s - -; CHECK-LABEL: sext_multi_use_undef -define void @sext_multi_use_undef() { -entry: - br label %for.body - -for.body: - %0 = load i16, i16* undef, align 2 - %conv3 = sext i16 %0 to i32 - %1 = load i16, i16* undef, align 2 - %conv7 = sext i16 %1 to i32 - %mul8 = mul nsw i32 %conv7, %conv3 - %x.addr.180 = getelementptr inbounds i16, i16* undef, i32 1 - %2 = load i16, i16* %x.addr.180, align 2 - %conv1582 = sext i16 %2 to i32 - %mul.i7284 = mul nsw i32 %conv7, %conv1582 - br label %for.body -} - -; CHECK-LABEL: sext_multi_use -; CHECK: [[PtrA:%[^ ]+]] = bitcast i16* %a to i32* -; CHECK: [[DataA:%[^ ]+]] = load i32, i32* [[PtrA]], align 2 -; CHECK: [[Top:%[^ ]+]] = ashr i32 [[DataA]], 16 -; CHECK: [[Shl:%[^ ]+]] = shl i32 [[DataA]], 16 -; CHECK: [[Bottom:%[^ ]+]] = ashr i32 [[Shl]], 16 -; CHECK: [[DataB:%[^ ]+]] = load i16, i16* %b, align 2 -; CHECK: [[SextB:%[^ ]+]] = sext i16 [[DataB]] to i32 -; CHECK: [[Mul0:%[^ ]+]] = mul nsw i32 [[SextB]], [[Bottom]] -; CHECK: [[Mul1:%[^ ]+]] = mul nsw i32 [[SextB]], [[Top]] -define void @sext_multi_use(i16* %a, i16* %b) { -entry: - br label %for.body - -for.body: - %0 = load i16, i16* %a, align 2 - %conv3 = sext i16 %0 to i32 - %1 = load i16, i16* %b, align 2 - %conv7 = sext i16 %1 to i32 - %mul8 = mul nsw i32 %conv7, %conv3 - %x.addr.180 = getelementptr inbounds i16, i16* %a, i32 1 - %2 = load i16, i16* %x.addr.180, align 2 - %conv1582 = sext i16 %2 to i32 - %mul.i7284 = mul nsw i32 %conv7, %conv1582 - br label %for.body -} - -; CHECK-LABEL: sext_multi_use_reorder -; CHECK: [[PtrA:%[^ ]+]] = bitcast i16* %a to i32* -; CHECK: [[DataA:%[^ ]+]] = load i32, i32* [[PtrA]], align 2 -; CHECK: [[Top:%[^ ]+]] = ashr i32 [[DataA]], 16 -; CHECK: [[Shl:%[^ ]+]] = shl i32 [[DataA]], 16 -; CHECK: [[Bottom:%[^ ]+]] = ashr i32 [[Shl]], 16 -; CHECK: [[Mul0:%[^ ]+]] = mul nsw i32 [[Top]], [[Bottom]] -; CHECK: [[DataB:%[^ ]+]] = load i16, i16* %b, align 2 -; CHECK: [[SextB:%[^ ]+]] = sext i16 [[DataB]] to i32 -; CHECK: [[Mul1:%[^ ]+]] = mul nsw i32 [[Top]], [[SextB]] -define void @sext_multi_use_reorder(i16* %a, i16* %b) { -entry: - br label %for.body - -for.body: - %0 = load i16, i16* %a, align 2 - %conv3 = sext i16 %0 to i32 - %x.addr.180 = getelementptr inbounds i16, i16* %a, i32 1 - %1 = load i16, i16* %x.addr.180, align 2 - %conv7 = sext i16 %1 to i32 - %mul8 = mul nsw i32 %conv7, %conv3 - %2 = load i16, i16* %b, align 2 - %conv1582 = sext i16 %2 to i32 - %mul.i7284 = mul nsw i32 %conv7, %conv1582 - br label %for.body -} |

