Lines Matching refs:WebAssembly
391 Reg = createResultReg(Subtarget->hasAddr64() ? &WebAssembly::I64RegClass in materializeLoadStoreOperands()
392 : &WebAssembly::I32RegClass); in materializeLoadStoreOperands()
393 unsigned Opc = Subtarget->hasAddr64() ? WebAssembly::CONST_I64 in materializeLoadStoreOperands()
394 : WebAssembly::CONST_I32; in materializeLoadStoreOperands()
466 Register Imm = createResultReg(&WebAssembly::I32RegClass); in zeroExtendToI32()
468 TII.get(WebAssembly::CONST_I32), Imm) in zeroExtendToI32()
471 Register Result = createResultReg(&WebAssembly::I32RegClass); in zeroExtendToI32()
473 TII.get(WebAssembly::AND_I32), Result) in zeroExtendToI32()
496 Register Imm = createResultReg(&WebAssembly::I32RegClass); in signExtendToI32()
498 TII.get(WebAssembly::CONST_I32), Imm) in signExtendToI32()
501 Register Left = createResultReg(&WebAssembly::I32RegClass); in signExtendToI32()
503 TII.get(WebAssembly::SHL_I32), Left) in signExtendToI32()
507 Register Right = createResultReg(&WebAssembly::I32RegClass); in signExtendToI32()
509 TII.get(WebAssembly::SHR_S_I32), Right) in signExtendToI32()
525 Register Result = createResultReg(&WebAssembly::I64RegClass); in zeroExtend()
527 TII.get(WebAssembly::I64_EXTEND_U_I32), Result) in zeroExtend()
547 Register Result = createResultReg(&WebAssembly::I64RegClass); in signExtend()
549 TII.get(WebAssembly::I64_EXTEND_S_I32), Result) in signExtend()
588 assert(MRI.getRegClass(Reg) == &WebAssembly::I32RegClass); in notValue()
590 Register NotReg = createResultReg(&WebAssembly::I32RegClass); in notValue()
592 TII.get(WebAssembly::EQZ_I32), NotReg) in notValue()
599 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(WebAssembly::COPY), in copyValue()
611 createResultReg(Subtarget->hasAddr64() ? &WebAssembly::I64RegClass in fastMaterializeAlloca()
612 : &WebAssembly::I32RegClass); in fastMaterializeAlloca()
614 Subtarget->hasAddr64() ? WebAssembly::COPY_I64 : WebAssembly::COPY_I32; in fastMaterializeAlloca()
630 createResultReg(Subtarget->hasAddr64() ? &WebAssembly::I64RegClass in fastMaterializeConstant()
631 : &WebAssembly::I32RegClass); in fastMaterializeConstant()
632 unsigned Opc = Subtarget->hasAddr64() ? WebAssembly::CONST_I64 in fastMaterializeConstant()
633 : WebAssembly::CONST_I32; in fastMaterializeConstant()
677 Opc = WebAssembly::ARGUMENT_i32; in fastLowerArguments()
678 RC = &WebAssembly::I32RegClass; in fastLowerArguments()
681 Opc = WebAssembly::ARGUMENT_i64; in fastLowerArguments()
682 RC = &WebAssembly::I64RegClass; in fastLowerArguments()
685 Opc = WebAssembly::ARGUMENT_f32; in fastLowerArguments()
686 RC = &WebAssembly::F32RegClass; in fastLowerArguments()
689 Opc = WebAssembly::ARGUMENT_f64; in fastLowerArguments()
690 RC = &WebAssembly::F64RegClass; in fastLowerArguments()
693 Opc = WebAssembly::ARGUMENT_v16i8; in fastLowerArguments()
694 RC = &WebAssembly::V128RegClass; in fastLowerArguments()
697 Opc = WebAssembly::ARGUMENT_v8i16; in fastLowerArguments()
698 RC = &WebAssembly::V128RegClass; in fastLowerArguments()
701 Opc = WebAssembly::ARGUMENT_v4i32; in fastLowerArguments()
702 RC = &WebAssembly::V128RegClass; in fastLowerArguments()
705 Opc = WebAssembly::ARGUMENT_v2i64; in fastLowerArguments()
706 RC = &WebAssembly::V128RegClass; in fastLowerArguments()
709 Opc = WebAssembly::ARGUMENT_v4f32; in fastLowerArguments()
710 RC = &WebAssembly::V128RegClass; in fastLowerArguments()
713 Opc = WebAssembly::ARGUMENT_v2f64; in fastLowerArguments()
714 RC = &WebAssembly::V128RegClass; in fastLowerArguments()
717 Opc = WebAssembly::ARGUMENT_funcref; in fastLowerArguments()
718 RC = &WebAssembly::FUNCREFRegClass; in fastLowerArguments()
721 Opc = WebAssembly::ARGUMENT_externref; in fastLowerArguments()
722 RC = &WebAssembly::EXTERNREFRegClass; in fastLowerArguments()
725 Opc = WebAssembly::ARGUMENT_exnref; in fastLowerArguments()
726 RC = &WebAssembly::EXNREFRegClass; in fastLowerArguments()
739 MRI.addLiveIn(WebAssembly::ARGUMENTS); in fastLowerArguments()
784 unsigned Opc = IsDirect ? WebAssembly::CALL : WebAssembly::CALL_INDIRECT; in selectCall()
797 ResultReg = createResultReg(&WebAssembly::I32RegClass); in selectCall()
800 ResultReg = createResultReg(&WebAssembly::I64RegClass); in selectCall()
803 ResultReg = createResultReg(&WebAssembly::F32RegClass); in selectCall()
806 ResultReg = createResultReg(&WebAssembly::F64RegClass); in selectCall()
809 ResultReg = createResultReg(&WebAssembly::V128RegClass); in selectCall()
812 ResultReg = createResultReg(&WebAssembly::V128RegClass); in selectCall()
815 ResultReg = createResultReg(&WebAssembly::V128RegClass); in selectCall()
818 ResultReg = createResultReg(&WebAssembly::V128RegClass); in selectCall()
821 ResultReg = createResultReg(&WebAssembly::V128RegClass); in selectCall()
824 ResultReg = createResultReg(&WebAssembly::V128RegClass); in selectCall()
827 ResultReg = createResultReg(&WebAssembly::FUNCREFRegClass); in selectCall()
830 ResultReg = createResultReg(&WebAssembly::EXTERNREFRegClass); in selectCall()
833 ResultReg = createResultReg(&WebAssembly::EXNREFRegClass); in selectCall()
888 MCSymbolWasm *Table = WebAssembly::getOrCreateFunctionTableSymbol( in selectCall()
939 Opc = WebAssembly::SELECT_I32; in selectSelect()
940 RC = &WebAssembly::I32RegClass; in selectSelect()
943 Opc = WebAssembly::SELECT_I64; in selectSelect()
944 RC = &WebAssembly::I64RegClass; in selectSelect()
947 Opc = WebAssembly::SELECT_F32; in selectSelect()
948 RC = &WebAssembly::F32RegClass; in selectSelect()
951 Opc = WebAssembly::SELECT_F64; in selectSelect()
952 RC = &WebAssembly::F64RegClass; in selectSelect()
955 Opc = WebAssembly::SELECT_FUNCREF; in selectSelect()
956 RC = &WebAssembly::FUNCREFRegClass; in selectSelect()
959 Opc = WebAssembly::SELECT_EXTERNREF; in selectSelect()
960 RC = &WebAssembly::EXTERNREFRegClass; in selectSelect()
963 Opc = WebAssembly::SELECT_EXNREF; in selectSelect()
964 RC = &WebAssembly::EXNREFRegClass; in selectSelect()
988 Register Result = createResultReg(&WebAssembly::I32RegClass); in selectTrunc()
990 TII.get(WebAssembly::I32_WRAP_I64), Result) in selectTrunc()
1041 Opc = I32 ? WebAssembly::EQ_I32 : WebAssembly::EQ_I64; in selectICmp()
1044 Opc = I32 ? WebAssembly::NE_I32 : WebAssembly::NE_I64; in selectICmp()
1047 Opc = I32 ? WebAssembly::GT_U_I32 : WebAssembly::GT_U_I64; in selectICmp()
1050 Opc = I32 ? WebAssembly::GE_U_I32 : WebAssembly::GE_U_I64; in selectICmp()
1053 Opc = I32 ? WebAssembly::LT_U_I32 : WebAssembly::LT_U_I64; in selectICmp()
1056 Opc = I32 ? WebAssembly::LE_U_I32 : WebAssembly::LE_U_I64; in selectICmp()
1059 Opc = I32 ? WebAssembly::GT_S_I32 : WebAssembly::GT_S_I64; in selectICmp()
1063 Opc = I32 ? WebAssembly::GE_S_I32 : WebAssembly::GE_S_I64; in selectICmp()
1067 Opc = I32 ? WebAssembly::LT_S_I32 : WebAssembly::LT_S_I64; in selectICmp()
1071 Opc = I32 ? WebAssembly::LE_S_I32 : WebAssembly::LE_S_I64; in selectICmp()
1086 Register ResultReg = createResultReg(&WebAssembly::I32RegClass); in selectICmp()
1110 Opc = F32 ? WebAssembly::EQ_F32 : WebAssembly::EQ_F64; in selectFCmp()
1113 Opc = F32 ? WebAssembly::NE_F32 : WebAssembly::NE_F64; in selectFCmp()
1116 Opc = F32 ? WebAssembly::GT_F32 : WebAssembly::GT_F64; in selectFCmp()
1119 Opc = F32 ? WebAssembly::GE_F32 : WebAssembly::GE_F64; in selectFCmp()
1122 Opc = F32 ? WebAssembly::LT_F32 : WebAssembly::LT_F64; in selectFCmp()
1125 Opc = F32 ? WebAssembly::LE_F32 : WebAssembly::LE_F64; in selectFCmp()
1128 Opc = F32 ? WebAssembly::LE_F32 : WebAssembly::LE_F64; in selectFCmp()
1132 Opc = F32 ? WebAssembly::LT_F32 : WebAssembly::LT_F64; in selectFCmp()
1136 Opc = F32 ? WebAssembly::GE_F32 : WebAssembly::GE_F64; in selectFCmp()
1140 Opc = F32 ? WebAssembly::GT_F32 : WebAssembly::GT_F64; in selectFCmp()
1147 Register ResultReg = createResultReg(&WebAssembly::I32RegClass); in selectFCmp()
1194 if (!WebAssembly::isDefaultAddressSpace(Load->getPointerAddressSpace())) in selectLoad()
1211 Opc = A64 ? WebAssembly::LOAD8_U_I32_A64 : WebAssembly::LOAD8_U_I32_A32; in selectLoad()
1212 RC = &WebAssembly::I32RegClass; in selectLoad()
1215 Opc = A64 ? WebAssembly::LOAD16_U_I32_A64 : WebAssembly::LOAD16_U_I32_A32; in selectLoad()
1216 RC = &WebAssembly::I32RegClass; in selectLoad()
1219 Opc = A64 ? WebAssembly::LOAD_I32_A64 : WebAssembly::LOAD_I32_A32; in selectLoad()
1220 RC = &WebAssembly::I32RegClass; in selectLoad()
1223 Opc = A64 ? WebAssembly::LOAD_I64_A64 : WebAssembly::LOAD_I64_A32; in selectLoad()
1224 RC = &WebAssembly::I64RegClass; in selectLoad()
1227 Opc = A64 ? WebAssembly::LOAD_F32_A64 : WebAssembly::LOAD_F32_A32; in selectLoad()
1228 RC = &WebAssembly::F32RegClass; in selectLoad()
1231 Opc = A64 ? WebAssembly::LOAD_F64_A64 : WebAssembly::LOAD_F64_A32; in selectLoad()
1232 RC = &WebAssembly::F64RegClass; in selectLoad()
1254 if (!WebAssembly::isDefaultAddressSpace(Store->getPointerAddressSpace())) in selectStore()
1272 Opc = A64 ? WebAssembly::STORE8_I32_A64 : WebAssembly::STORE8_I32_A32; in selectStore()
1275 Opc = A64 ? WebAssembly::STORE16_I32_A64 : WebAssembly::STORE16_I32_A32; in selectStore()
1278 Opc = A64 ? WebAssembly::STORE_I32_A64 : WebAssembly::STORE_I32_A32; in selectStore()
1281 Opc = A64 ? WebAssembly::STORE_I64_A64 : WebAssembly::STORE_I64_A32; in selectStore()
1284 Opc = A64 ? WebAssembly::STORE_F32_A64 : WebAssembly::STORE_F32_A32; in selectStore()
1287 Opc = A64 ? WebAssembly::STORE_F64_A64 : WebAssembly::STORE_F64_A32; in selectStore()
1325 unsigned Opc = WebAssembly::BR_IF; in selectBr()
1327 Opc = WebAssembly::BR_UNLESS; in selectBr()
1345 TII.get(WebAssembly::RETURN)); in selectRet()
1391 TII.get(WebAssembly::RETURN)) in selectRet()
1398 TII.get(WebAssembly::UNREACHABLE)); in selectUnreachable()
1440 FastISel *WebAssembly::createFastISel(FunctionLoweringInfo &FuncInfo, in createFastISel()