diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc
index 5b26c0f4c7dd595ae0e37a3d4a4b5a20186518b5..afbad5bdde639510f178c5dd514c07e40cd9d0ea 100644
--- a/gcc/config/nvptx/nvptx.cc
+++ b/gcc/config/nvptx/nvptx.cc
@@ -5257,6 +5257,14 @@ prevent_branch_around_nothing (void)
 	    case CODE_FOR_nvptx_join:
 	    case CODE_FOR_nop:
 	      continue;
+	    case -1:
+	      /* Handle asm ("") and similar.  */
+	      if (GET_CODE (PATTERN (insn)) == ASM_INPUT
+		  || GET_CODE (PATTERN (insn)) == ASM_OPERANDS
+		  || (GET_CODE (PATTERN (insn)) == PARALLEL
+		      && asm_noperands (PATTERN (insn)) >= 0))
+		continue;
+	      /* FALLTHROUGH.  */
 	    default:
 	      seen_label = NULL;
 	      continue;