@@ -819,7 +819,7 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
819819 {{s16, s32}, {s16, s64}, {s32, s64}, {v4s16, v4s32}, {v2s32, v2s64}})
820820 .libcallFor ({{s16, s128}, {s32, s128}, {s64, s128}})
821821 .moreElementsToNextPow2 (1 )
822-  .customIf ([](const  LegalityQuery &Q) {
822+  .lowerIf ([](const  LegalityQuery &Q) {
823823 LLT DstTy = Q.Types [0 ];
824824 LLT SrcTy = Q.Types [1 ];
825825 return  SrcTy.isFixedVector () && DstTy.isFixedVector () &&
@@ -1479,10 +1479,6 @@ bool AArch64LegalizerInfo::legalizeCustom(
14791479 return  legalizeICMP (MI, MRI, MIRBuilder);
14801480 case  TargetOpcode::G_BITCAST:
14811481 return  legalizeBitcast (MI, Helper);
1482-  case  TargetOpcode::G_FPTRUNC:
1483-  //  In order to vectorise f16 to f64 properly, we need to use f32 as an
1484-  //  intermediary
1485-  return  legalizeFptrunc (MI, MIRBuilder, MRI);
14861482 }
14871483
14881484 llvm_unreachable (" expected switch to return" 
@@ -2408,32 +2404,4 @@ bool AArch64LegalizerInfo::legalizePrefetch(MachineInstr &MI,
24082404 MIB.buildInstr (AArch64::G_AARCH64_PREFETCH).addImm (PrfOp).add (AddrVal);
24092405 MI.eraseFromParent ();
24102406 return  true ;
2411- }
2412- 
2413- bool  AArch64LegalizerInfo::legalizeFptrunc (
2414-  MachineInstr &MI, MachineIRBuilder &MIRBuilder,
2415-  MachineRegisterInfo &MRI) const  {
2416-  Register Dst = MI.getOperand (0 ).getReg ();
2417-  Register Src = MI.getOperand (1 ).getReg ();
2418-  LLT DstTy = MRI.getType (Dst);
2419-  LLT SrcTy = MRI.getType (Src);
2420- 
2421-  LLT MidTy = LLT::fixed_vector (SrcTy.getNumElements (), LLT::scalar (32 ));
2422- 
2423-  MachineInstrBuilder Mid;
2424-  MachineInstrBuilder Fin;
2425-  MIRBuilder.setInstrAndDebugLoc (MI);
2426-  switch  (MI.getOpcode ()) {
2427-  default :
2428-  return  false ;
2429-  case  TargetOpcode::G_FPTRUNC: {
2430-  Mid = MIRBuilder.buildFPTruncOdd (MidTy, Src);
2431-  Fin = MIRBuilder.buildFPTrunc (DstTy, Mid.getReg (0 ));
2432-  break ;
2433-  }
2434-  }
2435- 
2436-  MRI.replaceRegWith (Dst, Fin.getReg (0 ));
2437-  MI.eraseFromParent ();
2438-  return  true ;
24392407}
0 commit comments