@@ -2392,6 +2392,16 @@ bool AMDGPUInstructionSelector::selectG_INTRINSIC_W_SIDE_EFFECTS(
23922392 case Intrinsic::amdgcn_s_barrier_init:
23932393 case Intrinsic::amdgcn_s_barrier_signal_var:
23942394 return selectNamedBarrierInit (I, IntrinsicID);
2395+ case Intrinsic::amdgcn_s_wakeup_barrier: {
2396+ if (!AMDGPU::isGFX1250 (STI)) {
2397+ Function &F = I.getMF ()->getFunction ();
2398+ F.getContext ().diagnose (
2399+ DiagnosticInfoUnsupported (F, " intrinsic not supported on subtarget" ,
2400+ I.getDebugLoc (), DS_Error));
2401+ return false ;
2402+ }
2403+ return selectNamedBarrierInst (I, IntrinsicID);
2404+ }
23952405 case Intrinsic::amdgcn_s_barrier_join:
23962406 case Intrinsic::amdgcn_s_get_named_barrier_state:
23972407 return selectNamedBarrierInst (I, IntrinsicID);
@@ -6830,6 +6840,8 @@ unsigned getNamedBarrierOp(bool HasInlineConst, Intrinsic::ID IntrID) {
68306840 llvm_unreachable (" not a named barrier op" );
68316841 case Intrinsic::amdgcn_s_barrier_join:
68326842 return AMDGPU::S_BARRIER_JOIN_IMM;
6843+ case Intrinsic::amdgcn_s_wakeup_barrier:
6844+ return AMDGPU::S_WAKEUP_BARRIER_IMM;
68336845 case Intrinsic::amdgcn_s_get_named_barrier_state:
68346846 return AMDGPU::S_GET_BARRIER_STATE_IMM;
68356847 };
@@ -6839,6 +6851,8 @@ unsigned getNamedBarrierOp(bool HasInlineConst, Intrinsic::ID IntrID) {
68396851 llvm_unreachable (" not a named barrier op" );
68406852 case Intrinsic::amdgcn_s_barrier_join:
68416853 return AMDGPU::S_BARRIER_JOIN_M0;
6854+ case Intrinsic::amdgcn_s_wakeup_barrier:
6855+ return AMDGPU::S_WAKEUP_BARRIER_M0;
68426856 case Intrinsic::amdgcn_s_get_named_barrier_state:
68436857 return AMDGPU::S_GET_BARRIER_STATE_M0;
68446858 };
0 commit comments