forked from OSchip/llvm-project
[ARM] Unique some redundant CHECK lines. NFC.
llvm-svn: 294817
This commit is contained in:
parent
08d6a3f133
commit
f37fb89edc
|
@ -1,5 +1,5 @@
|
|||
; RUN: opt < %s -mattr=+neon -interleaved-access -S | FileCheck %s -check-prefix=NEON
|
||||
; RUN: opt < %s -interleaved-access -S | FileCheck %s -check-prefix=NO_NEON
|
||||
; RUN: opt < %s -mattr=+neon -interleaved-access -S | FileCheck %s -check-prefixes=NEON,ALL
|
||||
; RUN: opt < %s -interleaved-access -S | FileCheck %s -check-prefixes=NO_NEON,ALL
|
||||
|
||||
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64"
|
||||
target triple = "arm---eabi"
|
||||
|
@ -388,12 +388,9 @@ define void @store_address_space(<4 x i32> addrspace(1)* %ptr, <2 x i32> %v0, <2
|
|||
}
|
||||
|
||||
define void @load_illegal_factor2(<3 x float>* %ptr) nounwind {
|
||||
; NEON-LABEL: @load_illegal_factor2(
|
||||
; NEON-NOT: @llvm.arm.neon
|
||||
; NEON: ret void
|
||||
; NO_NEON-LABEL: @load_illegal_factor2(
|
||||
; NO_NEON-NOT: @llvm.arm.neon
|
||||
; NO_NEON: ret void
|
||||
; ALL-LABEL: @load_illegal_factor2(
|
||||
; ALL-NOT: @llvm.arm.neon
|
||||
; ALL: ret void
|
||||
;
|
||||
%interleaved.vec = load <3 x float>, <3 x float>* %ptr, align 16
|
||||
%v0 = shufflevector <3 x float> %interleaved.vec, <3 x float> undef, <3 x i32> <i32 0, i32 2, i32 undef>
|
||||
|
@ -401,12 +398,9 @@ define void @load_illegal_factor2(<3 x float>* %ptr) nounwind {
|
|||
}
|
||||
|
||||
define void @store_illegal_factor2(<3 x float>* %ptr, <3 x float> %v0) nounwind {
|
||||
; NEON-LABEL: @store_illegal_factor2(
|
||||
; NEON-NOT: @llvm.arm.neon
|
||||
; NEON: ret void
|
||||
; NO_NEON-LABEL: @store_illegal_factor2(
|
||||
; NO_NEON-NOT: @llvm.arm.neon
|
||||
; NO_NEON: ret void
|
||||
; ALL-LABEL: @store_illegal_factor2(
|
||||
; ALL-NOT: @llvm.arm.neon
|
||||
; ALL: ret void
|
||||
;
|
||||
%interleaved.vec = shufflevector <3 x float> %v0, <3 x float> undef, <3 x i32> <i32 0, i32 2, i32 undef>
|
||||
store <3 x float> %interleaved.vec, <3 x float>* %ptr, align 16
|
||||
|
@ -538,12 +532,9 @@ define void @store_general_mask_factor3_undefmultimid(<12 x i32>* %ptr, <32 x i3
|
|||
}
|
||||
|
||||
define void @store_general_mask_factor3_undef_fail(<12 x i32>* %ptr, <32 x i32> %v0, <32 x i32> %v1) {
|
||||
; NEON-LABEL: @store_general_mask_factor3_undef_fail(
|
||||
; NEON-NOT: @llvm.arm.neon
|
||||
; NEON: ret void
|
||||
; NO_NEON-LABEL: @store_general_mask_factor3_undef_fail(
|
||||
; NO_NEON-NOT: @llvm.arm.neon
|
||||
; NO_NEON: ret void
|
||||
; ALL-LABEL: @store_general_mask_factor3_undef_fail(
|
||||
; ALL-NOT: @llvm.arm.neon
|
||||
; ALL: ret void
|
||||
;
|
||||
%interleaved.vec = shufflevector <32 x i32> %v0, <32 x i32> %v1, <12 x i32> <i32 4, i32 32, i32 16, i32 undef, i32 33, i32 17, i32 undef, i32 34, i32 18, i32 8, i32 35, i32 19>
|
||||
store <12 x i32> %interleaved.vec, <12 x i32>* %ptr, align 4
|
||||
|
@ -568,12 +559,9 @@ define void @store_general_mask_factor3_undeflane(<12 x i32>* %ptr, <32 x i32> %
|
|||
}
|
||||
|
||||
define void @store_general_mask_factor3_endstart_fail(<12 x i32>* %ptr, <32 x i32> %v0, <32 x i32> %v1) {
|
||||
; NEON-LABEL: @store_general_mask_factor3_endstart_fail(
|
||||
; NEON-NOT: @llvm.arm.neon
|
||||
; NEON: ret void
|
||||
; NO_NEON-LABEL: @store_general_mask_factor3_endstart_fail(
|
||||
; NO_NEON-NOT: @llvm.arm.neon
|
||||
; NO_NEON: ret void
|
||||
; ALL-LABEL: @store_general_mask_factor3_endstart_fail(
|
||||
; ALL-NOT: @llvm.arm.neon
|
||||
; ALL: ret void
|
||||
;
|
||||
%interleaved.vec = shufflevector <32 x i32> %v0, <32 x i32> %v1, <12 x i32> <i32 undef, i32 32, i32 16, i32 undef, i32 33, i32 17, i32 undef, i32 34, i32 18, i32 2, i32 35, i32 19>
|
||||
store <12 x i32> %interleaved.vec, <12 x i32>* %ptr, align 4
|
||||
|
@ -598,12 +586,9 @@ define void @store_general_mask_factor3_endstart_pass(<12 x i32>* %ptr, <32 x i3
|
|||
}
|
||||
|
||||
define void @store_general_mask_factor3_midstart_fail(<12 x i32>* %ptr, <32 x i32> %v0, <32 x i32> %v1) {
|
||||
; NEON-LABEL: @store_general_mask_factor3_midstart_fail(
|
||||
; NEON-NOT: @llvm.arm.neon
|
||||
; NEON: ret void
|
||||
; NO_NEON-LABEL: @store_general_mask_factor3_midstart_fail(
|
||||
; NO_NEON-NOT: @llvm.arm.neon
|
||||
; NO_NEON: ret void
|
||||
; ALL-LABEL: @store_general_mask_factor3_midstart_fail(
|
||||
; ALL-NOT: @llvm.arm.neon
|
||||
; ALL: ret void
|
||||
;
|
||||
%interleaved.vec = shufflevector <32 x i32> %v0, <32 x i32> %v1, <12 x i32> <i32 undef, i32 32, i32 16, i32 0, i32 33, i32 17, i32 undef, i32 34, i32 18, i32 undef, i32 35, i32 19>
|
||||
store <12 x i32> %interleaved.vec, <12 x i32>* %ptr, align 4
|
||||
|
@ -630,15 +615,11 @@ define void @store_general_mask_factor3_midstart_pass(<12 x i32>* %ptr, <32 x i3
|
|||
@g = external global <4 x float>
|
||||
|
||||
; The following does not give a valid interleaved store
|
||||
; NEON-LABEL: define void @no_interleave
|
||||
; NEON-NOT: call void @llvm.arm.neon.vst2
|
||||
; NEON: shufflevector
|
||||
; NEON: store
|
||||
; NEON: ret void
|
||||
; NO_NEON-LABEL: define void @no_interleave
|
||||
; NO_NEON: shufflevector
|
||||
; NO_NEON: store
|
||||
; NO_NEON: ret void
|
||||
; ALL-LABEL: define void @no_interleave
|
||||
; ALL-NOT: call void @llvm.arm.neon.vst2
|
||||
; ALL: shufflevector
|
||||
; ALL: store
|
||||
; ALL: ret void
|
||||
define void @no_interleave(<4 x float> %a0) {
|
||||
%v0 = shufflevector <4 x float> %a0, <4 x float> %a0, <4 x i32> <i32 0, i32 7, i32 1, i32 undef>
|
||||
store <4 x float> %v0, <4 x float>* @g, align 16
|
||||
|
|
Loading…
Reference in New Issue