Lines Matching refs:vec4
11 define half @reduction_fadd_v4f16(<4 x half> %vec4) {
13 …%rdx.shuf = shufflevector <4 x half> %vec4, <4 x half> undef, <4 x i32> <i32 2, i32 3, i32 undef, …
14 %bin.rdx = fadd <4 x half> %vec4, %rdx.shuf
31 define half @reduction_fsub_v4f16(<4 x half> %vec4) {
33 …%rdx.shuf = shufflevector <4 x half> %vec4, <4 x half> undef, <4 x i32> <i32 2, i32 3, i32 undef, …
34 %bin.rdx = fsub <4 x half> %vec4, %rdx.shuf
53 define half @reduction_fsub_v4f16_preserve_fmf(<4 x half> %vec4) {
55 …%rdx.shuf = shufflevector <4 x half> %vec4, <4 x half> undef, <4 x i32> <i32 2, i32 3, i32 undef, …
56 %bin.rdx = fsub nsz <4 x half> %vec4, %rdx.shuf
71 define half @reduction_fmul_half4(<4 x half> %vec4) {
73 …%rdx.shuf = shufflevector <4 x half> %vec4, <4 x half> undef, <4 x i32> <i32 2, i32 3, i32 undef, …
74 %bin.rdx = fmul <4 x half> %vec4, %rdx.shuf
88 define i16 @reduction_v4i16(<4 x i16> %vec4) {
90 …%rdx.shuf = shufflevector <4 x i16> %vec4, <4 x i16> undef, <4 x i32> <i32 2, i32 3, i32 undef, i3…
91 %bin.rdx = add <4 x i16> %vec4, %rdx.shuf
197 define i16 @reduction_min_v4i16(<4 x i16> %vec4) {
199 …%rdx.shuf = shufflevector <4 x i16> %vec4, <4 x i16> undef, <4 x i32> <i32 2, i32 3, i32 undef, i3…
200 %rdx.minmax.cmp = icmp ult <4 x i16> %vec4, %rdx.shuf
201 %rdx.minmax.select = select <4 x i1> %rdx.minmax.cmp, <4 x i16> %vec4, <4 x i16> %rdx.shuf
405 define i16 @reduction_umax_v4i16(<4 x i16> %vec4) {
407 …%rdx.shuf = shufflevector <4 x i16> %vec4, <4 x i16> undef, <4 x i32> <i32 2, i32 3, i32 undef, i3…
408 %rdx.minmax.cmp = icmp ugt <4 x i16> %vec4, %rdx.shuf
409 %rdx.minmax.select = select <4 x i1> %rdx.minmax.cmp, <4 x i16> %vec4, <4 x i16> %rdx.shuf
424 define i16 @reduction_smax_v4i16(<4 x i16> %vec4) #0 {
426 …%rdx.shuf = shufflevector <4 x i16> %vec4, <4 x i16> undef, <4 x i32> <i32 2, i32 3, i32 undef, i3…
427 %rdx.minmax.cmp = icmp sgt <4 x i16> %vec4, %rdx.shuf
428 %rdx.minmax.select = select <4 x i1> %rdx.minmax.cmp, <4 x i16> %vec4, <4 x i16> %rdx.shuf
452 define half @reduction_maxnum_v4f16(<4 x half> %vec4) {
454 …%rdx.shuf = shufflevector <4 x half> %vec4, <4 x half> undef, <4 x i32> <i32 2, i32 3, i32 undef, …
455 %rdx.minmax = call <4 x half> @llvm.maxnum.v4f16(<4 x half> %vec4, <4 x half> %rdx.shuf)
477 define half @reduction_minnum_v4f16(<4 x half> %vec4) {
479 …%rdx.shuf = shufflevector <4 x half> %vec4, <4 x half> undef, <4 x i32> <i32 2, i32 3, i32 undef, …
480 %rdx.minmax = call <4 x half> @llvm.minnum.v4f16(<4 x half> %vec4, <4 x half> %rdx.shuf)
514 define half @reduction_fast_max_pattern_v4f16(<4 x half> %vec4) {
516 …%rdx.shuf = shufflevector <4 x half> %vec4, <4 x half> undef, <4 x i32> <i32 2, i32 3, i32 undef, …
517 %rdx.minmax.cmp = fcmp nnan nsz ogt <4 x half> %vec4, %rdx.shuf
518 %rdx.minmax.select = select <4 x i1> %rdx.minmax.cmp, <4 x half> %vec4, <4 x half> %rdx.shuf
553 define half @reduction_fast_min_pattern_v4f16(<4 x half> %vec4) {
555 …%rdx.shuf = shufflevector <4 x half> %vec4, <4 x half> undef, <4 x i32> <i32 2, i32 3, i32 undef, …
556 %rdx.minmax.cmp = fcmp nnan nsz olt <4 x half> %vec4, %rdx.shuf
557 %rdx.minmax.select = select <4 x i1> %rdx.minmax.cmp, <4 x half> %vec4, <4 x half> %rdx.shuf