Home | History | Annotate | Download | only in X86

Lines Matching full:broadcast

5513          "Unsupported vector type for broadcast.");
5528 // We need a splat of a single value to use broadcast, and it doesn't
5559 // Use the register form of the broadcast instruction available on AVX2.
5573 // AVX-512 has register version of the broadcast
5586 // When optimizing for size, generate up to 5 extra bytes for a broadcast
5596 // from the constant pool and not to broadcast it from a scalar.
5601 assert(!CVT.isVector() && "Must not broadcast a vector type");
5652 // Unsupported broadcast.
6308 if (SDValue Broadcast = LowerVectorBroadcast(Op, Subtarget, DAG))
6309 return Broadcast;
8046 /// \brief Try to lower broadcast of a single - truncated - integer element,
8060 assert(VT.isInteger() && "Unexpected non-integer trunc broadcast!");
8088 // Hopefully, we can fold away the trunc/srl/load into the broadcast.
8099 /// \brief Try to lower broadcast of a single element.
8114 // Check that the mask is a broadcast.
8123 "a sorted mask where the broadcast "
8127 // combine with the broadcast.
8158 // Check if this is a broadcast of a scalar. We special case lowering
8161 // type than the shuffle, the broadcast element is in essence truncated.
8173 // If the scalar isn't a load, we can't broadcast from it in AVX1.
8192 // We can't broadcast from a vector register without AVX2, and we can only
8193 // broadcast from the zero-element of a vector register.
8494 // Check for being able to broadcast a single element.
8495 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v2i64, V1,
8497 return Broadcast;
8716 // Check for being able to broadcast a single element.
8717 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v4f32, V1,
8719 return Broadcast;
8802 // Check for being able to broadcast a single element.
8803 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v4i32, V1,
8805 return Broadcast;
9422 // Check for being able to broadcast a single element.
9423 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v8i16, V1,
9425 return Broadcast;
9621 // Check for being able to broadcast a single element.
9622 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v16i8, V1,
9624 return Broadcast;
10099 // If this can be modeled as a broadcast of two elements followed by a blend,
10425 // Check for being able to broadcast a single element.
10426 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v4f64, V1,
10428 return Broadcast;
10511 // Check for being able to broadcast a single element.
10512 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v4i64, V1,
10514 return Broadcast;
10584 // Check for being able to broadcast a single element.
10585 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v8f32, V1,
10587 return Broadcast;
10684 // Check for being able to broadcast a single element.
10685 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v8i32, V1,
10687 return Broadcast;
10759 // Check for being able to broadcast a single element.
10760 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v16i16, V1,
10762 return Broadcast;
10850 // Check for being able to broadcast a single element.
10851 if (SDValue Broadcast = lowerVectorShuffleAsBroadcast(DL, MVT::v32i8, V1,
10853 return Broadcast;
11142 // Check for being able to broadcast a single element.
11143 if (SDValue Broadcast =
11145 return Broadcast;