Lines Matching refs:VMov
2387 SDNode *VMov = Copy;
2390 for (SDNode::use_iterator UI = VMov->use_begin(), UE = VMov->use_end();
2399 for (SDNode::use_iterator UI = VMov->use_begin(), UE = VMov->use_end();
4241 /// explicitly constructed. Regardless, use a canonical VMOV to create the
4248 SDValue Vmov = DAG.getNode(ARMISD::VMOVIMM, dl, VmovVT, EncodedVal);
4249 return DAG.getNode(ISD::BITCAST, dl, VT, Vmov);
4749 /// operand (e.g., VMOV). If so, return the encoded value.
4758 // immediate instructions others than VMOV do not support the 8-bit encoding
4776 // NEON's 16-bit VMOV supports splat values where only one byte is nonzero.
4793 // NEON's 32-bit VMOV supports splat values where:
4843 // ff000000, ff0000ff, and ffff00ff) that are valid for VMOV.I64 but not
4844 // VMOV.I32. A (very) minor optimization would be to replicate the value
4852 // NEON has a 64-bit VMOV splat where each byte is either 0 or 0xff.
4899 // Try splatting with a VMOV.f32...
4934 // Try a VMOV.i32 (FIXME: i8, i16, or i64 could work too).
5371 // Check if an immediate VMOV works.
5378 SDValue Vmov = DAG.getNode(ARMISD::VMOVIMM, dl, VmovVT, Val);
5379 return DAG.getNode(ISD::BITCAST, dl, VT, Vmov);
5389 SDValue Vmov = DAG.getNode(ARMISD::VMVNIMM, dl, VmovVT, Val);
5390 return DAG.getNode(ISD::BITCAST, dl, VT, Vmov);
5393 // Use vmov.f32 to materialize other v2f32 and v4f32 splats.
9798 // Make sure the VMOV element size is not bigger than the VDUPLANE elements.
9800 // The canonical VMOV for a zero vector uses a 32-bit element size.