/llvm-project/llvm/test/Analysis/ScalarEvolution/ |
H A D | max-expr-cache.ll | 10 define void @smax(i32 %tmp3) { 19 ; CHECK-NEXT: %tmp8 = sub nsw i32 %tmp3, %tmp7 20 ; CHECK-NEXT: --> {%tmp3,+,-256}<%bb4> U: full-set S: full-set Exits: <<Unknown>> LoopDispositio… 22 ; CHECK-NEXT: --> (256 smin {%tmp3,+,-256}<%bb4>) U: [-2147483648,257) S: [-2147483648,257) Exit… 24 ; CHECK-NEXT: --> (1 + (256 smin {%tmp3,+,-256}<%bb4>))<nsw> U: [-2147483647,258) S: [-214748364… 26 ; CHECK-NEXT: --> ((1 + (256 smin {%tmp3,+,-256}<%bb4>))<nsw> smin {%tmp3,+,-256}<%bb4>) U: [-21… 28 ; CHECK-NEXT: --> (256 smin (1 + (256 smin {%tmp3,+,-256}<%bb4>))<nsw> smin {%tmp3,+,-256}<%bb4>… 30 ; CHECK-NEXT: --> (1 + (256 smin (1 + (256 smin {%tmp3,+,-256}<%bb4>))<nsw> smin {%tmp3,+,-256}<… 32 … --> ((1 + (256 smin (1 + (256 smin {%tmp3,+,-256}<%bb4>))<nsw> smin {%tmp3,+,-256}<%bb4>))<nsw… 34 …256 smin (1 + (256 smin (1 + (256 smin {%tmp3,+,-256}<%bb4>))<nsw> smin {%tmp3,+,-256}<%bb4>))<nsw… [all …]
|
/llvm-project/llvm/test/CodeGen/AArch64/ |
H A D | arm64-cvt.ll | 10 %tmp3 = call i32 @llvm.aarch64.neon.fcvtas.i32.f32(float %A) 11 ret i32 %tmp3 18 %tmp3 = call i64 @llvm.aarch64.neon.fcvtas.i64.f32(float %A) 19 ret i64 %tmp3 26 %tmp3 = call i32 @llvm.aarch64.neon.fcvtas.i32.f64(double %A) 27 ret i32 %tmp3 34 %tmp3 = call i64 @llvm.aarch64.neon.fcvtas.i64.f64(double %A) 35 ret i64 %tmp3 50 %tmp3 = call i32 @llvm.aarch64.neon.fcvtau.i32.f32(float %A) 51 ret i32 %tmp3 [all …]
|
H A D | arm64-vcvt.ll | 12 %tmp3 = call <2 x i32> @llvm.aarch64.neon.fcvtas.v2i32.v2f32(<2 x float> %A) 13 ret <2 x i32> %tmp3 22 %tmp3 = call <4 x i32> @llvm.aarch64.neon.fcvtas.v4i32.v4f32(<4 x float> %A) 23 ret <4 x i32> %tmp3 32 %tmp3 = call <2 x i64> @llvm.aarch64.neon.fcvtas.v2i64.v2f64(<2 x double> %A) 33 ret <2 x i64> %tmp3 41 %tmp3 = call <1 x i64> @llvm.aarch64.neon.fcvtas.v1i64.v1f64(<1 x double> %A) 42 ret <1 x i64> %tmp3 55 %tmp3 = call <2 x i32> @llvm.aarch64.neon.fcvtau.v2i32.v2f32(<2 x float> %A) 56 ret <2 x i32> %tmp3 [all …]
|
H A D | arm64-vmovn.ll | 8 %tmp3 = trunc <8 x i16> %A to <8 x i8> 9 ret <8 x i8> %tmp3 17 %tmp3 = trunc <4 x i32> %A to <4 x i16> 18 ret <4 x i16> %tmp3 26 %tmp3 = trunc <2 x i64> %A to <2 x i32> 27 ret <2 x i32> %tmp3 35 %tmp3 = trunc <8 x i16> %A to <8 x i8> 36 …%res = shufflevector <8 x i8> %ret, <8 x i8> %tmp3, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4,… 45 %tmp3 = trunc <4 x i32> %A to <4 x i16> 46 …%res = shufflevector <4 x i16> %ret, <4 x i16> %tmp3, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4… [all …]
|
H A D | neon-compare-instructions.ll | 10 %tmp3 = icmp eq <8 x i8> %A, %B 11 %tmp4 = sext <8 x i1> %tmp3 to <8 x i8> 20 %tmp3 = icmp eq <16 x i8> %A, %B 21 %tmp4 = sext <16 x i1> %tmp3 to <16 x i8> 30 %tmp3 = icmp eq <4 x i16> %A, %B 31 %tmp4 = sext <4 x i1> %tmp3 to <4 x i16> 40 %tmp3 = icmp eq <8 x i16> %A, %B 41 %tmp4 = sext <8 x i1> %tmp3 to <8 x i16> 50 %tmp3 = icmp eq <2 x i32> %A, %B 51 %tmp4 = sext <2 x i1> %tmp3 t [all...] |
H A D | arm64-vsra.ll | 8 %tmp3 = ashr <8 x i8> %tmp2, < i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7 > 9 %tmp4 = add <8 x i8> %tmp1, %tmp3 18 %tmp3 = ashr <4 x i16> %tmp2, < i16 15, i16 15, i16 15, i16 15 > 19 %tmp4 = add <4 x i16> %tmp1, %tmp3 28 %tmp3 = ashr <2 x i32> %tmp2, < i32 31, i32 31 > 29 %tmp4 = add <2 x i32> %tmp1, %tmp3 38 …%tmp3 = ashr <16 x i8> %tmp2, < i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, … 39 %tmp4 = add <16 x i8> %tmp1, %tmp3 48 %tmp3 = ashr <8 x i16> %tmp2, < i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15 > 49 %tmp4 = add <8 x i16> %tmp1, %tmp3 [all …]
|
H A D | arm64-vsqrt.ll | 8 %tmp3 = call <2 x float> @llvm.aarch64.neon.frecps.v2f32(<2 x float> %tmp1, <2 x float> %tmp2) 9 ret <2 x float> %tmp3 17 %tmp3 = call <4 x float> @llvm.aarch64.neon.frecps.v4f32(<4 x float> %tmp1, <4 x float> %tmp2) 18 ret <4 x float> %tmp3 26 %tmp3 = call <2 x double> @llvm.aarch64.neon.frecps.v2f64(<2 x double> %tmp1, <2 x double> %tmp2) 27 ret <2 x double> %tmp3 40 %tmp3 = call <2 x float> @llvm.aarch64.neon.frsqrts.v2f32(<2 x float> %tmp1, <2 x float> %tmp2) 41 ret <2 x float> %tmp3 49 %tmp3 = call <4 x float> @llvm.aarch64.neon.frsqrts.v4f32(<4 x float> %tmp1, <4 x float> %tmp2) 50 ret <4 x float> %tmp3 [all …]
|
H A D | arm64-vshift.ll | 115 %tmp3 = call <8 x i8> @llvm.aarch64.neon.sqshl.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 116 ret <8 x i8> %tmp3 128 %tmp3 = call <4 x i16> @llvm.aarch64.neon.sqshl.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 129 ret <4 x i16> %tmp3 141 %tmp3 = call <2 x i32> @llvm.aarch64.neon.sqshl.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2) 142 ret <2 x i32> %tmp3 154 %tmp3 = call <1 x i64> @llvm.aarch64.neon.sqshl.v1i64(<1 x i64> %tmp1, <1 x i64> %tmp2) 155 ret <1 x i64> %tmp3 165 %tmp3 = call <1 x i64> @llvm.aarch64.neon.sqshl.v1i64(<1 x i64> %tmp1, <1 x i64> <i64 1>) 166 ret <1 x i64> %tmp3 [all...] |
H A D | arm64-vqadd.ll | 8 %tmp3 = call <8 x i8> @llvm.aarch64.neon.sqadd.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 9 ret <8 x i8> %tmp3 17 %tmp3 = call <4 x i16> @llvm.aarch64.neon.sqadd.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 18 ret <4 x i16> %tmp3 26 %tmp3 = call <2 x i32> @llvm.aarch64.neon.sqadd.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2) 27 ret <2 x i32> %tmp3 35 %tmp3 = call <8 x i8> @llvm.aarch64.neon.uqadd.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 36 ret <8 x i8> %tmp3 44 %tmp3 = call <4 x i16> @llvm.aarch64.neon.uqadd.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 45 ret <4 x i16> %tmp3 [all …]
|
H A D | arm64-vqsub.ll | 8 %tmp3 = call <8 x i8> @llvm.aarch64.neon.sqsub.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 9 ret <8 x i8> %tmp3 17 %tmp3 = call <4 x i16> @llvm.aarch64.neon.sqsub.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 18 ret <4 x i16> %tmp3 26 %tmp3 = call <2 x i32> @llvm.aarch64.neon.sqsub.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2) 27 ret <2 x i32> %tmp3 35 %tmp3 = call <8 x i8> @llvm.aarch64.neon.uqsub.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 36 ret <8 x i8> %tmp3 44 %tmp3 = call <4 x i16> @llvm.aarch64.neon.uqsub.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 45 ret <4 x i16> %tmp3 [all …]
|
/llvm-project/llvm/test/CodeGen/ARM/ |
H A D | fp16-vminmaxnm-vector.ll | 12 %tmp3 = fcmp fast ogt <4 x half> %A, %B 13 %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B 21 %tmp3 = fcmp fast ogt <4 x half> %A, %B 22 %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A 30 %tmp3 = fcmp fast oge <4 x half> %A, %B 31 %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A 39 %tmp3 = fcmp fast oge <4 x half> %A, %B 40 %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B 48 %tmp3 = fcmp fast olt <4 x half> %A, %B 49 %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B [all …]
|
H A D | vsub.ll | 9 %tmp3 = sub <8 x i8> %A, %B 10 ret <8 x i8> %tmp3 18 %tmp3 = sub <4 x i16> %A, %B 19 ret <4 x i16> %tmp3 27 %tmp3 = sub <2 x i32> %A, %B 28 ret <2 x i32> %tmp3 36 %tmp3 = sub <1 x i64> %A, %B 37 ret <1 x i64> %tmp3 45 %tmp3 = fsub <2 x float> %A, %B 46 ret <2 x float> %tmp3 [all …]
|
H A D | vadd.ll | 9 %tmp3 = add <8 x i8> %A, %B 10 ret <8 x i8> %tmp3 18 %tmp3 = add <4 x i16> %A, %B 19 ret <4 x i16> %tmp3 27 %tmp3 = add <2 x i32> %A, %B 28 ret <2 x i32> %tmp3 36 %tmp3 = add <1 x i64> %A, %B 37 ret <1 x i64> %tmp3 45 %tmp3 = fadd <2 x float> %A, %B 46 ret <2 x float> %tmp3 [all …]
|
H A D | vsra.ll | 8 %tmp3 = ashr <8 x i8> %tmp2, < i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7 > 9 %tmp4 = add <8 x i8> %tmp1, %tmp3 18 %tmp3 = ashr <4 x i16> %tmp2, < i16 15, i16 15, i16 15, i16 15 > 19 %tmp4 = add <4 x i16> %tmp1, %tmp3 28 %tmp3 = ashr <2 x i32> %tmp2, < i32 31, i32 31 > 29 %tmp4 = add <2 x i32> %tmp1, %tmp3 38 %tmp3 = ashr <1 x i64> %tmp2, < i64 63 > 39 %tmp4 = add <1 x i64> %tmp1, %tmp3 48 …%tmp3 = ashr <16 x i8> %tmp2, < i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, … 49 %tmp4 = add <16 x i8> %tmp1, %tmp3 [all …]
|
H A D | neon-vqaddsub-upgrade.ll | 8 %tmp3 = call <8 x i8> @llvm.arm.neon.vqadds.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 9 ret <8 x i8> %tmp3 17 %tmp3 = call <4 x i16> @llvm.arm.neon.vqadds.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 18 ret <4 x i16> %tmp3 26 %tmp3 = call <2 x i32> @llvm.arm.neon.vqadds.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2) 27 ret <2 x i32> %tmp3 35 %tmp3 = call <1 x i64> @llvm.arm.neon.vqadds.v1i64(<1 x i64> %tmp1, <1 x i64> %tmp2) 36 ret <1 x i64> %tmp3 44 %tmp3 = call <8 x i8> @llvm.arm.neon.vqaddu.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 45 ret <8 x i8> %tmp3 [all …]
|
H A D | vminmax.ll | 8 %tmp3 = call <8 x i8> @llvm.arm.neon.vmins.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 9 ret <8 x i8> %tmp3 17 %tmp3 = call <4 x i16> @llvm.arm.neon.vmins.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 18 ret <4 x i16> %tmp3 26 %tmp3 = call <2 x i32> @llvm.arm.neon.vmins.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2) 27 ret <2 x i32> %tmp3 35 %tmp3 = call <8 x i8> @llvm.arm.neon.vminu.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 36 ret <8 x i8> %tmp3 44 %tmp3 = call <4 x i16> @llvm.arm.neon.vminu.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 45 ret <4 x i16> %tmp3 [all …]
|
H A D | vhadd.ll | 8 %tmp3 = call <8 x i8> @llvm.arm.neon.vhadds.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 9 ret <8 x i8> %tmp3 17 %tmp3 = call <4 x i16> @llvm.arm.neon.vhadds.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 18 ret <4 x i16> %tmp3 26 %tmp3 = call <2 x i32> @llvm.arm.neon.vhadds.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2) 27 ret <2 x i32> %tmp3 35 %tmp3 = call <8 x i8> @llvm.arm.neon.vhaddu.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 36 ret <8 x i8> %tmp3 44 %tmp3 = call <4 x i16> @llvm.arm.neon.vhaddu.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 45 ret <4 x i16> %tmp3 [all …]
|
H A D | vqadd.ll | 8 %tmp3 = call <8 x i8> @llvm.sadd.sat.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 9 ret <8 x i8> %tmp3 17 %tmp3 = call <4 x i16> @llvm.sadd.sat.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 18 ret <4 x i16> %tmp3 26 %tmp3 = call <2 x i32> @llvm.sadd.sat.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2) 27 ret <2 x i32> %tmp3 35 %tmp3 = call <1 x i64> @llvm.sadd.sat.v1i64(<1 x i64> %tmp1, <1 x i64> %tmp2) 36 ret <1 x i64> %tmp3 44 %tmp3 = call <8 x i8> @llvm.uadd.sat.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 45 ret <8 x i8> %tmp3 [all …]
|
H A D | vqsub.ll | 8 %tmp3 = call <8 x i8> @llvm.ssub.sat.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 9 ret <8 x i8> %tmp3 17 %tmp3 = call <4 x i16> @llvm.ssub.sat.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 18 ret <4 x i16> %tmp3 26 %tmp3 = call <2 x i32> @llvm.ssub.sat.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2) 27 ret <2 x i32> %tmp3 35 %tmp3 = call <1 x i64> @llvm.ssub.sat.v1i64(<1 x i64> %tmp1, <1 x i64> %tmp2) 36 ret <1 x i64> %tmp3 44 %tmp3 = call <8 x i8> @llvm.usub.sat.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 45 ret <8 x i8> %tmp3 [all …]
|
H A D | vshiftins.ll | 8 …%tmp3 = call <8 x i8> @llvm.arm.neon.vshiftins.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2, <8 x i8> < i8 … 9 ret <8 x i8> %tmp3 17 …%tmp3 = call <4 x i16> @llvm.arm.neon.vshiftins.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2, <4 x i16> … 18 ret <4 x i16> %tmp3 26 …%tmp3 = call <2 x i32> @llvm.arm.neon.vshiftins.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2, <2 x i32> … 27 ret <2 x i32> %tmp3 35 …%tmp3 = call <1 x i64> @llvm.arm.neon.vshiftins.v1i64(<1 x i64> %tmp1, <1 x i64> %tmp2, <1 x i64> … 36 ret <1 x i64> %tmp3 44 …%tmp3 = call <16 x i8> @llvm.arm.neon.vshiftins.v16i8(<16 x i8> %tmp1, <16 x i8> %tmp2, <16 x i8> … 45 ret <16 x i8> %tmp3 [all …]
|
H A D | vpminmax.ll | 8 %tmp3 = call <8 x i8> @llvm.arm.neon.vpmins.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 9 ret <8 x i8> %tmp3 17 %tmp3 = call <4 x i16> @llvm.arm.neon.vpmins.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 18 ret <4 x i16> %tmp3 26 %tmp3 = call <2 x i32> @llvm.arm.neon.vpmins.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2) 27 ret <2 x i32> %tmp3 35 %tmp3 = call <8 x i8> @llvm.arm.neon.vpminu.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2) 36 ret <8 x i8> %tmp3 44 %tmp3 = call <4 x i16> @llvm.arm.neon.vpminu.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2) 45 ret <4 x i16> %tmp3 [all …]
|
H A D | vfcmp.ll | 12 %tmp3 = fcmp une <2 x float> %tmp1, %tmp2 13 %tmp4 = sext <2 x i1> %tmp3 to <2 x i32> 23 %tmp3 = fcmp olt <2 x float> %tmp1, %tmp2 24 %tmp4 = sext <2 x i1> %tmp3 to <2 x i32> 34 %tmp3 = fcmp ole <2 x float> %tmp1, %tmp2 35 %tmp4 = sext <2 x i1> %tmp3 to <2 x i32> 46 %tmp3 = fcmp uge <2 x float> %tmp1, %tmp2 47 %tmp4 = sext <2 x i1> %tmp3 to <2 x i32> 58 %tmp3 = fcmp ule <2 x float> %tmp1, %tmp2 59 %tmp4 = sext <2 x i1> %tmp3 to <2 x i32> [all …]
|
H A D | vicmp.ll | 15 %tmp3 = icmp ne <8 x i8> %tmp1, %tmp2 16 %tmp4 = sext <8 x i1> %tmp3 to <8 x i8> 26 %tmp3 = icmp ne <4 x i16> %tmp1, %tmp2 27 %tmp4 = sext <4 x i1> %tmp3 to <4 x i16> 37 %tmp3 = icmp ne <2 x i32> %tmp1, %tmp2 38 %tmp4 = sext <2 x i1> %tmp3 to <2 x i32> 48 %tmp3 = icmp ne <16 x i8> %tmp1, %tmp2 49 %tmp4 = sext <16 x i1> %tmp3 to <16 x i8> 59 %tmp3 = icmp ne <8 x i16> %tmp1, %tmp2 60 %tmp4 = sext <8 x i1> %tmp3 to <8 x i16> [all …]
|
H A D | vshift.ll | 8 %tmp3 = shl <8 x i8> %tmp1, %tmp2 9 ret <8 x i8> %tmp3 17 %tmp3 = shl <4 x i16> %tmp1, %tmp2 18 ret <4 x i16> %tmp3 26 %tmp3 = shl <2 x i32> %tmp1, %tmp2 27 ret <2 x i32> %tmp3 35 %tmp3 = shl <1 x i64> %tmp1, %tmp2 36 ret <1 x i64> %tmp3 76 %tmp3 = shl <16 x i8> %tmp1, %tmp2 77 ret <16 x i8> %tmp3 [all …]
|
/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/ |
H A D | select-bitfield-insert.ll | 15 %tmp3 = shl i32 %in1, 31 17 %out = or i32 %tmp3, %tmp4 28 %tmp3 = shl i32 %in1, 8 30 %out = or i32 %tmp3, %tmp4 41 %tmp3 = shl i32 %in1, 1 43 %out = or i32 %tmp3, %tmp4 54 %tmp3 = shl i64 %in1, 63 56 %out = or i64 %tmp3, %tmp4 67 %tmp3 = shl i64 %in1, 31 69 %out = or i64 %tmp3, %tmp4 [all …]
|