Home | History | Annotate | Download | only in ARM

Lines Matching defs:VMov

2201     SDNode *VMov = Copy;
2204 for (SDNode::use_iterator UI = VMov->use_begin(), UE = VMov->use_end();
2213 for (SDNode::use_iterator UI = VMov->use_begin(), UE = VMov->use_end();
3989 /// explicitly constructed. Regardless, use a canonical VMOV to create the
3996 SDValue Vmov = DAG.getNode(ARMISD::VMOVIMM, dl, VmovVT, EncodedVal);
3997 return DAG.getNode(ISD::BITCAST, dl, VT, Vmov);
4414 /// operand (e.g., VMOV). If so, return the encoded value.
4422 // immediate instructions others than VMOV do not support the 8-bit encoding
4440 // NEON's 16-bit VMOV supports splat values where only one byte is nonzero.
4457 // NEON's 32-bit VMOV supports splat values where:
4507 // ff000000, ff0000ff, and ffff00ff) that are valid for VMOV.I64 but not
4508 // VMOV.I32. A (very) minor optimization would be to replicate the value
4516 // NEON has a 64-bit VMOV splat where each byte is either 0 or 0xff.
4558 // Try splatting with a VMOV.f32...
4593 // Try a VMOV.i32 (FIXME: i8, i16, or i64 could work too).
4908 // Check if an immediate VMOV works.
4915 SDValue Vmov = DAG.getNode(ARMISD::VMOVIMM, dl, VmovVT, Val);
4916 return DAG.getNode(ISD::BITCAST, dl, VT, Vmov);
4926 SDValue Vmov = DAG.getNode(ARMISD::VMVNIMM, dl, VmovVT, Val);
4927 return DAG.getNode(ISD::BITCAST, dl, VT, Vmov);
4930 // Use vmov.f32 to materialize other v2f32 and v4f32 splats.
9051 // Make sure the VMOV element size is not bigger than the VDUPLANE elements.
9053 // The canonical VMOV for a zero vector uses a 32-bit element size.