Lines Matching refs:f16
522 // There's no way to specify FP16 immediates in .f16 ops, so we have to
523 // load them into an .f16 register first.
525 if (N->getValueType(0) != MVT::f16)
528 cast<ConstantFPSDNode>(N)->getValueAPF(), SDLoc(N), MVT::f16);
530 CurDAG->getMachineNode(NVPTX::LOAD_CONST_F16, SDLoc(N), MVT::f16, Val);
644 // Merge (f16 extractelt(V, 0), f16 extractelt(V,1))
645 // into f16,f16 SplitF16x2(V)
647 CurDAG->getMachineNode(Op, SDLoc(N), MVT::f16, MVT::f16, Source);
826 case MVT::f16:
903 // f16 uses .b16 as its storage type.
904 fromType = ScalarVT.SimpleTy == MVT::f16 ? NVPTX::PTXLdStInstCode::Untyped
1042 FromType = ScalarVT.SimpleTy == MVT::f16 ? NVPTX::PTXLdStInstCode::Untyped
1062 // v8f16 is a special case. PTX doesn't have ld.v8.f16
1273 // vectors of f16 are loaded/stored as multiples of v2f16 elements.
1274 if (EltVT == MVT::f16 && N->getValueType(0) == MVT::v2f16) {
1760 // f16 uses .b16 as its storage type.
1761 toType = ScalarVT.SimpleTy == MVT::f16 ? NVPTX::PTXLdStInstCode::Untyped
1906 ToType = ScalarVT.SimpleTy == MVT::f16 ? NVPTX::PTXLdStInstCode::Untyped
1934 // v8f16 is a special case. PTX doesn't have st.v8.f16