[llvm] 3a349d2 - [AArch64][SME] Introduce feature for streaming mode

Cullen Rhodes via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 30 01:00:11 PDT 2021


Author: Cullen Rhodes
Date: 2021-07-30T07:30:45Z
New Revision: 3a349d22692c0deb7a5fc5a242886d7d6f428d6e

URL: https://github.com/llvm/llvm-project/commit/3a349d22692c0deb7a5fc5a242886d7d6f428d6e
DIFF: https://github.com/llvm/llvm-project/commit/3a349d22692c0deb7a5fc5a242886d7d6f428d6e.diff

LOG: [AArch64][SME] Introduce feature for streaming mode

The Scalable Matrix Extension (SME) introduces a new execution mode
called Streaming SVE mode. In streaming mode a substantial subset of the
SVE and SVE2 instruction set is available, along with new outer product,
load, store, extract and insert instructions that operate on the new
architectural register state for the matrix.

To support streaming mode this patch introduces a new subtarget feature
+streaming-sve. If enabled, the subset of SVE(2) instructions are
available. The existing behaviour for SVE(2) remains unchanged, the
subset of instructions that are legal in streaming mode are enabled if
either +sve[2] or +streaming-sve is specified. Instructions that are
illegal in streaming mode remain predicated on +sve[2].

The SME target feature has been updated to imply +streaming-sve rather
than +sve.

The following changes are made to the SVE(2) tests:
  * For instructions that are legal in streaming mode:
    - added RUN line to verify +streaming-sve enables the instruction.
    - updated diagnostic to 'instruction requires: streaming-sve or sve'.
  * For instructions that are illegal in streaming-mode:
    - added RUN line to verify +streaming-sve does not enable the
      instruction.

SVE(2) instructions that are legal in streaming mode have:

  if !HaveSVE[2]() && !HaveSME() then UNDEFINED;

at the top of the pseudocode in the XML.

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2021-06/SVE-Instructions

Reviewed By: sdesmalen, david-arm

Differential Revision: https://reviews.llvm.org/D106272

Added: 
    llvm/test/MC/AArch64/SVE/ld1b-sve-only.s
    llvm/test/MC/AArch64/SVE/ld1d-sve-only.s
    llvm/test/MC/AArch64/SVE/ld1h-sve-only.s
    llvm/test/MC/AArch64/SVE/ld1sb-sve-only.s
    llvm/test/MC/AArch64/SVE/ld1sh-sve-only.s
    llvm/test/MC/AArch64/SVE/ld1sw-sve-only.s
    llvm/test/MC/AArch64/SVE/ld1w-sve-only.s
    llvm/test/MC/AArch64/SVE/prfb-sve-only.s
    llvm/test/MC/AArch64/SVE/prfd-sve-only.s
    llvm/test/MC/AArch64/SVE/prfh-sve-only.s
    llvm/test/MC/AArch64/SVE/prfw-sve-only.s
    llvm/test/MC/AArch64/SVE/st1b-sve-only.s
    llvm/test/MC/AArch64/SVE/st1d-sve-only.s
    llvm/test/MC/AArch64/SVE/st1h-sve-only.s
    llvm/test/MC/AArch64/SVE/st1w-sve-only.s

Modified: 
    llvm/lib/Target/AArch64/AArch64.td
    llvm/lib/Target/AArch64/AArch64InstrInfo.td
    llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    llvm/lib/Target/AArch64/AArch64SchedA64FX.td
    llvm/lib/Target/AArch64/AArch64Subtarget.h
    llvm/test/MC/AArch64/SME/revd.s
    llvm/test/MC/AArch64/SME/sclamp.s
    llvm/test/MC/AArch64/SME/uclamp.s
    llvm/test/MC/AArch64/SVE/abs.s
    llvm/test/MC/AArch64/SVE/add.s
    llvm/test/MC/AArch64/SVE/addpl.s
    llvm/test/MC/AArch64/SVE/addvl.s
    llvm/test/MC/AArch64/SVE/and.s
    llvm/test/MC/AArch64/SVE/ands.s
    llvm/test/MC/AArch64/SVE/andv.s
    llvm/test/MC/AArch64/SVE/asr.s
    llvm/test/MC/AArch64/SVE/asrd.s
    llvm/test/MC/AArch64/SVE/asrr.s
    llvm/test/MC/AArch64/SVE/bfcvt.s
    llvm/test/MC/AArch64/SVE/bfcvtnt.s
    llvm/test/MC/AArch64/SVE/bfdot.s
    llvm/test/MC/AArch64/SVE/bfmlal.s
    llvm/test/MC/AArch64/SVE/bfmmla.s
    llvm/test/MC/AArch64/SVE/bic.s
    llvm/test/MC/AArch64/SVE/bics.s
    llvm/test/MC/AArch64/SVE/brka.s
    llvm/test/MC/AArch64/SVE/brkas.s
    llvm/test/MC/AArch64/SVE/brkb.s
    llvm/test/MC/AArch64/SVE/brkbs.s
    llvm/test/MC/AArch64/SVE/brkn.s
    llvm/test/MC/AArch64/SVE/brkns.s
    llvm/test/MC/AArch64/SVE/brkpa.s
    llvm/test/MC/AArch64/SVE/brkpas.s
    llvm/test/MC/AArch64/SVE/brkpb.s
    llvm/test/MC/AArch64/SVE/brkpbs.s
    llvm/test/MC/AArch64/SVE/clasta.s
    llvm/test/MC/AArch64/SVE/clastb.s
    llvm/test/MC/AArch64/SVE/cls.s
    llvm/test/MC/AArch64/SVE/clz.s
    llvm/test/MC/AArch64/SVE/cmpeq.s
    llvm/test/MC/AArch64/SVE/cmpge.s
    llvm/test/MC/AArch64/SVE/cmpgt.s
    llvm/test/MC/AArch64/SVE/cmphi.s
    llvm/test/MC/AArch64/SVE/cmphs.s
    llvm/test/MC/AArch64/SVE/cmple.s
    llvm/test/MC/AArch64/SVE/cmplo.s
    llvm/test/MC/AArch64/SVE/cmpls.s
    llvm/test/MC/AArch64/SVE/cmplt.s
    llvm/test/MC/AArch64/SVE/cmpne.s
    llvm/test/MC/AArch64/SVE/cnot.s
    llvm/test/MC/AArch64/SVE/cnt.s
    llvm/test/MC/AArch64/SVE/cntb.s
    llvm/test/MC/AArch64/SVE/cntd.s
    llvm/test/MC/AArch64/SVE/cnth.s
    llvm/test/MC/AArch64/SVE/cntp.s
    llvm/test/MC/AArch64/SVE/cntw.s
    llvm/test/MC/AArch64/SVE/compact.s
    llvm/test/MC/AArch64/SVE/cpy.s
    llvm/test/MC/AArch64/SVE/ctermeq.s
    llvm/test/MC/AArch64/SVE/ctermne.s
    llvm/test/MC/AArch64/SVE/decb.s
    llvm/test/MC/AArch64/SVE/decd.s
    llvm/test/MC/AArch64/SVE/dech.s
    llvm/test/MC/AArch64/SVE/decp.s
    llvm/test/MC/AArch64/SVE/decw.s
    llvm/test/MC/AArch64/SVE/dup.s
    llvm/test/MC/AArch64/SVE/dupm.s
    llvm/test/MC/AArch64/SVE/eon.s
    llvm/test/MC/AArch64/SVE/eor.s
    llvm/test/MC/AArch64/SVE/eors.s
    llvm/test/MC/AArch64/SVE/eorv.s
    llvm/test/MC/AArch64/SVE/ext.s
    llvm/test/MC/AArch64/SVE/fabd.s
    llvm/test/MC/AArch64/SVE/fabs.s
    llvm/test/MC/AArch64/SVE/facge.s
    llvm/test/MC/AArch64/SVE/facgt.s
    llvm/test/MC/AArch64/SVE/facle.s
    llvm/test/MC/AArch64/SVE/faclt.s
    llvm/test/MC/AArch64/SVE/fadd.s
    llvm/test/MC/AArch64/SVE/fadda.s
    llvm/test/MC/AArch64/SVE/faddv.s
    llvm/test/MC/AArch64/SVE/fcadd.s
    llvm/test/MC/AArch64/SVE/fcmeq.s
    llvm/test/MC/AArch64/SVE/fcmge.s
    llvm/test/MC/AArch64/SVE/fcmgt.s
    llvm/test/MC/AArch64/SVE/fcmla.s
    llvm/test/MC/AArch64/SVE/fcmle.s
    llvm/test/MC/AArch64/SVE/fcmlt.s
    llvm/test/MC/AArch64/SVE/fcmne.s
    llvm/test/MC/AArch64/SVE/fcmuo.s
    llvm/test/MC/AArch64/SVE/fcpy.s
    llvm/test/MC/AArch64/SVE/fcvt.s
    llvm/test/MC/AArch64/SVE/fcvtzs.s
    llvm/test/MC/AArch64/SVE/fcvtzu.s
    llvm/test/MC/AArch64/SVE/fdiv.s
    llvm/test/MC/AArch64/SVE/fdivr.s
    llvm/test/MC/AArch64/SVE/fdup.s
    llvm/test/MC/AArch64/SVE/fexpa.s
    llvm/test/MC/AArch64/SVE/fmad.s
    llvm/test/MC/AArch64/SVE/fmax.s
    llvm/test/MC/AArch64/SVE/fmaxnm.s
    llvm/test/MC/AArch64/SVE/fmaxnmv.s
    llvm/test/MC/AArch64/SVE/fmaxv.s
    llvm/test/MC/AArch64/SVE/fmin.s
    llvm/test/MC/AArch64/SVE/fminnm.s
    llvm/test/MC/AArch64/SVE/fminnmv.s
    llvm/test/MC/AArch64/SVE/fminv.s
    llvm/test/MC/AArch64/SVE/fmla.s
    llvm/test/MC/AArch64/SVE/fmls.s
    llvm/test/MC/AArch64/SVE/fmov.s
    llvm/test/MC/AArch64/SVE/fmsb.s
    llvm/test/MC/AArch64/SVE/fmul.s
    llvm/test/MC/AArch64/SVE/fmulx.s
    llvm/test/MC/AArch64/SVE/fneg.s
    llvm/test/MC/AArch64/SVE/fnmad.s
    llvm/test/MC/AArch64/SVE/fnmla.s
    llvm/test/MC/AArch64/SVE/fnmls.s
    llvm/test/MC/AArch64/SVE/fnmsb.s
    llvm/test/MC/AArch64/SVE/frecpe.s
    llvm/test/MC/AArch64/SVE/frecps.s
    llvm/test/MC/AArch64/SVE/frecpx.s
    llvm/test/MC/AArch64/SVE/frinta.s
    llvm/test/MC/AArch64/SVE/frinti.s
    llvm/test/MC/AArch64/SVE/frintm.s
    llvm/test/MC/AArch64/SVE/frintn.s
    llvm/test/MC/AArch64/SVE/frintp.s
    llvm/test/MC/AArch64/SVE/frintx.s
    llvm/test/MC/AArch64/SVE/frintz.s
    llvm/test/MC/AArch64/SVE/frsqrte.s
    llvm/test/MC/AArch64/SVE/frsqrts.s
    llvm/test/MC/AArch64/SVE/fscale.s
    llvm/test/MC/AArch64/SVE/fsqrt.s
    llvm/test/MC/AArch64/SVE/fsub.s
    llvm/test/MC/AArch64/SVE/fsubr.s
    llvm/test/MC/AArch64/SVE/ftmad.s
    llvm/test/MC/AArch64/SVE/ftsmul.s
    llvm/test/MC/AArch64/SVE/ftssel.s
    llvm/test/MC/AArch64/SVE/incb.s
    llvm/test/MC/AArch64/SVE/incd.s
    llvm/test/MC/AArch64/SVE/inch.s
    llvm/test/MC/AArch64/SVE/incp.s
    llvm/test/MC/AArch64/SVE/incw.s
    llvm/test/MC/AArch64/SVE/index.s
    llvm/test/MC/AArch64/SVE/insr.s
    llvm/test/MC/AArch64/SVE/lasta.s
    llvm/test/MC/AArch64/SVE/lastb.s
    llvm/test/MC/AArch64/SVE/ld1b.s
    llvm/test/MC/AArch64/SVE/ld1d.s
    llvm/test/MC/AArch64/SVE/ld1h.s
    llvm/test/MC/AArch64/SVE/ld1rb.s
    llvm/test/MC/AArch64/SVE/ld1rd.s
    llvm/test/MC/AArch64/SVE/ld1rh.s
    llvm/test/MC/AArch64/SVE/ld1rqb.s
    llvm/test/MC/AArch64/SVE/ld1rqd.s
    llvm/test/MC/AArch64/SVE/ld1rqh.s
    llvm/test/MC/AArch64/SVE/ld1rqw.s
    llvm/test/MC/AArch64/SVE/ld1rsb.s
    llvm/test/MC/AArch64/SVE/ld1rsh.s
    llvm/test/MC/AArch64/SVE/ld1rsw.s
    llvm/test/MC/AArch64/SVE/ld1rw.s
    llvm/test/MC/AArch64/SVE/ld1sb.s
    llvm/test/MC/AArch64/SVE/ld1sh.s
    llvm/test/MC/AArch64/SVE/ld1sw.s
    llvm/test/MC/AArch64/SVE/ld1w.s
    llvm/test/MC/AArch64/SVE/ld2b.s
    llvm/test/MC/AArch64/SVE/ld2d.s
    llvm/test/MC/AArch64/SVE/ld2h.s
    llvm/test/MC/AArch64/SVE/ld2w.s
    llvm/test/MC/AArch64/SVE/ld3b.s
    llvm/test/MC/AArch64/SVE/ld3d.s
    llvm/test/MC/AArch64/SVE/ld3h.s
    llvm/test/MC/AArch64/SVE/ld3w.s
    llvm/test/MC/AArch64/SVE/ld4b.s
    llvm/test/MC/AArch64/SVE/ld4d.s
    llvm/test/MC/AArch64/SVE/ld4h.s
    llvm/test/MC/AArch64/SVE/ld4w.s
    llvm/test/MC/AArch64/SVE/ldff1b.s
    llvm/test/MC/AArch64/SVE/ldff1d.s
    llvm/test/MC/AArch64/SVE/ldff1h.s
    llvm/test/MC/AArch64/SVE/ldff1sb.s
    llvm/test/MC/AArch64/SVE/ldff1sh.s
    llvm/test/MC/AArch64/SVE/ldff1sw.s
    llvm/test/MC/AArch64/SVE/ldff1w.s
    llvm/test/MC/AArch64/SVE/ldnf1b.s
    llvm/test/MC/AArch64/SVE/ldnf1d.s
    llvm/test/MC/AArch64/SVE/ldnf1h.s
    llvm/test/MC/AArch64/SVE/ldnf1sb.s
    llvm/test/MC/AArch64/SVE/ldnf1sh.s
    llvm/test/MC/AArch64/SVE/ldnf1sw.s
    llvm/test/MC/AArch64/SVE/ldnf1w.s
    llvm/test/MC/AArch64/SVE/ldnt1b.s
    llvm/test/MC/AArch64/SVE/ldnt1d.s
    llvm/test/MC/AArch64/SVE/ldnt1h.s
    llvm/test/MC/AArch64/SVE/ldnt1w.s
    llvm/test/MC/AArch64/SVE/ldr.s
    llvm/test/MC/AArch64/SVE/lsl.s
    llvm/test/MC/AArch64/SVE/lslr.s
    llvm/test/MC/AArch64/SVE/lsr.s
    llvm/test/MC/AArch64/SVE/lsrr.s
    llvm/test/MC/AArch64/SVE/mad.s
    llvm/test/MC/AArch64/SVE/matrix-multiply-fp32.s
    llvm/test/MC/AArch64/SVE/matrix-multiply-fp64.s
    llvm/test/MC/AArch64/SVE/matrix-multiply-int8.s
    llvm/test/MC/AArch64/SVE/mla.s
    llvm/test/MC/AArch64/SVE/mls.s
    llvm/test/MC/AArch64/SVE/mov.s
    llvm/test/MC/AArch64/SVE/movprfx.s
    llvm/test/MC/AArch64/SVE/movs.s
    llvm/test/MC/AArch64/SVE/msb.s
    llvm/test/MC/AArch64/SVE/mul.s
    llvm/test/MC/AArch64/SVE/nand.s
    llvm/test/MC/AArch64/SVE/nands.s
    llvm/test/MC/AArch64/SVE/neg.s
    llvm/test/MC/AArch64/SVE/nor.s
    llvm/test/MC/AArch64/SVE/nors.s
    llvm/test/MC/AArch64/SVE/not.s
    llvm/test/MC/AArch64/SVE/nots.s
    llvm/test/MC/AArch64/SVE/orn.s
    llvm/test/MC/AArch64/SVE/orns.s
    llvm/test/MC/AArch64/SVE/orr.s
    llvm/test/MC/AArch64/SVE/orrs.s
    llvm/test/MC/AArch64/SVE/orv.s
    llvm/test/MC/AArch64/SVE/pfalse.s
    llvm/test/MC/AArch64/SVE/pfirst.s
    llvm/test/MC/AArch64/SVE/pnext.s
    llvm/test/MC/AArch64/SVE/prfb.s
    llvm/test/MC/AArch64/SVE/prfd.s
    llvm/test/MC/AArch64/SVE/prfh.s
    llvm/test/MC/AArch64/SVE/prfw.s
    llvm/test/MC/AArch64/SVE/ptest.s
    llvm/test/MC/AArch64/SVE/ptrue.s
    llvm/test/MC/AArch64/SVE/ptrues.s
    llvm/test/MC/AArch64/SVE/punpkhi.s
    llvm/test/MC/AArch64/SVE/punpklo.s
    llvm/test/MC/AArch64/SVE/rbit.s
    llvm/test/MC/AArch64/SVE/rdffr.s
    llvm/test/MC/AArch64/SVE/rdffrs.s
    llvm/test/MC/AArch64/SVE/rdvl.s
    llvm/test/MC/AArch64/SVE/rev.s
    llvm/test/MC/AArch64/SVE/revb.s
    llvm/test/MC/AArch64/SVE/revh.s
    llvm/test/MC/AArch64/SVE/revw.s
    llvm/test/MC/AArch64/SVE/sabd.s
    llvm/test/MC/AArch64/SVE/saddv.s
    llvm/test/MC/AArch64/SVE/scvtf.s
    llvm/test/MC/AArch64/SVE/sdiv.s
    llvm/test/MC/AArch64/SVE/sdivr.s
    llvm/test/MC/AArch64/SVE/sdot.s
    llvm/test/MC/AArch64/SVE/sel.s
    llvm/test/MC/AArch64/SVE/setffr.s
    llvm/test/MC/AArch64/SVE/smax.s
    llvm/test/MC/AArch64/SVE/smaxv.s
    llvm/test/MC/AArch64/SVE/smin.s
    llvm/test/MC/AArch64/SVE/sminv.s
    llvm/test/MC/AArch64/SVE/smulh.s
    llvm/test/MC/AArch64/SVE/splice.s
    llvm/test/MC/AArch64/SVE/sqadd.s
    llvm/test/MC/AArch64/SVE/sqdecb.s
    llvm/test/MC/AArch64/SVE/sqdecd.s
    llvm/test/MC/AArch64/SVE/sqdech.s
    llvm/test/MC/AArch64/SVE/sqdecp.s
    llvm/test/MC/AArch64/SVE/sqdecw.s
    llvm/test/MC/AArch64/SVE/sqincb.s
    llvm/test/MC/AArch64/SVE/sqincd.s
    llvm/test/MC/AArch64/SVE/sqinch.s
    llvm/test/MC/AArch64/SVE/sqincp.s
    llvm/test/MC/AArch64/SVE/sqincw.s
    llvm/test/MC/AArch64/SVE/sqsub.s
    llvm/test/MC/AArch64/SVE/st1b.s
    llvm/test/MC/AArch64/SVE/st1d.s
    llvm/test/MC/AArch64/SVE/st1h.s
    llvm/test/MC/AArch64/SVE/st1w.s
    llvm/test/MC/AArch64/SVE/st2b.s
    llvm/test/MC/AArch64/SVE/st2d.s
    llvm/test/MC/AArch64/SVE/st2h.s
    llvm/test/MC/AArch64/SVE/st2w.s
    llvm/test/MC/AArch64/SVE/st3b.s
    llvm/test/MC/AArch64/SVE/st3d.s
    llvm/test/MC/AArch64/SVE/st3h.s
    llvm/test/MC/AArch64/SVE/st3w.s
    llvm/test/MC/AArch64/SVE/st4b.s
    llvm/test/MC/AArch64/SVE/st4d.s
    llvm/test/MC/AArch64/SVE/st4h.s
    llvm/test/MC/AArch64/SVE/st4w.s
    llvm/test/MC/AArch64/SVE/stnt1b.s
    llvm/test/MC/AArch64/SVE/stnt1d.s
    llvm/test/MC/AArch64/SVE/stnt1h.s
    llvm/test/MC/AArch64/SVE/stnt1w.s
    llvm/test/MC/AArch64/SVE/str.s
    llvm/test/MC/AArch64/SVE/sub.s
    llvm/test/MC/AArch64/SVE/subr.s
    llvm/test/MC/AArch64/SVE/sunpkhi.s
    llvm/test/MC/AArch64/SVE/sunpklo.s
    llvm/test/MC/AArch64/SVE/sxtb.s
    llvm/test/MC/AArch64/SVE/sxth.s
    llvm/test/MC/AArch64/SVE/sxtw.s
    llvm/test/MC/AArch64/SVE/tbl.s
    llvm/test/MC/AArch64/SVE/trn1.s
    llvm/test/MC/AArch64/SVE/trn2.s
    llvm/test/MC/AArch64/SVE/uabd.s
    llvm/test/MC/AArch64/SVE/uaddv.s
    llvm/test/MC/AArch64/SVE/ucvtf.s
    llvm/test/MC/AArch64/SVE/udiv.s
    llvm/test/MC/AArch64/SVE/udivr.s
    llvm/test/MC/AArch64/SVE/udot.s
    llvm/test/MC/AArch64/SVE/umax.s
    llvm/test/MC/AArch64/SVE/umaxv.s
    llvm/test/MC/AArch64/SVE/umin.s
    llvm/test/MC/AArch64/SVE/uminv.s
    llvm/test/MC/AArch64/SVE/umulh.s
    llvm/test/MC/AArch64/SVE/uqadd.s
    llvm/test/MC/AArch64/SVE/uqdecb.s
    llvm/test/MC/AArch64/SVE/uqdecd.s
    llvm/test/MC/AArch64/SVE/uqdech.s
    llvm/test/MC/AArch64/SVE/uqdecp.s
    llvm/test/MC/AArch64/SVE/uqdecw.s
    llvm/test/MC/AArch64/SVE/uqincb.s
    llvm/test/MC/AArch64/SVE/uqincd.s
    llvm/test/MC/AArch64/SVE/uqinch.s
    llvm/test/MC/AArch64/SVE/uqincp.s
    llvm/test/MC/AArch64/SVE/uqincw.s
    llvm/test/MC/AArch64/SVE/uqsub.s
    llvm/test/MC/AArch64/SVE/uunpkhi.s
    llvm/test/MC/AArch64/SVE/uunpklo.s
    llvm/test/MC/AArch64/SVE/uxtb.s
    llvm/test/MC/AArch64/SVE/uxth.s
    llvm/test/MC/AArch64/SVE/uxtw.s
    llvm/test/MC/AArch64/SVE/uzp1.s
    llvm/test/MC/AArch64/SVE/uzp2.s
    llvm/test/MC/AArch64/SVE/whilele.s
    llvm/test/MC/AArch64/SVE/whilelo.s
    llvm/test/MC/AArch64/SVE/whilels.s
    llvm/test/MC/AArch64/SVE/whilelt.s
    llvm/test/MC/AArch64/SVE/wrffr.s
    llvm/test/MC/AArch64/SVE/zip1.s
    llvm/test/MC/AArch64/SVE/zip2.s
    llvm/test/MC/AArch64/SVE2/adclb.s
    llvm/test/MC/AArch64/SVE2/adclt.s
    llvm/test/MC/AArch64/SVE2/addhnb.s
    llvm/test/MC/AArch64/SVE2/addhnt.s
    llvm/test/MC/AArch64/SVE2/addp.s
    llvm/test/MC/AArch64/SVE2/aesd.s
    llvm/test/MC/AArch64/SVE2/aese.s
    llvm/test/MC/AArch64/SVE2/aesimc.s
    llvm/test/MC/AArch64/SVE2/aesmc.s
    llvm/test/MC/AArch64/SVE2/bcax.s
    llvm/test/MC/AArch64/SVE2/bdep.s
    llvm/test/MC/AArch64/SVE2/bext.s
    llvm/test/MC/AArch64/SVE2/bgrp.s
    llvm/test/MC/AArch64/SVE2/bsl.s
    llvm/test/MC/AArch64/SVE2/bsl1n.s
    llvm/test/MC/AArch64/SVE2/bsl2n.s
    llvm/test/MC/AArch64/SVE2/cadd.s
    llvm/test/MC/AArch64/SVE2/cdot.s
    llvm/test/MC/AArch64/SVE2/cmla.s
    llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
    llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
    llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
    llvm/test/MC/AArch64/SVE2/eor3.s
    llvm/test/MC/AArch64/SVE2/eorbt.s
    llvm/test/MC/AArch64/SVE2/eortb.s
    llvm/test/MC/AArch64/SVE2/ext.s
    llvm/test/MC/AArch64/SVE2/faddp.s
    llvm/test/MC/AArch64/SVE2/fcvtlt.s
    llvm/test/MC/AArch64/SVE2/fcvtnt.s
    llvm/test/MC/AArch64/SVE2/fcvtx.s
    llvm/test/MC/AArch64/SVE2/fcvtxnt.s
    llvm/test/MC/AArch64/SVE2/flogb.s
    llvm/test/MC/AArch64/SVE2/fmaxnmp.s
    llvm/test/MC/AArch64/SVE2/fmaxp.s
    llvm/test/MC/AArch64/SVE2/fminnmp.s
    llvm/test/MC/AArch64/SVE2/fminp.s
    llvm/test/MC/AArch64/SVE2/fmlalb.s
    llvm/test/MC/AArch64/SVE2/fmlalt.s
    llvm/test/MC/AArch64/SVE2/fmlslb.s
    llvm/test/MC/AArch64/SVE2/fmlslt.s
    llvm/test/MC/AArch64/SVE2/histcnt.s
    llvm/test/MC/AArch64/SVE2/histseg.s
    llvm/test/MC/AArch64/SVE2/ldnt1b.s
    llvm/test/MC/AArch64/SVE2/ldnt1d.s
    llvm/test/MC/AArch64/SVE2/ldnt1h.s
    llvm/test/MC/AArch64/SVE2/ldnt1sb.s
    llvm/test/MC/AArch64/SVE2/ldnt1sh.s
    llvm/test/MC/AArch64/SVE2/ldnt1sw.s
    llvm/test/MC/AArch64/SVE2/ldnt1w.s
    llvm/test/MC/AArch64/SVE2/match.s
    llvm/test/MC/AArch64/SVE2/mla.s
    llvm/test/MC/AArch64/SVE2/mls.s
    llvm/test/MC/AArch64/SVE2/mul.s
    llvm/test/MC/AArch64/SVE2/nbsl.s
    llvm/test/MC/AArch64/SVE2/nmatch.s
    llvm/test/MC/AArch64/SVE2/pmul.s
    llvm/test/MC/AArch64/SVE2/pmullb-128.s
    llvm/test/MC/AArch64/SVE2/pmullb.s
    llvm/test/MC/AArch64/SVE2/pmullt-128.s
    llvm/test/MC/AArch64/SVE2/pmullt.s
    llvm/test/MC/AArch64/SVE2/raddhnb.s
    llvm/test/MC/AArch64/SVE2/raddhnt.s
    llvm/test/MC/AArch64/SVE2/rax1.s
    llvm/test/MC/AArch64/SVE2/rshrnb.s
    llvm/test/MC/AArch64/SVE2/rshrnt.s
    llvm/test/MC/AArch64/SVE2/rsubhnb.s
    llvm/test/MC/AArch64/SVE2/rsubhnt.s
    llvm/test/MC/AArch64/SVE2/saba.s
    llvm/test/MC/AArch64/SVE2/sabalb.s
    llvm/test/MC/AArch64/SVE2/sabalt.s
    llvm/test/MC/AArch64/SVE2/sabdlb.s
    llvm/test/MC/AArch64/SVE2/sabdlt.s
    llvm/test/MC/AArch64/SVE2/sadalp.s
    llvm/test/MC/AArch64/SVE2/saddlb.s
    llvm/test/MC/AArch64/SVE2/saddlbt.s
    llvm/test/MC/AArch64/SVE2/saddlt.s
    llvm/test/MC/AArch64/SVE2/saddwb.s
    llvm/test/MC/AArch64/SVE2/saddwt.s
    llvm/test/MC/AArch64/SVE2/sbclb.s
    llvm/test/MC/AArch64/SVE2/sbclt.s
    llvm/test/MC/AArch64/SVE2/shadd.s
    llvm/test/MC/AArch64/SVE2/shrnb.s
    llvm/test/MC/AArch64/SVE2/shrnt.s
    llvm/test/MC/AArch64/SVE2/shsub.s
    llvm/test/MC/AArch64/SVE2/shsubr.s
    llvm/test/MC/AArch64/SVE2/sli.s
    llvm/test/MC/AArch64/SVE2/sm4e.s
    llvm/test/MC/AArch64/SVE2/sm4ekey.s
    llvm/test/MC/AArch64/SVE2/smaxp.s
    llvm/test/MC/AArch64/SVE2/sminp.s
    llvm/test/MC/AArch64/SVE2/smlalb.s
    llvm/test/MC/AArch64/SVE2/smlalt.s
    llvm/test/MC/AArch64/SVE2/smlslb.s
    llvm/test/MC/AArch64/SVE2/smlslt.s
    llvm/test/MC/AArch64/SVE2/smulh.s
    llvm/test/MC/AArch64/SVE2/smullb.s
    llvm/test/MC/AArch64/SVE2/smullt.s
    llvm/test/MC/AArch64/SVE2/splice.s
    llvm/test/MC/AArch64/SVE2/sqabs.s
    llvm/test/MC/AArch64/SVE2/sqadd.s
    llvm/test/MC/AArch64/SVE2/sqcadd.s
    llvm/test/MC/AArch64/SVE2/sqdmlalb.s
    llvm/test/MC/AArch64/SVE2/sqdmlalbt.s
    llvm/test/MC/AArch64/SVE2/sqdmlalt.s
    llvm/test/MC/AArch64/SVE2/sqdmlslb.s
    llvm/test/MC/AArch64/SVE2/sqdmlslbt.s
    llvm/test/MC/AArch64/SVE2/sqdmlslt.s
    llvm/test/MC/AArch64/SVE2/sqdmulh.s
    llvm/test/MC/AArch64/SVE2/sqdmullb.s
    llvm/test/MC/AArch64/SVE2/sqdmullt.s
    llvm/test/MC/AArch64/SVE2/sqneg.s
    llvm/test/MC/AArch64/SVE2/sqrdcmlah.s
    llvm/test/MC/AArch64/SVE2/sqrdmlah.s
    llvm/test/MC/AArch64/SVE2/sqrdmlsh.s
    llvm/test/MC/AArch64/SVE2/sqrdmulh.s
    llvm/test/MC/AArch64/SVE2/sqrshl.s
    llvm/test/MC/AArch64/SVE2/sqrshlr.s
    llvm/test/MC/AArch64/SVE2/sqrshrnb.s
    llvm/test/MC/AArch64/SVE2/sqrshrnt.s
    llvm/test/MC/AArch64/SVE2/sqrshrunb.s
    llvm/test/MC/AArch64/SVE2/sqrshrunt.s
    llvm/test/MC/AArch64/SVE2/sqshl.s
    llvm/test/MC/AArch64/SVE2/sqshlr.s
    llvm/test/MC/AArch64/SVE2/sqshlu.s
    llvm/test/MC/AArch64/SVE2/sqshrnb.s
    llvm/test/MC/AArch64/SVE2/sqshrnt.s
    llvm/test/MC/AArch64/SVE2/sqshrunb.s
    llvm/test/MC/AArch64/SVE2/sqshrunt.s
    llvm/test/MC/AArch64/SVE2/sqsub.s
    llvm/test/MC/AArch64/SVE2/sqsubr.s
    llvm/test/MC/AArch64/SVE2/sqxtnb.s
    llvm/test/MC/AArch64/SVE2/sqxtnt.s
    llvm/test/MC/AArch64/SVE2/sqxtunb.s
    llvm/test/MC/AArch64/SVE2/sqxtunt.s
    llvm/test/MC/AArch64/SVE2/srhadd.s
    llvm/test/MC/AArch64/SVE2/sri.s
    llvm/test/MC/AArch64/SVE2/srshl.s
    llvm/test/MC/AArch64/SVE2/srshlr.s
    llvm/test/MC/AArch64/SVE2/srshr.s
    llvm/test/MC/AArch64/SVE2/srsra.s
    llvm/test/MC/AArch64/SVE2/sshllb.s
    llvm/test/MC/AArch64/SVE2/sshllt.s
    llvm/test/MC/AArch64/SVE2/ssra.s
    llvm/test/MC/AArch64/SVE2/ssublb.s
    llvm/test/MC/AArch64/SVE2/ssublbt.s
    llvm/test/MC/AArch64/SVE2/ssublt.s
    llvm/test/MC/AArch64/SVE2/ssubltb.s
    llvm/test/MC/AArch64/SVE2/ssubwb.s
    llvm/test/MC/AArch64/SVE2/ssubwt.s
    llvm/test/MC/AArch64/SVE2/stnt1b.s
    llvm/test/MC/AArch64/SVE2/stnt1d.s
    llvm/test/MC/AArch64/SVE2/stnt1h.s
    llvm/test/MC/AArch64/SVE2/stnt1w.s
    llvm/test/MC/AArch64/SVE2/subhnb.s
    llvm/test/MC/AArch64/SVE2/subhnt.s
    llvm/test/MC/AArch64/SVE2/suqadd.s
    llvm/test/MC/AArch64/SVE2/tbl.s
    llvm/test/MC/AArch64/SVE2/tbx.s
    llvm/test/MC/AArch64/SVE2/uaba.s
    llvm/test/MC/AArch64/SVE2/uabalb.s
    llvm/test/MC/AArch64/SVE2/uabalt.s
    llvm/test/MC/AArch64/SVE2/uabdlb.s
    llvm/test/MC/AArch64/SVE2/uabdlt.s
    llvm/test/MC/AArch64/SVE2/uadalp.s
    llvm/test/MC/AArch64/SVE2/uaddlb.s
    llvm/test/MC/AArch64/SVE2/uaddlt.s
    llvm/test/MC/AArch64/SVE2/uaddwb.s
    llvm/test/MC/AArch64/SVE2/uaddwt.s
    llvm/test/MC/AArch64/SVE2/uhadd.s
    llvm/test/MC/AArch64/SVE2/uhsub.s
    llvm/test/MC/AArch64/SVE2/uhsubr.s
    llvm/test/MC/AArch64/SVE2/umaxp.s
    llvm/test/MC/AArch64/SVE2/uminp.s
    llvm/test/MC/AArch64/SVE2/umlalb.s
    llvm/test/MC/AArch64/SVE2/umlalt.s
    llvm/test/MC/AArch64/SVE2/umlslb.s
    llvm/test/MC/AArch64/SVE2/umlslt.s
    llvm/test/MC/AArch64/SVE2/umulh.s
    llvm/test/MC/AArch64/SVE2/umullb.s
    llvm/test/MC/AArch64/SVE2/umullt.s
    llvm/test/MC/AArch64/SVE2/uqadd.s
    llvm/test/MC/AArch64/SVE2/uqrshl.s
    llvm/test/MC/AArch64/SVE2/uqrshlr.s
    llvm/test/MC/AArch64/SVE2/uqrshrnb.s
    llvm/test/MC/AArch64/SVE2/uqrshrnt.s
    llvm/test/MC/AArch64/SVE2/uqshl.s
    llvm/test/MC/AArch64/SVE2/uqshlr.s
    llvm/test/MC/AArch64/SVE2/uqshrnb.s
    llvm/test/MC/AArch64/SVE2/uqshrnt.s
    llvm/test/MC/AArch64/SVE2/uqsub.s
    llvm/test/MC/AArch64/SVE2/uqsubr.s
    llvm/test/MC/AArch64/SVE2/uqxtnb.s
    llvm/test/MC/AArch64/SVE2/uqxtnt.s
    llvm/test/MC/AArch64/SVE2/urecpe.s
    llvm/test/MC/AArch64/SVE2/urhadd.s
    llvm/test/MC/AArch64/SVE2/urshl.s
    llvm/test/MC/AArch64/SVE2/urshlr.s
    llvm/test/MC/AArch64/SVE2/urshr.s
    llvm/test/MC/AArch64/SVE2/ursqrte.s
    llvm/test/MC/AArch64/SVE2/ursra.s
    llvm/test/MC/AArch64/SVE2/ushllb.s
    llvm/test/MC/AArch64/SVE2/ushllt.s
    llvm/test/MC/AArch64/SVE2/usqadd.s
    llvm/test/MC/AArch64/SVE2/usra.s
    llvm/test/MC/AArch64/SVE2/usublb.s
    llvm/test/MC/AArch64/SVE2/usublt.s
    llvm/test/MC/AArch64/SVE2/usubwb.s
    llvm/test/MC/AArch64/SVE2/usubwt.s
    llvm/test/MC/AArch64/SVE2/whilege.s
    llvm/test/MC/AArch64/SVE2/whilegt.s
    llvm/test/MC/AArch64/SVE2/whilehi.s
    llvm/test/MC/AArch64/SVE2/whilehs.s
    llvm/test/MC/AArch64/SVE2/whilerw.s
    llvm/test/MC/AArch64/SVE2/whilewr.s
    llvm/test/MC/AArch64/SVE2/xar.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AArch64/AArch64.td b/llvm/lib/Target/AArch64/AArch64.td
index d8dd9d1b2f91e..e5be5cdd0e210 100644
--- a/llvm/lib/Target/AArch64/AArch64.td
+++ b/llvm/lib/Target/AArch64/AArch64.td
@@ -429,10 +429,13 @@ def FeatureEnhancedCounterVirtualization :
 def FeatureRME : SubtargetFeature<"rme", "HasRME",
     "true", "Enable Realm Management Extension">;
 
-// FIXME: SME should only imply the subset of SVE(2) instructions that are
-// legal in streaming mode.
+// A subset of SVE(2) instructions are legal in Streaming SVE execution mode
+// defined by SME.
+def FeatureStreamingSVE : SubtargetFeature<"streaming-sve",
+                                           "HasStreamingSVE", "true",
+  "Enable subset of SVE(2) instructions for Streaming SVE execution mode">;
 def FeatureSME : SubtargetFeature<"sme", "HasSME", "true",
-  "Enable Scalable Matrix Extension (SME)", [FeatureSVE2, FeatureBF16]>;
+  "Enable Scalable Matrix Extension (SME)", [FeatureStreamingSVE, FeatureBF16]>;
 
 def FeatureSMEF64 : SubtargetFeature<"sme-f64", "HasSMEF64", "true",
   "Enable Scalable Matrix Extension (SME) F64F64 instructions", [FeatureSME]>;
@@ -553,7 +556,7 @@ class AArch64Unsupported { list<Predicate> F; }
 
 def SVEUnsupported : AArch64Unsupported {
   let F = [HasSVE, HasSVE2, HasSVE2AES, HasSVE2SM4, HasSVE2SHA3,
-           HasSVE2BitPerm];
+           HasSVE2BitPerm, HasSVEorStreamingSVE, HasSVE2orStreamingSVE];
 }
 
 def PAUnsupported : AArch64Unsupported {

diff  --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.td b/llvm/lib/Target/AArch64/AArch64InstrInfo.td
index 682cec361728c..fbb6c3a970675 100644
--- a/llvm/lib/Target/AArch64/AArch64InstrInfo.td
+++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.td
@@ -128,6 +128,18 @@ def HasSMEF64        : Predicate<"Subtarget->hasSMEF64()">,
                                  AssemblerPredicate<(all_of FeatureSMEF64), "sme-f64">;
 def HasSMEI64        : Predicate<"Subtarget->hasSMEI64()">,
                                  AssemblerPredicate<(all_of FeatureSMEI64), "sme-i64">;
+def HasStreamingSVE  : Predicate<"Subtarget->hasStreamingSVE()">,
+                                 AssemblerPredicate<(all_of FeatureStreamingSVE), "streaming-sve">;
+// A subset of SVE(2) instructions are legal in Streaming SVE execution mode,
+// they should be enabled if either has been specified.
+def HasSVEorStreamingSVE
+    : Predicate<"Subtarget->hasSVE() || Subtarget->hasStreamingSVE()">,
+                AssemblerPredicate<(any_of FeatureSVE, FeatureStreamingSVE),
+                "streaming-sve or sve">;
+def HasSVE2orStreamingSVE
+    : Predicate<"Subtarget->hasSVE2() || Subtarget->hasStreamingSVE()">,
+                AssemblerPredicate<(any_of FeatureSVE2, FeatureStreamingSVE),
+                "streaming-sve or sve2">;
 def HasRCPC          : Predicate<"Subtarget->hasRCPC()">,
                                  AssemblerPredicate<(all_of FeatureRCPC), "rcpc">;
 def HasAltNZCV       : Predicate<"Subtarget->hasAlternativeNZCV()">,

diff  --git a/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td b/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
index 91c3aec30a15d..93b02b2d692ec 100644
--- a/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+++ b/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
@@ -286,7 +286,9 @@ let Predicates = [HasSVE] in {
   defm RDFFR_P    : sve_int_rdffr_unpred<"rdffr", int_aarch64_sve_rdffr>;
   def  SETFFR     : sve_int_setffr<"setffr", int_aarch64_sve_setffr>;
   def  WRFFR      : sve_int_wrffr<"wrffr", int_aarch64_sve_wrffr>;
+} // End HasSVE
 
+let Predicates = [HasSVEorStreamingSVE] in {
   defm ADD_ZZZ   : sve_int_bin_cons_arit_0<0b000, "add", add>;
   defm SUB_ZZZ   : sve_int_bin_cons_arit_0<0b001, "sub", sub>;
   defm SQADD_ZZZ : sve_int_bin_cons_arit_0<0b100, "sqadd", saddsat>;
@@ -305,13 +307,15 @@ let Predicates = [HasSVE] in {
 
   defm ADD_ZPZZ  : sve_int_bin_pred_bhsd<AArch64add_p>;
   defm SUB_ZPZZ  : sve_int_bin_pred_bhsd<AArch64sub_p>;
+} // End HasSVEorStreamingSVE
 
-  let Predicates = [HasSVE, UseExperimentalZeroingPseudos] in {
-    defm ADD_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_add>;
-    defm SUB_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_sub>;
-    defm SUBR_ZPZZ : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_subr>;
-  }
+let Predicates = [HasSVEorStreamingSVE, UseExperimentalZeroingPseudos] in {
+  defm ADD_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_add>;
+  defm SUB_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_sub>;
+  defm SUBR_ZPZZ : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_subr>;
+} // End HasSVEorStreamingSVE, UseExperimentalZeroingPseudos
 
+let Predicates = [HasSVEorStreamingSVE] in {
   defm ORR_ZPmZ : sve_int_bin_pred_log<0b000, "orr", int_aarch64_sve_orr>;
   defm EOR_ZPmZ : sve_int_bin_pred_log<0b001, "eor", int_aarch64_sve_eor>;
   defm AND_ZPmZ : sve_int_bin_pred_log<0b010, "and", int_aarch64_sve_and>;
@@ -437,31 +441,43 @@ let Predicates = [HasSVE] in {
   defm FMAX_ZPZZ   : sve_fp_bin_pred_hfd<AArch64fmax_p>;
   defm FMIN_ZPZZ   : sve_fp_bin_pred_hfd<AArch64fmin_p>;
   defm FDIV_ZPZZ   : sve_fp_bin_pred_hfd<AArch64fdiv_p>;
-
-  let Predicates = [HasSVE, UseExperimentalZeroingPseudos] in {
-    defm FADD_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fadd>;
-    defm FSUB_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fsub>;
-    defm FMUL_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmul>;
-    defm FSUBR_ZPZZ  : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fsubr>;
-    defm FMAXNM_ZPZZ : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmaxnm>;
-    defm FMINNM_ZPZZ : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fminnm>;
-    defm FMAX_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmax>;
-    defm FMIN_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmin>;
-    defm FABD_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fabd>;
-    defm FMULX_ZPZZ  : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmulx>;
-    defm FDIVR_ZPZZ  : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fdivr>;
-    defm FDIV_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fdiv>;
-  }
-
+} // End HasSVEorStreamingSVE
+
+let Predicates = [HasSVEorStreamingSVE, UseExperimentalZeroingPseudos] in {
+  defm FADD_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fadd>;
+  defm FSUB_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fsub>;
+  defm FMUL_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmul>;
+  defm FSUBR_ZPZZ  : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fsubr>;
+  defm FMAXNM_ZPZZ : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmaxnm>;
+  defm FMINNM_ZPZZ : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fminnm>;
+  defm FMAX_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmax>;
+  defm FMIN_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmin>;
+  defm FABD_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fabd>;
+  defm FMULX_ZPZZ  : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fmulx>;
+  defm FDIVR_ZPZZ  : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fdivr>;
+  defm FDIV_ZPZZ   : sve_fp_2op_p_zds_zeroing_hsd<int_aarch64_sve_fdiv>;
+} // End HasSVEorStreamingSVE, UseExperimentalZeroingPseudos
+
+let Predicates = [HasSVEorStreamingSVE] in {
   defm FADD_ZZZ    : sve_fp_3op_u_zd<0b000, "fadd", fadd, AArch64fadd_p>;
   defm FSUB_ZZZ    : sve_fp_3op_u_zd<0b001, "fsub", fsub, AArch64fsub_p>;
   defm FMUL_ZZZ    : sve_fp_3op_u_zd<0b010, "fmul", fmul, AArch64fmul_p>;
+} // End HasSVEorStreamingSVE
+
+let Predicates = [HasSVE] in {
   defm FTSMUL_ZZZ  : sve_fp_3op_u_zd_ftsmul<0b011, "ftsmul", int_aarch64_sve_ftsmul_x>;
+} // End HasSVE
+
+let Predicates = [HasSVEorStreamingSVE] in {
   defm FRECPS_ZZZ  : sve_fp_3op_u_zd<0b110, "frecps",  int_aarch64_sve_frecps_x>;
   defm FRSQRTS_ZZZ : sve_fp_3op_u_zd<0b111, "frsqrts", int_aarch64_sve_frsqrts_x>;
+} // End HasSVEorStreamingSVE
 
+let Predicates = [HasSVE] in {
   defm FTSSEL_ZZZ : sve_int_bin_cons_misc_0_b<"ftssel", int_aarch64_sve_ftssel_x>;
+} // End HasSVE
 
+let Predicates = [HasSVEorStreamingSVE] in {
   defm FCADD_ZPmZ : sve_fp_fcadd<"fcadd", int_aarch64_sve_fcadd>;
   defm FCMLA_ZPmZZ : sve_fp_fcmla<"fcmla", int_aarch64_sve_fcmla>;
 
@@ -516,17 +532,26 @@ let Predicates = [HasSVE] in {
   defm : fma<nxv4f32, nxv4i1, "S">;
   defm : fma<nxv2f32, nxv2i1, "S">;
   defm : fma<nxv2f64, nxv2i1, "D">;
+} // End HasSVEorStreamingSVE
 
+let Predicates = [HasSVE] in {
   defm FTMAD_ZZI : sve_fp_ftmad<"ftmad", int_aarch64_sve_ftmad_x>;
+} // End HasSVE
 
+let Predicates = [HasSVEorStreamingSVE] in {
   defm FMLA_ZZZI : sve_fp_fma_by_indexed_elem<0b0, "fmla", int_aarch64_sve_fmla_lane>;
   defm FMLS_ZZZI : sve_fp_fma_by_indexed_elem<0b1, "fmls", int_aarch64_sve_fmls_lane>;
 
   defm FCMLA_ZZZI : sve_fp_fcmla_by_indexed_elem<"fcmla", int_aarch64_sve_fcmla_lane>;
   defm FMUL_ZZZI   : sve_fp_fmul_by_indexed_elem<"fmul", int_aarch64_sve_fmul_lane>;
+} // End HasSVEorStreamingSVE
 
+let Predicates = [HasSVE] in {
   // SVE floating point reductions.
   defm FADDA_VPZ   : sve_fp_2op_p_vd<0b000, "fadda",   AArch64fadda_p>;
+} // End HasSVE
+
+let Predicates = [HasSVEorStreamingSVE] in {
   defm FADDV_VPZ   : sve_fp_fast_red<0b000, "faddv",   AArch64faddv_p>;
   defm FMAXNMV_VPZ : sve_fp_fast_red<0b100, "fmaxnmv", AArch64fmaxnmv_p>;
   defm FMINNMV_VPZ : sve_fp_fast_red<0b101, "fminnmv", AArch64fminnmv_p>;
@@ -614,8 +639,13 @@ let Predicates = [HasSVE] in {
   defm SEL_ZPZZ   : sve_int_sel_vvv<"sel", vselect>;
 
   defm SPLICE_ZPZ : sve_int_perm_splice<"splice", AArch64splice>;
+} // End HasSVEorStreamingSVE
 
+let Predicates = [HasSVE] in {
   defm COMPACT_ZPZ : sve_int_perm_compact<"compact", int_aarch64_sve_compact>;
+} // End HasSVE
+
+let Predicates = [HasSVEorStreamingSVE] in {
   defm INSR_ZR : sve_int_perm_insrs<"insr", AArch64insr>;
   defm INSR_ZV : sve_int_perm_insrv<"insr", AArch64insr>;
   defm EXT_ZZI : sve_int_perm_extract_i<"ext", AArch64ext>;
@@ -639,8 +669,13 @@ let Predicates = [HasSVE] in {
   defm MOVPRFX_ZPzZ : sve_int_movprfx_pred_zero<0b000, "movprfx">;
   defm MOVPRFX_ZPmZ : sve_int_movprfx_pred_merge<0b001, "movprfx">;
   def MOVPRFX_ZZ : sve_int_bin_cons_misc_0_c<0b00000001, "movprfx", ZPRAny>;
+} // End HasSVEorStreamingSVE
+
+let Predicates = [HasSVE] in {
   defm FEXPA_ZZ : sve_int_bin_cons_misc_0_c_fexpa<"fexpa", int_aarch64_sve_fexpa_x>;
+} // End HasSVE
 
+let Predicates = [HasSVEorStreamingSVE] in {
   defm BRKPA_PPzPP  : sve_int_brkp<0b00, "brkpa",  int_aarch64_sve_brkpa_z>;
   defm BRKPAS_PPzPP : sve_int_brkp<0b10, "brkpas", null_frag>;
   defm BRKPB_PPzPP  : sve_int_brkp<0b01, "brkpb",  int_aarch64_sve_brkpb_z>;
@@ -752,7 +787,9 @@ let Predicates = [HasSVE] in {
   defm LD1SB_S : sve_mem_cld_ss<0b1101, "ld1sb", Z_s, ZPR32, GPR64NoXZRshifted8>;
   defm LD1SB_H : sve_mem_cld_ss<0b1110, "ld1sb", Z_h, ZPR16, GPR64NoXZRshifted8>;
   defm LD1D    : sve_mem_cld_ss<0b1111, "ld1d",  Z_d, ZPR64, GPR64NoXZRshifted64>;
+} // End HasSVEorStreamingSVE
 
+let Predicates = [HasSVE] in {
   // non-faulting continuous load with reg+immediate
   defm LDNF1B_IMM    : sve_mem_cldnf_si<0b0000, "ldnf1b",  Z_b, ZPR8>;
   defm LDNF1B_H_IMM  : sve_mem_cldnf_si<0b0001, "ldnf1b",  Z_h, ZPR16>;
@@ -788,7 +825,9 @@ let Predicates = [HasSVE] in {
   defm LDFF1SB_S : sve_mem_cldff_ss<0b1101, "ldff1sb", Z_s, ZPR32, GPR64shifted8>;
   defm LDFF1SB_H : sve_mem_cldff_ss<0b1110, "ldff1sb", Z_h, ZPR16, GPR64shifted8>;
   defm LDFF1D    : sve_mem_cldff_ss<0b1111, "ldff1d",  Z_d, ZPR64, GPR64shifted64>;
+} // End HasSVE
 
+let Predicates = [HasSVEorStreamingSVE] in {
   // LD(2|3|4) structured loads with reg+immediate
   defm LD2B_IMM : sve_mem_eld_si<0b00, 0b01, ZZ_b,   "ld2b", simm4s2>;
   defm LD3B_IMM : sve_mem_eld_si<0b00, 0b10, ZZZ_b,  "ld3b", simm4s3>;
@@ -816,7 +855,9 @@ let Predicates = [HasSVE] in {
   def LD2D : sve_mem_eld_ss<0b11, 0b01, ZZ_d,   "ld2d", GPR64NoXZRshifted64>;
   def LD3D : sve_mem_eld_ss<0b11, 0b10, ZZZ_d,  "ld3d", GPR64NoXZRshifted64>;
   def LD4D : sve_mem_eld_ss<0b11, 0b11, ZZZZ_d, "ld4d", GPR64NoXZRshifted64>;
+} // End HasSVEorStreamingSVE
 
+let Predicates = [HasSVE] in {
   // Gathers using unscaled 32-bit offsets, e.g.
   //    ld1h z0.s, p0/z, [x0, z0.s, uxtw]
   defm GLD1SB_S   : sve_mem_32b_gld_vs_32_unscaled<0b0000, "ld1sb",   AArch64ld1s_gather_sxtw_z,   AArch64ld1s_gather_uxtw_z,   ZPR32ExtSXTW8Only, ZPR32ExtUXTW8Only, nxv4i8>;
@@ -928,7 +969,9 @@ let Predicates = [HasSVE] in {
   defm GLDFF1W_D  : sve_mem_64b_gld_sv_32_scaled<0b1011, "ldff1w",  AArch64ldff1_gather_sxtw_scaled_z,  AArch64ldff1_gather_uxtw_scaled_z,  ZPR64ExtSXTW32, ZPR64ExtUXTW32, nxv2i32>;
   defm GLD1D      : sve_mem_64b_gld_sv_32_scaled<0b1110, "ld1d",    AArch64ld1_gather_sxtw_scaled_z,    AArch64ld1_gather_uxtw_scaled_z,    ZPR64ExtSXTW64, ZPR64ExtUXTW64, nxv2i64>;
   defm GLDFF1D    : sve_mem_64b_gld_sv_32_scaled<0b1111, "ldff1d",  AArch64ldff1_gather_sxtw_scaled_z,  AArch64ldff1_gather_uxtw_scaled_z,  ZPR64ExtSXTW64, ZPR64ExtUXTW64, nxv2i64>;
+} // End HasSVE
 
+let Predicates = [HasSVEorStreamingSVE] in {
   // Non-temporal contiguous loads (register + immediate)
   defm LDNT1B_ZRI : sve_mem_cldnt_si<0b00, "ldnt1b", Z_b, ZPR8>;
   defm LDNT1H_ZRI : sve_mem_cldnt_si<0b01, "ldnt1h", Z_h, ZPR16>;
@@ -964,7 +1007,9 @@ let Predicates = [HasSVE] in {
   defm ST1W   : sve_mem_cst_ss<0b1010, "st1w", Z_s, ZPR32, GPR64NoXZRshifted32>;
   defm ST1W_D : sve_mem_cst_ss<0b1011, "st1w", Z_d, ZPR64, GPR64NoXZRshifted32>;
   defm ST1D   : sve_mem_cst_ss<0b1111, "st1d", Z_d, ZPR64, GPR64NoXZRshifted64>;
+} // End HasSVEorStreamingSVE
 
+let Predicates = [HasSVE] in {
   // Scatters using unpacked, unscaled 32-bit offsets, e.g.
   //    st1h z0.d, p0, [x0, z0.d, uxtw]
   defm SST1B_D : sve_mem_64b_sst_sv_32_unscaled<0b000, "st1b", AArch64st1_scatter_sxtw, AArch64st1_scatter_uxtw, ZPR64ExtSXTW8Only, ZPR64ExtUXTW8Only, nxv2i8>;
@@ -1014,7 +1059,9 @@ let Predicates = [HasSVE] in {
   defm SST1H_D_SCALED : sve_mem_sst_sv_64_scaled<0b01, "st1h", AArch64st1_scatter_scaled, ZPR64ExtLSL16, nxv2i16>;
   defm SST1W_D_SCALED : sve_mem_sst_sv_64_scaled<0b10, "st1w", AArch64st1_scatter_scaled, ZPR64ExtLSL32, nxv2i32>;
   defm SST1D_SCALED   : sve_mem_sst_sv_64_scaled<0b11, "st1d", AArch64st1_scatter_scaled, ZPR64ExtLSL64, nxv2i64>;
+} // End HasSVE
 
+let Predicates = [HasSVEorStreamingSVE] in {
   // ST(2|3|4) structured stores (register + immediate)
   defm ST2B_IMM : sve_mem_est_si<0b00, 0b01, ZZ_b,   "st2b", simm4s2>;
   defm ST3B_IMM : sve_mem_est_si<0b00, 0b10, ZZZ_b,  "st3b", simm4s3>;
@@ -1095,7 +1142,9 @@ let Predicates = [HasSVE] in {
   defm : sve_prefetch<int_aarch64_sve_prf, nxv8i1,  PRFH_PRI, PRFH_PRR, 1, am_sve_regreg_lsl1>;
   defm : sve_prefetch<int_aarch64_sve_prf, nxv4i1,  PRFW_PRI, PRFS_PRR, 2, am_sve_regreg_lsl2>;
   defm : sve_prefetch<int_aarch64_sve_prf, nxv2i1,  PRFD_PRI, PRFD_PRR, 3, am_sve_regreg_lsl3>;
+} // End HasSVEorStreamingSVE
 
+let Predicates = [HasSVE] in {
   // Gather prefetch using scaled 32-bit offsets, e.g.
   //    prfh pldl1keep, p0, [x0, z0.s, uxtw #1]
   defm PRFB_S : sve_mem_32b_prfm_sv_scaled<0b00, "prfb", ZPR32ExtSXTW8Only,  ZPR32ExtUXTW8Only, int_aarch64_sve_prfb_gather_sxtw_index, int_aarch64_sve_prfb_gather_uxtw_index>;
@@ -1152,7 +1201,9 @@ let Predicates = [HasSVE] in {
             (ADR_LSL_ZZZ_D_2 $Op1, $Op2)>;
   def : Pat<(nxv2i64 (int_aarch64_sve_adrd nxv2i64:$Op1, nxv2i64:$Op2)),
             (ADR_LSL_ZZZ_D_3 $Op1, $Op2)>;
+} // End HasSVE
 
+let Predicates = [HasSVEorStreamingSVE] in {
   defm TBL_ZZZ  : sve_int_perm_tbl<"tbl", AArch64tbl>;
 
   defm ZIP1_ZZZ : sve_int_perm_bin_perm_zz<0b000, "zip1", AArch64zip1>;
@@ -1414,14 +1465,16 @@ let Predicates = [HasSVE] in {
   defm ASR_ZPZI : sve_int_shift_pred_bhsd<AArch64asr_p, SVEShiftImmR8, SVEShiftImmR16, SVEShiftImmR32, SVEShiftImmR64>;
   defm LSR_ZPZI : sve_int_shift_pred_bhsd<AArch64lsr_p, SVEShiftImmR8, SVEShiftImmR16, SVEShiftImmR32, SVEShiftImmR64>;
   defm LSL_ZPZI : sve_int_shift_pred_bhsd<AArch64lsl_p, SVEShiftImmL8, SVEShiftImmL16, SVEShiftImmL32, SVEShiftImmL64>;
+} // End HasSVEorStreamingSVE
 
-  let Predicates = [HasSVE, UseExperimentalZeroingPseudos] in {
-    defm ASR_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_asr>;
-    defm LSR_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_lsr>;
-    defm LSL_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_lsl>;
-    defm ASRD_ZPZI : sve_int_bin_pred_shift_imm_right_zeroing_bhsd<int_aarch64_sve_asrd>;
-  }
+let Predicates = [HasSVEorStreamingSVE, UseExperimentalZeroingPseudos] in {
+  defm ASR_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_asr>;
+  defm LSR_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_lsr>;
+  defm LSL_ZPZZ  : sve_int_bin_pred_zeroing_bhsd<int_aarch64_sve_lsl>;
+  defm ASRD_ZPZI : sve_int_bin_pred_shift_imm_right_zeroing_bhsd<int_aarch64_sve_asrd>;
+} // End HasSVEorStreamingSVE, UseExperimentalZeroingPseudos
 
+let Predicates = [HasSVEorStreamingSVE] in {
   defm ASR_ZPmZ  : sve_int_bin_pred_shift<0b000, "asr", "ASR_ZPZZ", int_aarch64_sve_asr, "ASRR_ZPmZ">;
   defm LSR_ZPmZ  : sve_int_bin_pred_shift<0b001, "lsr", "LSR_ZPZZ", int_aarch64_sve_lsr, "LSRR_ZPmZ">;
   defm LSL_ZPmZ  : sve_int_bin_pred_shift<0b011, "lsl", "LSL_ZPZZ", int_aarch64_sve_lsl, "LSLR_ZPmZ">;
@@ -1536,19 +1589,27 @@ let Predicates = [HasSVE] in {
   defm FRINTI_ZPmZ : sve_fp_2op_p_zd_HSD<0b00111, "frinti", AArch64frinti_mt>;
   defm FRECPX_ZPmZ : sve_fp_2op_p_zd_HSD<0b01100, "frecpx", AArch64frecpx_mt>;
   defm FSQRT_ZPmZ  : sve_fp_2op_p_zd_HSD<0b01101, "fsqrt",  AArch64fsqrt_mt>;
-
-  let Predicates = [HasBF16, HasSVE] in {
-    defm BFDOT_ZZZ    : sve_bfloat_dot<"bfdot", int_aarch64_sve_bfdot>;
-    defm BFDOT_ZZI    : sve_bfloat_dot_indexed<"bfdot", int_aarch64_sve_bfdot_lane>;
-    defm BFMMLA_ZZZ   : sve_bfloat_matmul<"bfmmla", int_aarch64_sve_bfmmla>;
-    defm BFMMLA_B_ZZZ : sve_bfloat_matmul_longvecl<0b0, "bfmlalb", int_aarch64_sve_bfmlalb>;
-    defm BFMMLA_T_ZZZ : sve_bfloat_matmul_longvecl<0b1, "bfmlalt", int_aarch64_sve_bfmlalt>;
-    defm BFMMLA_B_ZZI : sve_bfloat_matmul_longvecl_idx<0b0, "bfmlalb", int_aarch64_sve_bfmlalb_lane>;
-    defm BFMMLA_T_ZZI : sve_bfloat_matmul_longvecl_idx<0b1, "bfmlalt", int_aarch64_sve_bfmlalt_lane>;
-    defm BFCVT_ZPmZ   : sve_bfloat_convert<0b1, "bfcvt",   int_aarch64_sve_fcvt_bf16f32>;
-    defm BFCVTNT_ZPmZ : sve_bfloat_convert<0b0, "bfcvtnt", int_aarch64_sve_fcvtnt_bf16f32>;
-  }
-
+} // End HasSVEorStreamingSVE
+
+let Predicates = [HasBF16, HasSVEorStreamingSVE] in {
+  defm BFDOT_ZZZ    : sve_bfloat_dot<"bfdot", int_aarch64_sve_bfdot>;
+  defm BFDOT_ZZI    : sve_bfloat_dot_indexed<"bfdot", int_aarch64_sve_bfdot_lane>;
+} // End HasBF16, HasSVEorStreamingSVE
+
+let Predicates = [HasBF16, HasSVE] in {
+  defm BFMMLA_ZZZ   : sve_bfloat_matmul<"bfmmla", int_aarch64_sve_bfmmla>;
+} // End HasBF16, HasSVE
+
+let Predicates = [HasBF16, HasSVEorStreamingSVE] in {
+  defm BFMMLA_B_ZZZ : sve_bfloat_matmul_longvecl<0b0, "bfmlalb", int_aarch64_sve_bfmlalb>;
+  defm BFMMLA_T_ZZZ : sve_bfloat_matmul_longvecl<0b1, "bfmlalt", int_aarch64_sve_bfmlalt>;
+  defm BFMMLA_B_ZZI : sve_bfloat_matmul_longvecl_idx<0b0, "bfmlalb", int_aarch64_sve_bfmlalb_lane>;
+  defm BFMMLA_T_ZZI : sve_bfloat_matmul_longvecl_idx<0b1, "bfmlalt", int_aarch64_sve_bfmlalt_lane>;
+  defm BFCVT_ZPmZ   : sve_bfloat_convert<0b1, "bfcvt",   int_aarch64_sve_fcvt_bf16f32>;
+  defm BFCVTNT_ZPmZ : sve_bfloat_convert<0b0, "bfcvtnt", int_aarch64_sve_fcvtnt_bf16f32>;
+} // End HasBF16, HasSVEorStreamingSVE
+
+let Predicates = [HasSVEorStreamingSVE] in {
   // InstAliases
   def : InstAlias<"mov $Zd, $Zn",
                   (ORR_ZZZ ZPR64:$Zd, ZPR64:$Zn, ZPR64:$Zn), 1>;
@@ -2122,7 +2183,9 @@ let Predicates = [HasSVE] in {
 
   // 16-element contiguous loads
   defm : ld1<LD1B, LD1B_IMM, nxv16i8, AArch64ld1_z, nxv16i1, nxv16i8, am_sve_regreg_lsl0>;
+} // End HasSVEorStreamingSVE
 
+let Predicates = [HasSVE] in {
   multiclass ldnf1<Instruction I, ValueType Ty, SDPatternOperator Load, ValueType PredTy, ValueType MemVT> {
     // scalar + immediate (mul vl)
     let AddedComplexity = 1 in {
@@ -2203,7 +2266,9 @@ let Predicates = [HasSVE] in {
 
   // 16-element contiguous first faulting loads
   defm : ldff1<LDFF1B, nxv16i8, AArch64ldff1_z, nxv16i1, nxv16i8, am_sve_regreg_lsl0>;
+} // End HasSVE
 
+let Predicates = [HasSVEorStreamingSVE] in {
   multiclass st1<Instruction RegRegInst, Instruction RegImmInst, ValueType Ty,
                  SDPatternOperator Store, ValueType PredTy, ValueType MemVT, ComplexPattern AddrCP> {
     // reg + reg
@@ -2433,20 +2498,23 @@ let Predicates = [HasSVE] in {
             (EXT_ZZI  ZPR:$Z1, ZPR:$Z2, sve_ext_imm_0_3:$index)>;
   def : Pat<(nxv2i64 (vector_splice (nxv2i64 ZPR:$Z1), (nxv2i64 ZPR:$Z2), (i64 (sve_ext_imm_0_1 i32:$index)))),
             (EXT_ZZI  ZPR:$Z1, ZPR:$Z2, sve_ext_imm_0_1:$index)>;
-}
+} // End HasSVEorStreamingSVE
 
 let Predicates = [HasSVE, HasMatMulInt8] in {
   defm  SMMLA_ZZZ : sve_int_matmul<0b00, "smmla", int_aarch64_sve_smmla>;
   defm  UMMLA_ZZZ : sve_int_matmul<0b11, "ummla", int_aarch64_sve_ummla>;
   defm USMMLA_ZZZ : sve_int_matmul<0b10, "usmmla", int_aarch64_sve_usmmla>;
+} // End HasSVE, HasMatMulInt8
+
+let Predicates = [HasSVEorStreamingSVE, HasMatMulInt8] in {
   defm USDOT_ZZZ  : sve_int_dot_mixed<"usdot", int_aarch64_sve_usdot>;
   defm USDOT_ZZZI : sve_int_dot_mixed_indexed<0, "usdot", int_aarch64_sve_usdot_lane>;
   defm SUDOT_ZZZI : sve_int_dot_mixed_indexed<1, "sudot", int_aarch64_sve_sudot_lane>;
-}
+} // End HasSVEorStreamingSVE, HasMatMulInt8
 
 let Predicates = [HasSVE, HasMatMulFP32] in {
   defm FMMLA_ZZZ_S : sve_fp_matrix_mla<0, "fmmla", ZPR32, int_aarch64_sve_fmmla, nxv4f32>;
-}
+} // End HasSVE, HasMatMulFP32
 
 let Predicates = [HasSVE, HasMatMulFP64] in {
   defm FMMLA_ZZZ_D : sve_fp_matrix_mla<1, "fmmla", ZPR64, int_aarch64_sve_fmmla, nxv2f64>;
@@ -2458,15 +2526,18 @@ let Predicates = [HasSVE, HasMatMulFP64] in {
   defm LD1RO_H     : sve_mem_ldor_ss<0b01, "ld1roh", Z_h, ZPR16, GPR64NoXZRshifted16, nxv8i16, nxv8i1,  AArch64ld1ro_z, am_sve_regreg_lsl1>;
   defm LD1RO_W     : sve_mem_ldor_ss<0b10, "ld1row", Z_s, ZPR32, GPR64NoXZRshifted32, nxv4i32, nxv4i1,  AArch64ld1ro_z, am_sve_regreg_lsl2>;
   defm LD1RO_D     : sve_mem_ldor_ss<0b11, "ld1rod", Z_d, ZPR64, GPR64NoXZRshifted64, nxv2i64, nxv2i1,  AArch64ld1ro_z, am_sve_regreg_lsl3>;
+} // End HasSVE, HasMatMulFP64
+
+let Predicates = [HasSVEorStreamingSVE, HasMatMulFP64] in {
   defm ZIP1_ZZZ_Q  : sve_int_perm_bin_perm_128_zz<0b00, 0, "zip1", int_aarch64_sve_zip1q>;
   defm ZIP2_ZZZ_Q  : sve_int_perm_bin_perm_128_zz<0b00, 1, "zip2", int_aarch64_sve_zip2q>;
   defm UZP1_ZZZ_Q  : sve_int_perm_bin_perm_128_zz<0b01, 0, "uzp1", int_aarch64_sve_uzp1q>;
   defm UZP2_ZZZ_Q  : sve_int_perm_bin_perm_128_zz<0b01, 1, "uzp2", int_aarch64_sve_uzp2q>;
   defm TRN1_ZZZ_Q  : sve_int_perm_bin_perm_128_zz<0b11, 0, "trn1", int_aarch64_sve_trn1q>;
   defm TRN2_ZZZ_Q  : sve_int_perm_bin_perm_128_zz<0b11, 1, "trn2", int_aarch64_sve_trn2q>;
-}
+} // End HasSVEorStreamingSVE, HasMatMulFP64
 
-let Predicates = [HasSVE2] in {
+let Predicates = [HasSVE2orStreamingSVE] in {
   // SVE2 integer multiply-add (indexed)
   defm MLA_ZZZI : sve2_int_mla_by_indexed_elem<0b01, 0b0, "mla", int_aarch64_sve_mla_lane>;
   defm MLS_ZZZI : sve2_int_mla_by_indexed_elem<0b01, 0b1, "mls", int_aarch64_sve_mls_lane>;
@@ -2614,15 +2685,17 @@ let Predicates = [HasSVE2] in {
   defm UQSHL_ZPZZ   : sve_int_bin_pred_all_active_bhsd<int_aarch64_sve_uqshl>;
   defm SQRSHL_ZPZZ  : sve_int_bin_pred_all_active_bhsd<int_aarch64_sve_sqrshl>;
   defm UQRSHL_ZPZZ  : sve_int_bin_pred_all_active_bhsd<int_aarch64_sve_uqrshl>;
+} // End HasSVE2orStreamingSVE
 
-  let Predicates = [HasSVE2, UseExperimentalZeroingPseudos] in {
-    defm SQSHL_ZPZI  : sve_int_bin_pred_shift_imm_left_zeroing_bhsd<null_frag>;
-    defm UQSHL_ZPZI  : sve_int_bin_pred_shift_imm_left_zeroing_bhsd<null_frag>;
-    defm SRSHR_ZPZI  : sve_int_bin_pred_shift_imm_right_zeroing_bhsd<int_aarch64_sve_srshr>;
-    defm URSHR_ZPZI  : sve_int_bin_pred_shift_imm_right_zeroing_bhsd<int_aarch64_sve_urshr>;
-    defm SQSHLU_ZPZI : sve_int_bin_pred_shift_imm_left_zeroing_bhsd<int_aarch64_sve_sqshlu>;
-  }
+let Predicates = [HasSVE2orStreamingSVE, UseExperimentalZeroingPseudos] in {
+  defm SQSHL_ZPZI  : sve_int_bin_pred_shift_imm_left_zeroing_bhsd<null_frag>;
+  defm UQSHL_ZPZI  : sve_int_bin_pred_shift_imm_left_zeroing_bhsd<null_frag>;
+  defm SRSHR_ZPZI  : sve_int_bin_pred_shift_imm_right_zeroing_bhsd<int_aarch64_sve_srshr>;
+  defm URSHR_ZPZI  : sve_int_bin_pred_shift_imm_right_zeroing_bhsd<int_aarch64_sve_urshr>;
+  defm SQSHLU_ZPZI : sve_int_bin_pred_shift_imm_left_zeroing_bhsd<int_aarch64_sve_sqshlu>;
+} // End HasSVE2orStreamingSVE, UseExperimentalZeroingPseudos
 
+let Predicates = [HasSVE2orStreamingSVE] in {
   // SVE2 predicated shifts
   defm SQSHL_ZPmI  : sve_int_bin_pred_shift_imm_left_dup<0b0110, "sqshl",  "SQSHL_ZPZI",  int_aarch64_sve_sqshl>;
   defm UQSHL_ZPmI  : sve_int_bin_pred_shift_imm_left_dup<0b0111, "uqshl",  "UQSHL_ZPZI",  int_aarch64_sve_uqshl>;
@@ -2735,11 +2808,15 @@ let Predicates = [HasSVE2] in {
   defm SQXTNT_ZZ  : sve2_int_sat_extract_narrow_top<0b00, "sqxtnt",  int_aarch64_sve_sqxtnt>;
   defm UQXTNT_ZZ  : sve2_int_sat_extract_narrow_top<0b01, "uqxtnt",  int_aarch64_sve_uqxtnt>;
   defm SQXTUNT_ZZ : sve2_int_sat_extract_narrow_top<0b10, "sqxtunt", int_aarch64_sve_sqxtunt>;
+} // End HasSVE2orStreamingSVE
 
+let Predicates = [HasSVE2] in {
   // SVE2 character match
   defm MATCH_PPzZZ  : sve2_char_match<0b0, "match",  int_aarch64_sve_match>;
   defm NMATCH_PPzZZ : sve2_char_match<0b1, "nmatch", int_aarch64_sve_nmatch>;
+} // End HasSVE2
 
+let Predicates = [HasSVE2orStreamingSVE] in {
   // SVE2 bitwise exclusive-or interleaved
   defm EORBT_ZZZ : sve2_bitwise_xor_interleaved<0b0, "eorbt", int_aarch64_sve_eorbt>;
   defm EORTB_ZZZ : sve2_bitwise_xor_interleaved<0b1, "eortb", int_aarch64_sve_eortb>;
@@ -2754,13 +2831,17 @@ let Predicates = [HasSVE2] in {
   defm SADDLBT_ZZZ : sve2_misc_int_addsub_long_interleaved<0b00, "saddlbt", int_aarch64_sve_saddlbt>;
   defm SSUBLBT_ZZZ : sve2_misc_int_addsub_long_interleaved<0b10, "ssublbt", int_aarch64_sve_ssublbt>;
   defm SSUBLTB_ZZZ : sve2_misc_int_addsub_long_interleaved<0b11, "ssubltb", int_aarch64_sve_ssubltb>;
+} // End HasSVE2orStreamingSVE
 
+let Predicates = [HasSVE2] in {
   // SVE2 histogram generation (segment)
   def HISTSEG_ZZZ : sve2_hist_gen_segment<"histseg", int_aarch64_sve_histseg>;
 
   // SVE2 histogram generation (vector)
   defm HISTCNT_ZPzZZ : sve2_hist_gen_vector<"histcnt", int_aarch64_sve_histcnt>;
+} // End HasSVE2
 
+let Predicates = [HasSVE2orStreamingSVE] in {
   // SVE2 floating-point base 2 logarithm as integer
   defm FLOGB_ZPmZ : sve2_fp_flogb<"flogb", int_aarch64_sve_flogb>;
 
@@ -2802,7 +2883,9 @@ let Predicates = [HasSVE2] in {
 
   // SVE2 extract vector (immediate offset, constructive)
   def EXT_ZZI_B : sve2_int_perm_extract_i_cons<"ext">;
+} // End HasSVE2orStreamingSVE
 
+let Predicates = [HasSVE2] in {
   // SVE2 non-temporal gather loads
   defm LDNT1SB_ZZR_S : sve2_mem_gldnt_vs_32_ptrs<0b00000, "ldnt1sb", AArch64ldnt1s_gather_z, nxv4i8>;
   defm LDNT1B_ZZR_S  : sve2_mem_gldnt_vs_32_ptrs<0b00001, "ldnt1b",  AArch64ldnt1_gather_z,  nxv4i8>;
@@ -2817,10 +2900,14 @@ let Predicates = [HasSVE2] in {
   defm LDNT1SW_ZZR_D : sve2_mem_gldnt_vs_64_ptrs<0b11000, "ldnt1sw", AArch64ldnt1s_gather_z, nxv2i32>;
   defm LDNT1W_ZZR_D  : sve2_mem_gldnt_vs_64_ptrs<0b11010, "ldnt1w",  AArch64ldnt1_gather_z,  nxv2i32>;
   defm LDNT1D_ZZR_D  : sve2_mem_gldnt_vs_64_ptrs<0b11110, "ldnt1d",  AArch64ldnt1_gather_z,  nxv2i64>;
+} // End HasSVE2
 
+let Predicates = [HasSVE2orStreamingSVE] in {
   // SVE2 vector splice (constructive)
   defm SPLICE_ZPZZ : sve2_int_perm_splice_cons<"splice">;
+} // End HasSVE2orStreamingSVE
 
+let Predicates = [HasSVE2] in {
   // SVE2 non-temporal scatter stores
   defm STNT1B_ZZR_S : sve2_mem_sstnt_vs_32_ptrs<0b001, "stnt1b", AArch64stnt1_scatter, nxv4i8>;
   defm STNT1H_ZZR_S : sve2_mem_sstnt_vs_32_ptrs<0b011, "stnt1h", AArch64stnt1_scatter, nxv4i16>;
@@ -2830,7 +2917,9 @@ let Predicates = [HasSVE2] in {
   defm STNT1H_ZZR_D : sve2_mem_sstnt_vs_64_ptrs<0b010, "stnt1h", AArch64stnt1_scatter, nxv2i16>;
   defm STNT1W_ZZR_D : sve2_mem_sstnt_vs_64_ptrs<0b100, "stnt1w", AArch64stnt1_scatter, nxv2i32>;
   defm STNT1D_ZZR_D : sve2_mem_sstnt_vs_64_ptrs<0b110, "stnt1d", AArch64stnt1_scatter, nxv2i64>;
+} // End HasSVE2
 
+let Predicates = [HasSVE2orStreamingSVE] in {
   // SVE2 table lookup (three sources)
   defm TBL_ZZZZ : sve2_int_perm_tbl<"tbl", int_aarch64_sve_tbl2>;
   defm TBX_ZZZ  : sve2_int_perm_tbx<"tbx", int_aarch64_sve_tbx>;
@@ -2849,7 +2938,7 @@ let Predicates = [HasSVE2] in {
   // SVE2 pointer conflict compare
   defm WHILEWR_PXX : sve2_int_while_rr<0b0, "whilewr", "int_aarch64_sve_whilewr">;
   defm WHILERW_PXX : sve2_int_while_rr<0b1, "whilerw", "int_aarch64_sve_whilerw">;
-}
+} // End HasSVE2orStreamingSVE
 
 let Predicates = [HasSVE2AES] in {
   // SVE2 crypto destructive binary operations
@@ -2865,23 +2954,23 @@ let Predicates = [HasSVE2AES] in {
   // to NEON PMULL2 instruction.
   defm PMULLB_ZZZ_Q : sve2_wide_int_arith_pmul<0b00, 0b11010, "pmullb", int_aarch64_sve_pmullb_pair>;
   defm PMULLT_ZZZ_Q : sve2_wide_int_arith_pmul<0b00, 0b11011, "pmullt", int_aarch64_sve_pmullt_pair>;
-}
+} // End HasSVE2AES
 
 let Predicates = [HasSVE2SM4] in {
   // SVE2 crypto constructive binary operations
   defm SM4EKEY_ZZZ_S : sve2_crypto_cons_bin_op<0b0, "sm4ekey", ZPR32, int_aarch64_sve_sm4ekey, nxv4i32>;
   // SVE2 crypto destructive binary operations
   defm SM4E_ZZZ_S : sve2_crypto_des_bin_op<0b10, "sm4e", ZPR32, int_aarch64_sve_sm4e, nxv4i32>;
-}
+} // End HasSVE2SM4
 
 let Predicates = [HasSVE2SHA3] in {
   // SVE2 crypto constructive binary operations
   defm RAX1_ZZZ_D : sve2_crypto_cons_bin_op<0b1, "rax1", ZPR64, int_aarch64_sve_rax1, nxv2i64>;
-}
+} // End HasSVE2SHA3
 
 let Predicates = [HasSVE2BitPerm] in {
   // SVE2 bitwise permute
   defm BEXT_ZZZ : sve2_misc_bitwise<0b1100, "bext", int_aarch64_sve_bext_x>;
   defm BDEP_ZZZ : sve2_misc_bitwise<0b1101, "bdep", int_aarch64_sve_bdep_x>;
   defm BGRP_ZZZ : sve2_misc_bitwise<0b1110, "bgrp", int_aarch64_sve_bgrp_x>;
-}
+} // End HasSVE2BitPerm

diff  --git a/llvm/lib/Target/AArch64/AArch64SchedA64FX.td b/llvm/lib/Target/AArch64/AArch64SchedA64FX.td
index b6741d418ef0b..6df800487ce20 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedA64FX.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedA64FX.td
@@ -21,7 +21,8 @@ def A64FXModel : SchedMachineModel {
   let CompleteModel         =   1;
 
   list<Predicate> UnsupportedFeatures =
-    [HasSVE2, HasSVE2AES, HasSVE2SM4, HasSVE2SHA3, HasSVE2BitPerm, HasPAuth];
+    [HasSVE2, HasSVE2AES, HasSVE2SM4, HasSVE2SHA3, HasSVE2BitPerm, HasPAuth,
+     HasSVE2orStreamingSVE];
 
   let FullInstRWOverlapCheck = 0;
 }

diff  --git a/llvm/lib/Target/AArch64/AArch64Subtarget.h b/llvm/lib/Target/AArch64/AArch64Subtarget.h
index e0ef8df6fca9b..5d99b579463e2 100644
--- a/llvm/lib/Target/AArch64/AArch64Subtarget.h
+++ b/llvm/lib/Target/AArch64/AArch64Subtarget.h
@@ -190,6 +190,7 @@ class AArch64Subtarget final : public AArch64GenSubtargetInfo {
   bool HasSME = false;
   bool HasSMEF64 = false;
   bool HasSMEI64 = false;
+  bool HasStreamingSVE = false;
 
   // Future architecture extensions.
   bool HasETE = false;
@@ -494,6 +495,7 @@ class AArch64Subtarget final : public AArch64GenSubtargetInfo {
   bool hasSME() const { return HasSME; }
   bool hasSMEF64() const { return HasSMEF64; }
   bool hasSMEI64() const { return HasSMEI64; }
+  bool hasStreamingSVE() const { return HasStreamingSVE; }
 
   bool isLittleEndian() const { return IsLittle; }
 

diff  --git a/llvm/test/MC/AArch64/SME/revd.s b/llvm/test/MC/AArch64/SME/revd.s
index 023298e1e5784..d34b851d04993 100644
--- a/llvm/test/MC/AArch64/SME/revd.s
+++ b/llvm/test/MC/AArch64/SME/revd.s
@@ -42,7 +42,7 @@ revd    z31.q, p7/m, z31.q
 movprfx z21, z25
 // CHECK-INST: movprfx  z21, z25
 // CHECK-ENCODING: [0x35,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 35 bf 20 04 <unknown>
 
 revd    z21.q, p5/m, z10.q

diff  --git a/llvm/test/MC/AArch64/SME/sclamp.s b/llvm/test/MC/AArch64/SME/sclamp.s
index e899e5c9b654f..3e232711bca8d 100644
--- a/llvm/test/MC/AArch64/SME/sclamp.s
+++ b/llvm/test/MC/AArch64/SME/sclamp.s
@@ -126,7 +126,7 @@ sclamp  z31.d, z31.d, z31.d
 movprfx z23, z27
 // CHECK-INST: movprfx  z23, z27
 // CHECK-ENCODING: [0x77,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 77 bf 20 04 <unknown>
 
 sclamp  z23.b, z13.b, z8.b
@@ -138,7 +138,7 @@ sclamp  z23.b, z13.b, z8.b
 movprfx z23, z27
 // CHECK-INST: movprfx  z23, z27
 // CHECK-ENCODING: [0x77,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 77 bf 20 04 <unknown>
 
 sclamp  z23.h, z13.h, z8.h
@@ -150,7 +150,7 @@ sclamp  z23.h, z13.h, z8.h
 movprfx z23, z27
 // CHECK-INST: movprfx  z23, z27
 // CHECK-ENCODING: [0x77,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 77 bf 20 04 <unknown>
 
 sclamp  z23.s, z13.s, z8.s
@@ -162,7 +162,7 @@ sclamp  z23.s, z13.s, z8.s
 movprfx z23, z27
 // CHECK-INST: movprfx  z23, z27
 // CHECK-ENCODING: [0x77,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 77 bf 20 04 <unknown>
 
 sclamp  z23.d, z13.d, z8.d

diff  --git a/llvm/test/MC/AArch64/SME/uclamp.s b/llvm/test/MC/AArch64/SME/uclamp.s
index 56b4e500766a8..2db0f8af0158f 100644
--- a/llvm/test/MC/AArch64/SME/uclamp.s
+++ b/llvm/test/MC/AArch64/SME/uclamp.s
@@ -126,7 +126,7 @@ uclamp  z31.d, z31.d, z31.d
 movprfx z23, z27
 // CHECK-INST: movprfx  z23, z27
 // CHECK-ENCODING: [0x77,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 77 bf 20 04 <unknown>
 
 uclamp  z23.b, z13.b, z8.b
@@ -138,7 +138,7 @@ uclamp  z23.b, z13.b, z8.b
 movprfx z23, z27
 // CHECK-INST: movprfx  z23, z27
 // CHECK-ENCODING: [0x77,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 77 bf 20 04 <unknown>
 
 uclamp  z23.h, z13.h, z8.h
@@ -150,7 +150,7 @@ uclamp  z23.h, z13.h, z8.h
 movprfx z23, z27
 // CHECK-INST: movprfx  z23, z27
 // CHECK-ENCODING: [0x77,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 77 bf 20 04 <unknown>
 
 uclamp  z23.s, z13.s, z8.s
@@ -162,7 +162,7 @@ uclamp  z23.s, z13.s, z8.s
 movprfx z23, z27
 // CHECK-INST: movprfx  z23, z27
 // CHECK-ENCODING: [0x77,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 77 bf 20 04 <unknown>
 
 uclamp  z23.d, z13.d, z8.d

diff  --git a/llvm/test/MC/AArch64/SVE/abs.s b/llvm/test/MC/AArch64/SVE/abs.s
index 5c03ea0e9819c..1a7182da55340 100644
--- a/llvm/test/MC/AArch64/SVE/abs.s
+++ b/llvm/test/MC/AArch64/SVE/abs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,49 +12,49 @@
 abs     z0.b, p0/m, z0.b
 // CHECK-INST: abs     z0.b, p0/m, z0.b
 // CHECK-ENCODING: [0x00,0xa0,0x16,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 16 04 <unknown>
 
 abs     z0.h, p0/m, z0.h
 // CHECK-INST: abs     z0.h, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x56,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 56 04 <unknown>
 
 abs     z0.s, p0/m, z0.s
 // CHECK-INST: abs     z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x96,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 96 04 <unknown>
 
 abs     z0.d, p0/m, z0.d
 // CHECK-INST: abs     z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd6,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d6 04 <unknown>
 
 abs     z31.b, p7/m, z31.b
 // CHECK-INST: abs     z31.b, p7/m, z31.b
 // CHECK-ENCODING: [0xff,0xbf,0x16,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 16 04 <unknown>
 
 abs     z31.h, p7/m, z31.h
 // CHECK-INST: abs     z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x56,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 56 04 <unknown>
 
 abs     z31.s, p7/m, z31.s
 // CHECK-INST: abs     z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x96,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 96 04 <unknown>
 
 abs     z31.d, p7/m, z31.d
 // CHECK-INST: abs     z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd6,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d6 04 <unknown>
 
 
@@ -62,23 +64,23 @@ abs     z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 abs     z4.d, p7/m, z31.d
 // CHECK-INST: abs	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd6,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d6 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 abs     z4.d, p7/m, z31.d
 // CHECK-INST: abs	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd6,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d6 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/add.s b/llvm/test/MC/AArch64/SVE/add.s
index 467352d4e9988..7b641735e3d61 100644
--- a/llvm/test/MC/AArch64/SVE/add.s
+++ b/llvm/test/MC/AArch64/SVE/add.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,277 +12,277 @@
 add     z31.s, z31.s, z31.s
 // CHECK-INST: add     z31.s, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x03,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 03 bf 04 <unknown>
 
 add     z23.d, z13.d, z8.d
 // CHECK-INST: add     z23.d, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0x01,0xe8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 01 e8 04 <unknown>
 
 add     z23.b, p3/m, z23.b, z13.b
 // CHECK-INST: add     z23.b, p3/m, z23.b, z13.b
 // CHECK-ENCODING: [0xb7,0x0d,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d 00 04 <unknown>
 
 add     z0.s, z0.s, z0.s
 // CHECK-INST: add     z0.s, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x00,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 a0 04 <unknown>
 
 add     z31.d, z31.d, z31.d
 // CHECK-INST: add     z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x03,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 03 ff 04 <unknown>
 
 add     z21.b, z10.b, z21.b
 // CHECK-INST: add     z21.b, z10.b, z21.b
 // CHECK-ENCODING: [0x55,0x01,0x35,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 01 35 04 <unknown>
 
 add     z31.b, z31.b, z31.b
 // CHECK-INST: add     z31.b, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x03,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 03 3f 04 <unknown>
 
 add     z0.h, p0/m, z0.h, z0.h
 // CHECK-INST: add     z0.h, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x00,0x40,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 40 04 <unknown>
 
 add     z0.h, z0.h, z0.h
 // CHECK-INST: add     z0.h, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x00,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 60 04 <unknown>
 
 add     z0.b, p0/m, z0.b, z0.b
 // CHECK-INST: add     z0.b, p0/m, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x00,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 00 04 <unknown>
 
 add     z0.s, p0/m, z0.s, z0.s
 // CHECK-INST: add     z0.s, p0/m, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x00,0x80,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 80 04 <unknown>
 
 add     z23.b, z13.b, z8.b
 // CHECK-INST: add     z23.b, z13.b, z8.b
 // CHECK-ENCODING: [0xb7,0x01,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 01 28 04 <unknown>
 
 add     z0.d, z0.d, z0.d
 // CHECK-INST: add     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x00,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 e0 04 <unknown>
 
 add     z0.d, p0/m, z0.d, z0.d
 // CHECK-INST: add     z0.d, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x00,0xc0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 c0 04 <unknown>
 
 add     z31.h, z31.h, z31.h
 // CHECK-INST: add     z31.h, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x03,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 03 7f 04 <unknown>
 
 add     z0.b, z0.b, z0.b
 // CHECK-INST: add     z0.b, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x00,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 20 04 <unknown>
 
 add     z21.d, z10.d, z21.d
 // CHECK-INST: add     z21.d, z10.d, z21.d
 // CHECK-ENCODING: [0x55,0x01,0xf5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 01 f5 04 <unknown>
 
 add     z23.h, p3/m, z23.h, z13.h
 // CHECK-INST: add     z23.h, p3/m, z23.h, z13.h
 // CHECK-ENCODING: [0xb7,0x0d,0x40,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d 40 04 <unknown>
 
 add     z23.s, p3/m, z23.s, z13.s
 // CHECK-INST: add     z23.s, p3/m, z23.s, z13.s
 // CHECK-ENCODING: [0xb7,0x0d,0x80,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d 80 04 <unknown>
 
 add     z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: add     z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x80,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 80 04 <unknown>
 
 add     z21.h, z10.h, z21.h
 // CHECK-INST: add     z21.h, z10.h, z21.h
 // CHECK-ENCODING: [0x55,0x01,0x75,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 01 75 04 <unknown>
 
 add     z23.d, p3/m, z23.d, z13.d
 // CHECK-INST: add     z23.d, p3/m, z23.d, z13.d
 // CHECK-ENCODING: [0xb7,0x0d,0xc0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d c0 04 <unknown>
 
 add     z21.d, p5/m, z21.d, z10.d
 // CHECK-INST: add     z21.d, p5/m, z21.d, z10.d
 // CHECK-ENCODING: [0x55,0x15,0xc0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 c0 04 <unknown>
 
 add     z21.b, p5/m, z21.b, z10.b
 // CHECK-INST: add     z21.b, p5/m, z21.b, z10.b
 // CHECK-ENCODING: [0x55,0x15,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 00 04 <unknown>
 
 add     z21.s, z10.s, z21.s
 // CHECK-INST: add     z21.s, z10.s, z21.s
 // CHECK-ENCODING: [0x55,0x01,0xb5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 01 b5 04 <unknown>
 
 add     z21.h, p5/m, z21.h, z10.h
 // CHECK-INST: add     z21.h, p5/m, z21.h, z10.h
 // CHECK-ENCODING: [0x55,0x15,0x40,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 40 04 <unknown>
 
 add     z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: add     z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x40,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 40 04 <unknown>
 
 add     z23.h, z13.h, z8.h
 // CHECK-INST: add     z23.h, z13.h, z8.h
 // CHECK-ENCODING: [0xb7,0x01,0x68,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 01 68 04 <unknown>
 
 add     z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: add     z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xc0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f c0 04 <unknown>
 
 add     z21.s, p5/m, z21.s, z10.s
 // CHECK-INST: add     z21.s, p5/m, z21.s, z10.s
 // CHECK-ENCODING: [0x55,0x15,0x80,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 80 04 <unknown>
 
 add     z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: add     z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 00 04 <unknown>
 
 add     z23.s, z13.s, z8.s
 // CHECK-INST: add     z23.s, z13.s, z8.s
 // CHECK-ENCODING: [0xb7,0x01,0xa8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 01 a8 04 <unknown>
 
 add     z0.b, z0.b, #0
 // CHECK-INST: add     z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 20 25 <unknown>
 
 add     z31.b, z31.b, #255
 // CHECK-INST: add     z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 20 25 <unknown>
 
 add     z0.h, z0.h, #0
 // CHECK-INST: add     z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0xc0,0x60,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 60 25 <unknown>
 
 add     z0.h, z0.h, #0, lsl #8
 // CHECK-INST: add     z0.h, z0.h, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0x60,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 60 25 <unknown>
 
 add     z31.h, z31.h, #255, lsl #8
 // CHECK-INST: add     z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x60,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 60 25 <unknown>
 
 add     z31.h, z31.h, #65280
 // CHECK-INST: add     z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x60,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 60 25 <unknown>
 
 add     z0.s, z0.s, #0
 // CHECK-INST: add     z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0xc0,0xa0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a0 25 <unknown>
 
 add     z0.s, z0.s, #0, lsl #8
 // CHECK-INST: add     z0.s, z0.s, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xa0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a0 25 <unknown>
 
 add     z31.s, z31.s, #255, lsl #8
 // CHECK-INST: add     z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a0 25 <unknown>
 
 add     z31.s, z31.s, #65280
 // CHECK-INST: add     z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a0 25 <unknown>
 
 add     z0.d, z0.d, #0
 // CHECK-INST: add     z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0xc0,0xe0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e0 25 <unknown>
 
 add     z0.d, z0.d, #0, lsl #8
 // CHECK-INST: add     z0.d, z0.d, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xe0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e0 25 <unknown>
 
 add     z31.d, z31.d, #255, lsl #8
 // CHECK-INST: add     z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e0 25 <unknown>
 
 add     z31.d, z31.d, #65280
 // CHECK-INST: add     z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e0 25 <unknown>
 
 
@@ -291,35 +293,35 @@ add     z31.d, z31.d, #65280
 movprfx z4.b, p7/z, z6.b
 // CHECK-INST: movprfx	z4.b, p7/z, z6.b
 // CHECK-ENCODING: [0xc4,0x3c,0x10,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c 10 04 <unknown>
 
 add     z4.b, p7/m, z4.b, z31.b
 // CHECK-INST: add	z4.b, p7/m, z4.b, z31.b
 // CHECK-ENCODING: [0xe4,0x1f,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f 00 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 add     z4.b, p7/m, z4.b, z31.b
 // CHECK-INST: add	z4.b, p7/m, z4.b, z31.b
 // CHECK-ENCODING: [0xe4,0x1f,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f 00 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 add     z31.d, z31.d, #65280
 // CHECK-INST: add	z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e0 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/addpl.s b/llvm/test/MC/AArch64/SVE/addpl.s
index b508b277d6015..3cbf92551f1bd 100644
--- a/llvm/test/MC/AArch64/SVE/addpl.s
+++ b/llvm/test/MC/AArch64/SVE/addpl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 addpl   x21, x21, #0
 // CHECK-INST: addpl   x21, x21, #0
 // CHECK-ENCODING: [0x15,0x50,0x75,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 50 75 04 <unknown>
 
 addpl   x23, x8, #-1
 // CHECK-INST: addpl   x23, x8, #-1
 // CHECK-ENCODING: [0xf7,0x57,0x68,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f7 57 68 04 <unknown>
 
 addpl   sp, sp, #31
 // CHECK-INST: addpl   sp, sp, #31
 // CHECK-ENCODING: [0xff,0x53,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 53 7f 04 <unknown>
 
 addpl   x0, x0, #-32
 // CHECK-INST: addpl   x0, x0, #-32
 // CHECK-ENCODING: [0x00,0x54,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 54 60 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/addvl.s b/llvm/test/MC/AArch64/SVE/addvl.s
index 31de092abe5b4..d8c7cbe75db08 100644
--- a/llvm/test/MC/AArch64/SVE/addvl.s
+++ b/llvm/test/MC/AArch64/SVE/addvl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 addvl   x21, x21, #0
 // CHECK-INST: addvl   x21, x21, #0
 // CHECK-ENCODING: [0x15,0x50,0x35,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 50 35 04 <unknown>
 
 addvl   x23, x8, #-1
 // CHECK-INST: addvl   x23, x8, #-1
 // CHECK-ENCODING: [0xf7,0x57,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f7 57 28 04 <unknown>
 
 addvl   sp, sp, #31
 // CHECK-INST: addvl   sp, sp, #31
 // CHECK-ENCODING: [0xff,0x53,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 53 3f 04 <unknown>
 
 addvl   x0, x0, #-32
 // CHECK-INST: addvl   x0, x0, #-32
 // CHECK-ENCODING: [0x00,0x54,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 54 20 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/and.s b/llvm/test/MC/AArch64/SVE/and.s
index b45c84db14572..725dc9410dc79 100644
--- a/llvm/test/MC/AArch64/SVE/and.s
+++ b/llvm/test/MC/AArch64/SVE/and.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,103 +12,103 @@
 and     z5.b, z5.b, #0xf9
 // CHECK-INST: and     z5.b, z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e 80 05 <unknown>
 
 and     z23.h, z23.h, #0xfff9
 // CHECK-INST: and     z23.h, z23.h, #0xfff9
 // CHECK-ENCODING: [0xb7,0x6d,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 6d 80 05 <unknown>
 
 and     z0.s, z0.s, #0xfffffff9
 // CHECK-INST: and     z0.s, z0.s, #0xfffffff9
 // CHECK-ENCODING: [0xa0,0xeb,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 eb 80 05 <unknown>
 
 and     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-INST: and     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0x83,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef 83 05 <unknown>
 
 and     z5.b, z5.b, #0x6
 // CHECK-INST: and     z5.b, z5.b, #0x6
 // CHECK-ENCODING: [0x25,0x3e,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 3e 80 05 <unknown>
 
 and     z23.h, z23.h, #0x6
 // CHECK-INST: and     z23.h, z23.h, #0x6
 // CHECK-ENCODING: [0x37,0x7c,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 37 7c 80 05 <unknown>
 
 and     z0.s, z0.s, #0x6
 // CHECK-INST: and     z0.s, z0.s, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 80 05 <unknown>
 
 and     z0.d, z0.d, #0x6
 // CHECK-INST: and     z0.d, z0.d, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x83,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 83 05 <unknown>
 
 and     z0.d, z0.d, z0.d
 // CHECK-INST: and     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 20 04 <unknown>
 
 and     z23.d, z13.d, z8.d
 // CHECK-INST: and     z23.d, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0x31,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 31 28 04 <unknown>
 
 and     z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: and     z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x1a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 1a 04 <unknown>
 
 and     z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: and     z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x5a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 5a 04 <unknown>
 
 and     z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: and     z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x9a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 9a 04 <unknown>
 
 and     z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: and     z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xda,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f da 04 <unknown>
 
 and     p0.b, p0/z, p0.b, p1.b
 // CHECK-INST: and     p0.b, p0/z, p0.b, p1.b
 // CHECK-ENCODING: [0x00,0x40,0x01,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 01 25 <unknown>
 
 and     p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: mov     p0.b, p0/z, p0.b
 // CHECK-ENCODING: [0x00,0x40,0x00,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 00 25 <unknown>
 
 and     p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: mov     p15.b, p15/z, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d 0f 25 <unknown>
 
 
@@ -116,19 +118,19 @@ and     p15.b, p15/z, p15.b, p15.b
 and     z0.s, z0.s, z0.s
 // CHECK-INST: and     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 20 04 <unknown>
 
 and     z0.h, z0.h, z0.h
 // CHECK-INST: and     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 20 04 <unknown>
 
 and     z0.b, z0.b, z0.b
 // CHECK-INST: and     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 20 04 <unknown>
 
 
@@ -138,35 +140,35 @@ and     z0.b, z0.b, z0.b
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 and     z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: and	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xda,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f da 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 and     z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: and	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xda,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f da 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 and     z0.d, z0.d, #0x6
 // CHECK-INST: and	z0.d, z0.d, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x83,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 83 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ands.s b/llvm/test/MC/AArch64/SVE/ands.s
index eb48e75921557..de15bacc66293 100644
--- a/llvm/test/MC/AArch64/SVE/ands.s
+++ b/llvm/test/MC/AArch64/SVE/ands.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,18 +12,18 @@
 ands    p0.b, p0/z, p0.b, p1.b
 // CHECK-INST: ands    p0.b, p0/z, p0.b, p1.b
 // CHECK-ENCODING: [0x00,0x40,0x41,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 41 25 <unknown>
 
 ands    p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: movs    p0.b, p0/z, p0.b
 // CHECK-ENCODING: [0x00,0x40,0x40,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 40 25 <unknown>
 
 ands    p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: movs    p15.b, p15/z, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d 4f 25 <unknown>
 

diff  --git a/llvm/test/MC/AArch64/SVE/andv.s b/llvm/test/MC/AArch64/SVE/andv.s
index 431c7b09db276..bd892c8668381 100644
--- a/llvm/test/MC/AArch64/SVE/andv.s
+++ b/llvm/test/MC/AArch64/SVE/andv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 andv b0, p7, z31.b
 // CHECK-INST: andv	b0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x3f,0x1a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 1a 04 <unknown>
 
 andv h0, p7, z31.h
 // CHECK-INST: andv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x5a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 5a 04 <unknown>
 
 andv s0, p7, z31.s
 // CHECK-INST: andv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x9a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 9a 04 <unknown>
 
 andv d0, p7, z31.d
 // CHECK-INST: andv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xda,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f da 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/asr.s b/llvm/test/MC/AArch64/SVE/asr.s
index 4ba7705732a08..62df01406fe91 100644
--- a/llvm/test/MC/AArch64/SVE/asr.s
+++ b/llvm/test/MC/AArch64/SVE/asr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,157 +12,157 @@
 asr     z0.b, z0.b, #1
 // CHECK-INST: asr	z0.b, z0.b, #1
 // CHECK-ENCODING: [0x00,0x90,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 90 2f 04 <unknown>
 
 asr     z31.b, z31.b, #8
 // CHECK-INST: asr	z31.b, z31.b, #8
 // CHECK-ENCODING: [0xff,0x93,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 93 28 04 <unknown>
 
 asr     z0.h, z0.h, #1
 // CHECK-INST: asr	z0.h, z0.h, #1
 // CHECK-ENCODING: [0x00,0x90,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 90 3f 04 <unknown>
 
 asr     z31.h, z31.h, #16
 // CHECK-INST: asr	z31.h, z31.h, #16
 // CHECK-ENCODING: [0xff,0x93,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 93 30 04 <unknown>
 
 asr     z0.s, z0.s, #1
 // CHECK-INST: asr	z0.s, z0.s, #1
 // CHECK-ENCODING: [0x00,0x90,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 90 7f 04 <unknown>
 
 asr     z31.s, z31.s, #32
 // CHECK-INST: asr	z31.s, z31.s, #32
 // CHECK-ENCODING: [0xff,0x93,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 93 60 04 <unknown>
 
 asr     z0.d, z0.d, #1
 // CHECK-INST: asr	z0.d, z0.d, #1
 // CHECK-ENCODING: [0x00,0x90,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 90 ff 04 <unknown>
 
 asr     z31.d, z31.d, #64
 // CHECK-INST: asr	z31.d, z31.d, #64
 // CHECK-ENCODING: [0xff,0x93,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 93 a0 04 <unknown>
 
 asr     z0.b, p0/m, z0.b, #1
 // CHECK-INST: asr	z0.b, p0/m, z0.b, #1
 // CHECK-ENCODING: [0xe0,0x81,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 81 00 04 <unknown>
 
 asr     z31.b, p0/m, z31.b, #8
 // CHECK-INST: asr	z31.b, p0/m, z31.b, #8
 // CHECK-ENCODING: [0x1f,0x81,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 81 00 04 <unknown>
 
 asr     z0.h, p0/m, z0.h, #1
 // CHECK-INST: asr	z0.h, p0/m, z0.h, #1
 // CHECK-ENCODING: [0xe0,0x83,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 83 00 04 <unknown>
 
 asr     z31.h, p0/m, z31.h, #16
 // CHECK-INST: asr	z31.h, p0/m, z31.h, #16
 // CHECK-ENCODING: [0x1f,0x82,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 82 00 04 <unknown>
 
 asr     z0.s, p0/m, z0.s, #1
 // CHECK-INST: asr	z0.s, p0/m, z0.s, #1
 // CHECK-ENCODING: [0xe0,0x83,0x40,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 83 40 04 <unknown>
 
 asr     z31.s, p0/m, z31.s, #32
 // CHECK-INST: asr	z31.s, p0/m, z31.s, #32
 // CHECK-ENCODING: [0x1f,0x80,0x40,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 40 04 <unknown>
 
 asr     z0.d, p0/m, z0.d, #1
 // CHECK-INST: asr	z0.d, p0/m, z0.d, #1
 // CHECK-ENCODING: [0xe0,0x83,0xc0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 83 c0 04 <unknown>
 
 asr     z31.d, p0/m, z31.d, #64
 // CHECK-INST: asr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x80,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 80 04 <unknown>
 
 asr     z0.b, p0/m, z0.b, z0.b
 // CHECK-INST: asr	z0.b, p0/m, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x80,0x10,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 10 04 <unknown>
 
 asr     z0.h, p0/m, z0.h, z0.h
 // CHECK-INST: asr	z0.h, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x80,0x50,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 50 04 <unknown>
 
 asr     z0.s, p0/m, z0.s, z0.s
 // CHECK-INST: asr	z0.s, p0/m, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x80,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 90 04 <unknown>
 
 asr     z0.d, p0/m, z0.d, z0.d
 // CHECK-INST: asr	z0.d, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x80,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 d0 04 <unknown>
 
 asr     z0.b, p0/m, z0.b, z1.d
 // CHECK-INST: asr	z0.b, p0/m, z0.b, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x18,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 18 04 <unknown>
 
 asr     z0.h, p0/m, z0.h, z1.d
 // CHECK-INST: asr	z0.h, p0/m, z0.h, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x58,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 58 04 <unknown>
 
 asr     z0.s, p0/m, z0.s, z1.d
 // CHECK-INST: asr	z0.s, p0/m, z0.s, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x98,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 98 04 <unknown>
 
 asr     z0.b, z1.b, z2.d
 // CHECK-INST: asr	z0.b, z1.b, z2.d
 // CHECK-ENCODING: [0x20,0x80,0x22,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 22 04 <unknown>
 
 asr     z0.h, z1.h, z2.d
 // CHECK-INST: asr	z0.h, z1.h, z2.d
 // CHECK-ENCODING: [0x20,0x80,0x62,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 62 04 <unknown>
 
 asr     z0.s, z1.s, z2.d
 // CHECK-INST: asr	z0.s, z1.s, z2.d
 // CHECK-ENCODING: [0x20,0x80,0xa2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 a2 04 <unknown>
 
 
@@ -170,47 +172,47 @@ asr     z0.s, z1.s, z2.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx	z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 asr     z31.d, p0/m, z31.d, #64
 // CHECK-INST: asr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x80,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 80 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 asr     z31.d, p0/m, z31.d, #64
 // CHECK-INST: asr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x80,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 80 04 <unknown>
 
 movprfx z0.s, p0/z, z7.s
 // CHECK-INST: movprfx	z0.s, p0/z, z7.s
 // CHECK-ENCODING: [0xe0,0x20,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 20 90 04 <unknown>
 
 asr     z0.s, p0/m, z0.s, z1.d
 // CHECK-INST: asr	z0.s, p0/m, z0.s, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x98,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 98 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 asr     z0.s, p0/m, z0.s, z1.d
 // CHECK-INST: asr	z0.s, p0/m, z0.s, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x98,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 98 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/asrd.s b/llvm/test/MC/AArch64/SVE/asrd.s
index 37b3d00303a20..c025a87acdbfd 100644
--- a/llvm/test/MC/AArch64/SVE/asrd.s
+++ b/llvm/test/MC/AArch64/SVE/asrd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,49 +12,49 @@
 asrd    z0.b, p0/m, z0.b, #1
 // CHECK-INST: asrd	z0.b, p0/m, z0.b, #1
 // CHECK-ENCODING: [0xe0,0x81,0x04,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 81 04 04 <unknown>
 
 asrd    z31.b, p0/m, z31.b, #8
 // CHECK-INST: asrd	z31.b, p0/m, z31.b, #8
 // CHECK-ENCODING: [0x1f,0x81,0x04,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 81 04 04 <unknown>
 
 asrd    z0.h, p0/m, z0.h, #1
 // CHECK-INST: asrd	z0.h, p0/m, z0.h, #1
 // CHECK-ENCODING: [0xe0,0x83,0x04,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 83 04 04 <unknown>
 
 asrd    z31.h, p0/m, z31.h, #16
 // CHECK-INST: asrd	z31.h, p0/m, z31.h, #16
 // CHECK-ENCODING: [0x1f,0x82,0x04,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 82 04 04 <unknown>
 
 asrd    z0.s, p0/m, z0.s, #1
 // CHECK-INST: asrd	z0.s, p0/m, z0.s, #1
 // CHECK-ENCODING: [0xe0,0x83,0x44,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 83 44 04 <unknown>
 
 asrd    z31.s, p0/m, z31.s, #32
 // CHECK-INST: asrd	z31.s, p0/m, z31.s, #32
 // CHECK-ENCODING: [0x1f,0x80,0x44,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 44 04 <unknown>
 
 asrd    z0.d, p0/m, z0.d, #1
 // CHECK-INST: asrd	z0.d, p0/m, z0.d, #1
 // CHECK-ENCODING: [0xe0,0x83,0xc4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 83 c4 04 <unknown>
 
 asrd    z31.d, p0/m, z31.d, #64
 // CHECK-INST: asrd	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x84,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 84 04 <unknown>
 
 
@@ -62,23 +64,23 @@ asrd    z31.d, p0/m, z31.d, #64
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx	z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 asrd    z31.d, p0/m, z31.d, #64
 // CHECK-INST: asrd	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x84,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 84 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 asrd    z31.d, p0/m, z31.d, #64
 // CHECK-INST: asrd	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x84,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 84 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/asrr.s b/llvm/test/MC/AArch64/SVE/asrr.s
index d24a93a1b99be..c95f04a9fea13 100644
--- a/llvm/test/MC/AArch64/SVE/asrr.s
+++ b/llvm/test/MC/AArch64/SVE/asrr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 asrr    z0.b, p0/m, z0.b, z0.b
 // CHECK-INST: asrr	z0.b, p0/m, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x80,0x14,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 14 04 <unknown>
 
 asrr    z0.h, p0/m, z0.h, z0.h
 // CHECK-INST: asrr	z0.h, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x80,0x54,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 54 04 <unknown>
 
 asrr    z0.s, p0/m, z0.s, z0.s
 // CHECK-INST: asrr	z0.s, p0/m, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x80,0x94,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 94 04 <unknown>
 
 asrr    z0.d, p0/m, z0.d, z0.d
 // CHECK-INST: asrr	z0.d, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x80,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 d4 04 <unknown>
 
 
@@ -38,23 +40,23 @@ asrr    z0.d, p0/m, z0.d, z0.d
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 asrr    z5.d, p0/m, z5.d, z0.d
 // CHECK-INST: asrr	z5.d, p0/m, z5.d, z0.d
 // CHECK-ENCODING: [0x05,0x80,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 80 d4 04 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 asrr    z5.d, p0/m, z5.d, z0.d
 // CHECK-INST: asrr	z5.d, p0/m, z5.d, z0.d
 // CHECK-ENCODING: [0x05,0x80,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 80 d4 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/bfcvt.s b/llvm/test/MC/AArch64/SVE/bfcvt.s
index 1113ce88a8bed..96619e1e6cb42 100644
--- a/llvm/test/MC/AArch64/SVE/bfcvt.s
+++ b/llvm/test/MC/AArch64/SVE/bfcvt.s
@@ -1,29 +1,31 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+bf16 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve,+bf16 < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 
 bfcvt z0.H, p0/m, z1.S
 // CHECK-INST: bfcvt z0.h, p0/m, z1.s
 // CHECK-ENCODING: [0x20,0xa0,0x8a,0x65]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0.S, p0/m, z2.S
 // CHECK-INST: movprfx z0.s, p0/m, z2.s
 // CHECK-ENCODING: [0x40,0x20,0x91,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfcvt z0.H, p0/m, z1.S
 // CHECK-INST: bfcvt z0.h, p0/m, z1.s
 // CHECK-ENCODING: [0x20,0xa0,0x8a,0x65]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z2
 // CHECK-INST: movprfx z0, z2
 // CHECK-ENCODING: [0x40,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfcvt z0.H, p0/m, z1.S
 // CHECK-INST: bfcvt z0.h, p0/m, z1.s
 // CHECK-ENCODING: [0x20,0xa0,0x8a,0x65]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve

diff  --git a/llvm/test/MC/AArch64/SVE/bfcvtnt.s b/llvm/test/MC/AArch64/SVE/bfcvtnt.s
index 6ab7165fbf846..2973ffe88c7d3 100644
--- a/llvm/test/MC/AArch64/SVE/bfcvtnt.s
+++ b/llvm/test/MC/AArch64/SVE/bfcvtnt.s
@@ -1,29 +1,31 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+bf16 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve,+bf16 < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 
 bfcvtnt z0.H, p0/m, z1.S
 // CHECK-INST: bfcvtnt z0.h, p0/m, z1.s
 // CHECK-ENCODING: [0x20,0xa0,0x8a,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0.S, p0/m, z2.S
 // CHECK-INST: movprfx z0.s, p0/m, z2.s
 // CHECK-ENCODING: [0x40,0x20,0x91,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfcvtnt z0.H, p0/m, z1.S
 // CHECK-INST: bfcvtnt z0.h, p0/m, z1.s
 // CHECK-ENCODING: [0x20,0xa0,0x8a,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z2
 // CHECK-INST: movprfx z0, z2
 // CHECK-ENCODING: [0x40,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfcvtnt z0.H, p0/m, z1.S
 // CHECK-INST: bfcvtnt z0.h, p0/m, z1.s
 // CHECK-ENCODING: [0x20,0xa0,0x8a,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve

diff  --git a/llvm/test/MC/AArch64/SVE/bfdot.s b/llvm/test/MC/AArch64/SVE/bfdot.s
index d39978d797f2a..08794f21daa9a 100644
--- a/llvm/test/MC/AArch64/SVE/bfdot.s
+++ b/llvm/test/MC/AArch64/SVE/bfdot.s
@@ -1,22 +1,24 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+bf16 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve,+bf16 < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 
 bfdot z0.S, z1.H, z2.H
 // CHECK-INST: bfdot z0.s, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x80,0x62,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfdot z0.S, z1.H, z2.H[0]
 // CHECK-INST: bfdot z0.s, z1.h, z2.h[0]
 // CHECK-ENCODING: [0x20,0x40,0x62,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfdot z0.S, z1.H, z2.H[3]
 // CHECK-INST: bfdot z0.s, z1.h, z2.h[3]
 // CHECK-ENCODING: [0x20,0x40,0x7a,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 // --------------------------------------------------------------------------//
 // Test compatibility with MOVPRFX instruction.
@@ -24,29 +26,29 @@ bfdot z0.S, z1.H, z2.H[3]
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfdot z0.S, z1.H, z2.H
 // CHECK-INST: bfdot z0.s, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x80,0x62,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfdot z0.S, z1.H, z2.H[0]
 // CHECK-INST: bfdot z0.s, z1.h, z2.h[0]
 // CHECK-ENCODING: [0x20,0x40,0x62,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfdot z0.S, z1.H, z2.H[3]
 // CHECK-INST: bfdot z0.s, z1.h, z2.h[3]
 // CHECK-ENCODING: [0x20,0x40,0x7a,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve

diff  --git a/llvm/test/MC/AArch64/SVE/bfmlal.s b/llvm/test/MC/AArch64/SVE/bfmlal.s
index d4f86d30df3a0..6bb7b5876d8e3 100644
--- a/llvm/test/MC/AArch64/SVE/bfmlal.s
+++ b/llvm/test/MC/AArch64/SVE/bfmlal.s
@@ -1,57 +1,59 @@
 // RUN: llvm-mc -o - -triple=aarch64 -show-encoding -mattr=+sve,+bf16 %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve,+bf16 < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -o - -triple=aarch64 -show-encoding %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 
 bfmlalb z0.S, z1.H, z2.H
 // CHECK-INST: bfmlalb z0.s, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x80,0xe2,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfmlalt z0.S, z1.H, z2.H
 // CHECK-INST: bfmlalt z0.s, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x84,0xe2,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfmlalb z0.S, z1.H, z2.H[0]
 // CHECK-INST: bfmlalb z0.s, z1.h, z2.h[0]
 // CHECK-ENCODING: [0x20,0x40,0xe2,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfmlalt z0.S, z1.H, z2.H[0]
 // CHECK-INST: bfmlalt z0.s, z1.h, z2.h[0]
 // CHECK-ENCODING: [0x20,0x44,0xe2,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfmlalb z0.S, z1.H, z2.H[7]
 // CHECK-INST: bfmlalb z0.s, z1.h, z2.h[7]
 // CHECK-ENCODING: [0x20,0x48,0xfa,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfmlalt z0.S, z1.H, z2.H[7]
 // CHECK-INST: bfmlalt z0.s, z1.h, z2.h[7]
 // CHECK-ENCODING: [0x20,0x4c,0xfa,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfmlalt z0.S, z1.H, z7.H[7]
 // CHECK-INST: bfmlalt z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x4c,0xff,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfmlalb z10.S, z21.H, z14.H
 // CHECK-INST: bfmlalb z10.s, z21.h, z14.h
 // CHECK-ENCODING: [0xaa,0x82,0xee,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfmlalt z14.S, z10.H, z21.H
 // CHECK-INST: bfmlalt z14.s, z10.h, z21.h
 // CHECK-ENCODING: [0x4e,0x85,0xf5,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 bfmlalb z21.s, z14.h, z3.h[2]
 // CHECK-INST: bfmlalb z21.s, z14.h, z3.h[2]
 // CHECK-ENCODING: [0xd5,0x41,0xeb,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 // --------------------------------------------------------------------------//
 // Test compatibility with MOVPRFX instruction.
@@ -59,99 +61,99 @@ bfmlalb z21.s, z14.h, z3.h[2]
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalb z0.S, z1.H, z2.H
 // CHECK-INST: bfmlalb z0.s, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x80,0xe2,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalt z0.S, z1.H, z2.H
 // CHECK-INST: bfmlalt z0.s, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x84,0xe2,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalb z0.S, z1.H, z2.H[0]
 // CHECK-INST: bfmlalb z0.s, z1.h, z2.h[0]
 // CHECK-ENCODING: [0x20,0x40,0xe2,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalt z0.S, z1.H, z2.H[0]
 // CHECK-INST: bfmlalt z0.s, z1.h, z2.h[0]
 // CHECK-ENCODING: [0x20,0x44,0xe2,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalb z0.S, z1.H, z2.H[7]
 // CHECK-INST: bfmlalb z0.s, z1.h, z2.h[7]
 // CHECK-ENCODING: [0x20,0x48,0xfa,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalt z0.S, z1.H, z2.H[7]
 // CHECK-INST: bfmlalt z0.s, z1.h, z2.h[7]
 // CHECK-ENCODING: [0x20,0x4c,0xfa,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalt z0.S, z1.H, z7.H[7]
 // CHECK-INST: bfmlalt z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x4c,0xff,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z10, z7
 // CHECK-INST: movprfx z10, z7
 // CHECK-ENCODING: [0xea,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalb z10.S, z21.H, z14.H
 // CHECK-INST: bfmlalb z10.s, z21.h, z14.h
 // CHECK-ENCODING: [0xaa,0x82,0xee,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z14, z7
 // CHECK-INST: movprfx z14, z7
 // CHECK-ENCODING: [0xee,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalt z14.S, z10.H, z21.H
 // CHECK-INST: bfmlalt z14.s, z10.h, z21.h
 // CHECK-ENCODING: [0x4e,0x85,0xf5,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve
 
 movprfx z21, z7
 // CHECK-INST: movprfx z21, z7
 // CHECK-ENCODING: [0xf5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmlalb z21.s, z14.h, z3.h[2]
 // CHECK-INST: bfmlalb z21.s, z14.h, z3.h[2]
 // CHECK-ENCODING: [0xd5,0x41,0xeb,0x64]
-// CHECK-ERROR: instruction requires: bf16 sve
+// CHECK-ERROR: instruction requires: bf16 streaming-sve or sve

diff  --git a/llvm/test/MC/AArch64/SVE/bfmmla.s b/llvm/test/MC/AArch64/SVE/bfmmla.s
index 67a073ad6266b..6d4d809341efa 100644
--- a/llvm/test/MC/AArch64/SVE/bfmmla.s
+++ b/llvm/test/MC/AArch64/SVE/bfmmla.s
@@ -14,7 +14,7 @@ bfmmla z0.S, z1.H, z2.H
 movprfx z0, z7
 // CHECK-INST: movprfx z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 
 bfmmla z0.S, z1.H, z2.H
 // CHECK-INST: bfmmla z0.s, z1.h, z2.h

diff  --git a/llvm/test/MC/AArch64/SVE/bic.s b/llvm/test/MC/AArch64/SVE/bic.s
index 8907ceafead02..992da415df0ea 100644
--- a/llvm/test/MC/AArch64/SVE/bic.s
+++ b/llvm/test/MC/AArch64/SVE/bic.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,97 +12,97 @@
 bic     z5.b, z5.b, #0xf9
 // CHECK-INST: and     z5.b, z5.b, #0x6
 // CHECK-ENCODING: [0x25,0x3e,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 3e 80 05 <unknown>
 
 bic     z23.h, z23.h, #0xfff9
 // CHECK-INST: and     z23.h, z23.h, #0x6
 // CHECK-ENCODING: [0x37,0x7c,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 37 7c 80 05 <unknown>
 
 bic     z0.s, z0.s, #0xfffffff9
 // CHECK-INST: and     z0.s, z0.s, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 80 05 <unknown>
 
 bic     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-INST: and     z0.d, z0.d, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x83,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 83 05 <unknown>
 
 bic     z5.b, z5.b, #0x6
 // CHECK-INST: and     z5.b, z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e 80 05 <unknown>
 
 bic     z23.h, z23.h, #0x6
 // CHECK-INST: and     z23.h, z23.h, #0xfff9
 // CHECK-ENCODING: [0xb7,0x6d,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 6d 80 05 <unknown>
 
 bic     z0.s, z0.s, #0x6
 // CHECK-INST: and     z0.s, z0.s, #0xfffffff9
 // CHECK-ENCODING: [0xa0,0xeb,0x80,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 eb 80 05 <unknown>
 
 bic     z0.d, z0.d, #0x6
 // CHECK-INST: and     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0x83,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef 83 05 <unknown>
 
 bic     z0.d, z0.d, z0.d
 // CHECK-INST: bic     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 e0 04 <unknown>
 
 bic     z23.d, z13.d, z8.d
 // CHECK-INST: bic     z23.d, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0x31,0xe8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 31 e8 04 <unknown>
 
 bic     z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: bic     z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x1b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 1b 04 <unknown>
 
 bic     z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: bic     z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x5b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 5b 04 <unknown>
 
 bic     z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: bic     z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x9b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 9b 04 <unknown>
 
 bic     z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: bic     z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xdb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f db 04 <unknown>
 
 bic     p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: bic     p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xff,0x7d,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7d 0f 25 <unknown>
 
 bic     p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: bic     p0.b, p0/z, p0.b, p0.b
 // CHECK-ENCODING: [0x10,0x40,0x00,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 00 25 <unknown>
 
 
@@ -110,19 +112,19 @@ bic     p0.b, p0/z, p0.b, p0.b
 bic     z0.s, z0.s, z0.s
 // CHECK-INST: bic     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 e0 04 <unknown>
 
 bic     z0.h, z0.h, z0.h
 // CHECK-INST: bic     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 e0 04 <unknown>
 
 bic     z0.b, z0.b, z0.b
 // CHECK-INST: bic     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 e0 04 <unknown>
 
 
@@ -132,35 +134,35 @@ bic     z0.b, z0.b, z0.b
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 bic     z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: bic	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xdb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f db 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 bic     z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: bic	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xdb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f db 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 bic     z0.d, z0.d, #0x6
 // CHECK-INST: and	z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0x83,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef 83 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/bics.s b/llvm/test/MC/AArch64/SVE/bics.s
index 58259e0711500..eb83d3b0c9ba0 100644
--- a/llvm/test/MC/AArch64/SVE/bics.s
+++ b/llvm/test/MC/AArch64/SVE/bics.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 bics    p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: bics    p0.b, p0/z, p0.b, p0.b
 // CHECK-ENCODING: [0x10,0x40,0x40,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 40 25 <unknown>
 
 bics    p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: bics    p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xff,0x7d,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7d 4f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brka.s b/llvm/test/MC/AArch64/SVE/brka.s
index 7797de72b2aef..debe686e3c366 100644
--- a/llvm/test/MC/AArch64/SVE/brka.s
+++ b/llvm/test/MC/AArch64/SVE/brka.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 brka  p0.b, p15/m, p15.b
 // CHECK-INST: brka	p0.b, p15/m, p15.b
 // CHECK-ENCODING: [0xf0,0x7d,0x10,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f0 7d 10 25 <unknown>
 
 brka  p0.b, p15/z, p15.b
 // CHECK-INST: brka	p0.b, p15/z, p15.b
 // CHECK-ENCODING: [0xe0,0x7d,0x10,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 7d 10 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brkas.s b/llvm/test/MC/AArch64/SVE/brkas.s
index 7edf359795173..3d37a4e113a92 100644
--- a/llvm/test/MC/AArch64/SVE/brkas.s
+++ b/llvm/test/MC/AArch64/SVE/brkas.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,5 +12,5 @@
 brkas  p0.b, p15/z, p15.b
 // CHECK-INST: brkas	p0.b, p15/z, p15.b
 // CHECK-ENCODING: [0xe0,0x7d,0x50,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 7d 50 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brkb.s b/llvm/test/MC/AArch64/SVE/brkb.s
index 70a071610e3f4..ae59b6a8f3b11 100644
--- a/llvm/test/MC/AArch64/SVE/brkb.s
+++ b/llvm/test/MC/AArch64/SVE/brkb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 brkb  p0.b, p15/m, p15.b
 // CHECK-INST: brkb	p0.b, p15/m, p15.b
 // CHECK-ENCODING: [0xf0,0x7d,0x90,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f0 7d 90 25 <unknown>
 
 brkb  p0.b, p15/z, p15.b
 // CHECK-INST: brkb	p0.b, p15/z, p15.b
 // CHECK-ENCODING: [0xe0,0x7d,0x90,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 7d 90 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brkbs.s b/llvm/test/MC/AArch64/SVE/brkbs.s
index 47ec49b4739af..2865ab5127b73 100644
--- a/llvm/test/MC/AArch64/SVE/brkbs.s
+++ b/llvm/test/MC/AArch64/SVE/brkbs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,5 +12,5 @@
 brkbs  p0.b, p15/z, p15.b
 // CHECK-INST: brkbs	p0.b, p15/z, p15.b
 // CHECK-ENCODING: [0xe0,0x7d,0xd0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 7d d0 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brkn.s b/llvm/test/MC/AArch64/SVE/brkn.s
index 2757bf61aa9af..43f189d6c93e0 100644
--- a/llvm/test/MC/AArch64/SVE/brkn.s
+++ b/llvm/test/MC/AArch64/SVE/brkn.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 brkn  p0.b, p15/z, p1.b, p0.b
 // CHECK-INST: brkn	p0.b, p15/z, p1.b, p0.b
 // CHECK-ENCODING: [0x20,0x7c,0x18,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c 18 25 <unknown>
 
 brkn  p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: brkn	p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0x18,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d 18 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brkns.s b/llvm/test/MC/AArch64/SVE/brkns.s
index 0ccae4d621895..9aaad2e820ef0 100644
--- a/llvm/test/MC/AArch64/SVE/brkns.s
+++ b/llvm/test/MC/AArch64/SVE/brkns.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 brkns  p0.b, p15/z, p1.b, p0.b
 // CHECK-INST: brkns	p0.b, p15/z, p1.b, p0.b
 // CHECK-ENCODING: [0x20,0x7c,0x58,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c 58 25 <unknown>
 
 brkns  p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: brkns	p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0x58,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d 58 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brkpa.s b/llvm/test/MC/AArch64/SVE/brkpa.s
index b0c62f48ded43..b05fc96a41d44 100644
--- a/llvm/test/MC/AArch64/SVE/brkpa.s
+++ b/llvm/test/MC/AArch64/SVE/brkpa.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 brkpa  p0.b,  p15/z, p1.b,  p2.b
 // CHECK-INST: brkpa	p0.b, p15/z, p1.b, p2.b
 // CHECK-ENCODING: [0x20,0xfc,0x02,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc 02 25 <unknown>
 
 brkpa  p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: brkpa	p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0xfd,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef fd 0f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brkpas.s b/llvm/test/MC/AArch64/SVE/brkpas.s
index 2d54e95312b09..6f816e19d5345 100644
--- a/llvm/test/MC/AArch64/SVE/brkpas.s
+++ b/llvm/test/MC/AArch64/SVE/brkpas.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 brkpas  p0.b,  p15/z, p1.b,  p2.b
 // CHECK-INST: brkpas	p0.b, p15/z, p1.b, p2.b
 // CHECK-ENCODING: [0x20,0xfc,0x42,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc 42 25 <unknown>
 
 brkpas  p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: brkpas	p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0xfd,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef fd 4f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brkpb.s b/llvm/test/MC/AArch64/SVE/brkpb.s
index d55fb3a6805fb..9db00f8862bfe 100644
--- a/llvm/test/MC/AArch64/SVE/brkpb.s
+++ b/llvm/test/MC/AArch64/SVE/brkpb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 brkpb  p0.b,  p15/z, p1.b,  p2.b
 // CHECK-INST: brkpb	p0.b, p15/z, p1.b, p2.b
 // CHECK-ENCODING: [0x30,0xfc,0x02,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 fc 02 25 <unknown>
 
 brkpb  p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: brkpb	p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xff,0xfd,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff fd 0f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/brkpbs.s b/llvm/test/MC/AArch64/SVE/brkpbs.s
index 76798e92c8ddd..fd6318a964dba 100644
--- a/llvm/test/MC/AArch64/SVE/brkpbs.s
+++ b/llvm/test/MC/AArch64/SVE/brkpbs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 brkpbs  p0.b,  p15/z, p1.b,  p2.b
 // CHECK-INST: brkpbs	p0.b, p15/z, p1.b, p2.b
 // CHECK-ENCODING: [0x30,0xfc,0x42,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 fc 42 25 <unknown>
 
 brkpbs  p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: brkpbs	p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xff,0xfd,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff fd 4f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/clasta.s b/llvm/test/MC/AArch64/SVE/clasta.s
index 3e752b0d5842f..7620f7b2187fa 100644
--- a/llvm/test/MC/AArch64/SVE/clasta.s
+++ b/llvm/test/MC/AArch64/SVE/clasta.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,73 +12,73 @@
 clasta   w0, p7, w0, z31.b
 // CHECK-INST: clasta	w0, p7, w0, z31.b
 // CHECK-ENCODING: [0xe0,0xbf,0x30,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf 30 05 <unknown>
 
 clasta   w0, p7, w0, z31.h
 // CHECK-INST: clasta	w0, p7, w0, z31.h
 // CHECK-ENCODING: [0xe0,0xbf,0x70,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf 70 05 <unknown>
 
 clasta   w0, p7, w0, z31.s
 // CHECK-INST: clasta	w0, p7, w0, z31.s
 // CHECK-ENCODING: [0xe0,0xbf,0xb0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf b0 05 <unknown>
 
 clasta   x0, p7, x0, z31.d
 // CHECK-INST: clasta	x0, p7, x0, z31.d
 // CHECK-ENCODING: [0xe0,0xbf,0xf0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf f0 05 <unknown>
 
 clasta   b0, p7, b0, z31.b
 // CHECK-INST: clasta	b0, p7, b0, z31.b
 // CHECK-ENCODING: [0xe0,0x9f,0x2a,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 2a 05 <unknown>
 
 clasta   h0, p7, h0, z31.h
 // CHECK-INST: clasta	h0, p7, h0, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x6a,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 6a 05 <unknown>
 
 clasta   s0, p7, s0, z31.s
 // CHECK-INST: clasta	s0, p7, s0, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0xaa,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f aa 05 <unknown>
 
 clasta   d0, p7, d0, z31.d
 // CHECK-INST: clasta	d0, p7, d0, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xea,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f ea 05 <unknown>
 
 clasta   z0.b, p7, z0.b, z31.b
 // CHECK-INST: clasta	z0.b, p7, z0.b, z31.b
 // CHECK-ENCODING: [0xe0,0x9f,0x28,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 28 05 <unknown>
 
 clasta   z0.h, p7, z0.h, z31.h
 // CHECK-INST: clasta	z0.h, p7, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x68,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 68 05 <unknown>
 
 clasta   z0.s, p7, z0.s, z31.s
 // CHECK-INST: clasta	z0.s, p7, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0xa8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f a8 05 <unknown>
 
 clasta   z0.d, p7, z0.d, z31.d
 // CHECK-INST: clasta	z0.d, p7, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e8 05 <unknown>
 
 
@@ -86,11 +88,11 @@ clasta   z0.d, p7, z0.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 clasta   z0.d, p7, z0.d, z31.d
 // CHECK-INST: clasta	z0.d, p7, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e8 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/clastb.s b/llvm/test/MC/AArch64/SVE/clastb.s
index c1ff87741af33..5426ef04d0afc 100644
--- a/llvm/test/MC/AArch64/SVE/clastb.s
+++ b/llvm/test/MC/AArch64/SVE/clastb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,73 +12,73 @@
 clastb   w0, p7, w0, z31.b
 // CHECK-INST: clastb	w0, p7, w0, z31.b
 // CHECK-ENCODING: [0xe0,0xbf,0x31,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf 31 05 <unknown>
 
 clastb   w0, p7, w0, z31.h
 // CHECK-INST: clastb	w0, p7, w0, z31.h
 // CHECK-ENCODING: [0xe0,0xbf,0x71,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf 71 05 <unknown>
 
 clastb   w0, p7, w0, z31.s
 // CHECK-INST: clastb	w0, p7, w0, z31.s
 // CHECK-ENCODING: [0xe0,0xbf,0xb1,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf b1 05 <unknown>
 
 clastb   x0, p7, x0, z31.d
 // CHECK-INST: clastb	x0, p7, x0, z31.d
 // CHECK-ENCODING: [0xe0,0xbf,0xf1,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf f1 05 <unknown>
 
 clastb   b0, p7, b0, z31.b
 // CHECK-INST: clastb	b0, p7, b0, z31.b
 // CHECK-ENCODING: [0xe0,0x9f,0x2b,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 2b 05 <unknown>
 
 clastb   h0, p7, h0, z31.h
 // CHECK-INST: clastb	h0, p7, h0, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x6b,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 6b 05 <unknown>
 
 clastb   s0, p7, s0, z31.s
 // CHECK-INST: clastb	s0, p7, s0, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0xab,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f ab 05 <unknown>
 
 clastb   d0, p7, d0, z31.d
 // CHECK-INST: clastb	d0, p7, d0, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xeb,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f eb 05 <unknown>
 
 clastb   z0.b, p7, z0.b, z31.b
 // CHECK-INST: clastb	z0.b, p7, z0.b, z31.b
 // CHECK-ENCODING: [0xe0,0x9f,0x29,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 29 05 <unknown>
 
 clastb   z0.h, p7, z0.h, z31.h
 // CHECK-INST: clastb	z0.h, p7, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x69,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 69 05 <unknown>
 
 clastb   z0.s, p7, z0.s, z31.s
 // CHECK-INST: clastb	z0.s, p7, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0xa9,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f a9 05 <unknown>
 
 clastb   z0.d, p7, z0.d, z31.d
 // CHECK-INST: clastb	z0.d, p7, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe9,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e9 05 <unknown>
 
 
@@ -86,11 +88,11 @@ clastb   z0.d, p7, z0.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 clastb   z0.d, p7, z0.d, z31.d
 // CHECK-INST: clastb	z0.d, p7, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe9,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e9 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cls.s b/llvm/test/MC/AArch64/SVE/cls.s
index db6a68b179005..02e035eab89c4 100644
--- a/llvm/test/MC/AArch64/SVE/cls.s
+++ b/llvm/test/MC/AArch64/SVE/cls.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 cls     z31.b, p7/m, z31.b
 // CHECK-INST: cls	z31.b, p7/m, z31.b
 // CHECK-ENCODING: [0xff,0xbf,0x18,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 18 04 <unknown>
 
 cls     z31.h, p7/m, z31.h
 // CHECK-INST: cls	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x58,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 58 04 <unknown>
 
 cls     z31.s, p7/m, z31.s
 // CHECK-INST: cls	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x98,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 98 04 <unknown>
 
 cls     z31.d, p7/m, z31.d
 // CHECK-INST: cls	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d8 04 <unknown>
 
 
@@ -38,23 +40,23 @@ cls     z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 cls     z4.d, p7/m, z31.d
 // CHECK-INST: cls	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d8 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 cls     z4.d, p7/m, z31.d
 // CHECK-INST: cls	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d8 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/clz.s b/llvm/test/MC/AArch64/SVE/clz.s
index 1eb457b550cf1..73563b7a26e71 100644
--- a/llvm/test/MC/AArch64/SVE/clz.s
+++ b/llvm/test/MC/AArch64/SVE/clz.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 clz     z31.b, p7/m, z31.b
 // CHECK-INST: clz	z31.b, p7/m, z31.b
 // CHECK-ENCODING: [0xff,0xbf,0x19,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 19 04 <unknown>
 
 clz     z31.h, p7/m, z31.h
 // CHECK-INST: clz	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x59,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 59 04 <unknown>
 
 clz     z31.s, p7/m, z31.s
 // CHECK-INST: clz	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x99,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 99 04 <unknown>
 
 clz     z31.d, p7/m, z31.d
 // CHECK-INST: clz	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd9,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d9 04 <unknown>
 
 
@@ -38,23 +40,23 @@ clz     z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 clz     z4.d, p7/m, z31.d
 // CHECK-INST: clz	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd9,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d9 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 clz     z4.d, p7/m, z31.d
 // CHECK-INST: clz	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd9,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d9 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmpeq.s b/llvm/test/MC/AArch64/SVE/cmpeq.s
index 7d462ecaf9461..3c2ac7ef7bd10 100644
--- a/llvm/test/MC/AArch64/SVE/cmpeq.s
+++ b/llvm/test/MC/AArch64/SVE/cmpeq.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,89 +13,89 @@
 cmpeq   p0.b, p0/z, z0.b, z0.b
 // CHECK-INST: cmpeq p0.b, p0/z, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0xa0,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 00 24 <unknown>
 
 cmpeq   p0.h, p0/z, z0.h, z0.h
 // CHECK-INST: cmpeq p0.h, p0/z, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 40 24 <unknown>
 
 cmpeq   p0.s, p0/z, z0.s, z0.s
 // CHECK-INST: cmpeq p0.s, p0/z, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 80 24 <unknown>
 
 cmpeq   p0.d, p0/z, z0.d, z0.d
 // CHECK-INST: cmpeq p0.d, p0/z, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 c0 24 <unknown>
 
 cmpeq   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmpeq p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x00,0x20,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 00 24 <unknown>
 
 cmpeq   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmpeq p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x00,0x20,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 40 24 <unknown>
 
 cmpeq   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmpeq p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x00,0x20,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 80 24 <unknown>
 
 cmpeq   p0.b, p0/z, z0.b, #-16
 // CHECK-INST: cmpeq p0.b, p0/z, z0.b, #-16
 // CHECK-ENCODING: [0x00,0x80,0x10,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 10 25 <unknown>
 
 cmpeq   p0.h, p0/z, z0.h, #-16
 // CHECK-INST: cmpeq p0.h, p0/z, z0.h, #-16
 // CHECK-ENCODING: [0x00,0x80,0x50,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 50 25 <unknown>
 
 cmpeq   p0.s, p0/z, z0.s, #-16
 // CHECK-INST: cmpeq p0.s, p0/z, z0.s, #-16
 // CHECK-ENCODING: [0x00,0x80,0x90,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 90 25 <unknown>
 
 cmpeq   p0.d, p0/z, z0.d, #-16
 // CHECK-INST: cmpeq p0.d, p0/z, z0.d, #-16
 // CHECK-ENCODING: [0x00,0x80,0xd0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 d0 25 <unknown>
 
 cmpeq   p0.b, p0/z, z0.b, #15
 // CHECK-INST: cmpeq p0.b, p0/z, z0.b, #15
 // CHECK-ENCODING: [0x00,0x80,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 0f 25 <unknown>
 
 cmpeq   p0.h, p0/z, z0.h, #15
 // CHECK-INST: cmpeq p0.h, p0/z, z0.h, #15
 // CHECK-ENCODING: [0x00,0x80,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 4f 25 <unknown>
 
 cmpeq   p0.s, p0/z, z0.s, #15
 // CHECK-INST: cmpeq p0.s, p0/z, z0.s, #15
 // CHECK-ENCODING: [0x00,0x80,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 8f 25 <unknown>
 
 cmpeq   p0.d, p0/z, z0.d, #15
 // CHECK-INST: cmpeq p0.d, p0/z, z0.d, #15
 // CHECK-ENCODING: [0x00,0x80,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmpge.s b/llvm/test/MC/AArch64/SVE/cmpge.s
index 78a5fda33a5a6..1953087c28da9 100644
--- a/llvm/test/MC/AArch64/SVE/cmpge.s
+++ b/llvm/test/MC/AArch64/SVE/cmpge.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,89 +12,89 @@
 cmpge   p0.b, p0/z, z0.b, z0.b
 // CHECK-INST: cmpge   p0.b, p0/z, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x80,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 00 24 <unknown>
 
 cmpge   p0.h, p0/z, z0.h, z0.h
 // CHECK-INST: cmpge   p0.h, p0/z, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x80,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 40 24 <unknown>
 
 cmpge   p0.s, p0/z, z0.s, z0.s
 // CHECK-INST: cmpge   p0.s, p0/z, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x80,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 80 24 <unknown>
 
 cmpge   p0.d, p0/z, z0.d, z0.d
 // CHECK-INST: cmpge   p0.d, p0/z, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x80,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 c0 24 <unknown>
 
 cmpge   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmpge   p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x00,0x40,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 00 24 <unknown>
 
 cmpge   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmpge   p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x00,0x40,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 40 24 <unknown>
 
 cmpge   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmpge   p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x00,0x40,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 80 24 <unknown>
 
 cmpge   p0.b, p0/z, z0.b, #-16
 // CHECK-INST: cmpge p0.b, p0/z, z0.b, #-16
 // CHECK-ENCODING: [0x00,0x00,0x10,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 10 25 <unknown>
 
 cmpge   p0.h, p0/z, z0.h, #-16
 // CHECK-INST: cmpge p0.h, p0/z, z0.h, #-16
 // CHECK-ENCODING: [0x00,0x00,0x50,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 50 25 <unknown>
 
 cmpge   p0.s, p0/z, z0.s, #-16
 // CHECK-INST: cmpge p0.s, p0/z, z0.s, #-16
 // CHECK-ENCODING: [0x00,0x00,0x90,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 90 25 <unknown>
 
 cmpge   p0.d, p0/z, z0.d, #-16
 // CHECK-INST: cmpge p0.d, p0/z, z0.d, #-16
 // CHECK-ENCODING: [0x00,0x00,0xd0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 d0 25 <unknown>
 
 cmpge   p0.b, p0/z, z0.b, #15
 // CHECK-INST: cmpge p0.b, p0/z, z0.b, #15
 // CHECK-ENCODING: [0x00,0x00,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 0f 25 <unknown>
 
 cmpge   p0.h, p0/z, z0.h, #15
 // CHECK-INST: cmpge p0.h, p0/z, z0.h, #15
 // CHECK-ENCODING: [0x00,0x00,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 4f 25 <unknown>
 
 cmpge   p0.s, p0/z, z0.s, #15
 // CHECK-INST: cmpge p0.s, p0/z, z0.s, #15
 // CHECK-ENCODING: [0x00,0x00,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 8f 25 <unknown>
 
 cmpge   p0.d, p0/z, z0.d, #15
 // CHECK-INST: cmpge p0.d, p0/z, z0.d, #15
 // CHECK-ENCODING: [0x00,0x00,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmpgt.s b/llvm/test/MC/AArch64/SVE/cmpgt.s
index 986d10880bb53..7b60eeacc23ff 100644
--- a/llvm/test/MC/AArch64/SVE/cmpgt.s
+++ b/llvm/test/MC/AArch64/SVE/cmpgt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,89 +13,89 @@
 cmpgt   p0.b, p0/z, z0.b, z0.b
 // CHECK-INST: cmpgt p0.b, p0/z, z0.b, z0.b
 // CHECK-ENCODING: [0x10,0x80,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 00 24 <unknown>
 
 cmpgt   p0.h, p0/z, z0.h, z0.h
 // CHECK-INST: cmpgt p0.h, p0/z, z0.h, z0.h
 // CHECK-ENCODING: [0x10,0x80,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 40 24 <unknown>
 
 cmpgt   p0.s, p0/z, z0.s, z0.s
 // CHECK-INST: cmpgt p0.s, p0/z, z0.s, z0.s
 // CHECK-ENCODING: [0x10,0x80,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 80 24 <unknown>
 
 cmpgt   p0.d, p0/z, z0.d, z0.d
 // CHECK-INST: cmpgt p0.d, p0/z, z0.d, z0.d
 // CHECK-ENCODING: [0x10,0x80,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 c0 24 <unknown>
 
 cmpgt   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmpgt p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x10,0x40,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 00 24 <unknown>
 
 cmpgt   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmpgt p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x10,0x40,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 40 24 <unknown>
 
 cmpgt   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmpgt p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x10,0x40,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 80 24 <unknown>
 
 cmpgt   p0.b, p0/z, z0.b, #-16
 // CHECK-INST: cmpgt p0.b, p0/z, z0.b, #-16
 // CHECK-ENCODING: [0x10,0x00,0x10,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 10 25 <unknown>
 
 cmpgt   p0.h, p0/z, z0.h, #-16
 // CHECK-INST: cmpgt p0.h, p0/z, z0.h, #-16
 // CHECK-ENCODING: [0x10,0x00,0x50,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 50 25 <unknown>
 
 cmpgt   p0.s, p0/z, z0.s, #-16
 // CHECK-INST: cmpgt p0.s, p0/z, z0.s, #-16
 // CHECK-ENCODING: [0x10,0x00,0x90,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 90 25 <unknown>
 
 cmpgt   p0.d, p0/z, z0.d, #-16
 // CHECK-INST: cmpgt p0.d, p0/z, z0.d, #-16
 // CHECK-ENCODING: [0x10,0x00,0xd0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 d0 25 <unknown>
 
 cmpgt   p0.b, p0/z, z0.b, #15
 // CHECK-INST: cmpgt p0.b, p0/z, z0.b, #15
 // CHECK-ENCODING: [0x10,0x00,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 0f 25 <unknown>
 
 cmpgt   p0.h, p0/z, z0.h, #15
 // CHECK-INST: cmpgt p0.h, p0/z, z0.h, #15
 // CHECK-ENCODING: [0x10,0x00,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 4f 25 <unknown>
 
 cmpgt   p0.s, p0/z, z0.s, #15
 // CHECK-INST: cmpgt p0.s, p0/z, z0.s, #15
 // CHECK-ENCODING: [0x10,0x00,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 8f 25 <unknown>
 
 cmpgt   p0.d, p0/z, z0.d, #15
 // CHECK-INST: cmpgt p0.d, p0/z, z0.d, #15
 // CHECK-ENCODING: [0x10,0x00,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmphi.s b/llvm/test/MC/AArch64/SVE/cmphi.s
index 96c27206b82b6..e4c9237a8e333 100644
--- a/llvm/test/MC/AArch64/SVE/cmphi.s
+++ b/llvm/test/MC/AArch64/SVE/cmphi.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,89 +13,89 @@
 cmphi   p0.b, p0/z, z0.b, z0.b
 // CHECK-INST: cmphi p0.b, p0/z, z0.b, z0.b
 // CHECK-ENCODING: [0x10,0x00,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 00 24 <unknown>
 
 cmphi   p0.h, p0/z, z0.h, z0.h
 // CHECK-INST: cmphi p0.h, p0/z, z0.h, z0.h
 // CHECK-ENCODING: [0x10,0x00,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 40 24 <unknown>
 
 cmphi   p0.s, p0/z, z0.s, z0.s
 // CHECK-INST: cmphi p0.s, p0/z, z0.s, z0.s
 // CHECK-ENCODING: [0x10,0x00,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 80 24 <unknown>
 
 cmphi   p0.d, p0/z, z0.d, z0.d
 // CHECK-INST: cmphi p0.d, p0/z, z0.d, z0.d
 // CHECK-ENCODING: [0x10,0x00,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 c0 24 <unknown>
 
 cmphi   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmphi p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x10,0xc0,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 00 24 <unknown>
 
 cmphi   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmphi p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x10,0xc0,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 40 24 <unknown>
 
 cmphi   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmphi p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x10,0xc0,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 80 24 <unknown>
 
 cmphi   p0.b, p0/z, z0.b, #0
 // CHECK-INST: cmphi p0.b, p0/z, z0.b, #0
 // CHECK-ENCODING: [0x10,0x00,0x20,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 20 24 <unknown>
 
 cmphi   p0.h, p0/z, z0.h, #0
 // CHECK-INST: cmphi p0.h, p0/z, z0.h, #0
 // CHECK-ENCODING: [0x10,0x00,0x60,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 60 24 <unknown>
 
 cmphi   p0.s, p0/z, z0.s, #0
 // CHECK-INST: cmphi p0.s, p0/z, z0.s, #0
 // CHECK-ENCODING: [0x10,0x00,0xa0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 a0 24 <unknown>
 
 cmphi   p0.d, p0/z, z0.d, #0
 // CHECK-INST: cmphi p0.d, p0/z, z0.d, #0
 // CHECK-ENCODING: [0x10,0x00,0xe0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 00 e0 24 <unknown>
 
 cmphi   p0.b, p0/z, z0.b, #127
 // CHECK-INST: cmphi p0.b, p0/z, z0.b, #127
 // CHECK-ENCODING: [0x10,0xc0,0x3f,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 3f 24 <unknown>
 
 cmphi   p0.h, p0/z, z0.h, #127
 // CHECK-INST: cmphi p0.h, p0/z, z0.h, #127
 // CHECK-ENCODING: [0x10,0xc0,0x7f,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 7f 24 <unknown>
 
 cmphi   p0.s, p0/z, z0.s, #127
 // CHECK-INST: cmphi p0.s, p0/z, z0.s, #127
 // CHECK-ENCODING: [0x10,0xc0,0xbf,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 bf 24 <unknown>
 
 cmphi   p0.d, p0/z, z0.d, #127
 // CHECK-INST: cmphi p0.d, p0/z, z0.d, #127
 // CHECK-ENCODING: [0x10,0xc0,0xff,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 ff 24 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmphs.s b/llvm/test/MC/AArch64/SVE/cmphs.s
index c68e3f29d0deb..b80a864b0a12e 100644
--- a/llvm/test/MC/AArch64/SVE/cmphs.s
+++ b/llvm/test/MC/AArch64/SVE/cmphs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,89 +13,89 @@
 cmphs   p0.b, p0/z, z0.b, z0.b
 // CHECK-INST: cmphs p0.b, p0/z, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x00,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 00 24 <unknown>
 
 cmphs   p0.h, p0/z, z0.h, z0.h
 // CHECK-INST: cmphs p0.h, p0/z, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x00,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 40 24 <unknown>
 
 cmphs   p0.s, p0/z, z0.s, z0.s
 // CHECK-INST: cmphs p0.s, p0/z, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x00,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 80 24 <unknown>
 
 cmphs   p0.d, p0/z, z0.d, z0.d
 // CHECK-INST: cmphs p0.d, p0/z, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x00,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 c0 24 <unknown>
 
 cmphs   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmphs p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x00,0xc0,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 00 24 <unknown>
 
 cmphs   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmphs p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x00,0xc0,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 40 24 <unknown>
 
 cmphs   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmphs p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x00,0xc0,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 80 24 <unknown>
 
 cmphs   p0.b, p0/z, z0.b, #0
 // CHECK-INST: cmphs p0.b, p0/z, z0.b, #0
 // CHECK-ENCODING: [0x00,0x00,0x20,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 20 24 <unknown>
 
 cmphs   p0.h, p0/z, z0.h, #0
 // CHECK-INST: cmphs p0.h, p0/z, z0.h, #0
 // CHECK-ENCODING: [0x00,0x00,0x60,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 60 24 <unknown>
 
 cmphs   p0.s, p0/z, z0.s, #0
 // CHECK-INST: cmphs p0.s, p0/z, z0.s, #0
 // CHECK-ENCODING: [0x00,0x00,0xa0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 a0 24 <unknown>
 
 cmphs   p0.d, p0/z, z0.d, #0
 // CHECK-INST: cmphs p0.d, p0/z, z0.d, #0
 // CHECK-ENCODING: [0x00,0x00,0xe0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 e0 24 <unknown>
 
 cmphs   p0.b, p0/z, z0.b, #127
 // CHECK-INST: cmphs p0.b, p0/z, z0.b, #127
 // CHECK-ENCODING: [0x00,0xc0,0x3f,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 3f 24 <unknown>
 
 cmphs   p0.h, p0/z, z0.h, #127
 // CHECK-INST: cmphs p0.h, p0/z, z0.h, #127
 // CHECK-ENCODING: [0x00,0xc0,0x7f,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 7f 24 <unknown>
 
 cmphs   p0.s, p0/z, z0.s, #127
 // CHECK-INST: cmphs p0.s, p0/z, z0.s, #127
 // CHECK-ENCODING: [0x00,0xc0,0xbf,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 bf 24 <unknown>
 
 cmphs   p0.d, p0/z, z0.d, #127
 // CHECK-INST: cmphs p0.d, p0/z, z0.d, #127
 // CHECK-ENCODING: [0x00,0xc0,0xff,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 ff 24 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmple.s b/llvm/test/MC/AArch64/SVE/cmple.s
index db27650eeeab0..ecb8a9ac4fd55 100644
--- a/llvm/test/MC/AArch64/SVE/cmple.s
+++ b/llvm/test/MC/AArch64/SVE/cmple.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,89 +12,89 @@
 cmple   p0.b, p0/z, z0.b, z1.b
 // CHECK-INST: cmpge	p0.b, p0/z, z1.b, z0.b
 // CHECK-ENCODING: [0x20,0x80,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 00 24 <unknown>
 
 cmple   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: cmpge	p0.h, p0/z, z1.h, z0.h
 // CHECK-ENCODING: [0x20,0x80,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 40 24 <unknown>
 
 cmple   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: cmpge	p0.s, p0/z, z1.s, z0.s
 // CHECK-ENCODING: [0x20,0x80,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 80 24 <unknown>
 
 cmple   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: cmpge	p0.d, p0/z, z1.d, z0.d
 // CHECK-ENCODING: [0x20,0x80,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 c0 24 <unknown>
 
 cmple   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmple p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x10,0x60,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 60 00 24 <unknown>
 
 cmple   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmple p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x10,0x60,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 60 40 24 <unknown>
 
 cmple   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmple p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x10,0x60,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 60 80 24 <unknown>
 
 cmple   p0.b, p0/z, z0.b, #-16
 // CHECK-INST: cmple p0.b, p0/z, z0.b, #-16
 // CHECK-ENCODING: [0x10,0x20,0x10,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 10 25 <unknown>
 
 cmple   p0.h, p0/z, z0.h, #-16
 // CHECK-INST: cmple p0.h, p0/z, z0.h, #-16
 // CHECK-ENCODING: [0x10,0x20,0x50,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 50 25 <unknown>
 
 cmple   p0.s, p0/z, z0.s, #-16
 // CHECK-INST: cmple p0.s, p0/z, z0.s, #-16
 // CHECK-ENCODING: [0x10,0x20,0x90,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 90 25 <unknown>
 
 cmple   p0.d, p0/z, z0.d, #-16
 // CHECK-INST: cmple p0.d, p0/z, z0.d, #-16
 // CHECK-ENCODING: [0x10,0x20,0xd0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 d0 25 <unknown>
 
 cmple   p0.b, p0/z, z0.b, #15
 // CHECK-INST: cmple p0.b, p0/z, z0.b, #15
 // CHECK-ENCODING: [0x10,0x20,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 0f 25 <unknown>
 
 cmple   p0.h, p0/z, z0.h, #15
 // CHECK-INST: cmple p0.h, p0/z, z0.h, #15
 // CHECK-ENCODING: [0x10,0x20,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 4f 25 <unknown>
 
 cmple   p0.s, p0/z, z0.s, #15
 // CHECK-INST: cmple p0.s, p0/z, z0.s, #15
 // CHECK-ENCODING: [0x10,0x20,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 8f 25 <unknown>
 
 cmple   p0.d, p0/z, z0.d, #15
 // CHECK-INST: cmple p0.d, p0/z, z0.d, #15
 // CHECK-ENCODING: [0x10,0x20,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmplo.s b/llvm/test/MC/AArch64/SVE/cmplo.s
index 34adf32511c38..139c86fd40999 100644
--- a/llvm/test/MC/AArch64/SVE/cmplo.s
+++ b/llvm/test/MC/AArch64/SVE/cmplo.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,89 +12,89 @@
 cmplo   p0.b, p0/z, z0.b, z1.b
 // CHECK-INST: cmphi	p0.b, p0/z, z1.b, z0.b
 // CHECK-ENCODING: [0x30,0x00,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 00 00 24 <unknown>
 
 cmplo   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: cmphi	p0.h, p0/z, z1.h, z0.h
 // CHECK-ENCODING: [0x30,0x00,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 00 40 24 <unknown>
 
 cmplo   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: cmphi	p0.s, p0/z, z1.s, z0.s
 // CHECK-ENCODING: [0x30,0x00,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 00 80 24 <unknown>
 
 cmplo   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: cmphi	p0.d, p0/z, z1.d, z0.d
 // CHECK-ENCODING: [0x30,0x00,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 00 c0 24 <unknown>
 
 cmplo   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmplo p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x00,0xe0,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 00 24 <unknown>
 
 cmplo   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmplo p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x00,0xe0,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 40 24 <unknown>
 
 cmplo   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmplo p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x00,0xe0,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 80 24 <unknown>
 
 cmplo   p0.b, p0/z, z0.b, #0
 // CHECK-INST: cmplo p0.b, p0/z, z0.b, #0
 // CHECK-ENCODING: [0x00,0x20,0x20,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 20 24 <unknown>
 
 cmplo   p0.h, p0/z, z0.h, #0
 // CHECK-INST: cmplo p0.h, p0/z, z0.h, #0
 // CHECK-ENCODING: [0x00,0x20,0x60,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 60 24 <unknown>
 
 cmplo   p0.s, p0/z, z0.s, #0
 // CHECK-INST: cmplo p0.s, p0/z, z0.s, #0
 // CHECK-ENCODING: [0x00,0x20,0xa0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 a0 24 <unknown>
 
 cmplo   p0.d, p0/z, z0.d, #0
 // CHECK-INST: cmplo p0.d, p0/z, z0.d, #0
 // CHECK-ENCODING: [0x00,0x20,0xe0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 e0 24 <unknown>
 
 cmplo   p0.b, p0/z, z0.b, #127
 // CHECK-INST: cmplo p0.b, p0/z, z0.b, #127
 // CHECK-ENCODING: [0x00,0xe0,0x3f,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 3f 24 <unknown>
 
 cmplo   p0.h, p0/z, z0.h, #127
 // CHECK-INST: cmplo p0.h, p0/z, z0.h, #127
 // CHECK-ENCODING: [0x00,0xe0,0x7f,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 7f 24 <unknown>
 
 cmplo   p0.s, p0/z, z0.s, #127
 // CHECK-INST: cmplo p0.s, p0/z, z0.s, #127
 // CHECK-ENCODING: [0x00,0xe0,0xbf,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 bf 24 <unknown>
 
 cmplo   p0.d, p0/z, z0.d, #127
 // CHECK-INST: cmplo p0.d, p0/z, z0.d, #127
 // CHECK-ENCODING: [0x00,0xe0,0xff,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 ff 24 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmpls.s b/llvm/test/MC/AArch64/SVE/cmpls.s
index 9fef6ba2598b2..c7aea83f9b373 100644
--- a/llvm/test/MC/AArch64/SVE/cmpls.s
+++ b/llvm/test/MC/AArch64/SVE/cmpls.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,89 +12,89 @@
 cmpls   p0.b, p0/z, z0.b, z1.b
 // CHECK-INST: cmphs	p0.b, p0/z, z1.b, z0.b
 // CHECK-ENCODING: [0x20,0x00,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 00 24 <unknown>
 
 cmpls   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: cmphs	p0.h, p0/z, z1.h, z0.h
 // CHECK-ENCODING: [0x20,0x00,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 40 24 <unknown>
 
 cmpls   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: cmphs	p0.s, p0/z, z1.s, z0.s
 // CHECK-ENCODING: [0x20,0x00,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 80 24 <unknown>
 
 cmpls   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: cmphs	p0.d, p0/z, z1.d, z0.d
 // CHECK-ENCODING: [0x20,0x00,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 c0 24 <unknown>
 
 cmpls   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmpls p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x10,0xe0,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 00 24 <unknown>
 
 cmpls   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmpls p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x10,0xe0,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 40 24 <unknown>
 
 cmpls   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmpls p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x10,0xe0,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 80 24 <unknown>
 
 cmpls   p0.b, p0/z, z0.b, #0
 // CHECK-INST: cmpls p0.b, p0/z, z0.b, #0
 // CHECK-ENCODING: [0x10,0x20,0x20,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 20 24 <unknown>
 
 cmpls   p0.h, p0/z, z0.h, #0
 // CHECK-INST: cmpls p0.h, p0/z, z0.h, #0
 // CHECK-ENCODING: [0x10,0x20,0x60,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 60 24 <unknown>
 
 cmpls   p0.s, p0/z, z0.s, #0
 // CHECK-INST: cmpls p0.s, p0/z, z0.s, #0
 // CHECK-ENCODING: [0x10,0x20,0xa0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 a0 24 <unknown>
 
 cmpls   p0.d, p0/z, z0.d, #0
 // CHECK-INST: cmpls p0.d, p0/z, z0.d, #0
 // CHECK-ENCODING: [0x10,0x20,0xe0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 e0 24 <unknown>
 
 cmpls   p0.b, p0/z, z0.b, #127
 // CHECK-INST: cmpls p0.b, p0/z, z0.b, #127
 // CHECK-ENCODING: [0x10,0xe0,0x3f,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 3f 24 <unknown>
 
 cmpls   p0.h, p0/z, z0.h, #127
 // CHECK-INST: cmpls p0.h, p0/z, z0.h, #127
 // CHECK-ENCODING: [0x10,0xe0,0x7f,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 7f 24 <unknown>
 
 cmpls   p0.s, p0/z, z0.s, #127
 // CHECK-INST: cmpls p0.s, p0/z, z0.s, #127
 // CHECK-ENCODING: [0x10,0xe0,0xbf,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 bf 24 <unknown>
 
 cmpls   p0.d, p0/z, z0.d, #127
 // CHECK-INST: cmpls p0.d, p0/z, z0.d, #127
 // CHECK-ENCODING: [0x10,0xe0,0xff,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 ff 24 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmplt.s b/llvm/test/MC/AArch64/SVE/cmplt.s
index 8ccb5390221e5..77353120b199e 100644
--- a/llvm/test/MC/AArch64/SVE/cmplt.s
+++ b/llvm/test/MC/AArch64/SVE/cmplt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,89 +12,89 @@
 cmplt   p0.b, p0/z, z0.b, z1.b
 // CHECK-INST: cmpgt	p0.b, p0/z, z1.b, z0.b
 // CHECK-ENCODING: [0x30,0x80,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 80 00 24 <unknown>
 
 cmplt   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: cmpgt	p0.h, p0/z, z1.h, z0.h
 // CHECK-ENCODING: [0x30,0x80,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 80 40 24 <unknown>
 
 cmplt   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: cmpgt	p0.s, p0/z, z1.s, z0.s
 // CHECK-ENCODING: [0x30,0x80,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 80 80 24 <unknown>
 
 cmplt   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: cmpgt	p0.d, p0/z, z1.d, z0.d
 // CHECK-ENCODING: [0x30,0x80,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 80 c0 24 <unknown>
 
 cmplt   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmplt p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x00,0x60,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 00 24 <unknown>
 
 cmplt   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmplt p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x00,0x60,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 40 24 <unknown>
 
 cmplt   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmplt p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x00,0x60,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 80 24 <unknown>
 
 cmplt   p0.b, p0/z, z0.b, #-16
 // CHECK-INST: cmplt p0.b, p0/z, z0.b, #-16
 // CHECK-ENCODING: [0x00,0x20,0x10,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 10 25 <unknown>
 
 cmplt   p0.h, p0/z, z0.h, #-16
 // CHECK-INST: cmplt p0.h, p0/z, z0.h, #-16
 // CHECK-ENCODING: [0x00,0x20,0x50,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 50 25 <unknown>
 
 cmplt   p0.s, p0/z, z0.s, #-16
 // CHECK-INST: cmplt p0.s, p0/z, z0.s, #-16
 // CHECK-ENCODING: [0x00,0x20,0x90,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 90 25 <unknown>
 
 cmplt   p0.d, p0/z, z0.d, #-16
 // CHECK-INST: cmplt p0.d, p0/z, z0.d, #-16
 // CHECK-ENCODING: [0x00,0x20,0xd0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 d0 25 <unknown>
 
 cmplt   p0.b, p0/z, z0.b, #15
 // CHECK-INST: cmplt p0.b, p0/z, z0.b, #15
 // CHECK-ENCODING: [0x00,0x20,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 0f 25 <unknown>
 
 cmplt   p0.h, p0/z, z0.h, #15
 // CHECK-INST: cmplt p0.h, p0/z, z0.h, #15
 // CHECK-ENCODING: [0x00,0x20,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 4f 25 <unknown>
 
 cmplt   p0.s, p0/z, z0.s, #15
 // CHECK-INST: cmplt p0.s, p0/z, z0.s, #15
 // CHECK-ENCODING: [0x00,0x20,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 8f 25 <unknown>
 
 cmplt   p0.d, p0/z, z0.d, #15
 // CHECK-INST: cmplt p0.d, p0/z, z0.d, #15
 // CHECK-ENCODING: [0x00,0x20,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cmpne.s b/llvm/test/MC/AArch64/SVE/cmpne.s
index 54641b34bfa1f..59a844a27dc29 100644
--- a/llvm/test/MC/AArch64/SVE/cmpne.s
+++ b/llvm/test/MC/AArch64/SVE/cmpne.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,89 +13,89 @@
 cmpne   p0.b, p0/z, z0.b, z0.b
 // CHECK-INST: cmpne p0.b, p0/z, z0.b, z0.b
 // CHECK-ENCODING: [0x10,0xa0,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 a0 00 24 <unknown>
 
 cmpne   p0.h, p0/z, z0.h, z0.h
 // CHECK-INST: cmpne p0.h, p0/z, z0.h, z0.h
 // CHECK-ENCODING: [0x10,0xa0,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 a0 40 24 <unknown>
 
 cmpne   p0.s, p0/z, z0.s, z0.s
 // CHECK-INST: cmpne p0.s, p0/z, z0.s, z0.s
 // CHECK-ENCODING: [0x10,0xa0,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 a0 80 24 <unknown>
 
 cmpne   p0.d, p0/z, z0.d, z0.d
 // CHECK-INST: cmpne p0.d, p0/z, z0.d, z0.d
 // CHECK-ENCODING: [0x10,0xa0,0xc0,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 a0 c0 24 <unknown>
 
 cmpne   p0.b, p0/z, z0.b, z0.d
 // CHECK-INST: cmpne p0.b, p0/z, z0.b, z0.d
 // CHECK-ENCODING: [0x10,0x20,0x00,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 00 24 <unknown>
 
 cmpne   p0.h, p0/z, z0.h, z0.d
 // CHECK-INST: cmpne p0.h, p0/z, z0.h, z0.d
 // CHECK-ENCODING: [0x10,0x20,0x40,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 40 24 <unknown>
 
 cmpne   p0.s, p0/z, z0.s, z0.d
 // CHECK-INST: cmpne p0.s, p0/z, z0.s, z0.d
 // CHECK-ENCODING: [0x10,0x20,0x80,0x24]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 80 24 <unknown>
 
 cmpne   p0.b, p0/z, z0.b, #-16
 // CHECK-INST: cmpne p0.b, p0/z, z0.b, #-16
 // CHECK-ENCODING: [0x10,0x80,0x10,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 10 25 <unknown>
 
 cmpne   p0.h, p0/z, z0.h, #-16
 // CHECK-INST: cmpne p0.h, p0/z, z0.h, #-16
 // CHECK-ENCODING: [0x10,0x80,0x50,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 50 25 <unknown>
 
 cmpne   p0.s, p0/z, z0.s, #-16
 // CHECK-INST: cmpne p0.s, p0/z, z0.s, #-16
 // CHECK-ENCODING: [0x10,0x80,0x90,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 90 25 <unknown>
 
 cmpne   p0.d, p0/z, z0.d, #-16
 // CHECK-INST: cmpne p0.d, p0/z, z0.d, #-16
 // CHECK-ENCODING: [0x10,0x80,0xd0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 d0 25 <unknown>
 
 cmpne   p0.b, p0/z, z0.b, #15
 // CHECK-INST: cmpne p0.b, p0/z, z0.b, #15
 // CHECK-ENCODING: [0x10,0x80,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 0f 25 <unknown>
 
 cmpne   p0.h, p0/z, z0.h, #15
 // CHECK-INST: cmpne p0.h, p0/z, z0.h, #15
 // CHECK-ENCODING: [0x10,0x80,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 4f 25 <unknown>
 
 cmpne   p0.s, p0/z, z0.s, #15
 // CHECK-INST: cmpne p0.s, p0/z, z0.s, #15
 // CHECK-ENCODING: [0x10,0x80,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 8f 25 <unknown>
 
 cmpne   p0.d, p0/z, z0.d, #15
 // CHECK-INST: cmpne p0.d, p0/z, z0.d, #15
 // CHECK-ENCODING: [0x10,0x80,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 80 cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cnot.s b/llvm/test/MC/AArch64/SVE/cnot.s
index dca6db87d9d0b..fbc1f12b30964 100644
--- a/llvm/test/MC/AArch64/SVE/cnot.s
+++ b/llvm/test/MC/AArch64/SVE/cnot.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 cnot    z31.b, p7/m, z31.b
 // CHECK-INST: cnot	z31.b, p7/m, z31.b
 // CHECK-ENCODING: [0xff,0xbf,0x1b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 1b 04 <unknown>
 
 cnot    z31.h, p7/m, z31.h
 // CHECK-INST: cnot	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x5b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 5b 04 <unknown>
 
 cnot    z31.s, p7/m, z31.s
 // CHECK-INST: cnot	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x9b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 9b 04 <unknown>
 
 cnot    z31.d, p7/m, z31.d
 // CHECK-INST: cnot	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xdb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf db 04 <unknown>
 
 
@@ -38,23 +40,23 @@ cnot    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 cnot    z4.d, p7/m, z31.d
 // CHECK-INST: cnot	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xdb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf db 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 cnot    z4.d, p7/m, z31.d
 // CHECK-INST: cnot	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xdb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf db 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cnt.s b/llvm/test/MC/AArch64/SVE/cnt.s
index 354ca3a0c2d3a..f3b8b4b9b9bd3 100644
--- a/llvm/test/MC/AArch64/SVE/cnt.s
+++ b/llvm/test/MC/AArch64/SVE/cnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 cnt     z31.b, p7/m, z31.b
 // CHECK-INST: cnt	z31.b, p7/m, z31.b
 // CHECK-ENCODING: [0xff,0xbf,0x1a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 1a 04 <unknown>
 
 cnt     z31.h, p7/m, z31.h
 // CHECK-INST: cnt	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x5a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 5a 04 <unknown>
 
 cnt     z31.s, p7/m, z31.s
 // CHECK-INST: cnt	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x9a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 9a 04 <unknown>
 
 cnt     z31.d, p7/m, z31.d
 // CHECK-INST: cnt	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xda,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf da 04 <unknown>
 
 
@@ -38,23 +40,23 @@ cnt     z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 cnt     z4.d, p7/m, z31.d
 // CHECK-INST: cnt	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xda,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf da 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 cnt     z4.d, p7/m, z31.d
 // CHECK-INST: cnt	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xda,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf da 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cntb.s b/llvm/test/MC/AArch64/SVE/cntb.s
index d7a142fa6aa28..ea3b47618c048 100644
--- a/llvm/test/MC/AArch64/SVE/cntb.s
+++ b/llvm/test/MC/AArch64/SVE/cntb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 cntb  x0
 // CHECK-INST: cntb	x0
 // CHECK-ENCODING: [0xe0,0xe3,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 20 04 <unknown>
 
 cntb  x0, all
 // CHECK-INST: cntb	x0
 // CHECK-ENCODING: [0xe0,0xe3,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 20 04 <unknown>
 
 cntb  x0, all, mul #1
 // CHECK-INST: cntb	x0
 // CHECK-ENCODING: [0xe0,0xe3,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 20 04 <unknown>
 
 cntb  x0, all, mul #16
 // CHECK-INST: cntb	x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe3,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 2f 04 <unknown>
 
 cntb  x0, pow2
 // CHECK-INST: cntb	x0, pow2
 // CHECK-ENCODING: [0x00,0xe0,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 20 04 <unknown>
 
 cntb  x0, #28
 // CHECK-INST: cntb	x0, #28
 // CHECK-ENCODING: [0x80,0xe3,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e3 20 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cntd.s b/llvm/test/MC/AArch64/SVE/cntd.s
index 27fc87e29a271..2e6004a98b33e 100644
--- a/llvm/test/MC/AArch64/SVE/cntd.s
+++ b/llvm/test/MC/AArch64/SVE/cntd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 cntd  x0
 // CHECK-INST: cntd	x0
 // CHECK-ENCODING: [0xe0,0xe3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 e0 04 <unknown>
 
 cntd  x0, all
 // CHECK-INST: cntd	x0
 // CHECK-ENCODING: [0xe0,0xe3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 e0 04 <unknown>
 
 cntd  x0, all, mul #1
 // CHECK-INST: cntd	x0
 // CHECK-ENCODING: [0xe0,0xe3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 e0 04 <unknown>
 
 cntd  x0, all, mul #16
 // CHECK-INST: cntd	x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe3,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 ef 04 <unknown>
 
 cntd  x0, pow2
 // CHECK-INST: cntd	x0, pow2
 // CHECK-ENCODING: [0x00,0xe0,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e0 04 <unknown>
 
 cntd  x0, #28
 // CHECK-INST: cntd	x0, #28
 // CHECK-ENCODING: [0x80,0xe3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e3 e0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cnth.s b/llvm/test/MC/AArch64/SVE/cnth.s
index 81e2e8c778804..a6e058b340773 100644
--- a/llvm/test/MC/AArch64/SVE/cnth.s
+++ b/llvm/test/MC/AArch64/SVE/cnth.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 cnth  x0
 // CHECK-INST: cnth	x0
 // CHECK-ENCODING: [0xe0,0xe3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 60 04 <unknown>
 
 cnth  x0, all
 // CHECK-INST: cnth	x0
 // CHECK-ENCODING: [0xe0,0xe3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 60 04 <unknown>
 
 cnth  x0, all, mul #1
 // CHECK-INST: cnth	x0
 // CHECK-ENCODING: [0xe0,0xe3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 60 04 <unknown>
 
 cnth  x0, all, mul #16
 // CHECK-INST: cnth	x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe3,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 6f 04 <unknown>
 
 cnth  x0, pow2
 // CHECK-INST: cnth	x0, pow2
 // CHECK-ENCODING: [0x00,0xe0,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 60 04 <unknown>
 
 cnth  x0, #28
 // CHECK-INST: cnth	x0, #28
 // CHECK-ENCODING: [0x80,0xe3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e3 60 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cntp.s b/llvm/test/MC/AArch64/SVE/cntp.s
index dcc4744106ff7..ac472838fc3f1 100644
--- a/llvm/test/MC/AArch64/SVE/cntp.s
+++ b/llvm/test/MC/AArch64/SVE/cntp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 cntp  x0, p15, p0.b
 // CHECK-INST: cntp	x0, p15, p0.b
 // CHECK-ENCODING: [0x00,0xbc,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 bc 20 25 <unknown>
 
 cntp  x0, p15, p0.h
 // CHECK-INST: cntp	x0, p15, p0.h
 // CHECK-ENCODING: [0x00,0xbc,0x60,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 bc 60 25 <unknown>
 
 cntp  x0, p15, p0.s
 // CHECK-INST: cntp	x0, p15, p0.s
 // CHECK-ENCODING: [0x00,0xbc,0xa0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 bc a0 25 <unknown>
 
 cntp  x0, p15, p0.d
 // CHECK-INST: cntp	x0, p15, p0.d
 // CHECK-ENCODING: [0x00,0xbc,0xe0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 bc e0 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/cntw.s b/llvm/test/MC/AArch64/SVE/cntw.s
index ba7a79ddaaaf0..851b2e1643da9 100644
--- a/llvm/test/MC/AArch64/SVE/cntw.s
+++ b/llvm/test/MC/AArch64/SVE/cntw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 cntw  x0
 // CHECK-INST: cntw	x0
 // CHECK-ENCODING: [0xe0,0xe3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 a0 04 <unknown>
 
 cntw  x0, all
 // CHECK-INST: cntw	x0
 // CHECK-ENCODING: [0xe0,0xe3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 a0 04 <unknown>
 
 cntw  x0, all, mul #1
 // CHECK-INST: cntw	x0
 // CHECK-ENCODING: [0xe0,0xe3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 a0 04 <unknown>
 
 cntw  x0, all, mul #16
 // CHECK-INST: cntw	x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe3,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 af 04 <unknown>
 
 cntw  x0, pow2
 // CHECK-INST: cntw	x0, pow2
 // CHECK-ENCODING: [0x00,0xe0,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a0 04 <unknown>
 
 cntw  x0, #28
 // CHECK-INST: cntw	x0, #28
 // CHECK-ENCODING: [0x80,0xe3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e3 a0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/compact.s b/llvm/test/MC/AArch64/SVE/compact.s
index 318882b82463b..77ebb11643bbc 100644
--- a/llvm/test/MC/AArch64/SVE/compact.s
+++ b/llvm/test/MC/AArch64/SVE/compact.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/cpy.s b/llvm/test/MC/AArch64/SVE/cpy.s
index 0741b4c13e939..441e9466df964 100644
--- a/llvm/test/MC/AArch64/SVE/cpy.s
+++ b/llvm/test/MC/AArch64/SVE/cpy.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,223 +12,223 @@
 cpy     z0.b, p0/m, w0
 // CHECK-INST: mov     z0.b, p0/m, w0
 // CHECK-ENCODING: [0x00,0xa0,0x28,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 28 05 <unknown>
 
 cpy     z0.h, p0/m, w0
 // CHECK-INST: mov     z0.h, p0/m, w0
 // CHECK-ENCODING: [0x00,0xa0,0x68,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 68 05 <unknown>
 
 cpy     z0.s, p0/m, w0
 // CHECK-INST: mov     z0.s, p0/m, w0
 // CHECK-ENCODING: [0x00,0xa0,0xa8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 a8 05 <unknown>
 
 cpy     z0.d, p0/m, x0
 // CHECK-INST: mov     z0.d, p0/m, x0
 // CHECK-ENCODING: [0x00,0xa0,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 e8 05 <unknown>
 
 cpy     z31.b, p7/m, wsp
 // CHECK-INST: mov     z31.b, p7/m, wsp
 // CHECK-ENCODING: [0xff,0xbf,0x28,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 28 05 <unknown>
 
 cpy     z31.h, p7/m, wsp
 // CHECK-INST: mov     z31.h, p7/m, wsp
 // CHECK-ENCODING: [0xff,0xbf,0x68,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 68 05 <unknown>
 
 cpy     z31.s, p7/m, wsp
 // CHECK-INST: mov     z31.s, p7/m, wsp
 // CHECK-ENCODING: [0xff,0xbf,0xa8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf a8 05 <unknown>
 
 cpy     z31.d, p7/m, sp
 // CHECK-INST: mov     z31.d, p7/m, sp
 // CHECK-ENCODING: [0xff,0xbf,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf e8 05 <unknown>
 
 cpy     z0.b, p0/m, b0
 // CHECK-INST: mov     z0.b, p0/m, b0
 // CHECK-ENCODING: [0x00,0x80,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 20 05 <unknown>
 
 cpy     z31.b, p7/m, b31
 // CHECK-INST: mov     z31.b, p7/m, b31
 // CHECK-ENCODING: [0xff,0x9f,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 20 05 <unknown>
 
 cpy     z0.h, p0/m, h0
 // CHECK-INST: mov     z0.h, p0/m, h0
 // CHECK-ENCODING: [0x00,0x80,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 60 05 <unknown>
 
 cpy     z31.h, p7/m, h31
 // CHECK-INST: mov     z31.h, p7/m, h31
 // CHECK-ENCODING: [0xff,0x9f,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 60 05 <unknown>
 
 cpy     z0.s, p0/m, s0
 // CHECK-INST: mov     z0.s, p0/m, s0
 // CHECK-ENCODING: [0x00,0x80,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 a0 05 <unknown>
 
 cpy     z31.s, p7/m, s31
 // CHECK-INST: mov     z31.s, p7/m, s31
 // CHECK-ENCODING: [0xff,0x9f,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f a0 05 <unknown>
 
 cpy     z0.d, p0/m, d0
 // CHECK-INST: mov     z0.d, p0/m, d0
 // CHECK-ENCODING: [0x00,0x80,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 e0 05 <unknown>
 
 cpy     z31.d, p7/m, d31
 // CHECK-INST: mov     z31.d, p7/m, d31
 // CHECK-ENCODING: [0xff,0x9f,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f e0 05 <unknown>
 
 cpy     z5.b, p0/z, #-128
 // CHECK-INST: mov     z5.b, p0/z, #-128
 // CHECK-ENCODING: [0x05,0x10,0x10,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 10 10 05  <unknown>
 
 cpy     z5.b, p0/z, #127
 // CHECK-INST: mov     z5.b, p0/z, #127
 // CHECK-ENCODING: [0xe5,0x0f,0x10,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 0f 10 05  <unknown>
 
 cpy     z5.b, p0/z, #255
 // CHECK-INST: mov     z5.b, p0/z, #-1
 // CHECK-ENCODING: [0xe5,0x1f,0x10,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 1f 10 05  <unknown>
 
 cpy     z21.h, p0/z, #-128
 // CHECK-INST: mov     z21.h, p0/z, #-128
 // CHECK-ENCODING: [0x15,0x10,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 10 50 05  <unknown>
 
 cpy     z21.h, p0/z, #-128, lsl #8
 // CHECK-INST: mov     z21.h, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 50 05  <unknown>
 
 cpy     z21.h, p0/z, #-32768
 // CHECK-INST: mov     z21.h, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 50 05  <unknown>
 
 cpy     z21.h, p0/z, #127
 // CHECK-INST: mov     z21.h, p0/z, #127
 // CHECK-ENCODING: [0xf5,0x0f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 0f 50 05  <unknown>
 
 cpy     z21.h, p0/z, #127, lsl #8
 // CHECK-INST: mov     z21.h, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f 50 05  <unknown>
 
 cpy     z21.h, p0/z, #32512
 // CHECK-INST: mov     z21.h, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f 50 05  <unknown>
 
 cpy     z21.s, p0/z, #-128
 // CHECK-INST: mov     z21.s, p0/z, #-128
 // CHECK-ENCODING: [0x15,0x10,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 10 90 05  <unknown>
 
 cpy     z21.s, p0/z, #-128, lsl #8
 // CHECK-INST: mov     z21.s, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 90 05  <unknown>
 
 cpy     z21.s, p0/z, #-32768
 // CHECK-INST: mov     z21.s, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 90 05  <unknown>
 
 cpy     z21.s, p0/z, #127
 // CHECK-INST: mov     z21.s, p0/z, #127
 // CHECK-ENCODING: [0xf5,0x0f,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 0f 90 05  <unknown>
 
 cpy     z21.s, p0/z, #127, lsl #8
 // CHECK-INST: mov     z21.s, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f 90 05  <unknown>
 
 cpy     z21.s, p0/z, #32512
 // CHECK-INST: mov     z21.s, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f 90 05  <unknown>
 
 cpy     z21.d, p0/z, #-128
 // CHECK-INST: mov     z21.d, p0/z, #-128
 // CHECK-ENCODING: [0x15,0x10,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 10 d0 05  <unknown>
 
 cpy     z21.d, p0/z, #-128, lsl #8
 // CHECK-INST: mov     z21.d, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 d0 05  <unknown>
 
 cpy     z21.d, p0/z, #-32768
 // CHECK-INST: mov     z21.d, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 d0 05  <unknown>
 
 cpy     z21.d, p0/z, #127
 // CHECK-INST: mov     z21.d, p0/z, #127
 // CHECK-ENCODING: [0xf5,0x0f,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 0f d0 05  <unknown>
 
 cpy     z21.d, p0/z, #127, lsl #8
 // CHECK-INST: mov     z21.d, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f d0 05  <unknown>
 
 cpy     z21.d, p0/z, #32512
 // CHECK-INST: mov     z21.d, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f d0 05  <unknown>
 
 // --------------------------------------------------------------------------//
@@ -236,19 +238,19 @@ cpy     z21.d, p0/z, #32512
 cpy z0.b, p0/z, #-129
 // CHECK-INST: mov     z0.b, p0/z, #127
 // CHECK-ENCODING: [0xe0,0x0f,0x10,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 0f 10 05  <unknown>
 
 cpy z0.h, p0/z, #-33024
 // CHECK-INST: mov     z0.h, p0/z, #32512
 // CHECK-ENCODING: [0xe0,0x2f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 2f 50 05  <unknown>
 
 cpy z0.h, p0/z, #-129, lsl #8
 // CHECK-INST: mov     z0.h, p0/z, #32512
 // CHECK-ENCODING: [0xe0,0x2f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 2f 50 05  <unknown>
 
 
@@ -259,43 +261,43 @@ cpy z0.h, p0/z, #-129, lsl #8
 cpy     z5.b, p15/m, #-128
 // CHECK-INST: mov     z5.b, p15/m, #-128
 // CHECK-ENCODING: [0x05,0x50,0x1f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 50 1f 05  <unknown>
 
 cpy     z21.h, p15/m, #-128
 // CHECK-INST: mov     z21.h, p15/m, #-128
 // CHECK-ENCODING: [0x15,0x50,0x5f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 50 5f 05  <unknown>
 
 cpy     z21.h, p15/m, #-128, lsl #8
 // CHECK-INST: mov     z21.h, p15/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0x5f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 5f 05  <unknown>
 
 cpy     z21.s, p15/m, #-128
 // CHECK-INST: mov     z21.s, p15/m, #-128
 // CHECK-ENCODING: [0x15,0x50,0x9f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 50 9f 05  <unknown>
 
 cpy     z21.s, p15/m, #-128, lsl #8
 // CHECK-INST: mov     z21.s, p15/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0x9f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 9f 05  <unknown>
 
 cpy     z21.d, p15/m, #-128
 // CHECK-INST: mov     z21.d, p15/m, #-128
 // CHECK-ENCODING: [0x15,0x50,0xdf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 50 df 05  <unknown>
 
 cpy     z21.d, p15/m, #-128, lsl #8
 // CHECK-INST: mov     z21.d, p15/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0xdf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 df 05  <unknown>
 
 
@@ -305,71 +307,71 @@ cpy     z21.d, p15/m, #-128, lsl #8
 movprfx z31.d, p7/z, z6.d
 // CHECK-INST: movprfx	z31.d, p7/z, z6.d
 // CHECK-ENCODING: [0xdf,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 3c d0 04 <unknown>
 
 cpy     z31.d, p7/m, sp
 // CHECK-INST: mov	z31.d, p7/m, sp
 // CHECK-ENCODING: [0xff,0xbf,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf e8 05 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 cpy     z31.d, p7/m, sp
 // CHECK-INST: mov	z31.d, p7/m, sp
 // CHECK-ENCODING: [0xff,0xbf,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf e8 05 <unknown>
 
 movprfx z21.d, p7/z, z28.d
 // CHECK-INST: movprfx	z21.d, p7/z, z28.d
 // CHECK-ENCODING: [0x95,0x3f,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 3f d0 04 <unknown>
 
 cpy     z21.d, p7/m, #-128, lsl #8
 // CHECK-INST: mov	z21.d, p7/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0xd7,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 d7 05 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 cpy     z21.d, p15/m, #-128, lsl #8
 // CHECK-INST: mov	z21.d, p15/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0xdf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 df 05 <unknown>
 
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 cpy     z4.d, p7/m, d31
 // CHECK-INST: mov	z4.d, p7/m, d31
 // CHECK-ENCODING: [0xe4,0x9f,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 9f e0 05 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 cpy     z4.d, p7/m, d31
 // CHECK-INST: mov	z4.d, p7/m, d31
 // CHECK-ENCODING: [0xe4,0x9f,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 9f e0 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ctermeq.s b/llvm/test/MC/AArch64/SVE/ctermeq.s
index 22db85eb14801..f6a8650aa8836 100644
--- a/llvm/test/MC/AArch64/SVE/ctermeq.s
+++ b/llvm/test/MC/AArch64/SVE/ctermeq.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 ctermeq w30, wzr
 // CHECK-INST: ctermeq	w30, wzr
 // CHECK-ENCODING: [0xc0,0x23,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 23 bf 25 <unknown>
 
 ctermeq wzr, w30
 // CHECK-INST: ctermeq	wzr, w30
 // CHECK-ENCODING: [0xe0,0x23,0xbe,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 23 be 25 <unknown>
 
 ctermeq x30, xzr
 // CHECK-INST: ctermeq	x30, xzr
 // CHECK-ENCODING: [0xc0,0x23,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 23 ff 25 <unknown>
 
 ctermeq xzr, x30
 // CHECK-INST: ctermeq	xzr, x30
 // CHECK-ENCODING: [0xe0,0x23,0xfe,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 23 fe 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ctermne.s b/llvm/test/MC/AArch64/SVE/ctermne.s
index 8abc859901e35..2f302b50cfa4d 100644
--- a/llvm/test/MC/AArch64/SVE/ctermne.s
+++ b/llvm/test/MC/AArch64/SVE/ctermne.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 ctermne w30, wzr
 // CHECK-INST: ctermne	w30, wzr
 // CHECK-ENCODING: [0xd0,0x23,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: d0 23 bf 25 <unknown>
 
 ctermne wzr, w30
 // CHECK-INST: ctermne	wzr, w30
 // CHECK-ENCODING: [0xf0,0x23,0xbe,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f0 23 be 25 <unknown>
 
 ctermne x30, xzr
 // CHECK-INST: ctermne	x30, xzr
 // CHECK-ENCODING: [0xd0,0x23,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: d0 23 ff 25 <unknown>
 
 ctermne xzr, x30
 // CHECK-INST: ctermne	xzr, x30
 // CHECK-ENCODING: [0xf0,0x23,0xfe,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f0 23 fe 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/decb.s b/llvm/test/MC/AArch64/SVE/decb.s
index c2236cc8066a4..71f9f6a39db18 100644
--- a/llvm/test/MC/AArch64/SVE/decb.s
+++ b/llvm/test/MC/AArch64/SVE/decb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,119 +12,119 @@
 decb    x0
 // CHECK-INST: decb    x0
 // CHECK-ENCODING: [0xe0,0xe7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 30 04 <unknown>
 
 decb    x0, all
 // CHECK-INST: decb    x0
 // CHECK-ENCODING: [0xe0,0xe7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 30 04 <unknown>
 
 decb    x0, all, mul #1
 // CHECK-INST: decb    x0
 // CHECK-ENCODING: [0xe0,0xe7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 30 04 <unknown>
 
 decb    x0, all, mul #16
 // CHECK-INST: decb    x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe7,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 3f 04 <unknown>
 
 decb    x0, pow2
 // CHECK-INST: decb    x0, pow2
 // CHECK-ENCODING: [0x00,0xe4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e4 30 04 <unknown>
 
 decb    x0, vl1
 // CHECK-INST: decb    x0, vl1
 // CHECK-ENCODING: [0x20,0xe4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e4 30 04 <unknown>
 
 decb    x0, vl2
 // CHECK-INST: decb    x0, vl2
 // CHECK-ENCODING: [0x40,0xe4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e4 30 04 <unknown>
 
 decb    x0, vl3
 // CHECK-INST: decb    x0, vl3
 // CHECK-ENCODING: [0x60,0xe4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e4 30 04 <unknown>
 
 decb    x0, vl4
 // CHECK-INST: decb    x0, vl4
 // CHECK-ENCODING: [0x80,0xe4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e4 30 04 <unknown>
 
 decb    x0, vl5
 // CHECK-INST: decb    x0, vl5
 // CHECK-ENCODING: [0xa0,0xe4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e4 30 04 <unknown>
 
 decb    x0, vl6
 // CHECK-INST: decb    x0, vl6
 // CHECK-ENCODING: [0xc0,0xe4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e4 30 04 <unknown>
 
 decb    x0, vl7
 // CHECK-INST: decb    x0, vl7
 // CHECK-ENCODING: [0xe0,0xe4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e4 30 04 <unknown>
 
 decb    x0, vl8
 // CHECK-INST: decb    x0, vl8
 // CHECK-ENCODING: [0x00,0xe5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e5 30 04 <unknown>
 
 decb    x0, vl16
 // CHECK-INST: decb    x0, vl16
 // CHECK-ENCODING: [0x20,0xe5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e5 30 04 <unknown>
 
 decb    x0, vl32
 // CHECK-INST: decb    x0, vl32
 // CHECK-ENCODING: [0x40,0xe5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e5 30 04 <unknown>
 
 decb    x0, vl64
 // CHECK-INST: decb    x0, vl64
 // CHECK-ENCODING: [0x60,0xe5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e5 30 04 <unknown>
 
 decb    x0, vl128
 // CHECK-INST: decb    x0, vl128
 // CHECK-ENCODING: [0x80,0xe5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e5 30 04 <unknown>
 
 decb    x0, vl256
 // CHECK-INST: decb    x0, vl256
 // CHECK-ENCODING: [0xa0,0xe5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e5 30 04 <unknown>
 
 decb    x0, #14
 // CHECK-INST: decb    x0, #14
 // CHECK-ENCODING: [0xc0,0xe5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e5 30 04 <unknown>
 
 decb    x0, #28
 // CHECK-INST: decb    x0, #28
 // CHECK-ENCODING: [0x80,0xe7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e7 30 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/decd.s b/llvm/test/MC/AArch64/SVE/decd.s
index 0680c8fd9460e..38b53f92d56c5 100644
--- a/llvm/test/MC/AArch64/SVE/decd.s
+++ b/llvm/test/MC/AArch64/SVE/decd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,119 +12,119 @@
 decd    x0
 // CHECK-INST: decd    x0
 // CHECK-ENCODING: [0xe0,0xe7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 f0 04 <unknown>
 
 decd    x0, all
 // CHECK-INST: decd    x0
 // CHECK-ENCODING: [0xe0,0xe7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 f0 04 <unknown>
 
 decd    x0, all, mul #1
 // CHECK-INST: decd    x0
 // CHECK-ENCODING: [0xe0,0xe7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 f0 04 <unknown>
 
 decd    x0, all, mul #16
 // CHECK-INST: decd    x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe7,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 ff 04 <unknown>
 
 decd    x0, pow2
 // CHECK-INST: decd    x0, pow2
 // CHECK-ENCODING: [0x00,0xe4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e4 f0 04 <unknown>
 
 decd    x0, vl1
 // CHECK-INST: decd    x0, vl1
 // CHECK-ENCODING: [0x20,0xe4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e4 f0 04 <unknown>
 
 decd    x0, vl2
 // CHECK-INST: decd    x0, vl2
 // CHECK-ENCODING: [0x40,0xe4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e4 f0 04 <unknown>
 
 decd    x0, vl3
 // CHECK-INST: decd    x0, vl3
 // CHECK-ENCODING: [0x60,0xe4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e4 f0 04 <unknown>
 
 decd    x0, vl4
 // CHECK-INST: decd    x0, vl4
 // CHECK-ENCODING: [0x80,0xe4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e4 f0 04 <unknown>
 
 decd    x0, vl5
 // CHECK-INST: decd    x0, vl5
 // CHECK-ENCODING: [0xa0,0xe4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e4 f0 04 <unknown>
 
 decd    x0, vl6
 // CHECK-INST: decd    x0, vl6
 // CHECK-ENCODING: [0xc0,0xe4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e4 f0 04 <unknown>
 
 decd    x0, vl7
 // CHECK-INST: decd    x0, vl7
 // CHECK-ENCODING: [0xe0,0xe4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e4 f0 04 <unknown>
 
 decd    x0, vl8
 // CHECK-INST: decd    x0, vl8
 // CHECK-ENCODING: [0x00,0xe5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e5 f0 04 <unknown>
 
 decd    x0, vl16
 // CHECK-INST: decd    x0, vl16
 // CHECK-ENCODING: [0x20,0xe5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e5 f0 04 <unknown>
 
 decd    x0, vl32
 // CHECK-INST: decd    x0, vl32
 // CHECK-ENCODING: [0x40,0xe5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e5 f0 04 <unknown>
 
 decd    x0, vl64
 // CHECK-INST: decd    x0, vl64
 // CHECK-ENCODING: [0x60,0xe5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e5 f0 04 <unknown>
 
 decd    x0, vl128
 // CHECK-INST: decd    x0, vl128
 // CHECK-ENCODING: [0x80,0xe5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e5 f0 04 <unknown>
 
 decd    x0, vl256
 // CHECK-INST: decd    x0, vl256
 // CHECK-ENCODING: [0xa0,0xe5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e5 f0 04 <unknown>
 
 decd    x0, #14
 // CHECK-INST: decd    x0, #14
 // CHECK-ENCODING: [0xc0,0xe5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e5 f0 04 <unknown>
 
 decd    x0, #28
 // CHECK-INST: decd    x0, #28
 // CHECK-ENCODING: [0x80,0xe7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e7 f0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/dech.s b/llvm/test/MC/AArch64/SVE/dech.s
index 7e5ddcf2b3087..89608699e4d71 100644
--- a/llvm/test/MC/AArch64/SVE/dech.s
+++ b/llvm/test/MC/AArch64/SVE/dech.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,119 +12,119 @@
 dech    x0
 // CHECK-INST: dech    x0
 // CHECK-ENCODING: [0xe0,0xe7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 70 04 <unknown>
 
 dech    x0, all
 // CHECK-INST: dech    x0
 // CHECK-ENCODING: [0xe0,0xe7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 70 04 <unknown>
 
 dech    x0, all, mul #1
 // CHECK-INST: dech    x0
 // CHECK-ENCODING: [0xe0,0xe7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 70 04 <unknown>
 
 dech    x0, all, mul #16
 // CHECK-INST: dech    x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe7,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 7f 04 <unknown>
 
 dech    x0, pow2
 // CHECK-INST: dech    x0, pow2
 // CHECK-ENCODING: [0x00,0xe4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e4 70 04 <unknown>
 
 dech    x0, vl1
 // CHECK-INST: dech    x0, vl1
 // CHECK-ENCODING: [0x20,0xe4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e4 70 04 <unknown>
 
 dech    x0, vl2
 // CHECK-INST: dech    x0, vl2
 // CHECK-ENCODING: [0x40,0xe4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e4 70 04 <unknown>
 
 dech    x0, vl3
 // CHECK-INST: dech    x0, vl3
 // CHECK-ENCODING: [0x60,0xe4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e4 70 04 <unknown>
 
 dech    x0, vl4
 // CHECK-INST: dech    x0, vl4
 // CHECK-ENCODING: [0x80,0xe4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e4 70 04 <unknown>
 
 dech    x0, vl5
 // CHECK-INST: dech    x0, vl5
 // CHECK-ENCODING: [0xa0,0xe4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e4 70 04 <unknown>
 
 dech    x0, vl6
 // CHECK-INST: dech    x0, vl6
 // CHECK-ENCODING: [0xc0,0xe4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e4 70 04 <unknown>
 
 dech    x0, vl7
 // CHECK-INST: dech    x0, vl7
 // CHECK-ENCODING: [0xe0,0xe4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e4 70 04 <unknown>
 
 dech    x0, vl8
 // CHECK-INST: dech    x0, vl8
 // CHECK-ENCODING: [0x00,0xe5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e5 70 04 <unknown>
 
 dech    x0, vl16
 // CHECK-INST: dech    x0, vl16
 // CHECK-ENCODING: [0x20,0xe5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e5 70 04 <unknown>
 
 dech    x0, vl32
 // CHECK-INST: dech    x0, vl32
 // CHECK-ENCODING: [0x40,0xe5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e5 70 04 <unknown>
 
 dech    x0, vl64
 // CHECK-INST: dech    x0, vl64
 // CHECK-ENCODING: [0x60,0xe5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e5 70 04 <unknown>
 
 dech    x0, vl128
 // CHECK-INST: dech    x0, vl128
 // CHECK-ENCODING: [0x80,0xe5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e5 70 04 <unknown>
 
 dech    x0, vl256
 // CHECK-INST: dech    x0, vl256
 // CHECK-ENCODING: [0xa0,0xe5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e5 70 04 <unknown>
 
 dech    x0, #14
 // CHECK-INST: dech    x0, #14
 // CHECK-ENCODING: [0xc0,0xe5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e5 70 04 <unknown>
 
 dech    x0, #28
 // CHECK-INST: dech    x0, #28
 // CHECK-ENCODING: [0x80,0xe7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e7 70 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/decp.s b/llvm/test/MC/AArch64/SVE/decp.s
index a9b9347874c4e..e9466cfc789b0 100644
--- a/llvm/test/MC/AArch64/SVE/decp.s
+++ b/llvm/test/MC/AArch64/SVE/decp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,85 +12,85 @@
 decp    x0, p0.b
 // CHECK-INST: decp    x0, p0.b
 // CHECK-ENCODING: [0x00,0x88,0x2d,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 2d 25 <unknown>
 
 decp    x0, p0.h
 // CHECK-INST: decp    x0, p0.h
 // CHECK-ENCODING: [0x00,0x88,0x6d,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 6d 25 <unknown>
 
 decp    x0, p0.s
 // CHECK-INST: decp    x0, p0.s
 // CHECK-ENCODING: [0x00,0x88,0xad,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 ad 25 <unknown>
 
 decp    x0, p0.d
 // CHECK-INST: decp    x0, p0.d
 // CHECK-ENCODING: [0x00,0x88,0xed,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 ed 25 <unknown>
 
 decp    xzr, p15.b
 // CHECK-INST: decp    xzr, p15.b
 // CHECK-ENCODING: [0xff,0x89,0x2d,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 2d 25 <unknown>
 
 decp    xzr, p15.h
 // CHECK-INST: decp    xzr, p15.h
 // CHECK-ENCODING: [0xff,0x89,0x6d,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 6d 25 <unknown>
 
 decp    xzr, p15.s
 // CHECK-INST: decp    xzr, p15.s
 // CHECK-ENCODING: [0xff,0x89,0xad,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 ad 25 <unknown>
 
 decp    xzr, p15.d
 // CHECK-INST: decp    xzr, p15.d
 // CHECK-ENCODING: [0xff,0x89,0xed,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 ed 25 <unknown>
 
 decp    z31.h, p15
 // CHECK-INST: decp    z31.h, p15.h
 // CHECK-ENCODING: [0xff,0x81,0x6d,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 6d 25 <unknown>
 
 decp    z31.h, p15.h
 // CHECK-INST: decp    z31.h, p15.h
 // CHECK-ENCODING: [0xff,0x81,0x6d,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 6d 25 <unknown>
 
 decp    z31.s, p15
 // CHECK-INST: decp    z31.s, p15.s
 // CHECK-ENCODING: [0xff,0x81,0xad,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ad 25 <unknown>
 
 decp    z31.s, p15.s
 // CHECK-INST: decp    z31.s, p15.s
 // CHECK-ENCODING: [0xff,0x81,0xad,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ad 25 <unknown>
 
 decp    z31.d, p15
 // CHECK-INST: decp    z31.d, p15.d
 // CHECK-ENCODING: [0xff,0x81,0xed,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ed 25 <unknown>
 
 decp    z31.d, p15.d
 // CHECK-INST: decp    z31.d, p15.d
 // CHECK-ENCODING: [0xff,0x81,0xed,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ed 25 <unknown>
 
 
@@ -98,11 +100,11 @@ decp    z31.d, p15.d
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 decp    z31.d, p15.d
 // CHECK-INST: decp	z31.d, p15
 // CHECK-ENCODING: [0xff,0x81,0xed,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ed 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/decw.s b/llvm/test/MC/AArch64/SVE/decw.s
index c9292c07322d2..2ad72fc6dd102 100644
--- a/llvm/test/MC/AArch64/SVE/decw.s
+++ b/llvm/test/MC/AArch64/SVE/decw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,119 +12,119 @@
 decw    x0
 // CHECK-INST: decw    x0
 // CHECK-ENCODING: [0xe0,0xe7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 b0 04 <unknown>
 
 decw    x0, all
 // CHECK-INST: decw    x0
 // CHECK-ENCODING: [0xe0,0xe7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 b0 04 <unknown>
 
 decw    x0, all, mul #1
 // CHECK-INST: decw    x0
 // CHECK-ENCODING: [0xe0,0xe7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 b0 04 <unknown>
 
 decw    x0, all, mul #16
 // CHECK-INST: decw    x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe7,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e7 bf 04 <unknown>
 
 decw    x0, pow2
 // CHECK-INST: decw    x0, pow2
 // CHECK-ENCODING: [0x00,0xe4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e4 b0 04 <unknown>
 
 decw    x0, vl1
 // CHECK-INST: decw    x0, vl1
 // CHECK-ENCODING: [0x20,0xe4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e4 b0 04 <unknown>
 
 decw    x0, vl2
 // CHECK-INST: decw    x0, vl2
 // CHECK-ENCODING: [0x40,0xe4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e4 b0 04 <unknown>
 
 decw    x0, vl3
 // CHECK-INST: decw    x0, vl3
 // CHECK-ENCODING: [0x60,0xe4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e4 b0 04 <unknown>
 
 decw    x0, vl4
 // CHECK-INST: decw    x0, vl4
 // CHECK-ENCODING: [0x80,0xe4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e4 b0 04 <unknown>
 
 decw    x0, vl5
 // CHECK-INST: decw    x0, vl5
 // CHECK-ENCODING: [0xa0,0xe4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e4 b0 04 <unknown>
 
 decw    x0, vl6
 // CHECK-INST: decw    x0, vl6
 // CHECK-ENCODING: [0xc0,0xe4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e4 b0 04 <unknown>
 
 decw    x0, vl7
 // CHECK-INST: decw    x0, vl7
 // CHECK-ENCODING: [0xe0,0xe4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e4 b0 04 <unknown>
 
 decw    x0, vl8
 // CHECK-INST: decw    x0, vl8
 // CHECK-ENCODING: [0x00,0xe5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e5 b0 04 <unknown>
 
 decw    x0, vl16
 // CHECK-INST: decw    x0, vl16
 // CHECK-ENCODING: [0x20,0xe5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e5 b0 04 <unknown>
 
 decw    x0, vl32
 // CHECK-INST: decw    x0, vl32
 // CHECK-ENCODING: [0x40,0xe5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e5 b0 04 <unknown>
 
 decw    x0, vl64
 // CHECK-INST: decw    x0, vl64
 // CHECK-ENCODING: [0x60,0xe5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e5 b0 04 <unknown>
 
 decw    x0, vl128
 // CHECK-INST: decw    x0, vl128
 // CHECK-ENCODING: [0x80,0xe5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e5 b0 04 <unknown>
 
 decw    x0, vl256
 // CHECK-INST: decw    x0, vl256
 // CHECK-ENCODING: [0xa0,0xe5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e5 b0 04 <unknown>
 
 decw    x0, #14
 // CHECK-INST: decw    x0, #14
 // CHECK-ENCODING: [0xc0,0xe5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e5 b0 04 <unknown>
 
 decw    x0, #28
 // CHECK-INST: decw    x0, #28
 // CHECK-ENCODING: [0x80,0xe7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e7 b0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/dup.s b/llvm/test/MC/AArch64/SVE/dup.s
index dd7de195f39d2..48bdda3e27e03 100644
--- a/llvm/test/MC/AArch64/SVE/dup.s
+++ b/llvm/test/MC/AArch64/SVE/dup.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,235 +12,235 @@
 dup     z0.b, w0
 // CHECK-INST: mov     z0.b, w0
 // CHECK-ENCODING: [0x00,0x38,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 20 05 <unknown>
 
 dup     z0.h, w0
 // CHECK-INST: mov     z0.h, w0
 // CHECK-ENCODING: [0x00,0x38,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 60 05 <unknown>
 
 dup     z0.s, w0
 // CHECK-INST: mov     z0.s, w0
 // CHECK-ENCODING: [0x00,0x38,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 a0 05 <unknown>
 
 dup     z0.d, x0
 // CHECK-INST: mov     z0.d, x0
 // CHECK-ENCODING: [0x00,0x38,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 e0 05 <unknown>
 
 dup     z31.h, wsp
 // CHECK-INST: mov     z31.h, wsp
 // CHECK-ENCODING: [0xff,0x3b,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 60 05 <unknown>
 
 dup     z31.s, wsp
 // CHECK-INST: mov     z31.s, wsp
 // CHECK-ENCODING: [0xff,0x3b,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b a0 05 <unknown>
 
 dup     z31.d, sp
 // CHECK-INST: mov     z31.d, sp
 // CHECK-ENCODING: [0xff,0x3b,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b e0 05 <unknown>
 
 dup     z31.b, wsp
 // CHECK-INST: mov     z31.b, wsp
 // CHECK-ENCODING: [0xff,0x3b,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 20 05 <unknown>
 
 dup     z5.b, #-128
 // CHECK-INST: mov     z5.b, #-128
 // CHECK-ENCODING: [0x05,0xd0,0x38,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 d0 38 25 <unknown>
 
 dup     z5.b, #127
 // CHECK-INST: mov     z5.b, #127
 // CHECK-ENCODING: [0xe5,0xcf,0x38,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 cf 38 25 <unknown>
 
 dup     z5.b, #255
 // CHECK-INST: mov     z5.b, #-1
 // CHECK-ENCODING: [0xe5,0xdf,0x38,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 df 38 25 <unknown>
 
 dup     z21.h, #-128
 // CHECK-INST: mov     z21.h, #-128
 // CHECK-ENCODING: [0x15,0xd0,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 d0 78 25 <unknown>
 
 dup     z21.h, #-128, lsl #8
 // CHECK-INST: mov     z21.h, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 78 25 <unknown>
 
 dup     z21.h, #-32768
 // CHECK-INST: mov     z21.h, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 78 25 <unknown>
 
 dup     z21.h, #127
 // CHECK-INST: mov     z21.h, #127
 // CHECK-ENCODING: [0xf5,0xcf,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 cf 78 25 <unknown>
 
 dup     z21.h, #127, lsl #8
 // CHECK-INST: mov     z21.h, #32512
 // CHECK-ENCODING: [0xf5,0xef,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef 78 25 <unknown>
 
 dup     z21.h, #32512
 // CHECK-INST: mov     z21.h, #32512
 // CHECK-ENCODING: [0xf5,0xef,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef 78 25 <unknown>
 
 dup     z21.s, #-128
 // CHECK-INST: mov     z21.s, #-128
 // CHECK-ENCODING: [0x15,0xd0,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 d0 b8 25 <unknown>
 
 dup     z21.s, #-128, lsl #8
 // CHECK-INST: mov     z21.s, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 b8 25 <unknown>
 
 dup     z21.s, #-32768
 // CHECK-INST: mov     z21.s, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 b8 25 <unknown>
 
 dup     z21.s, #127
 // CHECK-INST: mov     z21.s, #127
 // CHECK-ENCODING: [0xf5,0xcf,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 cf b8 25 <unknown>
 
 dup     z21.s, #127, lsl #8
 // CHECK-INST: mov     z21.s, #32512
 // CHECK-ENCODING: [0xf5,0xef,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef b8 25 <unknown>
 
 dup     z21.s, #32512
 // CHECK-INST: mov     z21.s, #32512
 // CHECK-ENCODING: [0xf5,0xef,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef b8 25 <unknown>
 
 dup     z21.d, #-128
 // CHECK-INST: mov     z21.d, #-128
 // CHECK-ENCODING: [0x15,0xd0,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 d0 f8 25 <unknown>
 
 dup     z21.d, #-128, lsl #8
 // CHECK-INST: mov     z21.d, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 f8 25 <unknown>
 
 dup     z21.d, #-32768
 // CHECK-INST: mov     z21.d, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 f8 25 <unknown>
 
 dup     z21.d, #127
 // CHECK-INST: mov     z21.d, #127
 // CHECK-ENCODING: [0xf5,0xcf,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 cf f8 25 <unknown>
 
 dup     z21.d, #127, lsl #8
 // CHECK-INST: mov     z21.d, #32512
 // CHECK-ENCODING: [0xf5,0xef,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef f8 25 <unknown>
 
 dup     z21.d, #32512
 // CHECK-INST: mov     z21.d, #32512
 // CHECK-ENCODING: [0xf5,0xef,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef f8 25 <unknown>
 
 dup     z0.b, z0.b[0]
 // CHECK-INST: mov     z0.b, b0
 // CHECK-ENCODING: [0x00,0x20,0x21,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 21 05 <unknown>
 
 dup     z0.h, z0.h[0]
 // CHECK-INST: mov     z0.h, h0
 // CHECK-ENCODING: [0x00,0x20,0x22,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 22 05 <unknown>
 
 dup     z0.s, z0.s[0]
 // CHECK-INST: mov     z0.s, s0
 // CHECK-ENCODING: [0x00,0x20,0x24,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 24 05 <unknown>
 
 dup     z0.d, z0.d[0]
 // CHECK-INST: mov     z0.d, d0
 // CHECK-ENCODING: [0x00,0x20,0x28,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 28 05 <unknown>
 
 dup     z0.q, z0.q[0]
 // CHECK-INST: mov     z0.q, q0
 // CHECK-ENCODING: [0x00,0x20,0x30,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 30 05 <unknown>
 
 dup     z31.b, z31.b[63]
 // CHECK-INST: mov     z31.b, z31.b[63]
 // CHECK-ENCODING: [0xff,0x23,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 ff 05 <unknown>
 
 dup     z31.h, z31.h[31]
 // CHECK-INST: mov     z31.h, z31.h[31]
 // CHECK-ENCODING: [0xff,0x23,0xfe,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 fe 05 <unknown>
 
 dup     z31.s, z31.s[15]
 // CHECK-INST: mov     z31.s, z31.s[15]
 // CHECK-ENCODING: [0xff,0x23,0xfc,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 fc 05 <unknown>
 
 dup     z31.d, z31.d[7]
 // CHECK-INST: mov     z31.d, z31.d[7]
 // CHECK-ENCODING: [0xff,0x23,0xf8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 f8 05 <unknown>
 
 dup     z5.q, z17.q[3]
 // CHECK-INST: mov     z5.q, z17.q[3]
 // CHECK-ENCODING: [0x25,0x22,0xf0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 22 f0 05 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -248,17 +250,17 @@ dup     z5.q, z17.q[3]
 dup     z0.b, #-129
 // CHECK-INST: mov     z0.b, #127
 // CHECK-ENCODING: [0xe0,0xcf,0x38,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf 38 25 <unknown>
 
 dup     z0.h, #-33024
 // CHECK-INST: mov     z0.h, #32512
 // CHECK-ENCODING: [0xe0,0xef,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ef 78 25 <unknown>
 
 dup     z0.h, #-129, lsl #8
 // CHECK-INST: mov     z0.h, #32512
 // CHECK-ENCODING: [0xe0,0xef,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ef 78 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/dupm.s b/llvm/test/MC/AArch64/SVE/dupm.s
index 0b6e51e8942e2..9f0b863075cad 100644
--- a/llvm/test/MC/AArch64/SVE/dupm.s
+++ b/llvm/test/MC/AArch64/SVE/dupm.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,59 +12,59 @@
 dupm     z5.b, #0xf9
 // CHECK-INST: dupm     z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e c0 05 <unknown>
 
 dupm     z5.h, #0xf9f9
 // CHECK-INST: dupm     z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e c0 05 <unknown>
 
 dupm     z5.s, #0xf9f9f9f9
 // CHECK-INST: dupm     z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e c0 05 <unknown>
 
 dupm     z5.d, #0xf9f9f9f9f9f9f9f9
 // CHECK-INST: dupm     z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e c0 05 <unknown>
 
 dupm     z23.h, #0xfff9
 // CHECK-INST: dupm     z23.h, #0xfff9
 // CHECK-ENCODING: [0xb7,0x6d,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 6d c0 05 <unknown>
 
 dupm     z23.s, #0xfff9fff9
 // CHECK-INST: dupm     z23.h, #0xfff9
 // CHECK-ENCODING: [0xb7,0x6d,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 6d c0 05 <unknown>
 
 dupm     z23.d, #0xfff9fff9fff9fff9
 // CHECK-INST: dupm     z23.h, #0xfff9
 // CHECK-ENCODING: [0xb7,0x6d,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 6d c0 05 <unknown>
 
 dupm     z0.s, #0xfffffff9
 // CHECK-INST: dupm     z0.s, #0xfffffff9
 // CHECK-ENCODING: [0xa0,0xeb,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 eb c0 05 <unknown>
 
 dupm     z0.d, #0xfffffff9fffffff9
 // CHECK-INST: dupm     z0.s, #0xfffffff9
 // CHECK-ENCODING: [0xa0,0xeb,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 eb c0 05 <unknown>
 
 dupm     z0.d, #0xfffffffffffffff9
 // CHECK-INST: dupm     z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0xc3,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef c3 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/eon.s b/llvm/test/MC/AArch64/SVE/eon.s
index f8c99f243b0d5..d2583b1a13388 100644
--- a/llvm/test/MC/AArch64/SVE/eon.s
+++ b/llvm/test/MC/AArch64/SVE/eon.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,49 +12,49 @@
 eon     z5.b, z5.b, #0xf9
 // CHECK-INST: eor     z5.b, z5.b, #0x6
 // CHECK-ENCODING: [0x25,0x3e,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 3e 40 05 <unknown>
 
 eon     z23.h, z23.h, #0xfff9
 // CHECK-INST: eor     z23.h, z23.h, #0x6
 // CHECK-ENCODING: [0x37,0x7c,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 37 7c 40 05 <unknown>
 
 eon     z0.s, z0.s, #0xfffffff9
 // CHECK-INST: eor     z0.s, z0.s, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 40 05 <unknown>
 
 eon     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-INST: eor     z0.d, z0.d, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x43,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 43 05 <unknown>
 
 eon     z5.b, z5.b, #0x6
 // CHECK-INST: eor     z5.b, z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e 40 05 <unknown>
 
 eon     z23.h, z23.h, #0x6
 // CHECK-INST: eor     z23.h, z23.h, #0xfff9
 // CHECK-ENCODING: [0xb7,0x6d,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 6d 40 05 <unknown>
 
 eon     z0.s, z0.s, #0x6
 // CHECK-INST: eor     z0.s, z0.s, #0xfffffff9
 // CHECK-ENCODING: [0xa0,0xeb,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 eb 40 05 <unknown>
 
 eon     z0.d, z0.d, #0x6
 // CHECK-INST: eor     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0x43,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef 43 05 <unknown>
 
 
@@ -62,11 +64,11 @@ eon     z0.d, z0.d, #0x6
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 eon     z0.d, z0.d, #0x6
 // CHECK-INST: eor	z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0x43,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef 43 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/eor.s b/llvm/test/MC/AArch64/SVE/eor.s
index adae11fe982f8..861799660d4ee 100644
--- a/llvm/test/MC/AArch64/SVE/eor.s
+++ b/llvm/test/MC/AArch64/SVE/eor.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,103 +12,103 @@
 eor     z5.b, z5.b, #0xf9
 // CHECK-INST: eor     z5.b, z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e 40 05 <unknown>
 
 eor     z23.h, z23.h, #0xfff9
 // CHECK-INST: eor     z23.h, z23.h, #0xfff9
 // CHECK-ENCODING: [0xb7,0x6d,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 6d 40 05 <unknown>
 
 eor     z0.s, z0.s, #0xfffffff9
 // CHECK-INST: eor     z0.s, z0.s, #0xfffffff9
 // CHECK-ENCODING: [0xa0,0xeb,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 eb 40 05 <unknown>
 
 eor     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-INST: eor     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0x43,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef 43 05 <unknown>
 
 eor     z5.b, z5.b, #0x6
 // CHECK-INST: eor     z5.b, z5.b, #0x6
 // CHECK-ENCODING: [0x25,0x3e,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 3e 40 05 <unknown>
 
 eor     z23.h, z23.h, #0x6
 // CHECK-INST: eor     z23.h, z23.h, #0x6
 // CHECK-ENCODING: [0x37,0x7c,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 37 7c 40 05 <unknown>
 
 eor     z0.s, z0.s, #0x6
 // CHECK-INST: eor     z0.s, z0.s, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x40,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 40 05 <unknown>
 
 eor     z0.d, z0.d, #0x6
 // CHECK-INST: eor     z0.d, z0.d, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x43,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 43 05 <unknown>
 
 eor     z23.d, z13.d, z8.d
 // CHECK-INST: eor     z23.d, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0x31,0xa8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 31 a8 04 <unknown>
 
 eor     z0.d, z0.d, z0.d
 // CHECK-INST: eor     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 a0 04 <unknown>
 
 eor     z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: eor     z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x99,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 99 04 <unknown>
 
 eor     z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: eor     z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x59,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 59 04 <unknown>
 
 eor     z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: eor     z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xd9,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f d9 04 <unknown>
 
 eor     z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: eor     z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x19,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 19 04 <unknown>
 
 eor     p0.b, p0/z, p0.b, p1.b
 // CHECK-INST: eor     p0.b, p0/z, p0.b, p1.b
 // CHECK-ENCODING: [0x00,0x42,0x01,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 42 01 25 <unknown>
 
 eor     p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: not     p0.b, p0/z, p0.b
 // CHECK-ENCODING: [0x00,0x42,0x00,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 42 00 25 <unknown>
 
 eor     p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: not     p15.b, p15/z, p15.b
 // CHECK-ENCODING: [0xef,0x7f,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7f 0f 25 <unknown>
 
 
@@ -116,19 +118,19 @@ eor     p15.b, p15/z, p15.b, p15.b
 eor     z0.s, z0.s, z0.s
 // CHECK-INST: eor     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 a0 04 <unknown>
 
 eor     z0.h, z0.h, z0.h
 // CHECK-INST: eor     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 a0 04 <unknown>
 
 eor     z0.b, z0.b, z0.b
 // CHECK-INST: eor     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 a0 04 <unknown>
 
 
@@ -138,35 +140,35 @@ eor     z0.b, z0.b, z0.b
 movprfx z4.b, p7/z, z6.b
 // CHECK-INST: movprfx	z4.b, p7/z, z6.b
 // CHECK-ENCODING: [0xc4,0x3c,0x10,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c 10 04 <unknown>
 
 eor     z4.b, p7/m, z4.b, z31.b
 // CHECK-INST: eor	z4.b, p7/m, z4.b, z31.b
 // CHECK-ENCODING: [0xe4,0x1f,0x19,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f 19 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 eor     z4.b, p7/m, z4.b, z31.b
 // CHECK-INST: eor	z4.b, p7/m, z4.b, z31.b
 // CHECK-ENCODING: [0xe4,0x1f,0x19,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f 19 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 eor     z0.d, z0.d, #0x6
 // CHECK-INST: eor	z0.d, z0.d, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x43,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 43 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/eors.s b/llvm/test/MC/AArch64/SVE/eors.s
index b99140f9fecca..b48369c67450a 100644
--- a/llvm/test/MC/AArch64/SVE/eors.s
+++ b/llvm/test/MC/AArch64/SVE/eors.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 eors    p0.b, p0/z, p0.b, p1.b
 // CHECK-INST: eors    p0.b, p0/z, p0.b, p1.b
 // CHECK-ENCODING: [0x00,0x42,0x41,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 42 41 25 <unknown>
 
 eors    p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: nots    p0.b, p0/z, p0.b
 // CHECK-ENCODING: [0x00,0x42,0x40,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 42 40 25 <unknown>
 
 eors    p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: nots    p15.b, p15/z, p15.b
 // CHECK-ENCODING: [0xef,0x7f,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7f 4f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/eorv.s b/llvm/test/MC/AArch64/SVE/eorv.s
index 0e32cd6cbb609..eddd66b25b41e 100644
--- a/llvm/test/MC/AArch64/SVE/eorv.s
+++ b/llvm/test/MC/AArch64/SVE/eorv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 eorv b0, p7, z31.b
 // CHECK-INST: eorv	b0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x3f,0x19,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 19 04 <unknown>
 
 eorv h0, p7, z31.h
 // CHECK-INST: eorv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x59,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 59 04 <unknown>
 
 eorv s0, p7, z31.s
 // CHECK-INST: eorv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x99,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 99 04 <unknown>
 
 eorv d0, p7, z31.d
 // CHECK-INST: eorv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xd9,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f d9 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ext.s b/llvm/test/MC/AArch64/SVE/ext.s
index 3c428f1311c9a..301c2db24f84e 100644
--- a/llvm/test/MC/AArch64/SVE/ext.s
+++ b/llvm/test/MC/AArch64/SVE/ext.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,13 +12,13 @@
 ext z31.b, z31.b, z0.b, #0
 // CHECK-INST: ext	z31.b, z31.b, z0.b, #0
 // CHECK-ENCODING: [0x1f,0x00,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 00 20 05 <unknown>
 
 ext z31.b, z31.b, z0.b, #255
 // CHECK-INST: ext	z31.b, z31.b, z0.b, #255
 // CHECK-ENCODING: [0x1f,0x1c,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 1c 3f 05 <unknown>
 
 
@@ -26,11 +28,11 @@ ext z31.b, z31.b, z0.b, #255
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 ext z31.b, z31.b, z0.b, #255
 // CHECK-INST: ext	z31.b, z31.b, z0.b, #255
 // CHECK-ENCODING: [0x1f,0x1c,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 1c 3f 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fabd.s b/llvm/test/MC/AArch64/SVE/fabd.s
index a54d128b9468b..5656354e19c22 100644
--- a/llvm/test/MC/AArch64/SVE/fabd.s
+++ b/llvm/test/MC/AArch64/SVE/fabd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fabd    z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fabd	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x48,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 48 65 <unknown>
 
 fabd    z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fabd	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x88,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 88 65 <unknown>
 
 fabd    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fabd	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc8,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c8 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fabd    z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fabd    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fabd	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc8,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c8 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fabd    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fabd	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc8,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c8 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fabs.s b/llvm/test/MC/AArch64/SVE/fabs.s
index f48539f8bbc7a..7c3e9595049aa 100644
--- a/llvm/test/MC/AArch64/SVE/fabs.s
+++ b/llvm/test/MC/AArch64/SVE/fabs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fabs    z31.h, p7/m, z31.h
 // CHECK-INST: fabs	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x5c,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 5c 04 <unknown>
 
 fabs    z31.s, p7/m, z31.s
 // CHECK-INST: fabs	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x9c,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 9c 04 <unknown>
 
 fabs    z31.d, p7/m, z31.d
 // CHECK-INST: fabs	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xdc,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf dc 04 <unknown>
 
 
@@ -32,23 +34,23 @@ fabs    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 fabs    z4.d, p7/m, z31.d
 // CHECK-INST: fabs	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xdc,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf dc 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 fabs    z4.d, p7/m, z31.d
 // CHECK-INST: fabs	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xdc,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf dc 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/facge.s b/llvm/test/MC/AArch64/SVE/facge.s
index e034375eb9811..79cc24b353b10 100644
--- a/llvm/test/MC/AArch64/SVE/facge.s
+++ b/llvm/test/MC/AArch64/SVE/facge.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 facge   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: facge	p0.h, p0/z, z0.h, z1.h
 // CHECK-ENCODING: [0x10,0xc0,0x41,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 41 65 <unknown>
 
 facge   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: facge	p0.s, p0/z, z0.s, z1.s
 // CHECK-ENCODING: [0x10,0xc0,0x81,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 81 65 <unknown>
 
 facge   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: facge	p0.d, p0/z, z0.d, z1.d
 // CHECK-ENCODING: [0x10,0xc0,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 c0 c1 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/facgt.s b/llvm/test/MC/AArch64/SVE/facgt.s
index 6f3fd9ea686ac..4021d3c968f26 100644
--- a/llvm/test/MC/AArch64/SVE/facgt.s
+++ b/llvm/test/MC/AArch64/SVE/facgt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 facgt   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: facgt	p0.h, p0/z, z0.h, z1.h
 // CHECK-ENCODING: [0x10,0xe0,0x41,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 41 65 <unknown>
 
 facgt   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: facgt	p0.s, p0/z, z0.s, z1.s
 // CHECK-ENCODING: [0x10,0xe0,0x81,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 81 65 <unknown>
 
 facgt   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: facgt	p0.d, p0/z, z0.d, z1.d
 // CHECK-ENCODING: [0x10,0xe0,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 e0 c1 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/facle.s b/llvm/test/MC/AArch64/SVE/facle.s
index cb564e1025f24..0a4a2eb34b6bb 100644
--- a/llvm/test/MC/AArch64/SVE/facle.s
+++ b/llvm/test/MC/AArch64/SVE/facle.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 facle   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: facge	p0.h, p0/z, z1.h, z0.h
 // CHECK-ENCODING: [0x30,0xc0,0x40,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 c0 40 65 <unknown>
 
 facle   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: facge	p0.s, p0/z, z1.s, z0.s
 // CHECK-ENCODING: [0x30,0xc0,0x80,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 c0 80 65 <unknown>
 
 facle   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: facge	p0.d, p0/z, z1.d, z0.d
 // CHECK-ENCODING: [0x30,0xc0,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 c0 c0 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/faclt.s b/llvm/test/MC/AArch64/SVE/faclt.s
index 1d48f5db7cc33..de620adfa9bef 100644
--- a/llvm/test/MC/AArch64/SVE/faclt.s
+++ b/llvm/test/MC/AArch64/SVE/faclt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 faclt   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: facgt	p0.h, p0/z, z1.h, z0.h
 // CHECK-ENCODING: [0x30,0xe0,0x40,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 e0 40 65 <unknown>
 
 faclt   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: facgt	p0.s, p0/z, z1.s, z0.s
 // CHECK-ENCODING: [0x30,0xe0,0x80,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 e0 80 65 <unknown>
 
 faclt   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: facgt	p0.d, p0/z, z1.d, z0.d
 // CHECK-ENCODING: [0x30,0xe0,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 e0 c0 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fadd.s b/llvm/test/MC/AArch64/SVE/fadd.s
index 979cbad3a8751..fecf763f0c24f 100644
--- a/llvm/test/MC/AArch64/SVE/fadd.s
+++ b/llvm/test/MC/AArch64/SVE/fadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,85 +12,85 @@
 fadd    z0.h, p0/m, z0.h, #0.500000000000000
 // CHECK-INST: fadd    z0.h, p0/m, z0.h, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x58,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 58 65 <unknown>
 
 fadd    z0.h, p0/m, z0.h, #0.5
 // CHECK-INST: fadd    z0.h, p0/m, z0.h, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x58,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 58 65 <unknown>
 
 fadd    z0.s, p0/m, z0.s, #0.5
 // CHECK-INST: fadd    z0.s, p0/m, z0.s, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x98,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 98 65 <unknown>
 
 fadd    z0.d, p0/m, z0.d, #0.5
 // CHECK-INST: fadd    z0.d, p0/m, z0.d, #0.5
 // CHECK-ENCODING: [0x00,0x80,0xd8,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 d8 65 <unknown>
 
 fadd    z31.h, p7/m, z31.h, #1.000000000000000
 // CHECK-INST: fadd    z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x58,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 58 65 <unknown>
 
 fadd    z31.h, p7/m, z31.h, #1.0
 // CHECK-INST: fadd    z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x58,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 58 65 <unknown>
 
 fadd    z31.s, p7/m, z31.s, #1.0
 // CHECK-INST: fadd    z31.s, p7/m, z31.s, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x98,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 98 65 <unknown>
 
 fadd    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fadd    z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xd8,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c d8 65 <unknown>
 
 fadd    z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fadd	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x40,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 40 65 <unknown>
 
 fadd    z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fadd	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x80,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 80 65 <unknown>
 
 fadd    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fadd	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c0 65 <unknown>
 
 fadd z0.h, z1.h, z31.h
 // CHECK-INST: fadd	z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x00,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 5f 65 <unknown>
 
 fadd z0.s, z1.s, z31.s
 // CHECK-INST: fadd	z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x00,0x9f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 9f 65 <unknown>
 
 fadd z0.d, z1.d, z31.d
 // CHECK-INST: fadd	z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x00,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 df 65 <unknown>
 
 
@@ -98,47 +100,47 @@ fadd z0.d, z1.d, z31.d
 movprfx z31.d, p7/z, z6.d
 // CHECK-INST: movprfx	z31.d, p7/z, z6.d
 // CHECK-ENCODING: [0xdf,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 3c d0 04 <unknown>
 
 fadd    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fadd	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xd8,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c d8 65 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fadd    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fadd	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xd8,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c d8 65 <unknown>
 
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fadd    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fadd	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c0 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fadd    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fadd	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c0 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fadda.s b/llvm/test/MC/AArch64/SVE/fadda.s
index 0a4bbcfb690ac..92e0f61a751d6 100644
--- a/llvm/test/MC/AArch64/SVE/fadda.s
+++ b/llvm/test/MC/AArch64/SVE/fadda.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/faddv.s b/llvm/test/MC/AArch64/SVE/faddv.s
index 01d67cf921599..98c47ba5a87a4 100644
--- a/llvm/test/MC/AArch64/SVE/faddv.s
+++ b/llvm/test/MC/AArch64/SVE/faddv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 faddv h0, p7, z31.h
 // CHECK-INST: faddv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x40,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 40 65 <unknown>
 
 faddv s0, p7, z31.s
 // CHECK-INST: faddv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x80,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 80 65 <unknown>
 
 faddv d0, p7, z31.d
 // CHECK-INST: faddv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f c0 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcadd.s b/llvm/test/MC/AArch64/SVE/fcadd.s
index 1ed89d64e9347..e904453ef8c48 100644
--- a/llvm/test/MC/AArch64/SVE/fcadd.s
+++ b/llvm/test/MC/AArch64/SVE/fcadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,37 +12,37 @@
 fcadd   z0.h, p0/m, z0.h, z0.h, #90
 // CHECK-INST: fcadd   z0.h, p0/m, z0.h, z0.h, #90
 // CHECK-ENCODING: [0x00,0x80,0x40,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 40 64 <unknown>
 
 fcadd   z0.s, p0/m, z0.s, z0.s, #90
 // CHECK-INST: fcadd   z0.s, p0/m, z0.s, z0.s, #90
 // CHECK-ENCODING: [0x00,0x80,0x80,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 80 64 <unknown>
 
 fcadd   z0.d, p0/m, z0.d, z0.d, #90
 // CHECK-INST: fcadd   z0.d, p0/m, z0.d, z0.d, #90
 // CHECK-ENCODING: [0x00,0x80,0xc0,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 c0 64 <unknown>
 
 fcadd   z31.h, p7/m, z31.h, z31.h, #270
 // CHECK-INST: fcadd   z31.h, p7/m, z31.h, z31.h, #270
 // CHECK-ENCODING: [0xff,0x9f,0x41,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 41 64 <unknown>
 
 fcadd   z31.s, p7/m, z31.s, z31.s, #270
 // CHECK-INST: fcadd   z31.s, p7/m, z31.s, z31.s, #270
 // CHECK-ENCODING: [0xff,0x9f,0x81,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 81 64 <unknown>
 
 fcadd   z31.d, p7/m, z31.d, z31.d, #270
 // CHECK-INST: fcadd   z31.d, p7/m, z31.d, z31.d, #270
 // CHECK-ENCODING: [0xff,0x9f,0xc1,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f c1 64 <unknown>
 
 
@@ -50,23 +52,23 @@ fcadd   z31.d, p7/m, z31.d, z31.d, #270
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 fcadd   z4.d, p7/m, z4.d, z31.d, #270
 // CHECK-INST: fcadd	z4.d, p7/m, z4.d, z31.d, #270
 // CHECK-ENCODING: [0xe4,0x9f,0xc1,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 9f c1 64 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 fcadd   z4.d, p7/m, z4.d, z31.d, #270
 // CHECK-INST: fcadd	z4.d, p7/m, z4.d, z31.d, #270
 // CHECK-ENCODING: [0xe4,0x9f,0xc1,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 9f c1 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcmeq.s b/llvm/test/MC/AArch64/SVE/fcmeq.s
index fa889dd7d864b..8f75330f12dbf 100644
--- a/llvm/test/MC/AArch64/SVE/fcmeq.s
+++ b/llvm/test/MC/AArch64/SVE/fcmeq.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 fcmeq   p0.h, p0/z, z0.h, #0.0
 // CHECK-INST: fcmeq	p0.h, p0/z, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x20,0x52,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 52 65 <unknown>
 
 fcmeq   p0.s, p0/z, z0.s, #0.0
 // CHECK-INST: fcmeq	p0.s, p0/z, z0.s, #0.0
 // CHECK-ENCODING: [0x00,0x20,0x92,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 92 65 <unknown>
 
 fcmeq   p0.d, p0/z, z0.d, #0.0
 // CHECK-INST: fcmeq	p0.d, p0/z, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x20,0xd2,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 d2 65 <unknown>
 
 fcmeq   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: fcmeq	p0.h, p0/z, z0.h, z1.h
 // CHECK-ENCODING: [0x00,0x60,0x41,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 41 65 <unknown>
 
 fcmeq   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: fcmeq	p0.s, p0/z, z0.s, z1.s
 // CHECK-ENCODING: [0x00,0x60,0x81,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 81 65 <unknown>
 
 fcmeq   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: fcmeq	p0.d, p0/z, z0.d, z1.d
 // CHECK-ENCODING: [0x00,0x60,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 c1 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcmge.s b/llvm/test/MC/AArch64/SVE/fcmge.s
index aa963c6905c5b..60d6325966d72 100644
--- a/llvm/test/MC/AArch64/SVE/fcmge.s
+++ b/llvm/test/MC/AArch64/SVE/fcmge.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 fcmge   p0.h, p0/z, z0.h, #0.0
 // CHECK-INST: fcmge	p0.h, p0/z, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x20,0x50,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 50 65 <unknown>
 
 fcmge   p0.s, p0/z, z0.s, #0.0
 // CHECK-INST: fcmge	p0.s, p0/z, z0.s, #0.0
 // CHECK-ENCODING: [0x00,0x20,0x90,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 90 65 <unknown>
 
 fcmge   p0.d, p0/z, z0.d, #0.0
 // CHECK-INST: fcmge	p0.d, p0/z, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x20,0xd0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 d0 65 <unknown>
 
 fcmge   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: fcmge	p0.h, p0/z, z0.h, z1.h
 // CHECK-ENCODING: [0x00,0x40,0x41,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 41 65 <unknown>
 
 fcmge   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: fcmge	p0.s, p0/z, z0.s, z1.s
 // CHECK-ENCODING: [0x00,0x40,0x81,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 81 65 <unknown>
 
 fcmge   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: fcmge	p0.d, p0/z, z0.d, z1.d
 // CHECK-ENCODING: [0x00,0x40,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 c1 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcmgt.s b/llvm/test/MC/AArch64/SVE/fcmgt.s
index bac648c3c8835..d69adf168dcea 100644
--- a/llvm/test/MC/AArch64/SVE/fcmgt.s
+++ b/llvm/test/MC/AArch64/SVE/fcmgt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 fcmgt   p0.h, p0/z, z0.h, #0.0
 // CHECK-INST: fcmgt	p0.h, p0/z, z0.h, #0.0
 // CHECK-ENCODING: [0x10,0x20,0x50,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 50 65 <unknown>
 
 fcmgt   p0.s, p0/z, z0.s, #0.0
 // CHECK-INST: fcmgt	p0.s, p0/z, z0.s, #0.0
 // CHECK-ENCODING: [0x10,0x20,0x90,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 90 65 <unknown>
 
 fcmgt   p0.d, p0/z, z0.d, #0.0
 // CHECK-INST: fcmgt	p0.d, p0/z, z0.d, #0.0
 // CHECK-ENCODING: [0x10,0x20,0xd0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 d0 65 <unknown>
 
 fcmgt   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: fcmgt	p0.h, p0/z, z0.h, z1.h
 // CHECK-ENCODING: [0x10,0x40,0x41,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 41 65 <unknown>
 
 fcmgt   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: fcmgt	p0.s, p0/z, z0.s, z1.s
 // CHECK-ENCODING: [0x10,0x40,0x81,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 81 65 <unknown>
 
 fcmgt   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: fcmgt	p0.d, p0/z, z0.d, z1.d
 // CHECK-ENCODING: [0x10,0x40,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 c1 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcmla.s b/llvm/test/MC/AArch64/SVE/fcmla.s
index 554e33c9d0e10..24cf8e840fdab 100644
--- a/llvm/test/MC/AArch64/SVE/fcmla.s
+++ b/llvm/test/MC/AArch64/SVE/fcmla.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,97 +12,97 @@
 fcmla   z0.h, p0/m, z0.h, z0.h, #0
 // CHECK-INST: fcmla z0.h, p0/m, z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0x00,0x40,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 40 64 <unknown>
 
 fcmla   z0.s, p0/m, z0.s, z0.s, #0
 // CHECK-INST: fcmla z0.s, p0/m, z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0x00,0x80,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 80 64 <unknown>
 
 fcmla   z0.d, p0/m, z0.d, z0.d, #0
 // CHECK-INST: fcmla z0.d, p0/m, z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0x00,0xc0,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 c0 64 <unknown>
 
 fcmla   z0.h, p0/m, z1.h, z2.h, #90
 // CHECK-INST: fcmla z0.h, p0/m, z1.h, z2.h, #90
 // CHECK-ENCODING: [0x20,0x20,0x42,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 20 42 64 <unknown>
 
 fcmla   z0.s, p0/m, z1.s, z2.s, #90
 // CHECK-INST: fcmla z0.s, p0/m, z1.s, z2.s, #90
 // CHECK-ENCODING: [0x20,0x20,0x82,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 20 82 64 <unknown>
 
 fcmla   z0.d, p0/m, z1.d, z2.d, #90
 // CHECK-INST: fcmla z0.d, p0/m, z1.d, z2.d, #90
 // CHECK-ENCODING: [0x20,0x20,0xc2,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 20 c2 64 <unknown>
 
 fcmla   z29.h, p7/m, z30.h, z31.h, #180
 // CHECK-INST: fcmla z29.h, p7/m, z30.h, z31.h, #180
 // CHECK-ENCODING: [0xdd,0x5f,0x5f,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: dd 5f 5f 64 <unknown>
 
 fcmla   z29.s, p7/m, z30.s, z31.s, #180
 // CHECK-INST: fcmla z29.s, p7/m, z30.s, z31.s, #180
 // CHECK-ENCODING: [0xdd,0x5f,0x9f,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: dd 5f 9f 64 <unknown>
 
 fcmla   z29.d, p7/m, z30.d, z31.d, #180
 // CHECK-INST: fcmla z29.d, p7/m, z30.d, z31.d, #180
 // CHECK-ENCODING: [0xdd,0x5f,0xdf,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: dd 5f df 64 <unknown>
 
 fcmla   z31.h, p7/m, z31.h, z31.h, #270
 // CHECK-INST: fcmla z31.h, p7/m, z31.h, z31.h, #270
 // CHECK-ENCODING: [0xff,0x7f,0x5f,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7f 5f 64 <unknown>
 
 fcmla   z31.s, p7/m, z31.s, z31.s, #270
 // CHECK-INST: fcmla z31.s, p7/m, z31.s, z31.s, #270
 // CHECK-ENCODING: [0xff,0x7f,0x9f,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7f 9f 64 <unknown>
 
 fcmla   z31.d, p7/m, z31.d, z31.d, #270
 // CHECK-INST: fcmla z31.d, p7/m, z31.d, z31.d, #270
 // CHECK-ENCODING: [0xff,0x7f,0xdf,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7f df 64 <unknown>
 
 fcmla   z0.h, z0.h, z0.h[0], #0
 // CHECK-INST: fcmla   z0.h, z0.h, z0.h[0], #0
 // CHECK-ENCODING: [0x00,0x10,0xa0,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 10 a0 64 <unknown>
 
 fcmla   z23.s, z13.s, z8.s[0], #270
 // CHECK-INST: fcmla   z23.s, z13.s, z8.s[0], #270
 // CHECK-ENCODING: [0xb7,0x1d,0xe8,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 1d e8 64 <unknown>
 
 fcmla   z31.h, z31.h, z7.h[3], #270
 // CHECK-INST: fcmla   z31.h, z31.h, z7.h[3], #270
 // CHECK-ENCODING: [0xff,0x1f,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f bf 64 <unknown>
 
 fcmla   z21.s, z10.s, z5.s[1], #90
 // CHECK-INST: fcmla   z21.s, z10.s, z5.s[1], #90
 // CHECK-ENCODING: [0x55,0x15,0xf5,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 f5 64 <unknown>
 
 
@@ -110,35 +112,35 @@ fcmla   z21.s, z10.s, z5.s[1], #90
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 fcmla   z4.d, p7/m, z31.d, z31.d, #270
 // CHECK-INST: fcmla	z4.d, p7/m, z31.d, z31.d, #270
 // CHECK-ENCODING: [0xe4,0x7f,0xdf,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 7f df 64 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 fcmla   z4.d, p7/m, z31.d, z31.d, #270
 // CHECK-INST: fcmla	z4.d, p7/m, z31.d, z31.d, #270
 // CHECK-ENCODING: [0xe4,0x7f,0xdf,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 7f df 64 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 fcmla   z21.s, z10.s, z5.s[1], #90
 // CHECK-INST: fcmla	z21.s, z10.s, z5.s[1], #90
 // CHECK-ENCODING: [0x55,0x15,0xf5,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 f5 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcmle.s b/llvm/test/MC/AArch64/SVE/fcmle.s
index 74f9985342136..119b873f79812 100644
--- a/llvm/test/MC/AArch64/SVE/fcmle.s
+++ b/llvm/test/MC/AArch64/SVE/fcmle.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 fcmle   p0.h, p0/z, z0.h, #0.0
 // CHECK-INST: fcmle	p0.h, p0/z, z0.h, #0.0
 // CHECK-ENCODING: [0x10,0x20,0x51,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 51 65 <unknown>
 
 fcmle   p0.s, p0/z, z0.s, #0.0
 // CHECK-INST: fcmle	p0.s, p0/z, z0.s, #0.0
 // CHECK-ENCODING: [0x10,0x20,0x91,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 91 65 <unknown>
 
 fcmle   p0.d, p0/z, z0.d, #0.0
 // CHECK-INST: fcmle	p0.d, p0/z, z0.d, #0.0
 // CHECK-ENCODING: [0x10,0x20,0xd1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 20 d1 65 <unknown>
 
 fcmle   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: fcmge	p0.h, p0/z, z1.h, z0.h
 // CHECK-ENCODING: [0x20,0x40,0x40,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 40 40 65 <unknown>
 
 fcmle   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: fcmge	p0.s, p0/z, z1.s, z0.s
 // CHECK-ENCODING: [0x20,0x40,0x80,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 40 80 65 <unknown>
 
 fcmle   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: fcmge	p0.d, p0/z, z1.d, z0.d
 // CHECK-ENCODING: [0x20,0x40,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 40 c0 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcmlt.s b/llvm/test/MC/AArch64/SVE/fcmlt.s
index 475f7294a3ceb..62399d0e8b9cb 100644
--- a/llvm/test/MC/AArch64/SVE/fcmlt.s
+++ b/llvm/test/MC/AArch64/SVE/fcmlt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 fcmlt   p0.h, p0/z, z0.h, #0.0
 // CHECK-INST: fcmlt	p0.h, p0/z, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x20,0x51,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 51 65 <unknown>
 
 fcmlt   p0.s, p0/z, z0.s, #0.0
 // CHECK-INST: fcmlt	p0.s, p0/z, z0.s, #0.0
 // CHECK-ENCODING: [0x00,0x20,0x91,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 91 65 <unknown>
 
 fcmlt   p0.d, p0/z, z0.d, #0.0
 // CHECK-INST: fcmlt	p0.d, p0/z, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x20,0xd1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 d1 65 <unknown>
 
 fcmlt   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: fcmgt	p0.h, p0/z, z1.h, z0.h
 // CHECK-ENCODING: [0x30,0x40,0x40,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 40 40 65 <unknown>
 
 fcmlt   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: fcmgt	p0.s, p0/z, z1.s, z0.s
 // CHECK-ENCODING: [0x30,0x40,0x80,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 40 80 65 <unknown>
 
 fcmlt   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: fcmgt	p0.d, p0/z, z1.d, z0.d
 // CHECK-ENCODING: [0x30,0x40,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 30 40 c0 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcmne.s b/llvm/test/MC/AArch64/SVE/fcmne.s
index 7ee8d3a13f8a8..d1b8f8e29ce00 100644
--- a/llvm/test/MC/AArch64/SVE/fcmne.s
+++ b/llvm/test/MC/AArch64/SVE/fcmne.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 fcmne   p0.h, p0/z, z0.h, #0.0
 // CHECK-INST: fcmne	p0.h, p0/z, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x20,0x53,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 53 65 <unknown>
 
 fcmne   p0.s, p0/z, z0.s, #0.0
 // CHECK-INST: fcmne	p0.s, p0/z, z0.s, #0.0
 // CHECK-ENCODING: [0x00,0x20,0x93,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 93 65 <unknown>
 
 fcmne   p0.d, p0/z, z0.d, #0.0
 // CHECK-INST: fcmne	p0.d, p0/z, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x20,0xd3,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 d3 65 <unknown>
 
 fcmne   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: fcmne	p0.h, p0/z, z0.h, z1.h
 // CHECK-ENCODING: [0x10,0x60,0x41,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 60 41 65 <unknown>
 
 fcmne   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: fcmne	p0.s, p0/z, z0.s, z1.s
 // CHECK-ENCODING: [0x10,0x60,0x81,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 60 81 65 <unknown>
 
 fcmne   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: fcmne	p0.d, p0/z, z0.d, z1.d
 // CHECK-ENCODING: [0x10,0x60,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 60 c1 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcmuo.s b/llvm/test/MC/AArch64/SVE/fcmuo.s
index 5bceb0ebace3f..dece61eef2086 100644
--- a/llvm/test/MC/AArch64/SVE/fcmuo.s
+++ b/llvm/test/MC/AArch64/SVE/fcmuo.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,18 +12,18 @@
 fcmuo   p0.h, p0/z, z0.h, z1.h
 // CHECK-INST: fcmuo	p0.h, p0/z, z0.h, z1.h
 // CHECK-ENCODING: [0x00,0xc0,0x41,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 41 65 <unknown>
 
 fcmuo   p0.s, p0/z, z0.s, z1.s
 // CHECK-INST: fcmuo	p0.s, p0/z, z0.s, z1.s
 // CHECK-ENCODING: [0x00,0xc0,0x81,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 81 65 <unknown>
 
 fcmuo   p0.d, p0/z, z0.d, z1.d
 // CHECK-INST: fcmuo	p0.d, p0/z, z0.d, z1.d
 // CHECK-ENCODING: [0x00,0xc0,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 c1 65 <unknown>
 

diff  --git a/llvm/test/MC/AArch64/SVE/fcpy.s b/llvm/test/MC/AArch64/SVE/fcpy.s
index 3b3a3a42e0657..6cdd3b5f8b2cf 100644
--- a/llvm/test/MC/AArch64/SVE/fcpy.s
+++ b/llvm/test/MC/AArch64/SVE/fcpy.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,1549 +12,1549 @@
 fcpy z0.h, p0/m, #-0.12500000
 // CHECK-INST: fmov z0.h, p0/m, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 50 05 <unknown>
 
 fcpy z0.s, p0/m, #-0.12500000
 // CHECK-INST: fmov z0.s, p0/m, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 90 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.12500000
 // CHECK-INST: fmov z0.d, p0/m, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.13281250
 // CHECK-INST: fmov z0.d, p0/m, #-0.13281250
 // CHECK-ENCODING: [0x20,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.14062500
 // CHECK-INST: fmov z0.d, p0/m, #-0.14062500
 // CHECK-ENCODING: [0x40,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.14843750
 // CHECK-INST: fmov z0.d, p0/m, #-0.14843750
 // CHECK-ENCODING: [0x60,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.15625000
 // CHECK-INST: fmov z0.d, p0/m, #-0.15625000
 // CHECK-ENCODING: [0x80,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.16406250
 // CHECK-INST: fmov z0.d, p0/m, #-0.16406250
 // CHECK-ENCODING: [0xa0,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.17187500
 // CHECK-INST: fmov z0.d, p0/m, #-0.17187500
 // CHECK-ENCODING: [0xc0,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.17968750
 // CHECK-INST: fmov z0.d, p0/m, #-0.17968750
 // CHECK-ENCODING: [0xe0,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.18750000
 // CHECK-INST: fmov z0.d, p0/m, #-0.18750000
 // CHECK-ENCODING: [0x00,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.19531250
 // CHECK-INST: fmov z0.d, p0/m, #-0.19531250
 // CHECK-ENCODING: [0x20,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.20312500
 // CHECK-INST: fmov z0.d, p0/m, #-0.20312500
 // CHECK-ENCODING: [0x40,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.21093750
 // CHECK-INST: fmov z0.d, p0/m, #-0.21093750
 // CHECK-ENCODING: [0x60,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.21875000
 // CHECK-INST: fmov z0.d, p0/m, #-0.21875000
 // CHECK-ENCODING: [0x80,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.22656250
 // CHECK-INST: fmov z0.d, p0/m, #-0.22656250
 // CHECK-ENCODING: [0xa0,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.23437500
 // CHECK-INST: fmov z0.d, p0/m, #-0.23437500
 // CHECK-ENCODING: [0xc0,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.24218750
 // CHECK-INST: fmov z0.d, p0/m, #-0.24218750
 // CHECK-ENCODING: [0xe0,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-0.25000000
 // CHECK-ENCODING: [0x00,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 da d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.26562500
 // CHECK-INST: fmov z0.d, p0/m, #-0.26562500
 // CHECK-ENCODING: [0x20,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 da d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.28125000
 // CHECK-INST: fmov z0.d, p0/m, #-0.28125000
 // CHECK-ENCODING: [0x40,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 da d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.29687500
 // CHECK-INST: fmov z0.d, p0/m, #-0.29687500
 // CHECK-ENCODING: [0x60,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 da d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.31250000
 // CHECK-INST: fmov z0.d, p0/m, #-0.31250000
 // CHECK-ENCODING: [0x80,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 da d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.32812500
 // CHECK-INST: fmov z0.d, p0/m, #-0.32812500
 // CHECK-ENCODING: [0xa0,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 da d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.34375000
 // CHECK-INST: fmov z0.d, p0/m, #-0.34375000
 // CHECK-ENCODING: [0xc0,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 da d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.35937500
 // CHECK-INST: fmov z0.d, p0/m, #-0.35937500
 // CHECK-ENCODING: [0xe0,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 da d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.37500000
 // CHECK-INST: fmov z0.d, p0/m, #-0.37500000
 // CHECK-ENCODING: [0x00,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 db d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.39062500
 // CHECK-INST: fmov z0.d, p0/m, #-0.39062500
 // CHECK-ENCODING: [0x20,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 db d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.40625000
 // CHECK-INST: fmov z0.d, p0/m, #-0.40625000
 // CHECK-ENCODING: [0x40,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 db d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.42187500
 // CHECK-INST: fmov z0.d, p0/m, #-0.42187500
 // CHECK-ENCODING: [0x60,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 db d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.43750000
 // CHECK-INST: fmov z0.d, p0/m, #-0.43750000
 // CHECK-ENCODING: [0x80,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 db d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.45312500
 // CHECK-INST: fmov z0.d, p0/m, #-0.45312500
 // CHECK-ENCODING: [0xa0,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 db d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.46875000
 // CHECK-INST: fmov z0.d, p0/m, #-0.46875000
 // CHECK-ENCODING: [0xc0,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 db d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.48437500
 // CHECK-INST: fmov z0.d, p0/m, #-0.48437500
 // CHECK-ENCODING: [0xe0,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 db d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-0.50000000
 // CHECK-ENCODING: [0x00,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 dc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.53125000
 // CHECK-INST: fmov z0.d, p0/m, #-0.53125000
 // CHECK-ENCODING: [0x20,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.56250000
 // CHECK-INST: fmov z0.d, p0/m, #-0.56250000
 // CHECK-ENCODING: [0x40,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 dc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.59375000
 // CHECK-INST: fmov z0.d, p0/m, #-0.59375000
 // CHECK-ENCODING: [0x60,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 dc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.62500000
 // CHECK-INST: fmov z0.d, p0/m, #-0.62500000
 // CHECK-ENCODING: [0x80,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 dc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.65625000
 // CHECK-INST: fmov z0.d, p0/m, #-0.65625000
 // CHECK-ENCODING: [0xa0,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 dc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.68750000
 // CHECK-INST: fmov z0.d, p0/m, #-0.68750000
 // CHECK-ENCODING: [0xc0,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 dc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.71875000
 // CHECK-INST: fmov z0.d, p0/m, #-0.71875000
 // CHECK-ENCODING: [0xe0,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 dc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-0.75000000
 // CHECK-ENCODING: [0x00,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 dd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.78125000
 // CHECK-INST: fmov z0.d, p0/m, #-0.78125000
 // CHECK-ENCODING: [0x20,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.81250000
 // CHECK-INST: fmov z0.d, p0/m, #-0.81250000
 // CHECK-ENCODING: [0x40,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 dd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.84375000
 // CHECK-INST: fmov z0.d, p0/m, #-0.84375000
 // CHECK-ENCODING: [0x60,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 dd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.87500000
 // CHECK-INST: fmov z0.d, p0/m, #-0.87500000
 // CHECK-ENCODING: [0x80,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 dd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.90625000
 // CHECK-INST: fmov z0.d, p0/m, #-0.90625000
 // CHECK-ENCODING: [0xa0,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 dd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.93750000
 // CHECK-INST: fmov z0.d, p0/m, #-0.93750000
 // CHECK-ENCODING: [0xc0,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 dd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-0.96875000
 // CHECK-INST: fmov z0.d, p0/m, #-0.96875000
 // CHECK-ENCODING: [0xe0,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 dd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-1.00000000
 // CHECK-ENCODING: [0x00,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 de d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.06250000
 // CHECK-INST: fmov z0.d, p0/m, #-1.06250000
 // CHECK-ENCODING: [0x20,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 de d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.12500000
 // CHECK-INST: fmov z0.d, p0/m, #-1.12500000
 // CHECK-ENCODING: [0x40,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 de d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.18750000
 // CHECK-INST: fmov z0.d, p0/m, #-1.18750000
 // CHECK-ENCODING: [0x60,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 de d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-1.25000000
 // CHECK-ENCODING: [0x80,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 de d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.31250000
 // CHECK-INST: fmov z0.d, p0/m, #-1.31250000
 // CHECK-ENCODING: [0xa0,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 de d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.37500000
 // CHECK-INST: fmov z0.d, p0/m, #-1.37500000
 // CHECK-ENCODING: [0xc0,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 de d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.43750000
 // CHECK-INST: fmov z0.d, p0/m, #-1.43750000
 // CHECK-ENCODING: [0xe0,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 de d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-1.50000000
 // CHECK-ENCODING: [0x00,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 df d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.56250000
 // CHECK-INST: fmov z0.d, p0/m, #-1.56250000
 // CHECK-ENCODING: [0x20,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 df d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.62500000
 // CHECK-INST: fmov z0.d, p0/m, #-1.62500000
 // CHECK-ENCODING: [0x40,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 df d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.68750000
 // CHECK-INST: fmov z0.d, p0/m, #-1.68750000
 // CHECK-ENCODING: [0x60,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 df d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-1.75000000
 // CHECK-ENCODING: [0x80,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 df d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.81250000
 // CHECK-INST: fmov z0.d, p0/m, #-1.81250000
 // CHECK-ENCODING: [0xa0,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 df d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.87500000
 // CHECK-INST: fmov z0.d, p0/m, #-1.87500000
 // CHECK-ENCODING: [0xc0,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 df d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-1.93750000
 // CHECK-INST: fmov z0.d, p0/m, #-1.93750000
 // CHECK-ENCODING: [0xe0,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 df d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-2.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-2.00000000
 // CHECK-ENCODING: [0x00,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-2.12500000
 // CHECK-INST: fmov z0.d, p0/m, #-2.12500000
 // CHECK-ENCODING: [0x20,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-2.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-2.25000000
 // CHECK-ENCODING: [0x40,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-2.37500000
 // CHECK-INST: fmov z0.d, p0/m, #-2.37500000
 // CHECK-ENCODING: [0x60,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-2.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-2.50000000
 // CHECK-ENCODING: [0x80,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-2.62500000
 // CHECK-INST: fmov z0.d, p0/m, #-2.62500000
 // CHECK-ENCODING: [0xa0,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-2.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-2.75000000
 // CHECK-ENCODING: [0xc0,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-2.87500000
 // CHECK-INST: fmov z0.d, p0/m, #-2.87500000
 // CHECK-ENCODING: [0xe0,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-3.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-3.00000000
 // CHECK-ENCODING: [0x00,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-3.12500000
 // CHECK-INST: fmov z0.d, p0/m, #-3.12500000
 // CHECK-ENCODING: [0x20,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-3.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-3.25000000
 // CHECK-ENCODING: [0x40,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-3.37500000
 // CHECK-INST: fmov z0.d, p0/m, #-3.37500000
 // CHECK-ENCODING: [0x60,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-3.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-3.50000000
 // CHECK-ENCODING: [0x80,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-3.62500000
 // CHECK-INST: fmov z0.d, p0/m, #-3.62500000
 // CHECK-ENCODING: [0xa0,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-3.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-3.75000000
 // CHECK-ENCODING: [0xc0,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-3.87500000
 // CHECK-INST: fmov z0.d, p0/m, #-3.87500000
 // CHECK-ENCODING: [0xe0,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-4.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-4.00000000
 // CHECK-ENCODING: [0x00,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-4.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-4.25000000
 // CHECK-ENCODING: [0x20,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-4.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-4.50000000
 // CHECK-ENCODING: [0x40,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-4.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-4.75000000
 // CHECK-ENCODING: [0x60,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-5.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-5.00000000
 // CHECK-ENCODING: [0x80,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-5.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-5.25000000
 // CHECK-ENCODING: [0xa0,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-5.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-5.50000000
 // CHECK-ENCODING: [0xc0,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-5.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-5.75000000
 // CHECK-ENCODING: [0xe0,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-6.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-6.00000000
 // CHECK-ENCODING: [0x00,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-6.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-6.25000000
 // CHECK-ENCODING: [0x20,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-6.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-6.50000000
 // CHECK-ENCODING: [0x40,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-6.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-6.75000000
 // CHECK-ENCODING: [0x60,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-7.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-7.00000000
 // CHECK-ENCODING: [0x80,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-7.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-7.25000000
 // CHECK-ENCODING: [0xa0,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-7.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-7.50000000
 // CHECK-ENCODING: [0xc0,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-7.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-7.75000000
 // CHECK-ENCODING: [0xe0,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-8.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-8.00000000
 // CHECK-ENCODING: [0x00,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-8.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-8.50000000
 // CHECK-ENCODING: [0x20,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-9.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-9.00000000
 // CHECK-ENCODING: [0x40,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-9.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-9.50000000
 // CHECK-ENCODING: [0x60,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-10.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-10.00000000
 // CHECK-ENCODING: [0x80,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-10.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-10.50000000
 // CHECK-ENCODING: [0xa0,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-11.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-11.00000000
 // CHECK-ENCODING: [0xc0,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-11.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-11.50000000
 // CHECK-ENCODING: [0xe0,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-12.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-12.00000000
 // CHECK-ENCODING: [0x00,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-12.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-12.50000000
 // CHECK-ENCODING: [0x20,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-13.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-13.00000000
 // CHECK-ENCODING: [0x40,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-13.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-13.50000000
 // CHECK-ENCODING: [0x60,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-14.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-14.00000000
 // CHECK-ENCODING: [0x80,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-14.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-14.50000000
 // CHECK-ENCODING: [0xa0,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-15.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-15.00000000
 // CHECK-ENCODING: [0xc0,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-15.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-15.50000000
 // CHECK-ENCODING: [0xe0,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-16.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-16.00000000
 // CHECK-ENCODING: [0x00,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-17.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-17.00000000
 // CHECK-ENCODING: [0x20,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-18.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-18.00000000
 // CHECK-ENCODING: [0x40,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-19.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-19.00000000
 // CHECK-ENCODING: [0x60,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-20.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-20.00000000
 // CHECK-ENCODING: [0x80,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-21.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-21.00000000
 // CHECK-ENCODING: [0xa0,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-22.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-22.00000000
 // CHECK-ENCODING: [0xc0,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-23.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-23.00000000
 // CHECK-ENCODING: [0xe0,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-24.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-24.00000000
 // CHECK-ENCODING: [0x00,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-25.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-25.00000000
 // CHECK-ENCODING: [0x20,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-26.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-26.00000000
 // CHECK-ENCODING: [0x40,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-27.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-27.00000000
 // CHECK-ENCODING: [0x60,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-28.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-28.00000000
 // CHECK-ENCODING: [0x80,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-29.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-29.00000000
 // CHECK-ENCODING: [0xa0,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-30.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-30.00000000
 // CHECK-ENCODING: [0xc0,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #-31.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-31.00000000
 // CHECK-ENCODING: [0xe0,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.12500000
 // CHECK-INST: fmov z0.d, p0/m, #0.12500000
 // CHECK-ENCODING: [0x00,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.13281250
 // CHECK-INST: fmov z0.d, p0/m, #0.13281250
 // CHECK-ENCODING: [0x20,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.14062500
 // CHECK-INST: fmov z0.d, p0/m, #0.14062500
 // CHECK-ENCODING: [0x40,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.14843750
 // CHECK-INST: fmov z0.d, p0/m, #0.14843750
 // CHECK-ENCODING: [0x60,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.15625000
 // CHECK-INST: fmov z0.d, p0/m, #0.15625000
 // CHECK-ENCODING: [0x80,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.16406250
 // CHECK-INST: fmov z0.d, p0/m, #0.16406250
 // CHECK-ENCODING: [0xa0,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.17187500
 // CHECK-INST: fmov z0.d, p0/m, #0.17187500
 // CHECK-ENCODING: [0xc0,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.17968750
 // CHECK-INST: fmov z0.d, p0/m, #0.17968750
 // CHECK-ENCODING: [0xe0,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c8 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.18750000
 // CHECK-INST: fmov z0.d, p0/m, #0.18750000
 // CHECK-ENCODING: [0x00,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.19531250
 // CHECK-INST: fmov z0.d, p0/m, #0.19531250
 // CHECK-ENCODING: [0x20,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.20312500
 // CHECK-INST: fmov z0.d, p0/m, #0.20312500
 // CHECK-ENCODING: [0x40,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.21093750
 // CHECK-INST: fmov z0.d, p0/m, #0.21093750
 // CHECK-ENCODING: [0x60,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.21875000
 // CHECK-INST: fmov z0.d, p0/m, #0.21875000
 // CHECK-ENCODING: [0x80,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.22656250
 // CHECK-INST: fmov z0.d, p0/m, #0.22656250
 // CHECK-ENCODING: [0xa0,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.23437500
 // CHECK-INST: fmov z0.d, p0/m, #0.23437500
 // CHECK-ENCODING: [0xc0,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.24218750
 // CHECK-INST: fmov z0.d, p0/m, #0.24218750
 // CHECK-ENCODING: [0xe0,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c9 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.25000000
 // CHECK-INST: fmov z0.d, p0/m, #0.25000000
 // CHECK-ENCODING: [0x00,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ca d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.26562500
 // CHECK-INST: fmov z0.d, p0/m, #0.26562500
 // CHECK-ENCODING: [0x20,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ca d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.28125000
 // CHECK-INST: fmov z0.d, p0/m, #0.28125000
 // CHECK-ENCODING: [0x40,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ca d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.29687500
 // CHECK-INST: fmov z0.d, p0/m, #0.29687500
 // CHECK-ENCODING: [0x60,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ca d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.31250000
 // CHECK-INST: fmov z0.d, p0/m, #0.31250000
 // CHECK-ENCODING: [0x80,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ca d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.32812500
 // CHECK-INST: fmov z0.d, p0/m, #0.32812500
 // CHECK-ENCODING: [0xa0,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ca d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.34375000
 // CHECK-INST: fmov z0.d, p0/m, #0.34375000
 // CHECK-ENCODING: [0xc0,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 ca d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.35937500
 // CHECK-INST: fmov z0.d, p0/m, #0.35937500
 // CHECK-ENCODING: [0xe0,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ca d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.37500000
 // CHECK-INST: fmov z0.d, p0/m, #0.37500000
 // CHECK-ENCODING: [0x00,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cb d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.39062500
 // CHECK-INST: fmov z0.d, p0/m, #0.39062500
 // CHECK-ENCODING: [0x20,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cb d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.40625000
 // CHECK-INST: fmov z0.d, p0/m, #0.40625000
 // CHECK-ENCODING: [0x40,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cb d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.42187500
 // CHECK-INST: fmov z0.d, p0/m, #0.42187500
 // CHECK-ENCODING: [0x60,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cb d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.43750000
 // CHECK-INST: fmov z0.d, p0/m, #0.43750000
 // CHECK-ENCODING: [0x80,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cb d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.45312500
 // CHECK-INST: fmov z0.d, p0/m, #0.45312500
 // CHECK-ENCODING: [0xa0,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cb d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.46875000
 // CHECK-INST: fmov z0.d, p0/m, #0.46875000
 // CHECK-ENCODING: [0xc0,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cb d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.48437500
 // CHECK-INST: fmov z0.d, p0/m, #0.48437500
 // CHECK-ENCODING: [0xe0,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.50000000
 // CHECK-INST: fmov z0.d, p0/m, #0.50000000
 // CHECK-ENCODING: [0x00,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.53125000
 // CHECK-INST: fmov z0.d, p0/m, #0.53125000
 // CHECK-ENCODING: [0x20,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.56250000
 // CHECK-INST: fmov z0.d, p0/m, #0.56250000
 // CHECK-ENCODING: [0x40,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.59375000
 // CHECK-INST: fmov z0.d, p0/m, #0.59375000
 // CHECK-ENCODING: [0x60,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.62500000
 // CHECK-INST: fmov z0.d, p0/m, #0.62500000
 // CHECK-ENCODING: [0x80,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.65625000
 // CHECK-INST: fmov z0.d, p0/m, #0.65625000
 // CHECK-ENCODING: [0xa0,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.68750000
 // CHECK-INST: fmov z0.d, p0/m, #0.68750000
 // CHECK-ENCODING: [0xc0,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.71875000
 // CHECK-INST: fmov z0.d, p0/m, #0.71875000
 // CHECK-ENCODING: [0xe0,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cc d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.75000000
 // CHECK-INST: fmov z0.d, p0/m, #0.75000000
 // CHECK-ENCODING: [0x00,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.78125000
 // CHECK-INST: fmov z0.d, p0/m, #0.78125000
 // CHECK-ENCODING: [0x20,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.81250000
 // CHECK-INST: fmov z0.d, p0/m, #0.81250000
 // CHECK-ENCODING: [0x40,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.84375000
 // CHECK-INST: fmov z0.d, p0/m, #0.84375000
 // CHECK-ENCODING: [0x60,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.87500000
 // CHECK-INST: fmov z0.d, p0/m, #0.87500000
 // CHECK-ENCODING: [0x80,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.90625000
 // CHECK-INST: fmov z0.d, p0/m, #0.90625000
 // CHECK-ENCODING: [0xa0,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.93750000
 // CHECK-INST: fmov z0.d, p0/m, #0.93750000
 // CHECK-ENCODING: [0xc0,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #0.96875000
 // CHECK-INST: fmov z0.d, p0/m, #0.96875000
 // CHECK-ENCODING: [0xe0,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cd d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.00000000
 // CHECK-INST: fmov z0.d, p0/m, #1.00000000
 // CHECK-ENCODING: [0x00,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ce d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.06250000
 // CHECK-INST: fmov z0.d, p0/m, #1.06250000
 // CHECK-ENCODING: [0x20,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ce d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.12500000
 // CHECK-INST: fmov z0.d, p0/m, #1.12500000
 // CHECK-ENCODING: [0x40,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ce d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.18750000
 // CHECK-INST: fmov z0.d, p0/m, #1.18750000
 // CHECK-ENCODING: [0x60,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ce d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.25000000
 // CHECK-INST: fmov z0.d, p0/m, #1.25000000
 // CHECK-ENCODING: [0x80,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ce d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.31250000
 // CHECK-INST: fmov z0.d, p0/m, #1.31250000
 // CHECK-ENCODING: [0xa0,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ce d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.37500000
 // CHECK-INST: fmov z0.d, p0/m, #1.37500000
 // CHECK-ENCODING: [0xc0,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 ce d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.43750000
 // CHECK-INST: fmov z0.d, p0/m, #1.43750000
 // CHECK-ENCODING: [0xe0,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ce d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.50000000
 // CHECK-INST: fmov z0.d, p0/m, #1.50000000
 // CHECK-ENCODING: [0x00,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cf d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.56250000
 // CHECK-INST: fmov z0.d, p0/m, #1.56250000
 // CHECK-ENCODING: [0x20,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cf d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.62500000
 // CHECK-INST: fmov z0.d, p0/m, #1.62500000
 // CHECK-ENCODING: [0x40,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cf d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.68750000
 // CHECK-INST: fmov z0.d, p0/m, #1.68750000
 // CHECK-ENCODING: [0x60,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cf d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.75000000
 // CHECK-INST: fmov z0.d, p0/m, #1.75000000
 // CHECK-ENCODING: [0x80,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cf d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.81250000
 // CHECK-INST: fmov z0.d, p0/m, #1.81250000
 // CHECK-ENCODING: [0xa0,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cf d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.87500000
 // CHECK-INST: fmov z0.d, p0/m, #1.87500000
 // CHECK-ENCODING: [0xc0,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cf d0 05 <unknown>
 
 fcpy z0.d, p0/m, #1.93750000
 // CHECK-INST: fmov z0.d, p0/m, #1.93750000
 // CHECK-ENCODING: [0xe0,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf d0 05 <unknown>
 
 fcpy z0.d, p0/m, #2.00000000
 // CHECK-INST: fmov z0.d, p0/m, #2.00000000
 // CHECK-ENCODING: [0x00,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #2.12500000
 // CHECK-INST: fmov z0.d, p0/m, #2.12500000
 // CHECK-ENCODING: [0x20,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #2.25000000
 // CHECK-INST: fmov z0.d, p0/m, #2.25000000
 // CHECK-ENCODING: [0x40,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #2.37500000
 // CHECK-INST: fmov z0.d, p0/m, #2.37500000
 // CHECK-ENCODING: [0x60,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #2.50000000
 // CHECK-INST: fmov z0.d, p0/m, #2.50000000
 // CHECK-ENCODING: [0x80,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #2.62500000
 // CHECK-INST: fmov z0.d, p0/m, #2.62500000
 // CHECK-ENCODING: [0xa0,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #2.75000000
 // CHECK-INST: fmov z0.d, p0/m, #2.75000000
 // CHECK-ENCODING: [0xc0,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #2.87500000
 // CHECK-INST: fmov z0.d, p0/m, #2.87500000
 // CHECK-ENCODING: [0xe0,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c0 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #3.00000000
 // CHECK-INST: fmov z0.d, p0/m, #3.00000000
 // CHECK-ENCODING: [0x00,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #3.12500000
 // CHECK-INST: fmov z0.d, p0/m, #3.12500000
 // CHECK-ENCODING: [0x20,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #3.25000000
 // CHECK-INST: fmov z0.d, p0/m, #3.25000000
 // CHECK-ENCODING: [0x40,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #3.37500000
 // CHECK-INST: fmov z0.d, p0/m, #3.37500000
 // CHECK-ENCODING: [0x60,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #3.50000000
 // CHECK-INST: fmov z0.d, p0/m, #3.50000000
 // CHECK-ENCODING: [0x80,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #3.62500000
 // CHECK-INST: fmov z0.d, p0/m, #3.62500000
 // CHECK-ENCODING: [0xa0,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #3.75000000
 // CHECK-INST: fmov z0.d, p0/m, #3.75000000
 // CHECK-ENCODING: [0xc0,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #3.87500000
 // CHECK-INST: fmov z0.d, p0/m, #3.87500000
 // CHECK-ENCODING: [0xe0,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c1 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #4.00000000
 // CHECK-INST: fmov z0.d, p0/m, #4.00000000
 // CHECK-ENCODING: [0x00,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #4.25000000
 // CHECK-INST: fmov z0.d, p0/m, #4.25000000
 // CHECK-ENCODING: [0x20,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #4.50000000
 // CHECK-INST: fmov z0.d, p0/m, #4.50000000
 // CHECK-ENCODING: [0x40,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #4.75000000
 // CHECK-INST: fmov z0.d, p0/m, #4.75000000
 // CHECK-ENCODING: [0x60,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #5.00000000
 // CHECK-INST: fmov z0.d, p0/m, #5.00000000
 // CHECK-ENCODING: [0x80,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #5.25000000
 // CHECK-INST: fmov z0.d, p0/m, #5.25000000
 // CHECK-ENCODING: [0xa0,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #5.50000000
 // CHECK-INST: fmov z0.d, p0/m, #5.50000000
 // CHECK-ENCODING: [0xc0,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #5.75000000
 // CHECK-INST: fmov z0.d, p0/m, #5.75000000
 // CHECK-ENCODING: [0xe0,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c2 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #6.00000000
 // CHECK-INST: fmov z0.d, p0/m, #6.00000000
 // CHECK-ENCODING: [0x00,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #6.25000000
 // CHECK-INST: fmov z0.d, p0/m, #6.25000000
 // CHECK-ENCODING: [0x20,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #6.50000000
 // CHECK-INST: fmov z0.d, p0/m, #6.50000000
 // CHECK-ENCODING: [0x40,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #6.75000000
 // CHECK-INST: fmov z0.d, p0/m, #6.75000000
 // CHECK-ENCODING: [0x60,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #7.00000000
 // CHECK-INST: fmov z0.d, p0/m, #7.00000000
 // CHECK-ENCODING: [0x80,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #7.25000000
 // CHECK-INST: fmov z0.d, p0/m, #7.25000000
 // CHECK-ENCODING: [0xa0,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #7.50000000
 // CHECK-INST: fmov z0.d, p0/m, #7.50000000
 // CHECK-ENCODING: [0xc0,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #7.75000000
 // CHECK-INST: fmov z0.d, p0/m, #7.75000000
 // CHECK-ENCODING: [0xe0,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #8.00000000
 // CHECK-INST: fmov z0.d, p0/m, #8.00000000
 // CHECK-ENCODING: [0x00,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #8.50000000
 // CHECK-INST: fmov z0.d, p0/m, #8.50000000
 // CHECK-ENCODING: [0x20,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #9.00000000
 // CHECK-INST: fmov z0.d, p0/m, #9.00000000
 // CHECK-ENCODING: [0x40,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #9.50000000
 // CHECK-INST: fmov z0.d, p0/m, #9.50000000
 // CHECK-ENCODING: [0x60,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #10.00000000
 // CHECK-INST: fmov z0.d, p0/m, #10.00000000
 // CHECK-ENCODING: [0x80,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #10.50000000
 // CHECK-INST: fmov z0.d, p0/m, #10.50000000
 // CHECK-ENCODING: [0xa0,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #11.00000000
 // CHECK-INST: fmov z0.d, p0/m, #11.00000000
 // CHECK-ENCODING: [0xc0,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #11.50000000
 // CHECK-INST: fmov z0.d, p0/m, #11.50000000
 // CHECK-ENCODING: [0xe0,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c4 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #12.00000000
 // CHECK-INST: fmov z0.d, p0/m, #12.00000000
 // CHECK-ENCODING: [0x00,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #12.50000000
 // CHECK-INST: fmov z0.d, p0/m, #12.50000000
 // CHECK-ENCODING: [0x20,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #13.00000000
 // CHECK-INST: fmov z0.d, p0/m, #13.00000000
 // CHECK-ENCODING: [0x40,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #13.50000000
 // CHECK-INST: fmov z0.d, p0/m, #13.50000000
 // CHECK-ENCODING: [0x60,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #14.00000000
 // CHECK-INST: fmov z0.d, p0/m, #14.00000000
 // CHECK-ENCODING: [0x80,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #14.50000000
 // CHECK-INST: fmov z0.d, p0/m, #14.50000000
 // CHECK-ENCODING: [0xa0,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #15.00000000
 // CHECK-INST: fmov z0.d, p0/m, #15.00000000
 // CHECK-ENCODING: [0xc0,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #15.50000000
 // CHECK-INST: fmov z0.d, p0/m, #15.50000000
 // CHECK-ENCODING: [0xe0,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c5 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #16.00000000
 // CHECK-INST: fmov z0.d, p0/m, #16.00000000
 // CHECK-ENCODING: [0x00,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #17.00000000
 // CHECK-INST: fmov z0.d, p0/m, #17.00000000
 // CHECK-ENCODING: [0x20,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #18.00000000
 // CHECK-INST: fmov z0.d, p0/m, #18.00000000
 // CHECK-ENCODING: [0x40,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #19.00000000
 // CHECK-INST: fmov z0.d, p0/m, #19.00000000
 // CHECK-ENCODING: [0x60,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #20.00000000
 // CHECK-INST: fmov z0.d, p0/m, #20.00000000
 // CHECK-ENCODING: [0x80,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #21.00000000
 // CHECK-INST: fmov z0.d, p0/m, #21.00000000
 // CHECK-ENCODING: [0xa0,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #22.00000000
 // CHECK-INST: fmov z0.d, p0/m, #22.00000000
 // CHECK-ENCODING: [0xc0,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #23.00000000
 // CHECK-INST: fmov z0.d, p0/m, #23.00000000
 // CHECK-ENCODING: [0xe0,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c6 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #24.00000000
 // CHECK-INST: fmov z0.d, p0/m, #24.00000000
 // CHECK-ENCODING: [0x00,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #25.00000000
 // CHECK-INST: fmov z0.d, p0/m, #25.00000000
 // CHECK-ENCODING: [0x20,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #26.00000000
 // CHECK-INST: fmov z0.d, p0/m, #26.00000000
 // CHECK-ENCODING: [0x40,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #27.00000000
 // CHECK-INST: fmov z0.d, p0/m, #27.00000000
 // CHECK-ENCODING: [0x60,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #28.00000000
 // CHECK-INST: fmov z0.d, p0/m, #28.00000000
 // CHECK-ENCODING: [0x80,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #29.00000000
 // CHECK-INST: fmov z0.d, p0/m, #29.00000000
 // CHECK-ENCODING: [0xa0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #30.00000000
 // CHECK-INST: fmov z0.d, p0/m, #30.00000000
 // CHECK-ENCODING: [0xc0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c7 d0 05 <unknown>
 
 fcpy z0.d, p0/m, #31.00000000
 // CHECK-INST: fmov z0.d, p0/m, #31.00000000
 // CHECK-ENCODING: [0xe0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 d0 05 <unknown>
 
 
@@ -1562,23 +1564,23 @@ fcpy z0.d, p0/m, #31.00000000
 movprfx z0.d, p0/z, z7.d
 // CHECK-INST: movprfx	z0.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe0,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 20 d0 04 <unknown>
 
 fcpy z0.d, p0/m, #31.00000000
 // CHECK-INST: fmov	z0.d, p0/m, #31.00000000
 // CHECK-ENCODING: [0xe0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 d0 05 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fcpy z0.d, p0/m, #31.00000000
 // CHECK-INST: fmov	z0.d, p0/m, #31.00000000
 // CHECK-ENCODING: [0xe0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 d0 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcvt.s b/llvm/test/MC/AArch64/SVE/fcvt.s
index 9a9961848ceb1..cc9f7722bee39 100644
--- a/llvm/test/MC/AArch64/SVE/fcvt.s
+++ b/llvm/test/MC/AArch64/SVE/fcvt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,37 +12,37 @@
 fcvt    z0.h, p0/m, z0.s
 // CHECK-INST: fcvt    z0.h, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x88,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 88 65 <unknown>
 
 fcvt    z0.h, p0/m, z0.d
 // CHECK-INST: fcvt    z0.h, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xc8,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 c8 65 <unknown>
 
 fcvt    z0.s, p0/m, z0.h
 // CHECK-INST: fcvt    z0.s, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x89,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 89 65 <unknown>
 
 fcvt    z0.s, p0/m, z0.d
 // CHECK-INST: fcvt    z0.s, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xca,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 ca 65 <unknown>
 
 fcvt    z0.d, p0/m, z0.h
 // CHECK-INST: fcvt    z0.d, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0xc9,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 c9 65 <unknown>
 
 fcvt    z0.d, p0/m, z0.s
 // CHECK-INST: fcvt    z0.d, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0xcb,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 cb 65 <unknown>
 
 
@@ -50,23 +52,23 @@ fcvt    z0.d, p0/m, z0.s
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 fcvt    z5.d, p0/m, z0.s
 // CHECK-INST: fcvt	z5.d, p0/m, z0.s
 // CHECK-ENCODING: [0x05,0xa0,0xcb,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 cb 65 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 fcvt    z5.d, p0/m, z0.s
 // CHECK-INST: fcvt	z5.d, p0/m, z0.s
 // CHECK-ENCODING: [0x05,0xa0,0xcb,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 cb 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcvtzs.s b/llvm/test/MC/AArch64/SVE/fcvtzs.s
index a0c8eba7b487c..a25f9ec13d03e 100644
--- a/llvm/test/MC/AArch64/SVE/fcvtzs.s
+++ b/llvm/test/MC/AArch64/SVE/fcvtzs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,43 +12,43 @@
 fcvtzs  z0.h, p0/m, z0.h
 // CHECK-INST: fcvtzs  z0.h, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x5a,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 5a 65 <unknown>
 
 fcvtzs  z0.s, p0/m, z0.h
 // CHECK-INST: fcvtzs  z0.s, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x5c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 5c 65 <unknown>
 
 fcvtzs  z0.s, p0/m, z0.s
 // CHECK-INST: fcvtzs  z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x9c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 9c 65 <unknown>
 
 fcvtzs  z0.s, p0/m, z0.d
 // CHECK-INST: fcvtzs  z0.s, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd8,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d8 65 <unknown>
 
 fcvtzs  z0.d, p0/m, z0.h
 // CHECK-INST: fcvtzs  z0.d, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x5e,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 5e 65 <unknown>
 
 fcvtzs  z0.d, p0/m, z0.s
 // CHECK-INST: fcvtzs  z0.d, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0xdc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 dc 65 <unknown>
 
 fcvtzs  z0.d, p0/m, z0.d
 // CHECK-INST: fcvtzs  z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xde,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 de 65 <unknown>
 
 
@@ -56,23 +58,23 @@ fcvtzs  z0.d, p0/m, z0.d
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 fcvtzs  z5.d, p0/m, z0.d
 // CHECK-INST: fcvtzs	z5.d, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0xde,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 de 65 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 fcvtzs  z5.d, p0/m, z0.d
 // CHECK-INST: fcvtzs	z5.d, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0xde,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 de 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fcvtzu.s b/llvm/test/MC/AArch64/SVE/fcvtzu.s
index 8d5a19cbf2db5..9ea5dde0021ad 100644
--- a/llvm/test/MC/AArch64/SVE/fcvtzu.s
+++ b/llvm/test/MC/AArch64/SVE/fcvtzu.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,43 +12,43 @@
 fcvtzu  z0.h, p0/m, z0.h
 // CHECK-INST: fcvtzu  z0.h, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x5b,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 5b 65 <unknown>
 
 fcvtzu  z0.s, p0/m, z0.h
 // CHECK-INST: fcvtzu  z0.s, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x5d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 5d 65 <unknown>
 
 fcvtzu  z0.s, p0/m, z0.s
 // CHECK-INST: fcvtzu  z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x9d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 9d 65 <unknown>
 
 fcvtzu  z0.s, p0/m, z0.d
 // CHECK-INST: fcvtzu  z0.s, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd9,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d9 65 <unknown>
 
 fcvtzu  z0.d, p0/m, z0.h
 // CHECK-INST: fcvtzu  z0.d, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 5f 65 <unknown>
 
 fcvtzu  z0.d, p0/m, z0.s
 // CHECK-INST: fcvtzu  z0.d, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0xdd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 dd 65 <unknown>
 
 fcvtzu  z0.d, p0/m, z0.d
 // CHECK-INST: fcvtzu  z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 df 65 <unknown>
 
 
@@ -56,23 +58,23 @@ fcvtzu  z0.d, p0/m, z0.d
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 fcvtzu  z5.d, p0/m, z0.d
 // CHECK-INST: fcvtzu	z5.d, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 df 65 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 fcvtzu  z5.d, p0/m, z0.d
 // CHECK-INST: fcvtzu	z5.d, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 df 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fdiv.s b/llvm/test/MC/AArch64/SVE/fdiv.s
index 5da6740cce717..32477fbe8162d 100644
--- a/llvm/test/MC/AArch64/SVE/fdiv.s
+++ b/llvm/test/MC/AArch64/SVE/fdiv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fdiv    z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fdiv	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x4d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 4d 65 <unknown>
 
 fdiv    z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fdiv	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x8d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 8d 65 <unknown>
 
 fdiv    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fdiv	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xcd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f cd 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fdiv    z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fdiv    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fdiv	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xcd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f cd 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fdiv    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fdiv	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xcd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f cd 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fdivr.s b/llvm/test/MC/AArch64/SVE/fdivr.s
index 3a2d8c6d5b1ed..e1b33ff6ec213 100644
--- a/llvm/test/MC/AArch64/SVE/fdivr.s
+++ b/llvm/test/MC/AArch64/SVE/fdivr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fdivr   z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fdivr	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x4c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 4c 65 <unknown>
 
 fdivr   z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fdivr	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x8c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 8c 65 <unknown>
 
 fdivr   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fdivr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xcc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f cc 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fdivr   z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fdivr   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fdivr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xcc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f cc 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fdivr   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fdivr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xcc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f cc 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fdup.s b/llvm/test/MC/AArch64/SVE/fdup.s
index 87efc5f4e0dbf..39413e7fad6d2 100644
--- a/llvm/test/MC/AArch64/SVE/fdup.s
+++ b/llvm/test/MC/AArch64/SVE/fdup.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,1547 +12,1547 @@
 fdup z0.h, #-0.12500000
 // CHECK-INST: fmov z0.h, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0x79,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 79 25 <unknown>
 
 fdup z0.s, #-0.12500000
 // CHECK-INST: fmov z0.s, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0xb9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 b9 25 <unknown>
 
 fdup z0.d, #-0.12500000
 // CHECK-INST: fmov z0.d, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 f9 25 <unknown>
 
 fdup z0.d, #-0.13281250
 // CHECK-INST: fmov z0.d, #-0.13281250
 // CHECK-ENCODING: [0x20,0xd8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d8 f9 25 <unknown>
 
 fdup z0.d, #-0.14062500
 // CHECK-INST: fmov z0.d, #-0.14062500
 // CHECK-ENCODING: [0x40,0xd8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d8 f9 25 <unknown>
 
 fdup z0.d, #-0.14843750
 // CHECK-INST: fmov z0.d, #-0.14843750
 // CHECK-ENCODING: [0x60,0xd8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d8 f9 25 <unknown>
 
 fdup z0.d, #-0.15625000
 // CHECK-INST: fmov z0.d, #-0.15625000
 // CHECK-ENCODING: [0x80,0xd8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d8 f9 25 <unknown>
 
 fdup z0.d, #-0.16406250
 // CHECK-INST: fmov z0.d, #-0.16406250
 // CHECK-ENCODING: [0xa0,0xd8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d8 f9 25 <unknown>
 
 fdup z0.d, #-0.17187500
 // CHECK-INST: fmov z0.d, #-0.17187500
 // CHECK-ENCODING: [0xc0,0xd8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d8 f9 25 <unknown>
 
 fdup z0.d, #-0.17968750
 // CHECK-INST: fmov z0.d, #-0.17968750
 // CHECK-ENCODING: [0xe0,0xd8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d8 f9 25 <unknown>
 
 fdup z0.d, #-0.18750000
 // CHECK-INST: fmov z0.d, #-0.18750000
 // CHECK-ENCODING: [0x00,0xd9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d9 f9 25 <unknown>
 
 fdup z0.d, #-0.19531250
 // CHECK-INST: fmov z0.d, #-0.19531250
 // CHECK-ENCODING: [0x20,0xd9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d9 f9 25 <unknown>
 
 fdup z0.d, #-0.20312500
 // CHECK-INST: fmov z0.d, #-0.20312500
 // CHECK-ENCODING: [0x40,0xd9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d9 f9 25 <unknown>
 
 fdup z0.d, #-0.21093750
 // CHECK-INST: fmov z0.d, #-0.21093750
 // CHECK-ENCODING: [0x60,0xd9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d9 f9 25 <unknown>
 
 fdup z0.d, #-0.21875000
 // CHECK-INST: fmov z0.d, #-0.21875000
 // CHECK-ENCODING: [0x80,0xd9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d9 f9 25 <unknown>
 
 fdup z0.d, #-0.22656250
 // CHECK-INST: fmov z0.d, #-0.22656250
 // CHECK-ENCODING: [0xa0,0xd9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d9 f9 25 <unknown>
 
 fdup z0.d, #-0.23437500
 // CHECK-INST: fmov z0.d, #-0.23437500
 // CHECK-ENCODING: [0xc0,0xd9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d9 f9 25 <unknown>
 
 fdup z0.d, #-0.24218750
 // CHECK-INST: fmov z0.d, #-0.24218750
 // CHECK-ENCODING: [0xe0,0xd9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d9 f9 25 <unknown>
 
 fdup z0.d, #-0.25000000
 // CHECK-INST: fmov z0.d, #-0.25000000
 // CHECK-ENCODING: [0x00,0xda,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 da f9 25 <unknown>
 
 fdup z0.d, #-0.26562500
 // CHECK-INST: fmov z0.d, #-0.26562500
 // CHECK-ENCODING: [0x20,0xda,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 da f9 25 <unknown>
 
 fdup z0.d, #-0.28125000
 // CHECK-INST: fmov z0.d, #-0.28125000
 // CHECK-ENCODING: [0x40,0xda,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 da f9 25 <unknown>
 
 fdup z0.d, #-0.29687500
 // CHECK-INST: fmov z0.d, #-0.29687500
 // CHECK-ENCODING: [0x60,0xda,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 da f9 25 <unknown>
 
 fdup z0.d, #-0.31250000
 // CHECK-INST: fmov z0.d, #-0.31250000
 // CHECK-ENCODING: [0x80,0xda,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 da f9 25 <unknown>
 
 fdup z0.d, #-0.32812500
 // CHECK-INST: fmov z0.d, #-0.32812500
 // CHECK-ENCODING: [0xa0,0xda,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 da f9 25 <unknown>
 
 fdup z0.d, #-0.34375000
 // CHECK-INST: fmov z0.d, #-0.34375000
 // CHECK-ENCODING: [0xc0,0xda,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 da f9 25 <unknown>
 
 fdup z0.d, #-0.35937500
 // CHECK-INST: fmov z0.d, #-0.35937500
 // CHECK-ENCODING: [0xe0,0xda,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 da f9 25 <unknown>
 
 fdup z0.d, #-0.37500000
 // CHECK-INST: fmov z0.d, #-0.37500000
 // CHECK-ENCODING: [0x00,0xdb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 db f9 25 <unknown>
 
 fdup z0.d, #-0.39062500
 // CHECK-INST: fmov z0.d, #-0.39062500
 // CHECK-ENCODING: [0x20,0xdb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 db f9 25 <unknown>
 
 fdup z0.d, #-0.40625000
 // CHECK-INST: fmov z0.d, #-0.40625000
 // CHECK-ENCODING: [0x40,0xdb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 db f9 25 <unknown>
 
 fdup z0.d, #-0.42187500
 // CHECK-INST: fmov z0.d, #-0.42187500
 // CHECK-ENCODING: [0x60,0xdb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 db f9 25 <unknown>
 
 fdup z0.d, #-0.43750000
 // CHECK-INST: fmov z0.d, #-0.43750000
 // CHECK-ENCODING: [0x80,0xdb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 db f9 25 <unknown>
 
 fdup z0.d, #-0.45312500
 // CHECK-INST: fmov z0.d, #-0.45312500
 // CHECK-ENCODING: [0xa0,0xdb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 db f9 25 <unknown>
 
 fdup z0.d, #-0.46875000
 // CHECK-INST: fmov z0.d, #-0.46875000
 // CHECK-ENCODING: [0xc0,0xdb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 db f9 25 <unknown>
 
 fdup z0.d, #-0.48437500
 // CHECK-INST: fmov z0.d, #-0.48437500
 // CHECK-ENCODING: [0xe0,0xdb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 db f9 25 <unknown>
 
 fdup z0.d, #-0.50000000
 // CHECK-INST: fmov z0.d, #-0.50000000
 // CHECK-ENCODING: [0x00,0xdc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 dc f9 25 <unknown>
 
 fdup z0.d, #-0.53125000
 // CHECK-INST: fmov z0.d, #-0.53125000
 // CHECK-ENCODING: [0x20,0xdc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dc f9 25 <unknown>
 
 fdup z0.d, #-0.56250000
 // CHECK-INST: fmov z0.d, #-0.56250000
 // CHECK-ENCODING: [0x40,0xdc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 dc f9 25 <unknown>
 
 fdup z0.d, #-0.59375000
 // CHECK-INST: fmov z0.d, #-0.59375000
 // CHECK-ENCODING: [0x60,0xdc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 dc f9 25 <unknown>
 
 fdup z0.d, #-0.62500000
 // CHECK-INST: fmov z0.d, #-0.62500000
 // CHECK-ENCODING: [0x80,0xdc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 dc f9 25 <unknown>
 
 fdup z0.d, #-0.65625000
 // CHECK-INST: fmov z0.d, #-0.65625000
 // CHECK-ENCODING: [0xa0,0xdc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 dc f9 25 <unknown>
 
 fdup z0.d, #-0.68750000
 // CHECK-INST: fmov z0.d, #-0.68750000
 // CHECK-ENCODING: [0xc0,0xdc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 dc f9 25 <unknown>
 
 fdup z0.d, #-0.71875000
 // CHECK-INST: fmov z0.d, #-0.71875000
 // CHECK-ENCODING: [0xe0,0xdc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 dc f9 25 <unknown>
 
 fdup z0.d, #-0.75000000
 // CHECK-INST: fmov z0.d, #-0.75000000
 // CHECK-ENCODING: [0x00,0xdd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 dd f9 25 <unknown>
 
 fdup z0.d, #-0.78125000
 // CHECK-INST: fmov z0.d, #-0.78125000
 // CHECK-ENCODING: [0x20,0xdd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dd f9 25 <unknown>
 
 fdup z0.d, #-0.81250000
 // CHECK-INST: fmov z0.d, #-0.81250000
 // CHECK-ENCODING: [0x40,0xdd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 dd f9 25 <unknown>
 
 fdup z0.d, #-0.84375000
 // CHECK-INST: fmov z0.d, #-0.84375000
 // CHECK-ENCODING: [0x60,0xdd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 dd f9 25 <unknown>
 
 fdup z0.d, #-0.87500000
 // CHECK-INST: fmov z0.d, #-0.87500000
 // CHECK-ENCODING: [0x80,0xdd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 dd f9 25 <unknown>
 
 fdup z0.d, #-0.90625000
 // CHECK-INST: fmov z0.d, #-0.90625000
 // CHECK-ENCODING: [0xa0,0xdd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 dd f9 25 <unknown>
 
 fdup z0.d, #-0.93750000
 // CHECK-INST: fmov z0.d, #-0.93750000
 // CHECK-ENCODING: [0xc0,0xdd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 dd f9 25 <unknown>
 
 fdup z0.d, #-0.96875000
 // CHECK-INST: fmov z0.d, #-0.96875000
 // CHECK-ENCODING: [0xe0,0xdd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 dd f9 25 <unknown>
 
 fdup z0.d, #-1.00000000
 // CHECK-INST: fmov z0.d, #-1.00000000
 // CHECK-ENCODING: [0x00,0xde,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 de f9 25 <unknown>
 
 fdup z0.d, #-1.06250000
 // CHECK-INST: fmov z0.d, #-1.06250000
 // CHECK-ENCODING: [0x20,0xde,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 de f9 25 <unknown>
 
 fdup z0.d, #-1.12500000
 // CHECK-INST: fmov z0.d, #-1.12500000
 // CHECK-ENCODING: [0x40,0xde,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 de f9 25 <unknown>
 
 fdup z0.d, #-1.18750000
 // CHECK-INST: fmov z0.d, #-1.18750000
 // CHECK-ENCODING: [0x60,0xde,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 de f9 25 <unknown>
 
 fdup z0.d, #-1.25000000
 // CHECK-INST: fmov z0.d, #-1.25000000
 // CHECK-ENCODING: [0x80,0xde,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 de f9 25 <unknown>
 
 fdup z0.d, #-1.31250000
 // CHECK-INST: fmov z0.d, #-1.31250000
 // CHECK-ENCODING: [0xa0,0xde,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 de f9 25 <unknown>
 
 fdup z0.d, #-1.37500000
 // CHECK-INST: fmov z0.d, #-1.37500000
 // CHECK-ENCODING: [0xc0,0xde,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 de f9 25 <unknown>
 
 fdup z0.d, #-1.43750000
 // CHECK-INST: fmov z0.d, #-1.43750000
 // CHECK-ENCODING: [0xe0,0xde,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 de f9 25 <unknown>
 
 fdup z0.d, #-1.50000000
 // CHECK-INST: fmov z0.d, #-1.50000000
 // CHECK-ENCODING: [0x00,0xdf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 df f9 25 <unknown>
 
 fdup z0.d, #-1.56250000
 // CHECK-INST: fmov z0.d, #-1.56250000
 // CHECK-ENCODING: [0x20,0xdf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 df f9 25 <unknown>
 
 fdup z0.d, #-1.62500000
 // CHECK-INST: fmov z0.d, #-1.62500000
 // CHECK-ENCODING: [0x40,0xdf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 df f9 25 <unknown>
 
 fdup z0.d, #-1.68750000
 // CHECK-INST: fmov z0.d, #-1.68750000
 // CHECK-ENCODING: [0x60,0xdf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 df f9 25 <unknown>
 
 fdup z0.d, #-1.75000000
 // CHECK-INST: fmov z0.d, #-1.75000000
 // CHECK-ENCODING: [0x80,0xdf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 df f9 25 <unknown>
 
 fdup z0.d, #-1.81250000
 // CHECK-INST: fmov z0.d, #-1.81250000
 // CHECK-ENCODING: [0xa0,0xdf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 df f9 25 <unknown>
 
 fdup z0.d, #-1.87500000
 // CHECK-INST: fmov z0.d, #-1.87500000
 // CHECK-ENCODING: [0xc0,0xdf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 df f9 25 <unknown>
 
 fdup z0.d, #-1.93750000
 // CHECK-INST: fmov z0.d, #-1.93750000
 // CHECK-ENCODING: [0xe0,0xdf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 df f9 25 <unknown>
 
 fdup z0.d, #-2.00000000
 // CHECK-INST: fmov z0.d, #-2.00000000
 // CHECK-ENCODING: [0x00,0xd0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 f9 25 <unknown>
 
 fdup z0.d, #-2.12500000
 // CHECK-INST: fmov z0.d, #-2.12500000
 // CHECK-ENCODING: [0x20,0xd0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d0 f9 25 <unknown>
 
 fdup z0.d, #-2.25000000
 // CHECK-INST: fmov z0.d, #-2.25000000
 // CHECK-ENCODING: [0x40,0xd0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d0 f9 25 <unknown>
 
 fdup z0.d, #-2.37500000
 // CHECK-INST: fmov z0.d, #-2.37500000
 // CHECK-ENCODING: [0x60,0xd0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d0 f9 25 <unknown>
 
 fdup z0.d, #-2.50000000
 // CHECK-INST: fmov z0.d, #-2.50000000
 // CHECK-ENCODING: [0x80,0xd0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d0 f9 25 <unknown>
 
 fdup z0.d, #-2.62500000
 // CHECK-INST: fmov z0.d, #-2.62500000
 // CHECK-ENCODING: [0xa0,0xd0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d0 f9 25 <unknown>
 
 fdup z0.d, #-2.75000000
 // CHECK-INST: fmov z0.d, #-2.75000000
 // CHECK-ENCODING: [0xc0,0xd0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d0 f9 25 <unknown>
 
 fdup z0.d, #-2.87500000
 // CHECK-INST: fmov z0.d, #-2.87500000
 // CHECK-ENCODING: [0xe0,0xd0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d0 f9 25 <unknown>
 
 fdup z0.d, #-3.00000000
 // CHECK-INST: fmov z0.d, #-3.00000000
 // CHECK-ENCODING: [0x00,0xd1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d1 f9 25 <unknown>
 
 fdup z0.d, #-3.12500000
 // CHECK-INST: fmov z0.d, #-3.12500000
 // CHECK-ENCODING: [0x20,0xd1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d1 f9 25 <unknown>
 
 fdup z0.d, #-3.25000000
 // CHECK-INST: fmov z0.d, #-3.25000000
 // CHECK-ENCODING: [0x40,0xd1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d1 f9 25 <unknown>
 
 fdup z0.d, #-3.37500000
 // CHECK-INST: fmov z0.d, #-3.37500000
 // CHECK-ENCODING: [0x60,0xd1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d1 f9 25 <unknown>
 
 fdup z0.d, #-3.50000000
 // CHECK-INST: fmov z0.d, #-3.50000000
 // CHECK-ENCODING: [0x80,0xd1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d1 f9 25 <unknown>
 
 fdup z0.d, #-3.62500000
 // CHECK-INST: fmov z0.d, #-3.62500000
 // CHECK-ENCODING: [0xa0,0xd1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d1 f9 25 <unknown>
 
 fdup z0.d, #-3.75000000
 // CHECK-INST: fmov z0.d, #-3.75000000
 // CHECK-ENCODING: [0xc0,0xd1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d1 f9 25 <unknown>
 
 fdup z0.d, #-3.87500000
 // CHECK-INST: fmov z0.d, #-3.87500000
 // CHECK-ENCODING: [0xe0,0xd1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d1 f9 25 <unknown>
 
 fdup z0.d, #-4.00000000
 // CHECK-INST: fmov z0.d, #-4.00000000
 // CHECK-ENCODING: [0x00,0xd2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d2 f9 25 <unknown>
 
 fdup z0.d, #-4.25000000
 // CHECK-INST: fmov z0.d, #-4.25000000
 // CHECK-ENCODING: [0x20,0xd2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d2 f9 25 <unknown>
 
 fdup z0.d, #-4.50000000
 // CHECK-INST: fmov z0.d, #-4.50000000
 // CHECK-ENCODING: [0x40,0xd2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d2 f9 25 <unknown>
 
 fdup z0.d, #-4.75000000
 // CHECK-INST: fmov z0.d, #-4.75000000
 // CHECK-ENCODING: [0x60,0xd2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d2 f9 25 <unknown>
 
 fdup z0.d, #-5.00000000
 // CHECK-INST: fmov z0.d, #-5.00000000
 // CHECK-ENCODING: [0x80,0xd2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d2 f9 25 <unknown>
 
 fdup z0.d, #-5.25000000
 // CHECK-INST: fmov z0.d, #-5.25000000
 // CHECK-ENCODING: [0xa0,0xd2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d2 f9 25 <unknown>
 
 fdup z0.d, #-5.50000000
 // CHECK-INST: fmov z0.d, #-5.50000000
 // CHECK-ENCODING: [0xc0,0xd2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d2 f9 25 <unknown>
 
 fdup z0.d, #-5.75000000
 // CHECK-INST: fmov z0.d, #-5.75000000
 // CHECK-ENCODING: [0xe0,0xd2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d2 f9 25 <unknown>
 
 fdup z0.d, #-6.00000000
 // CHECK-INST: fmov z0.d, #-6.00000000
 // CHECK-ENCODING: [0x00,0xd3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d3 f9 25 <unknown>
 
 fdup z0.d, #-6.25000000
 // CHECK-INST: fmov z0.d, #-6.25000000
 // CHECK-ENCODING: [0x20,0xd3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d3 f9 25 <unknown>
 
 fdup z0.d, #-6.50000000
 // CHECK-INST: fmov z0.d, #-6.50000000
 // CHECK-ENCODING: [0x40,0xd3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d3 f9 25 <unknown>
 
 fdup z0.d, #-6.75000000
 // CHECK-INST: fmov z0.d, #-6.75000000
 // CHECK-ENCODING: [0x60,0xd3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d3 f9 25 <unknown>
 
 fdup z0.d, #-7.00000000
 // CHECK-INST: fmov z0.d, #-7.00000000
 // CHECK-ENCODING: [0x80,0xd3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d3 f9 25 <unknown>
 
 fdup z0.d, #-7.25000000
 // CHECK-INST: fmov z0.d, #-7.25000000
 // CHECK-ENCODING: [0xa0,0xd3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d3 f9 25 <unknown>
 
 fdup z0.d, #-7.50000000
 // CHECK-INST: fmov z0.d, #-7.50000000
 // CHECK-ENCODING: [0xc0,0xd3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d3 f9 25 <unknown>
 
 fdup z0.d, #-7.75000000
 // CHECK-INST: fmov z0.d, #-7.75000000
 // CHECK-ENCODING: [0xe0,0xd3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d3 f9 25 <unknown>
 
 fdup z0.d, #-8.00000000
 // CHECK-INST: fmov z0.d, #-8.00000000
 // CHECK-ENCODING: [0x00,0xd4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d4 f9 25 <unknown>
 
 fdup z0.d, #-8.50000000
 // CHECK-INST: fmov z0.d, #-8.50000000
 // CHECK-ENCODING: [0x20,0xd4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d4 f9 25 <unknown>
 
 fdup z0.d, #-9.00000000
 // CHECK-INST: fmov z0.d, #-9.00000000
 // CHECK-ENCODING: [0x40,0xd4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d4 f9 25 <unknown>
 
 fdup z0.d, #-9.50000000
 // CHECK-INST: fmov z0.d, #-9.50000000
 // CHECK-ENCODING: [0x60,0xd4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d4 f9 25 <unknown>
 
 fdup z0.d, #-10.00000000
 // CHECK-INST: fmov z0.d, #-10.00000000
 // CHECK-ENCODING: [0x80,0xd4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d4 f9 25 <unknown>
 
 fdup z0.d, #-10.50000000
 // CHECK-INST: fmov z0.d, #-10.50000000
 // CHECK-ENCODING: [0xa0,0xd4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d4 f9 25 <unknown>
 
 fdup z0.d, #-11.00000000
 // CHECK-INST: fmov z0.d, #-11.00000000
 // CHECK-ENCODING: [0xc0,0xd4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d4 f9 25 <unknown>
 
 fdup z0.d, #-11.50000000
 // CHECK-INST: fmov z0.d, #-11.50000000
 // CHECK-ENCODING: [0xe0,0xd4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d4 f9 25 <unknown>
 
 fdup z0.d, #-12.00000000
 // CHECK-INST: fmov z0.d, #-12.00000000
 // CHECK-ENCODING: [0x00,0xd5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d5 f9 25 <unknown>
 
 fdup z0.d, #-12.50000000
 // CHECK-INST: fmov z0.d, #-12.50000000
 // CHECK-ENCODING: [0x20,0xd5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d5 f9 25 <unknown>
 
 fdup z0.d, #-13.00000000
 // CHECK-INST: fmov z0.d, #-13.00000000
 // CHECK-ENCODING: [0x40,0xd5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d5 f9 25 <unknown>
 
 fdup z0.d, #-13.50000000
 // CHECK-INST: fmov z0.d, #-13.50000000
 // CHECK-ENCODING: [0x60,0xd5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d5 f9 25 <unknown>
 
 fdup z0.d, #-14.00000000
 // CHECK-INST: fmov z0.d, #-14.00000000
 // CHECK-ENCODING: [0x80,0xd5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d5 f9 25 <unknown>
 
 fdup z0.d, #-14.50000000
 // CHECK-INST: fmov z0.d, #-14.50000000
 // CHECK-ENCODING: [0xa0,0xd5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d5 f9 25 <unknown>
 
 fdup z0.d, #-15.00000000
 // CHECK-INST: fmov z0.d, #-15.00000000
 // CHECK-ENCODING: [0xc0,0xd5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d5 f9 25 <unknown>
 
 fdup z0.d, #-15.50000000
 // CHECK-INST: fmov z0.d, #-15.50000000
 // CHECK-ENCODING: [0xe0,0xd5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d5 f9 25 <unknown>
 
 fdup z0.d, #-16.00000000
 // CHECK-INST: fmov z0.d, #-16.00000000
 // CHECK-ENCODING: [0x00,0xd6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d6 f9 25 <unknown>
 
 fdup z0.d, #-17.00000000
 // CHECK-INST: fmov z0.d, #-17.00000000
 // CHECK-ENCODING: [0x20,0xd6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d6 f9 25 <unknown>
 
 fdup z0.d, #-18.00000000
 // CHECK-INST: fmov z0.d, #-18.00000000
 // CHECK-ENCODING: [0x40,0xd6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d6 f9 25 <unknown>
 
 fdup z0.d, #-19.00000000
 // CHECK-INST: fmov z0.d, #-19.00000000
 // CHECK-ENCODING: [0x60,0xd6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d6 f9 25 <unknown>
 
 fdup z0.d, #-20.00000000
 // CHECK-INST: fmov z0.d, #-20.00000000
 // CHECK-ENCODING: [0x80,0xd6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d6 f9 25 <unknown>
 
 fdup z0.d, #-21.00000000
 // CHECK-INST: fmov z0.d, #-21.00000000
 // CHECK-ENCODING: [0xa0,0xd6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d6 f9 25 <unknown>
 
 fdup z0.d, #-22.00000000
 // CHECK-INST: fmov z0.d, #-22.00000000
 // CHECK-ENCODING: [0xc0,0xd6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d6 f9 25 <unknown>
 
 fdup z0.d, #-23.00000000
 // CHECK-INST: fmov z0.d, #-23.00000000
 // CHECK-ENCODING: [0xe0,0xd6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d6 f9 25 <unknown>
 
 fdup z0.d, #-24.00000000
 // CHECK-INST: fmov z0.d, #-24.00000000
 // CHECK-ENCODING: [0x00,0xd7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d7 f9 25 <unknown>
 
 fdup z0.d, #-25.00000000
 // CHECK-INST: fmov z0.d, #-25.00000000
 // CHECK-ENCODING: [0x20,0xd7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d7 f9 25 <unknown>
 
 fdup z0.d, #-26.00000000
 // CHECK-INST: fmov z0.d, #-26.00000000
 // CHECK-ENCODING: [0x40,0xd7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d7 f9 25 <unknown>
 
 fdup z0.d, #-27.00000000
 // CHECK-INST: fmov z0.d, #-27.00000000
 // CHECK-ENCODING: [0x60,0xd7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d7 f9 25 <unknown>
 
 fdup z0.d, #-28.00000000
 // CHECK-INST: fmov z0.d, #-28.00000000
 // CHECK-ENCODING: [0x80,0xd7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d7 f9 25 <unknown>
 
 fdup z0.d, #-29.00000000
 // CHECK-INST: fmov z0.d, #-29.00000000
 // CHECK-ENCODING: [0xa0,0xd7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d7 f9 25 <unknown>
 
 fdup z0.d, #-30.00000000
 // CHECK-INST: fmov z0.d, #-30.00000000
 // CHECK-ENCODING: [0xc0,0xd7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d7 f9 25 <unknown>
 
 fdup z0.d, #-31.00000000
 // CHECK-INST: fmov z0.d, #-31.00000000
 // CHECK-ENCODING: [0xe0,0xd7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d7 f9 25 <unknown>
 
 fdup z0.d, #0.12500000
 // CHECK-INST: fmov z0.d, #0.12500000
 // CHECK-ENCODING: [0x00,0xc8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 f9 25 <unknown>
 
 fdup z0.d, #0.13281250
 // CHECK-INST: fmov z0.d, #0.13281250
 // CHECK-ENCODING: [0x20,0xc8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c8 f9 25 <unknown>
 
 fdup z0.d, #0.14062500
 // CHECK-INST: fmov z0.d, #0.14062500
 // CHECK-ENCODING: [0x40,0xc8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c8 f9 25 <unknown>
 
 fdup z0.d, #0.14843750
 // CHECK-INST: fmov z0.d, #0.14843750
 // CHECK-ENCODING: [0x60,0xc8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c8 f9 25 <unknown>
 
 fdup z0.d, #0.15625000
 // CHECK-INST: fmov z0.d, #0.15625000
 // CHECK-ENCODING: [0x80,0xc8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c8 f9 25 <unknown>
 
 fdup z0.d, #0.16406250
 // CHECK-INST: fmov z0.d, #0.16406250
 // CHECK-ENCODING: [0xa0,0xc8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c8 f9 25 <unknown>
 
 fdup z0.d, #0.17187500
 // CHECK-INST: fmov z0.d, #0.17187500
 // CHECK-ENCODING: [0xc0,0xc8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c8 f9 25 <unknown>
 
 fdup z0.d, #0.17968750
 // CHECK-INST: fmov z0.d, #0.17968750
 // CHECK-ENCODING: [0xe0,0xc8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c8 f9 25 <unknown>
 
 fdup z0.d, #0.18750000
 // CHECK-INST: fmov z0.d, #0.18750000
 // CHECK-ENCODING: [0x00,0xc9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c9 f9 25 <unknown>
 
 fdup z0.d, #0.19531250
 // CHECK-INST: fmov z0.d, #0.19531250
 // CHECK-ENCODING: [0x20,0xc9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c9 f9 25 <unknown>
 
 fdup z0.d, #0.20312500
 // CHECK-INST: fmov z0.d, #0.20312500
 // CHECK-ENCODING: [0x40,0xc9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c9 f9 25 <unknown>
 
 fdup z0.d, #0.21093750
 // CHECK-INST: fmov z0.d, #0.21093750
 // CHECK-ENCODING: [0x60,0xc9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c9 f9 25 <unknown>
 
 fdup z0.d, #0.21875000
 // CHECK-INST: fmov z0.d, #0.21875000
 // CHECK-ENCODING: [0x80,0xc9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c9 f9 25 <unknown>
 
 fdup z0.d, #0.22656250
 // CHECK-INST: fmov z0.d, #0.22656250
 // CHECK-ENCODING: [0xa0,0xc9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c9 f9 25 <unknown>
 
 fdup z0.d, #0.23437500
 // CHECK-INST: fmov z0.d, #0.23437500
 // CHECK-ENCODING: [0xc0,0xc9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c9 f9 25 <unknown>
 
 fdup z0.d, #0.24218750
 // CHECK-INST: fmov z0.d, #0.24218750
 // CHECK-ENCODING: [0xe0,0xc9,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c9 f9 25 <unknown>
 
 fdup z0.d, #0.25000000
 // CHECK-INST: fmov z0.d, #0.25000000
 // CHECK-ENCODING: [0x00,0xca,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ca f9 25 <unknown>
 
 fdup z0.d, #0.26562500
 // CHECK-INST: fmov z0.d, #0.26562500
 // CHECK-ENCODING: [0x20,0xca,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ca f9 25 <unknown>
 
 fdup z0.d, #0.28125000
 // CHECK-INST: fmov z0.d, #0.28125000
 // CHECK-ENCODING: [0x40,0xca,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ca f9 25 <unknown>
 
 fdup z0.d, #0.29687500
 // CHECK-INST: fmov z0.d, #0.29687500
 // CHECK-ENCODING: [0x60,0xca,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ca f9 25 <unknown>
 
 fdup z0.d, #0.31250000
 // CHECK-INST: fmov z0.d, #0.31250000
 // CHECK-ENCODING: [0x80,0xca,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ca f9 25 <unknown>
 
 fdup z0.d, #0.32812500
 // CHECK-INST: fmov z0.d, #0.32812500
 // CHECK-ENCODING: [0xa0,0xca,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ca f9 25 <unknown>
 
 fdup z0.d, #0.34375000
 // CHECK-INST: fmov z0.d, #0.34375000
 // CHECK-ENCODING: [0xc0,0xca,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 ca f9 25 <unknown>
 
 fdup z0.d, #0.35937500
 // CHECK-INST: fmov z0.d, #0.35937500
 // CHECK-ENCODING: [0xe0,0xca,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ca f9 25 <unknown>
 
 fdup z0.d, #0.37500000
 // CHECK-INST: fmov z0.d, #0.37500000
 // CHECK-ENCODING: [0x00,0xcb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cb f9 25 <unknown>
 
 fdup z0.d, #0.39062500
 // CHECK-INST: fmov z0.d, #0.39062500
 // CHECK-ENCODING: [0x20,0xcb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cb f9 25 <unknown>
 
 fdup z0.d, #0.40625000
 // CHECK-INST: fmov z0.d, #0.40625000
 // CHECK-ENCODING: [0x40,0xcb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cb f9 25 <unknown>
 
 fdup z0.d, #0.42187500
 // CHECK-INST: fmov z0.d, #0.42187500
 // CHECK-ENCODING: [0x60,0xcb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cb f9 25 <unknown>
 
 fdup z0.d, #0.43750000
 // CHECK-INST: fmov z0.d, #0.43750000
 // CHECK-ENCODING: [0x80,0xcb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cb f9 25 <unknown>
 
 fdup z0.d, #0.45312500
 // CHECK-INST: fmov z0.d, #0.45312500
 // CHECK-ENCODING: [0xa0,0xcb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cb f9 25 <unknown>
 
 fdup z0.d, #0.46875000
 // CHECK-INST: fmov z0.d, #0.46875000
 // CHECK-ENCODING: [0xc0,0xcb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cb f9 25 <unknown>
 
 fdup z0.d, #0.48437500
 // CHECK-INST: fmov z0.d, #0.48437500
 // CHECK-ENCODING: [0xe0,0xcb,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb f9 25 <unknown>
 
 fdup z0.d, #0.50000000
 // CHECK-INST: fmov z0.d, #0.50000000
 // CHECK-ENCODING: [0x00,0xcc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc f9 25 <unknown>
 
 fdup z0.d, #0.53125000
 // CHECK-INST: fmov z0.d, #0.53125000
 // CHECK-ENCODING: [0x20,0xcc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cc f9 25 <unknown>
 
 fdup z0.d, #0.56250000
 // CHECK-INST: fmov z0.d, #0.56250000
 // CHECK-ENCODING: [0x40,0xcc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cc f9 25 <unknown>
 
 fdup z0.d, #0.59375000
 // CHECK-INST: fmov z0.d, #0.59375000
 // CHECK-ENCODING: [0x60,0xcc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cc f9 25 <unknown>
 
 fdup z0.d, #0.62500000
 // CHECK-INST: fmov z0.d, #0.62500000
 // CHECK-ENCODING: [0x80,0xcc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cc f9 25 <unknown>
 
 fdup z0.d, #0.65625000
 // CHECK-INST: fmov z0.d, #0.65625000
 // CHECK-ENCODING: [0xa0,0xcc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cc f9 25 <unknown>
 
 fdup z0.d, #0.68750000
 // CHECK-INST: fmov z0.d, #0.68750000
 // CHECK-ENCODING: [0xc0,0xcc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cc f9 25 <unknown>
 
 fdup z0.d, #0.71875000
 // CHECK-INST: fmov z0.d, #0.71875000
 // CHECK-ENCODING: [0xe0,0xcc,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cc f9 25 <unknown>
 
 fdup z0.d, #0.75000000
 // CHECK-INST: fmov z0.d, #0.75000000
 // CHECK-ENCODING: [0x00,0xcd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cd f9 25 <unknown>
 
 fdup z0.d, #0.78125000
 // CHECK-INST: fmov z0.d, #0.78125000
 // CHECK-ENCODING: [0x20,0xcd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cd f9 25 <unknown>
 
 fdup z0.d, #0.81250000
 // CHECK-INST: fmov z0.d, #0.81250000
 // CHECK-ENCODING: [0x40,0xcd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cd f9 25 <unknown>
 
 fdup z0.d, #0.84375000
 // CHECK-INST: fmov z0.d, #0.84375000
 // CHECK-ENCODING: [0x60,0xcd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cd f9 25 <unknown>
 
 fdup z0.d, #0.87500000
 // CHECK-INST: fmov z0.d, #0.87500000
 // CHECK-ENCODING: [0x80,0xcd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cd f9 25 <unknown>
 
 fdup z0.d, #0.90625000
 // CHECK-INST: fmov z0.d, #0.90625000
 // CHECK-ENCODING: [0xa0,0xcd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cd f9 25 <unknown>
 
 fdup z0.d, #0.93750000
 // CHECK-INST: fmov z0.d, #0.93750000
 // CHECK-ENCODING: [0xc0,0xcd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cd f9 25 <unknown>
 
 fdup z0.d, #0.96875000
 // CHECK-INST: fmov z0.d, #0.96875000
 // CHECK-ENCODING: [0xe0,0xcd,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cd f9 25 <unknown>
 
 fdup z0.d, #1.00000000
 // CHECK-INST: fmov z0.d, #1.00000000
 // CHECK-ENCODING: [0x00,0xce,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ce f9 25 <unknown>
 
 fdup z0.d, #1.06250000
 // CHECK-INST: fmov z0.d, #1.06250000
 // CHECK-ENCODING: [0x20,0xce,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ce f9 25 <unknown>
 
 fdup z0.d, #1.12500000
 // CHECK-INST: fmov z0.d, #1.12500000
 // CHECK-ENCODING: [0x40,0xce,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ce f9 25 <unknown>
 
 fdup z0.d, #1.18750000
 // CHECK-INST: fmov z0.d, #1.18750000
 // CHECK-ENCODING: [0x60,0xce,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ce f9 25 <unknown>
 
 fdup z0.d, #1.25000000
 // CHECK-INST: fmov z0.d, #1.25000000
 // CHECK-ENCODING: [0x80,0xce,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ce f9 25 <unknown>
 
 fdup z0.d, #1.31250000
 // CHECK-INST: fmov z0.d, #1.31250000
 // CHECK-ENCODING: [0xa0,0xce,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ce f9 25 <unknown>
 
 fdup z0.d, #1.37500000
 // CHECK-INST: fmov z0.d, #1.37500000
 // CHECK-ENCODING: [0xc0,0xce,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 ce f9 25 <unknown>
 
 fdup z0.d, #1.43750000
 // CHECK-INST: fmov z0.d, #1.43750000
 // CHECK-ENCODING: [0xe0,0xce,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ce f9 25 <unknown>
 
 fdup z0.d, #1.50000000
 // CHECK-INST: fmov z0.d, #1.50000000
 // CHECK-ENCODING: [0x00,0xcf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cf f9 25 <unknown>
 
 fdup z0.d, #1.56250000
 // CHECK-INST: fmov z0.d, #1.56250000
 // CHECK-ENCODING: [0x20,0xcf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cf f9 25 <unknown>
 
 fdup z0.d, #1.62500000
 // CHECK-INST: fmov z0.d, #1.62500000
 // CHECK-ENCODING: [0x40,0xcf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cf f9 25 <unknown>
 
 fdup z0.d, #1.68750000
 // CHECK-INST: fmov z0.d, #1.68750000
 // CHECK-ENCODING: [0x60,0xcf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cf f9 25 <unknown>
 
 fdup z0.d, #1.75000000
 // CHECK-INST: fmov z0.d, #1.75000000
 // CHECK-ENCODING: [0x80,0xcf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cf f9 25 <unknown>
 
 fdup z0.d, #1.81250000
 // CHECK-INST: fmov z0.d, #1.81250000
 // CHECK-ENCODING: [0xa0,0xcf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cf f9 25 <unknown>
 
 fdup z0.d, #1.87500000
 // CHECK-INST: fmov z0.d, #1.87500000
 // CHECK-ENCODING: [0xc0,0xcf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cf f9 25 <unknown>
 
 fdup z0.d, #1.93750000
 // CHECK-INST: fmov z0.d, #1.93750000
 // CHECK-ENCODING: [0xe0,0xcf,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf f9 25 <unknown>
 
 fdup z0.d, #2.00000000
 // CHECK-INST: fmov z0.d, #2.00000000
 // CHECK-ENCODING: [0x00,0xc0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 f9 25 <unknown>
 
 fdup z0.d, #2.12500000
 // CHECK-INST: fmov z0.d, #2.12500000
 // CHECK-ENCODING: [0x20,0xc0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c0 f9 25 <unknown>
 
 fdup z0.d, #2.25000000
 // CHECK-INST: fmov z0.d, #2.25000000
 // CHECK-ENCODING: [0x40,0xc0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c0 f9 25 <unknown>
 
 fdup z0.d, #2.37500000
 // CHECK-INST: fmov z0.d, #2.37500000
 // CHECK-ENCODING: [0x60,0xc0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c0 f9 25 <unknown>
 
 fdup z0.d, #2.50000000
 // CHECK-INST: fmov z0.d, #2.50000000
 // CHECK-ENCODING: [0x80,0xc0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c0 f9 25 <unknown>
 
 fdup z0.d, #2.62500000
 // CHECK-INST: fmov z0.d, #2.62500000
 // CHECK-ENCODING: [0xa0,0xc0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c0 f9 25 <unknown>
 
 fdup z0.d, #2.75000000
 // CHECK-INST: fmov z0.d, #2.75000000
 // CHECK-ENCODING: [0xc0,0xc0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c0 f9 25 <unknown>
 
 fdup z0.d, #2.87500000
 // CHECK-INST: fmov z0.d, #2.87500000
 // CHECK-ENCODING: [0xe0,0xc0,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c0 f9 25 <unknown>
 
 fdup z0.d, #3.00000000
 // CHECK-INST: fmov z0.d, #3.00000000
 // CHECK-ENCODING: [0x00,0xc1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c1 f9 25 <unknown>
 
 fdup z0.d, #3.12500000
 // CHECK-INST: fmov z0.d, #3.12500000
 // CHECK-ENCODING: [0x20,0xc1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c1 f9 25 <unknown>
 
 fdup z0.d, #3.25000000
 // CHECK-INST: fmov z0.d, #3.25000000
 // CHECK-ENCODING: [0x40,0xc1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c1 f9 25 <unknown>
 
 fdup z0.d, #3.37500000
 // CHECK-INST: fmov z0.d, #3.37500000
 // CHECK-ENCODING: [0x60,0xc1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c1 f9 25 <unknown>
 
 fdup z0.d, #3.50000000
 // CHECK-INST: fmov z0.d, #3.50000000
 // CHECK-ENCODING: [0x80,0xc1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c1 f9 25 <unknown>
 
 fdup z0.d, #3.62500000
 // CHECK-INST: fmov z0.d, #3.62500000
 // CHECK-ENCODING: [0xa0,0xc1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c1 f9 25 <unknown>
 
 fdup z0.d, #3.75000000
 // CHECK-INST: fmov z0.d, #3.75000000
 // CHECK-ENCODING: [0xc0,0xc1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c1 f9 25 <unknown>
 
 fdup z0.d, #3.87500000
 // CHECK-INST: fmov z0.d, #3.87500000
 // CHECK-ENCODING: [0xe0,0xc1,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c1 f9 25 <unknown>
 
 fdup z0.d, #4.00000000
 // CHECK-INST: fmov z0.d, #4.00000000
 // CHECK-ENCODING: [0x00,0xc2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c2 f9 25 <unknown>
 
 fdup z0.d, #4.25000000
 // CHECK-INST: fmov z0.d, #4.25000000
 // CHECK-ENCODING: [0x20,0xc2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c2 f9 25 <unknown>
 
 fdup z0.d, #4.50000000
 // CHECK-INST: fmov z0.d, #4.50000000
 // CHECK-ENCODING: [0x40,0xc2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c2 f9 25 <unknown>
 
 fdup z0.d, #4.75000000
 // CHECK-INST: fmov z0.d, #4.75000000
 // CHECK-ENCODING: [0x60,0xc2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c2 f9 25 <unknown>
 
 fdup z0.d, #5.00000000
 // CHECK-INST: fmov z0.d, #5.00000000
 // CHECK-ENCODING: [0x80,0xc2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c2 f9 25 <unknown>
 
 fdup z0.d, #5.25000000
 // CHECK-INST: fmov z0.d, #5.25000000
 // CHECK-ENCODING: [0xa0,0xc2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c2 f9 25 <unknown>
 
 fdup z0.d, #5.50000000
 // CHECK-INST: fmov z0.d, #5.50000000
 // CHECK-ENCODING: [0xc0,0xc2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c2 f9 25 <unknown>
 
 fdup z0.d, #5.75000000
 // CHECK-INST: fmov z0.d, #5.75000000
 // CHECK-ENCODING: [0xe0,0xc2,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c2 f9 25 <unknown>
 
 fdup z0.d, #6.00000000
 // CHECK-INST: fmov z0.d, #6.00000000
 // CHECK-ENCODING: [0x00,0xc3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c3 f9 25 <unknown>
 
 fdup z0.d, #6.25000000
 // CHECK-INST: fmov z0.d, #6.25000000
 // CHECK-ENCODING: [0x20,0xc3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c3 f9 25 <unknown>
 
 fdup z0.d, #6.50000000
 // CHECK-INST: fmov z0.d, #6.50000000
 // CHECK-ENCODING: [0x40,0xc3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c3 f9 25 <unknown>
 
 fdup z0.d, #6.75000000
 // CHECK-INST: fmov z0.d, #6.75000000
 // CHECK-ENCODING: [0x60,0xc3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c3 f9 25 <unknown>
 
 fdup z0.d, #7.00000000
 // CHECK-INST: fmov z0.d, #7.00000000
 // CHECK-ENCODING: [0x80,0xc3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c3 f9 25 <unknown>
 
 fdup z0.d, #7.25000000
 // CHECK-INST: fmov z0.d, #7.25000000
 // CHECK-ENCODING: [0xa0,0xc3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c3 f9 25 <unknown>
 
 fdup z0.d, #7.50000000
 // CHECK-INST: fmov z0.d, #7.50000000
 // CHECK-ENCODING: [0xc0,0xc3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c3 f9 25 <unknown>
 
 fdup z0.d, #7.75000000
 // CHECK-INST: fmov z0.d, #7.75000000
 // CHECK-ENCODING: [0xe0,0xc3,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 f9 25 <unknown>
 
 fdup z0.d, #8.00000000
 // CHECK-INST: fmov z0.d, #8.00000000
 // CHECK-ENCODING: [0x00,0xc4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 f9 25 <unknown>
 
 fdup z0.d, #8.50000000
 // CHECK-INST: fmov z0.d, #8.50000000
 // CHECK-ENCODING: [0x20,0xc4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c4 f9 25 <unknown>
 
 fdup z0.d, #9.00000000
 // CHECK-INST: fmov z0.d, #9.00000000
 // CHECK-ENCODING: [0x40,0xc4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c4 f9 25 <unknown>
 
 fdup z0.d, #9.50000000
 // CHECK-INST: fmov z0.d, #9.50000000
 // CHECK-ENCODING: [0x60,0xc4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c4 f9 25 <unknown>
 
 fdup z0.d, #10.00000000
 // CHECK-INST: fmov z0.d, #10.00000000
 // CHECK-ENCODING: [0x80,0xc4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c4 f9 25 <unknown>
 
 fdup z0.d, #10.50000000
 // CHECK-INST: fmov z0.d, #10.50000000
 // CHECK-ENCODING: [0xa0,0xc4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c4 f9 25 <unknown>
 
 fdup z0.d, #11.00000000
 // CHECK-INST: fmov z0.d, #11.00000000
 // CHECK-ENCODING: [0xc0,0xc4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c4 f9 25 <unknown>
 
 fdup z0.d, #11.50000000
 // CHECK-INST: fmov z0.d, #11.50000000
 // CHECK-ENCODING: [0xe0,0xc4,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c4 f9 25 <unknown>
 
 fdup z0.d, #12.00000000
 // CHECK-INST: fmov z0.d, #12.00000000
 // CHECK-ENCODING: [0x00,0xc5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c5 f9 25 <unknown>
 
 fdup z0.d, #12.50000000
 // CHECK-INST: fmov z0.d, #12.50000000
 // CHECK-ENCODING: [0x20,0xc5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c5 f9 25 <unknown>
 
 fdup z0.d, #13.00000000
 // CHECK-INST: fmov z0.d, #13.00000000
 // CHECK-ENCODING: [0x40,0xc5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c5 f9 25 <unknown>
 
 fdup z0.d, #13.50000000
 // CHECK-INST: fmov z0.d, #13.50000000
 // CHECK-ENCODING: [0x60,0xc5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c5 f9 25 <unknown>
 
 fdup z0.d, #14.00000000
 // CHECK-INST: fmov z0.d, #14.00000000
 // CHECK-ENCODING: [0x80,0xc5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c5 f9 25 <unknown>
 
 fdup z0.d, #14.50000000
 // CHECK-INST: fmov z0.d, #14.50000000
 // CHECK-ENCODING: [0xa0,0xc5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c5 f9 25 <unknown>
 
 fdup z0.d, #15.00000000
 // CHECK-INST: fmov z0.d, #15.00000000
 // CHECK-ENCODING: [0xc0,0xc5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c5 f9 25 <unknown>
 
 fdup z0.d, #15.50000000
 // CHECK-INST: fmov z0.d, #15.50000000
 // CHECK-ENCODING: [0xe0,0xc5,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c5 f9 25 <unknown>
 
 fdup z0.d, #16.00000000
 // CHECK-INST: fmov z0.d, #16.00000000
 // CHECK-ENCODING: [0x00,0xc6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c6 f9 25 <unknown>
 
 fdup z0.d, #17.00000000
 // CHECK-INST: fmov z0.d, #17.00000000
 // CHECK-ENCODING: [0x20,0xc6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c6 f9 25 <unknown>
 
 fdup z0.d, #18.00000000
 // CHECK-INST: fmov z0.d, #18.00000000
 // CHECK-ENCODING: [0x40,0xc6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c6 f9 25 <unknown>
 
 fdup z0.d, #19.00000000
 // CHECK-INST: fmov z0.d, #19.00000000
 // CHECK-ENCODING: [0x60,0xc6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c6 f9 25 <unknown>
 
 fdup z0.d, #20.00000000
 // CHECK-INST: fmov z0.d, #20.00000000
 // CHECK-ENCODING: [0x80,0xc6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c6 f9 25 <unknown>
 
 fdup z0.d, #21.00000000
 // CHECK-INST: fmov z0.d, #21.00000000
 // CHECK-ENCODING: [0xa0,0xc6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c6 f9 25 <unknown>
 
 fdup z0.d, #22.00000000
 // CHECK-INST: fmov z0.d, #22.00000000
 // CHECK-ENCODING: [0xc0,0xc6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c6 f9 25 <unknown>
 
 fdup z0.d, #23.00000000
 // CHECK-INST: fmov z0.d, #23.00000000
 // CHECK-ENCODING: [0xe0,0xc6,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c6 f9 25 <unknown>
 
 fdup z0.d, #24.00000000
 // CHECK-INST: fmov z0.d, #24.00000000
 // CHECK-ENCODING: [0x00,0xc7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c7 f9 25 <unknown>
 
 fdup z0.d, #25.00000000
 // CHECK-INST: fmov z0.d, #25.00000000
 // CHECK-ENCODING: [0x20,0xc7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c7 f9 25 <unknown>
 
 fdup z0.d, #26.00000000
 // CHECK-INST: fmov z0.d, #26.00000000
 // CHECK-ENCODING: [0x40,0xc7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c7 f9 25 <unknown>
 
 fdup z0.d, #27.00000000
 // CHECK-INST: fmov z0.d, #27.00000000
 // CHECK-ENCODING: [0x60,0xc7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c7 f9 25 <unknown>
 
 fdup z0.d, #28.00000000
 // CHECK-INST: fmov z0.d, #28.00000000
 // CHECK-ENCODING: [0x80,0xc7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c7 f9 25 <unknown>
 
 fdup z0.d, #29.00000000
 // CHECK-INST: fmov z0.d, #29.00000000
 // CHECK-ENCODING: [0xa0,0xc7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c7 f9 25 <unknown>
 
 fdup z0.d, #30.00000000
 // CHECK-INST: fmov z0.d, #30.00000000
 // CHECK-ENCODING: [0xc0,0xc7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c7 f9 25 <unknown>
 
 fdup z0.d, #31.00000000
 // CHECK-INST: fmov z0.d, #31.00000000
 // CHECK-ENCODING: [0xe0,0xc7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 f9 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fexpa.s b/llvm/test/MC/AArch64/SVE/fexpa.s
index 7cfd3cd115b62..e2d9c1883867c 100644
--- a/llvm/test/MC/AArch64/SVE/fexpa.s
+++ b/llvm/test/MC/AArch64/SVE/fexpa.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/fmad.s b/llvm/test/MC/AArch64/SVE/fmad.s
index 002010c3c857f..3ee0abe883c40 100644
--- a/llvm/test/MC/AArch64/SVE/fmad.s
+++ b/llvm/test/MC/AArch64/SVE/fmad.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fmad z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: fmad	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x9c,0x7f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 9c 7f 65 <unknown>
 
 fmad z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: fmad	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x9c,0xbf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 9c bf 65 <unknown>
 
 fmad z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmad	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x9c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 9c ff 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fmad z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fmad z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmad	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x9c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 9c ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmad z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmad	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x9c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 9c ff 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmax.s b/llvm/test/MC/AArch64/SVE/fmax.s
index de22ec10de7fc..29616ddc92cee 100644
--- a/llvm/test/MC/AArch64/SVE/fmax.s
+++ b/llvm/test/MC/AArch64/SVE/fmax.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,61 +12,61 @@
 fmax    z0.h, p0/m, z0.h, #0.000000000000000
 // CHECK-INST: fmax    z0.h, p0/m, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x5e,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5e 65 <unknown>
 
 fmax    z0.h, p0/m, z0.h, #0.0
 // CHECK-INST: fmax    z0.h, p0/m, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x5e,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5e 65 <unknown>
 
 fmax    z0.s, p0/m, z0.s, #0.0
 // CHECK-INST: fmax    z0.s, p0/m, z0.s, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x9e,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 9e 65 <unknown>
 
 fmax    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fmax    z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xde,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c de 65 <unknown>
 
 fmax    z31.h, p7/m, z31.h, #1.0
 // CHECK-INST: fmax    z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5e,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5e 65 <unknown>
 
 fmax    z31.s, p7/m, z31.s, #1.0
 // CHECK-INST: fmax    z31.s, p7/m, z31.s, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x9e,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 9e 65 <unknown>
 
 fmax    z0.d, p0/m, z0.d, #0.0
 // CHECK-INST: fmax    z0.d, p0/m, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x80,0xde,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 de 65 <unknown>
 
 fmax    z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fmax	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x46,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 46 65 <unknown>
 
 fmax    z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fmax	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x86,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 86 65 <unknown>
 
 fmax    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmax	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c6 65 <unknown>
 
 
@@ -74,47 +76,47 @@ fmax    z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p0/z, z7.d
 // CHECK-INST: movprfx	z0.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe0,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 20 d0 04 <unknown>
 
 fmax    z0.d, p0/m, z0.d, #0.0
 // CHECK-INST: fmax	z0.d, p0/m, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x80,0xde,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 de 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmax    z0.d, p0/m, z0.d, #0.0
 // CHECK-INST: fmax	z0.d, p0/m, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x80,0xde,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 de 65 <unknown>
 
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fmax    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmax	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c6 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmax    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmax	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c6 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmaxnm.s b/llvm/test/MC/AArch64/SVE/fmaxnm.s
index d630173cb3037..0ec38de5fe824 100644
--- a/llvm/test/MC/AArch64/SVE/fmaxnm.s
+++ b/llvm/test/MC/AArch64/SVE/fmaxnm.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,67 +12,67 @@
 fmaxnm  z0.h, p0/m, z0.h, #0.000000000000000
 // CHECK-INST: fmaxnm	z0.h, p0/m, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x5c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5c 65 <unknown>
 
 fmaxnm  z0.h, p0/m, z0.h, #0.0
 // CHECK-INST: fmaxnm	z0.h, p0/m, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x5c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5c 65 <unknown>
 
 fmaxnm  z0.s, p0/m, z0.s, #0.0
 // CHECK-INST: fmaxnm	z0.s, p0/m, z0.s, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x9c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 9c 65 <unknown>
 
 fmaxnm  z0.d, p0/m, z0.d, #0.0
 // CHECK-INST: fmaxnm	z0.d, p0/m, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x80,0xdc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 dc 65 <unknown>
 
 fmaxnm  z31.h, p7/m, z31.h, #1.000000000000000
 // CHECK-INST: fmaxnm	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5c 65 <unknown>
 
 fmaxnm  z31.h, p7/m, z31.h, #1.0
 // CHECK-INST: fmaxnm	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5c 65 <unknown>
 
 fmaxnm  z31.s, p7/m, z31.s, #1.0
 // CHECK-INST: fmaxnm	z31.s, p7/m, z31.s, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x9c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 9c 65 <unknown>
 
 fmaxnm  z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fmaxnm	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c dc 65 <unknown>
 
 fmaxnm  z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fmaxnm	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x44,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 44 65 <unknown>
 
 fmaxnm  z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fmaxnm	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x84,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 84 65 <unknown>
 
 fmaxnm  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmaxnm	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc4,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c4 65 <unknown>
 
 
@@ -80,47 +82,47 @@ fmaxnm  z0.d, p7/m, z0.d, z31.d
 movprfx z31.d, p7/z, z6.d
 // CHECK-INST: movprfx	z31.d, p7/z, z6.d
 // CHECK-ENCODING: [0xdf,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 3c d0 04 <unknown>
 
 fmaxnm  z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fmaxnm	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c dc 65 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fmaxnm  z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fmaxnm	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c dc 65 <unknown>
 
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fmaxnm  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmaxnm	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc4,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c4 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmaxnm  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmaxnm	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc4,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c4 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmaxnmv.s b/llvm/test/MC/AArch64/SVE/fmaxnmv.s
index ce81d0db6a8d9..ee37d1cfe04cf 100644
--- a/llvm/test/MC/AArch64/SVE/fmaxnmv.s
+++ b/llvm/test/MC/AArch64/SVE/fmaxnmv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 fmaxnmv h0, p7, z31.h
 // CHECK-INST: fmaxnmv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x44,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 44 65 <unknown>
 
 fmaxnmv s0, p7, z31.s
 // CHECK-INST: fmaxnmv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x84,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 84 65 <unknown>
 
 fmaxnmv d0, p7, z31.d
 // CHECK-INST: fmaxnmv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xc4,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f c4 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmaxv.s b/llvm/test/MC/AArch64/SVE/fmaxv.s
index ea2c1064d1fa5..922df3e8a79a2 100644
--- a/llvm/test/MC/AArch64/SVE/fmaxv.s
+++ b/llvm/test/MC/AArch64/SVE/fmaxv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 fmaxv h0, p7, z31.h
 // CHECK-INST: fmaxv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x46,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 46 65 <unknown>
 
 fmaxv s0, p7, z31.s
 // CHECK-INST: fmaxv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x86,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 86 65 <unknown>
 
 fmaxv d0, p7, z31.d
 // CHECK-INST: fmaxv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xc6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f c6 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmin.s b/llvm/test/MC/AArch64/SVE/fmin.s
index 2c7953f3f7585..57231302ffc14 100644
--- a/llvm/test/MC/AArch64/SVE/fmin.s
+++ b/llvm/test/MC/AArch64/SVE/fmin.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,67 +12,67 @@
 fmin    z0.h, p0/m, z0.h, #0.000000000000000
 // CHECK-INST: fmin	z0.h, p0/m, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5f 65 <unknown>
 
 fmin    z0.h, p0/m, z0.h, #0.0
 // CHECK-INST: fmin	z0.h, p0/m, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5f 65 <unknown>
 
 fmin    z0.s, p0/m, z0.s, #0.0
 // CHECK-INST: fmin	z0.s, p0/m, z0.s, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x9f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 9f 65 <unknown>
 
 fmin    z0.d, p0/m, z0.d, #0.0
 // CHECK-INST: fmin	z0.d, p0/m, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x80,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 df 65 <unknown>
 
 fmin    z31.h, p7/m, z31.h, #1.000000000000000
 // CHECK-INST: fmin	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5f 65 <unknown>
 
 fmin    z31.h, p7/m, z31.h, #1.0
 // CHECK-INST: fmin	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5f 65 <unknown>
 
 fmin    z31.s, p7/m, z31.s, #1.0
 // CHECK-INST: fmin	z31.s, p7/m, z31.s, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x9f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 9f 65 <unknown>
 
 fmin    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fmin	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c df 65 <unknown>
 
 fmin    z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fmin	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x47,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 47 65 <unknown>
 
 fmin    z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fmin	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x87,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 87 65 <unknown>
 
 fmin    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmin	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c7 65 <unknown>
 
 
@@ -80,47 +82,47 @@ fmin    z0.d, p7/m, z0.d, z31.d
 movprfx z31.d, p7/z, z6.d
 // CHECK-INST: movprfx	z31.d, p7/z, z6.d
 // CHECK-ENCODING: [0xdf,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 3c d0 04 <unknown>
 
 fmin    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fmin	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c df 65 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fmin    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fmin	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c df 65 <unknown>
 
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fmin    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmin	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c7 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmin    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmin	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c7 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fminnm.s b/llvm/test/MC/AArch64/SVE/fminnm.s
index c30187975e574..cb5bcae4fd466 100644
--- a/llvm/test/MC/AArch64/SVE/fminnm.s
+++ b/llvm/test/MC/AArch64/SVE/fminnm.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,67 +12,67 @@
 fminnm  z0.h, p0/m, z0.h, #0.000000000000000
 // CHECK-INST: fminnm	z0.h, p0/m, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x5d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5d 65 <unknown>
 
 fminnm  z0.h, p0/m, z0.h, #0.0
 // CHECK-INST: fminnm	z0.h, p0/m, z0.h, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x5d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5d 65 <unknown>
 
 fminnm  z0.s, p0/m, z0.s, #0.0
 // CHECK-INST: fminnm	z0.s, p0/m, z0.s, #0.0
 // CHECK-ENCODING: [0x00,0x80,0x9d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 9d 65 <unknown>
 
 fminnm  z0.d, p0/m, z0.d, #0.0
 // CHECK-INST: fminnm	z0.d, p0/m, z0.d, #0.0
 // CHECK-ENCODING: [0x00,0x80,0xdd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 dd 65 <unknown>
 
 fminnm  z31.h, p7/m, z31.h, #1.000000000000000
 // CHECK-INST: fminnm	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5d 65 <unknown>
 
 fminnm  z31.h, p7/m, z31.h, #1.0
 // CHECK-INST: fminnm	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5d 65 <unknown>
 
 fminnm  z31.s, p7/m, z31.s, #1.0
 // CHECK-INST: fminnm	z31.s, p7/m, z31.s, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x9d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 9d 65 <unknown>
 
 fminnm  z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fminnm	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c dd 65 <unknown>
 
 fminnm  z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fminnm	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x45,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 45 65 <unknown>
 
 fminnm  z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fminnm	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x85,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 85 65 <unknown>
 
 fminnm  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fminnm	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc5,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c5 65 <unknown>
 
 
@@ -80,47 +82,47 @@ fminnm  z0.d, p7/m, z0.d, z31.d
 movprfx z31.d, p7/z, z6.d
 // CHECK-INST: movprfx	z31.d, p7/z, z6.d
 // CHECK-ENCODING: [0xdf,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 3c d0 04 <unknown>
 
 fminnm  z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fminnm	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c dd 65 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fminnm  z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fminnm	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c dd 65 <unknown>
 
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fminnm  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fminnm	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc5,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c5 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fminnm  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fminnm	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc5,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c5 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fminnmv.s b/llvm/test/MC/AArch64/SVE/fminnmv.s
index e2ab1bea13cd4..7e80f8cdfb062 100644
--- a/llvm/test/MC/AArch64/SVE/fminnmv.s
+++ b/llvm/test/MC/AArch64/SVE/fminnmv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 fminnmv h0, p7, z31.h
 // CHECK-INST: fminnmv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x45,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 45 65 <unknown>
 
 fminnmv s0, p7, z31.s
 // CHECK-INST: fminnmv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x85,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 85 65 <unknown>
 
 fminnmv d0, p7, z31.d
 // CHECK-INST: fminnmv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xc5,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f c5 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fminv.s b/llvm/test/MC/AArch64/SVE/fminv.s
index e3a0c2859a9b4..0c1dde056d39f 100644
--- a/llvm/test/MC/AArch64/SVE/fminv.s
+++ b/llvm/test/MC/AArch64/SVE/fminv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 fminv h0, p7, z31.h
 // CHECK-INST: fminv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x47,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 47 65 <unknown>
 
 fminv s0, p7, z31.s
 // CHECK-INST: fminv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x87,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 87 65 <unknown>
 
 fminv d0, p7, z31.d
 // CHECK-INST: fminv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xc7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f c7 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmla.s b/llvm/test/MC/AArch64/SVE/fmla.s
index 62e3f600c4a26..3791a498c2312 100644
--- a/llvm/test/MC/AArch64/SVE/fmla.s
+++ b/llvm/test/MC/AArch64/SVE/fmla.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,37 +12,37 @@
 fmla z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: fmla	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x1c,0x7f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 1c 7f 65 <unknown>
 
 fmla z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: fmla	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x1c,0xbf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 1c bf 65 <unknown>
 
 fmla z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmla	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x1c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 1c ff 65 <unknown>
 
 fmla z0.h, z1.h, z7.h[7]
 // CHECK-INST: fmla	z0.h, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x00,0x7f,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 7f 64 <unknown>
 
 fmla z0.s, z1.s, z7.s[3]
 // CHECK-INST: fmla	z0.s, z1.s, z7.s[3]
 // CHECK-ENCODING: [0x20,0x00,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 bf 64 <unknown>
 
 fmla z0.d, z1.d, z7.d[1]
 // CHECK-INST: fmla	z0.d, z1.d, z7.d[1]
 // CHECK-ENCODING: [0x20,0x00,0xf7,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 f7 64 <unknown>
 
 
@@ -50,35 +52,35 @@ fmla z0.d, z1.d, z7.d[1]
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fmla z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmla	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x1c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 1c ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmla z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmla	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x1c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 1c ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmla z0.d, z1.d, z7.d[1]
 // CHECK-INST: fmla	z0.d, z1.d, z7.d[1]
 // CHECK-ENCODING: [0x20,0x00,0xf7,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 f7 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmls.s b/llvm/test/MC/AArch64/SVE/fmls.s
index 7d6b32eca19c5..860cd3c845d08 100644
--- a/llvm/test/MC/AArch64/SVE/fmls.s
+++ b/llvm/test/MC/AArch64/SVE/fmls.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,37 +12,37 @@
 fmls z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: fmls	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x3c,0x7f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 3c 7f 65 <unknown>
 
 fmls z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: fmls	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x3c,0xbf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 3c bf 65 <unknown>
 
 fmls z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmls	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x3c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 3c ff 65 <unknown>
 
 fmls z0.h, z1.h, z7.h[7]
 // CHECK-INST: fmls	z0.h, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x04,0x7f,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 7f 64 <unknown>
 
 fmls z0.s, z1.s, z7.s[3]
 // CHECK-INST: fmls	z0.s, z1.s, z7.s[3]
 // CHECK-ENCODING: [0x20,0x04,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 bf 64 <unknown>
 
 fmls z0.d, z1.d, z7.d[1]
 // CHECK-INST: fmls	z0.d, z1.d, z7.d[1]
 // CHECK-ENCODING: [0x20,0x04,0xf7,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 f7 64 <unknown>
 
 
@@ -50,35 +52,35 @@ fmls z0.d, z1.d, z7.d[1]
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fmls z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmls	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x3c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 3c ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmls z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmls	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x3c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 3c ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmls z0.d, z1.d, z7.d[1]
 // CHECK-INST: fmls	z0.d, z1.d, z7.d[1]
 // CHECK-ENCODING: [0x20,0x04,0xf7,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 f7 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmov.s b/llvm/test/MC/AArch64/SVE/fmov.s
index 37746de53fb46..9209fc64819a9 100644
--- a/llvm/test/MC/AArch64/SVE/fmov.s
+++ b/llvm/test/MC/AArch64/SVE/fmov.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,1591 +12,1591 @@
 fmov z0.h, #0.0
 // CHECK-INST: mov     z0.h, #0
 // CHECK-ENCODING: [0x00,0xc0,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 78 25
 
 fmov z0.s, #0.0
 // CHECK-INST: mov     z0.s, #0
 // CHECK-ENCODING: [0x00,0xc0,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 b8 25
 
 fmov z0.d, #0.0
 // CHECK-INST: mov     z0.d, #0
 // CHECK-ENCODING: [0x00,0xc0,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 f8 25
 
 fmov z0.h, #-0.12500000
 // CHECK-INST: fmov z0.h, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0x79,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 79 25 <unknown>
 
 fmov z0.s, #-0.12500000
 // CHECK-INST: fmov z0.s, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0xb9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 b9 25 <unknown>
 
 fmov z0.d, #-0.12500000
 // CHECK-INST: fmov z0.d, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 f9 25 <unknown>
 
 fmov z0.d, #31.00000000
 // CHECK-INST: fmov z0.d, #31.00000000
 // CHECK-ENCODING: [0xe0,0xc7,0xf9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 f9 25 <unknown>
 
 fmov z0.h, p0/m, #-0.12500000
 // CHECK-INST: fmov z0.h, p0/m, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 50 05 <unknown>
 
 fmov z0.s, p0/m, #-0.12500000
 // CHECK-INST: fmov z0.s, p0/m, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 90 05 <unknown>
 
 fmov z0.d, p0/m, #-0.12500000
 // CHECK-INST: fmov z0.d, p0/m, #-0.12500000
 // CHECK-ENCODING: [0x00,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.13281250
 // CHECK-INST: fmov z0.d, p0/m, #-0.13281250
 // CHECK-ENCODING: [0x20,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.14062500
 // CHECK-INST: fmov z0.d, p0/m, #-0.14062500
 // CHECK-ENCODING: [0x40,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.14843750
 // CHECK-INST: fmov z0.d, p0/m, #-0.14843750
 // CHECK-ENCODING: [0x60,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.15625000
 // CHECK-INST: fmov z0.d, p0/m, #-0.15625000
 // CHECK-ENCODING: [0x80,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.16406250
 // CHECK-INST: fmov z0.d, p0/m, #-0.16406250
 // CHECK-ENCODING: [0xa0,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.17187500
 // CHECK-INST: fmov z0.d, p0/m, #-0.17187500
 // CHECK-ENCODING: [0xc0,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.17968750
 // CHECK-INST: fmov z0.d, p0/m, #-0.17968750
 // CHECK-ENCODING: [0xe0,0xd8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.18750000
 // CHECK-INST: fmov z0.d, p0/m, #-0.18750000
 // CHECK-ENCODING: [0x00,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.19531250
 // CHECK-INST: fmov z0.d, p0/m, #-0.19531250
 // CHECK-ENCODING: [0x20,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.20312500
 // CHECK-INST: fmov z0.d, p0/m, #-0.20312500
 // CHECK-ENCODING: [0x40,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.21093750
 // CHECK-INST: fmov z0.d, p0/m, #-0.21093750
 // CHECK-ENCODING: [0x60,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.21875000
 // CHECK-INST: fmov z0.d, p0/m, #-0.21875000
 // CHECK-ENCODING: [0x80,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.22656250
 // CHECK-INST: fmov z0.d, p0/m, #-0.22656250
 // CHECK-ENCODING: [0xa0,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.23437500
 // CHECK-INST: fmov z0.d, p0/m, #-0.23437500
 // CHECK-ENCODING: [0xc0,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.24218750
 // CHECK-INST: fmov z0.d, p0/m, #-0.24218750
 // CHECK-ENCODING: [0xe0,0xd9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-0.25000000
 // CHECK-ENCODING: [0x00,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 da d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.26562500
 // CHECK-INST: fmov z0.d, p0/m, #-0.26562500
 // CHECK-ENCODING: [0x20,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 da d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.28125000
 // CHECK-INST: fmov z0.d, p0/m, #-0.28125000
 // CHECK-ENCODING: [0x40,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 da d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.29687500
 // CHECK-INST: fmov z0.d, p0/m, #-0.29687500
 // CHECK-ENCODING: [0x60,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 da d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.31250000
 // CHECK-INST: fmov z0.d, p0/m, #-0.31250000
 // CHECK-ENCODING: [0x80,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 da d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.32812500
 // CHECK-INST: fmov z0.d, p0/m, #-0.32812500
 // CHECK-ENCODING: [0xa0,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 da d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.34375000
 // CHECK-INST: fmov z0.d, p0/m, #-0.34375000
 // CHECK-ENCODING: [0xc0,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 da d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.35937500
 // CHECK-INST: fmov z0.d, p0/m, #-0.35937500
 // CHECK-ENCODING: [0xe0,0xda,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 da d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.37500000
 // CHECK-INST: fmov z0.d, p0/m, #-0.37500000
 // CHECK-ENCODING: [0x00,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 db d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.39062500
 // CHECK-INST: fmov z0.d, p0/m, #-0.39062500
 // CHECK-ENCODING: [0x20,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 db d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.40625000
 // CHECK-INST: fmov z0.d, p0/m, #-0.40625000
 // CHECK-ENCODING: [0x40,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 db d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.42187500
 // CHECK-INST: fmov z0.d, p0/m, #-0.42187500
 // CHECK-ENCODING: [0x60,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 db d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.43750000
 // CHECK-INST: fmov z0.d, p0/m, #-0.43750000
 // CHECK-ENCODING: [0x80,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 db d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.45312500
 // CHECK-INST: fmov z0.d, p0/m, #-0.45312500
 // CHECK-ENCODING: [0xa0,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 db d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.46875000
 // CHECK-INST: fmov z0.d, p0/m, #-0.46875000
 // CHECK-ENCODING: [0xc0,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 db d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.48437500
 // CHECK-INST: fmov z0.d, p0/m, #-0.48437500
 // CHECK-ENCODING: [0xe0,0xdb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 db d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-0.50000000
 // CHECK-ENCODING: [0x00,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 dc d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.53125000
 // CHECK-INST: fmov z0.d, p0/m, #-0.53125000
 // CHECK-ENCODING: [0x20,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dc d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.56250000
 // CHECK-INST: fmov z0.d, p0/m, #-0.56250000
 // CHECK-ENCODING: [0x40,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 dc d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.59375000
 // CHECK-INST: fmov z0.d, p0/m, #-0.59375000
 // CHECK-ENCODING: [0x60,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 dc d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.62500000
 // CHECK-INST: fmov z0.d, p0/m, #-0.62500000
 // CHECK-ENCODING: [0x80,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 dc d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.65625000
 // CHECK-INST: fmov z0.d, p0/m, #-0.65625000
 // CHECK-ENCODING: [0xa0,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 dc d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.68750000
 // CHECK-INST: fmov z0.d, p0/m, #-0.68750000
 // CHECK-ENCODING: [0xc0,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 dc d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.71875000
 // CHECK-INST: fmov z0.d, p0/m, #-0.71875000
 // CHECK-ENCODING: [0xe0,0xdc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 dc d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-0.75000000
 // CHECK-ENCODING: [0x00,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 dd d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.78125000
 // CHECK-INST: fmov z0.d, p0/m, #-0.78125000
 // CHECK-ENCODING: [0x20,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dd d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.81250000
 // CHECK-INST: fmov z0.d, p0/m, #-0.81250000
 // CHECK-ENCODING: [0x40,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 dd d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.84375000
 // CHECK-INST: fmov z0.d, p0/m, #-0.84375000
 // CHECK-ENCODING: [0x60,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 dd d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.87500000
 // CHECK-INST: fmov z0.d, p0/m, #-0.87500000
 // CHECK-ENCODING: [0x80,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 dd d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.90625000
 // CHECK-INST: fmov z0.d, p0/m, #-0.90625000
 // CHECK-ENCODING: [0xa0,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 dd d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.93750000
 // CHECK-INST: fmov z0.d, p0/m, #-0.93750000
 // CHECK-ENCODING: [0xc0,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 dd d0 05 <unknown>
 
 fmov z0.d, p0/m, #-0.96875000
 // CHECK-INST: fmov z0.d, p0/m, #-0.96875000
 // CHECK-ENCODING: [0xe0,0xdd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 dd d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-1.00000000
 // CHECK-ENCODING: [0x00,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 de d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.06250000
 // CHECK-INST: fmov z0.d, p0/m, #-1.06250000
 // CHECK-ENCODING: [0x20,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 de d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.12500000
 // CHECK-INST: fmov z0.d, p0/m, #-1.12500000
 // CHECK-ENCODING: [0x40,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 de d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.18750000
 // CHECK-INST: fmov z0.d, p0/m, #-1.18750000
 // CHECK-ENCODING: [0x60,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 de d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-1.25000000
 // CHECK-ENCODING: [0x80,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 de d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.31250000
 // CHECK-INST: fmov z0.d, p0/m, #-1.31250000
 // CHECK-ENCODING: [0xa0,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 de d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.37500000
 // CHECK-INST: fmov z0.d, p0/m, #-1.37500000
 // CHECK-ENCODING: [0xc0,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 de d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.43750000
 // CHECK-INST: fmov z0.d, p0/m, #-1.43750000
 // CHECK-ENCODING: [0xe0,0xde,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 de d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-1.50000000
 // CHECK-ENCODING: [0x00,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 df d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.56250000
 // CHECK-INST: fmov z0.d, p0/m, #-1.56250000
 // CHECK-ENCODING: [0x20,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 df d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.62500000
 // CHECK-INST: fmov z0.d, p0/m, #-1.62500000
 // CHECK-ENCODING: [0x40,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 df d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.68750000
 // CHECK-INST: fmov z0.d, p0/m, #-1.68750000
 // CHECK-ENCODING: [0x60,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 df d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-1.75000000
 // CHECK-ENCODING: [0x80,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 df d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.81250000
 // CHECK-INST: fmov z0.d, p0/m, #-1.81250000
 // CHECK-ENCODING: [0xa0,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 df d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.87500000
 // CHECK-INST: fmov z0.d, p0/m, #-1.87500000
 // CHECK-ENCODING: [0xc0,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 df d0 05 <unknown>
 
 fmov z0.d, p0/m, #-1.93750000
 // CHECK-INST: fmov z0.d, p0/m, #-1.93750000
 // CHECK-ENCODING: [0xe0,0xdf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 df d0 05 <unknown>
 
 fmov z0.d, p0/m, #-2.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-2.00000000
 // CHECK-ENCODING: [0x00,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-2.12500000
 // CHECK-INST: fmov z0.d, p0/m, #-2.12500000
 // CHECK-ENCODING: [0x20,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-2.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-2.25000000
 // CHECK-ENCODING: [0x40,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-2.37500000
 // CHECK-INST: fmov z0.d, p0/m, #-2.37500000
 // CHECK-ENCODING: [0x60,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-2.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-2.50000000
 // CHECK-ENCODING: [0x80,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-2.62500000
 // CHECK-INST: fmov z0.d, p0/m, #-2.62500000
 // CHECK-ENCODING: [0xa0,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-2.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-2.75000000
 // CHECK-ENCODING: [0xc0,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-2.87500000
 // CHECK-INST: fmov z0.d, p0/m, #-2.87500000
 // CHECK-ENCODING: [0xe0,0xd0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-3.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-3.00000000
 // CHECK-ENCODING: [0x00,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-3.12500000
 // CHECK-INST: fmov z0.d, p0/m, #-3.12500000
 // CHECK-ENCODING: [0x20,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-3.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-3.25000000
 // CHECK-ENCODING: [0x40,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-3.37500000
 // CHECK-INST: fmov z0.d, p0/m, #-3.37500000
 // CHECK-ENCODING: [0x60,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-3.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-3.50000000
 // CHECK-ENCODING: [0x80,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-3.62500000
 // CHECK-INST: fmov z0.d, p0/m, #-3.62500000
 // CHECK-ENCODING: [0xa0,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-3.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-3.75000000
 // CHECK-ENCODING: [0xc0,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-3.87500000
 // CHECK-INST: fmov z0.d, p0/m, #-3.87500000
 // CHECK-ENCODING: [0xe0,0xd1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-4.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-4.00000000
 // CHECK-ENCODING: [0x00,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-4.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-4.25000000
 // CHECK-ENCODING: [0x20,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-4.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-4.50000000
 // CHECK-ENCODING: [0x40,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-4.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-4.75000000
 // CHECK-ENCODING: [0x60,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-5.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-5.00000000
 // CHECK-ENCODING: [0x80,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-5.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-5.25000000
 // CHECK-ENCODING: [0xa0,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-5.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-5.50000000
 // CHECK-ENCODING: [0xc0,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-5.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-5.75000000
 // CHECK-ENCODING: [0xe0,0xd2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-6.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-6.00000000
 // CHECK-ENCODING: [0x00,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-6.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-6.25000000
 // CHECK-ENCODING: [0x20,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-6.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-6.50000000
 // CHECK-ENCODING: [0x40,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-6.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-6.75000000
 // CHECK-ENCODING: [0x60,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-7.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-7.00000000
 // CHECK-ENCODING: [0x80,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-7.25000000
 // CHECK-INST: fmov z0.d, p0/m, #-7.25000000
 // CHECK-ENCODING: [0xa0,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-7.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-7.50000000
 // CHECK-ENCODING: [0xc0,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-7.75000000
 // CHECK-INST: fmov z0.d, p0/m, #-7.75000000
 // CHECK-ENCODING: [0xe0,0xd3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-8.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-8.00000000
 // CHECK-ENCODING: [0x00,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-8.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-8.50000000
 // CHECK-ENCODING: [0x20,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-9.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-9.00000000
 // CHECK-ENCODING: [0x40,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-9.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-9.50000000
 // CHECK-ENCODING: [0x60,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-10.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-10.00000000
 // CHECK-ENCODING: [0x80,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-10.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-10.50000000
 // CHECK-ENCODING: [0xa0,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-11.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-11.00000000
 // CHECK-ENCODING: [0xc0,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-11.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-11.50000000
 // CHECK-ENCODING: [0xe0,0xd4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-12.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-12.00000000
 // CHECK-ENCODING: [0x00,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-12.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-12.50000000
 // CHECK-ENCODING: [0x20,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-13.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-13.00000000
 // CHECK-ENCODING: [0x40,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-13.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-13.50000000
 // CHECK-ENCODING: [0x60,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-14.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-14.00000000
 // CHECK-ENCODING: [0x80,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-14.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-14.50000000
 // CHECK-ENCODING: [0xa0,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-15.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-15.00000000
 // CHECK-ENCODING: [0xc0,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-15.50000000
 // CHECK-INST: fmov z0.d, p0/m, #-15.50000000
 // CHECK-ENCODING: [0xe0,0xd5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-16.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-16.00000000
 // CHECK-ENCODING: [0x00,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-17.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-17.00000000
 // CHECK-ENCODING: [0x20,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-18.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-18.00000000
 // CHECK-ENCODING: [0x40,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-19.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-19.00000000
 // CHECK-ENCODING: [0x60,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-20.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-20.00000000
 // CHECK-ENCODING: [0x80,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-21.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-21.00000000
 // CHECK-ENCODING: [0xa0,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-22.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-22.00000000
 // CHECK-ENCODING: [0xc0,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-23.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-23.00000000
 // CHECK-ENCODING: [0xe0,0xd6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-24.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-24.00000000
 // CHECK-ENCODING: [0x00,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-25.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-25.00000000
 // CHECK-ENCODING: [0x20,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 d7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-26.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-26.00000000
 // CHECK-ENCODING: [0x40,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 d7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-27.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-27.00000000
 // CHECK-ENCODING: [0x60,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 d7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-28.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-28.00000000
 // CHECK-ENCODING: [0x80,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 d7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-29.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-29.00000000
 // CHECK-ENCODING: [0xa0,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 d7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-30.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-30.00000000
 // CHECK-ENCODING: [0xc0,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 d7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #-31.00000000
 // CHECK-INST: fmov z0.d, p0/m, #-31.00000000
 // CHECK-ENCODING: [0xe0,0xd7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 d7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.12500000
 // CHECK-INST: fmov z0.d, p0/m, #0.12500000
 // CHECK-ENCODING: [0x00,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.13281250
 // CHECK-INST: fmov z0.d, p0/m, #0.13281250
 // CHECK-ENCODING: [0x20,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.14062500
 // CHECK-INST: fmov z0.d, p0/m, #0.14062500
 // CHECK-ENCODING: [0x40,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.14843750
 // CHECK-INST: fmov z0.d, p0/m, #0.14843750
 // CHECK-ENCODING: [0x60,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.15625000
 // CHECK-INST: fmov z0.d, p0/m, #0.15625000
 // CHECK-ENCODING: [0x80,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.16406250
 // CHECK-INST: fmov z0.d, p0/m, #0.16406250
 // CHECK-ENCODING: [0xa0,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.17187500
 // CHECK-INST: fmov z0.d, p0/m, #0.17187500
 // CHECK-ENCODING: [0xc0,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.17968750
 // CHECK-INST: fmov z0.d, p0/m, #0.17968750
 // CHECK-ENCODING: [0xe0,0xc8,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c8 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.18750000
 // CHECK-INST: fmov z0.d, p0/m, #0.18750000
 // CHECK-ENCODING: [0x00,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.19531250
 // CHECK-INST: fmov z0.d, p0/m, #0.19531250
 // CHECK-ENCODING: [0x20,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.20312500
 // CHECK-INST: fmov z0.d, p0/m, #0.20312500
 // CHECK-ENCODING: [0x40,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.21093750
 // CHECK-INST: fmov z0.d, p0/m, #0.21093750
 // CHECK-ENCODING: [0x60,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.21875000
 // CHECK-INST: fmov z0.d, p0/m, #0.21875000
 // CHECK-ENCODING: [0x80,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.22656250
 // CHECK-INST: fmov z0.d, p0/m, #0.22656250
 // CHECK-ENCODING: [0xa0,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.23437500
 // CHECK-INST: fmov z0.d, p0/m, #0.23437500
 // CHECK-ENCODING: [0xc0,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.24218750
 // CHECK-INST: fmov z0.d, p0/m, #0.24218750
 // CHECK-ENCODING: [0xe0,0xc9,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c9 d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.25000000
 // CHECK-INST: fmov z0.d, p0/m, #0.25000000
 // CHECK-ENCODING: [0x00,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ca d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.26562500
 // CHECK-INST: fmov z0.d, p0/m, #0.26562500
 // CHECK-ENCODING: [0x20,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ca d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.28125000
 // CHECK-INST: fmov z0.d, p0/m, #0.28125000
 // CHECK-ENCODING: [0x40,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ca d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.29687500
 // CHECK-INST: fmov z0.d, p0/m, #0.29687500
 // CHECK-ENCODING: [0x60,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ca d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.31250000
 // CHECK-INST: fmov z0.d, p0/m, #0.31250000
 // CHECK-ENCODING: [0x80,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ca d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.32812500
 // CHECK-INST: fmov z0.d, p0/m, #0.32812500
 // CHECK-ENCODING: [0xa0,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ca d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.34375000
 // CHECK-INST: fmov z0.d, p0/m, #0.34375000
 // CHECK-ENCODING: [0xc0,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 ca d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.35937500
 // CHECK-INST: fmov z0.d, p0/m, #0.35937500
 // CHECK-ENCODING: [0xe0,0xca,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ca d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.37500000
 // CHECK-INST: fmov z0.d, p0/m, #0.37500000
 // CHECK-ENCODING: [0x00,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cb d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.39062500
 // CHECK-INST: fmov z0.d, p0/m, #0.39062500
 // CHECK-ENCODING: [0x20,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cb d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.40625000
 // CHECK-INST: fmov z0.d, p0/m, #0.40625000
 // CHECK-ENCODING: [0x40,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cb d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.42187500
 // CHECK-INST: fmov z0.d, p0/m, #0.42187500
 // CHECK-ENCODING: [0x60,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cb d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.43750000
 // CHECK-INST: fmov z0.d, p0/m, #0.43750000
 // CHECK-ENCODING: [0x80,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cb d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.45312500
 // CHECK-INST: fmov z0.d, p0/m, #0.45312500
 // CHECK-ENCODING: [0xa0,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cb d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.46875000
 // CHECK-INST: fmov z0.d, p0/m, #0.46875000
 // CHECK-ENCODING: [0xc0,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cb d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.48437500
 // CHECK-INST: fmov z0.d, p0/m, #0.48437500
 // CHECK-ENCODING: [0xe0,0xcb,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.50000000
 // CHECK-INST: fmov z0.d, p0/m, #0.50000000
 // CHECK-ENCODING: [0x00,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.53125000
 // CHECK-INST: fmov z0.d, p0/m, #0.53125000
 // CHECK-ENCODING: [0x20,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cc d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.56250000
 // CHECK-INST: fmov z0.d, p0/m, #0.56250000
 // CHECK-ENCODING: [0x40,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cc d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.59375000
 // CHECK-INST: fmov z0.d, p0/m, #0.59375000
 // CHECK-ENCODING: [0x60,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cc d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.62500000
 // CHECK-INST: fmov z0.d, p0/m, #0.62500000
 // CHECK-ENCODING: [0x80,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cc d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.65625000
 // CHECK-INST: fmov z0.d, p0/m, #0.65625000
 // CHECK-ENCODING: [0xa0,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cc d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.68750000
 // CHECK-INST: fmov z0.d, p0/m, #0.68750000
 // CHECK-ENCODING: [0xc0,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cc d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.71875000
 // CHECK-INST: fmov z0.d, p0/m, #0.71875000
 // CHECK-ENCODING: [0xe0,0xcc,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cc d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.75000000
 // CHECK-INST: fmov z0.d, p0/m, #0.75000000
 // CHECK-ENCODING: [0x00,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cd d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.78125000
 // CHECK-INST: fmov z0.d, p0/m, #0.78125000
 // CHECK-ENCODING: [0x20,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cd d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.81250000
 // CHECK-INST: fmov z0.d, p0/m, #0.81250000
 // CHECK-ENCODING: [0x40,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cd d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.84375000
 // CHECK-INST: fmov z0.d, p0/m, #0.84375000
 // CHECK-ENCODING: [0x60,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cd d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.87500000
 // CHECK-INST: fmov z0.d, p0/m, #0.87500000
 // CHECK-ENCODING: [0x80,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cd d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.90625000
 // CHECK-INST: fmov z0.d, p0/m, #0.90625000
 // CHECK-ENCODING: [0xa0,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cd d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.93750000
 // CHECK-INST: fmov z0.d, p0/m, #0.93750000
 // CHECK-ENCODING: [0xc0,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cd d0 05 <unknown>
 
 fmov z0.d, p0/m, #0.96875000
 // CHECK-INST: fmov z0.d, p0/m, #0.96875000
 // CHECK-ENCODING: [0xe0,0xcd,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cd d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.00000000
 // CHECK-INST: fmov z0.d, p0/m, #1.00000000
 // CHECK-ENCODING: [0x00,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ce d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.06250000
 // CHECK-INST: fmov z0.d, p0/m, #1.06250000
 // CHECK-ENCODING: [0x20,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ce d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.12500000
 // CHECK-INST: fmov z0.d, p0/m, #1.12500000
 // CHECK-ENCODING: [0x40,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ce d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.18750000
 // CHECK-INST: fmov z0.d, p0/m, #1.18750000
 // CHECK-ENCODING: [0x60,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ce d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.25000000
 // CHECK-INST: fmov z0.d, p0/m, #1.25000000
 // CHECK-ENCODING: [0x80,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ce d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.31250000
 // CHECK-INST: fmov z0.d, p0/m, #1.31250000
 // CHECK-ENCODING: [0xa0,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ce d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.37500000
 // CHECK-INST: fmov z0.d, p0/m, #1.37500000
 // CHECK-ENCODING: [0xc0,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 ce d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.43750000
 // CHECK-INST: fmov z0.d, p0/m, #1.43750000
 // CHECK-ENCODING: [0xe0,0xce,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ce d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.50000000
 // CHECK-INST: fmov z0.d, p0/m, #1.50000000
 // CHECK-ENCODING: [0x00,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cf d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.56250000
 // CHECK-INST: fmov z0.d, p0/m, #1.56250000
 // CHECK-ENCODING: [0x20,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 cf d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.62500000
 // CHECK-INST: fmov z0.d, p0/m, #1.62500000
 // CHECK-ENCODING: [0x40,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 cf d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.68750000
 // CHECK-INST: fmov z0.d, p0/m, #1.68750000
 // CHECK-ENCODING: [0x60,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 cf d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.75000000
 // CHECK-INST: fmov z0.d, p0/m, #1.75000000
 // CHECK-ENCODING: [0x80,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 cf d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.81250000
 // CHECK-INST: fmov z0.d, p0/m, #1.81250000
 // CHECK-ENCODING: [0xa0,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 cf d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.87500000
 // CHECK-INST: fmov z0.d, p0/m, #1.87500000
 // CHECK-ENCODING: [0xc0,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 cf d0 05 <unknown>
 
 fmov z0.d, p0/m, #1.93750000
 // CHECK-INST: fmov z0.d, p0/m, #1.93750000
 // CHECK-ENCODING: [0xe0,0xcf,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf d0 05 <unknown>
 
 fmov z0.d, p0/m, #2.00000000
 // CHECK-INST: fmov z0.d, p0/m, #2.00000000
 // CHECK-ENCODING: [0x00,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #2.12500000
 // CHECK-INST: fmov z0.d, p0/m, #2.12500000
 // CHECK-ENCODING: [0x20,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #2.25000000
 // CHECK-INST: fmov z0.d, p0/m, #2.25000000
 // CHECK-ENCODING: [0x40,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #2.37500000
 // CHECK-INST: fmov z0.d, p0/m, #2.37500000
 // CHECK-ENCODING: [0x60,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #2.50000000
 // CHECK-INST: fmov z0.d, p0/m, #2.50000000
 // CHECK-ENCODING: [0x80,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #2.62500000
 // CHECK-INST: fmov z0.d, p0/m, #2.62500000
 // CHECK-ENCODING: [0xa0,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #2.75000000
 // CHECK-INST: fmov z0.d, p0/m, #2.75000000
 // CHECK-ENCODING: [0xc0,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #2.87500000
 // CHECK-INST: fmov z0.d, p0/m, #2.87500000
 // CHECK-ENCODING: [0xe0,0xc0,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c0 d0 05 <unknown>
 
 fmov z0.d, p0/m, #3.00000000
 // CHECK-INST: fmov z0.d, p0/m, #3.00000000
 // CHECK-ENCODING: [0x00,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #3.12500000
 // CHECK-INST: fmov z0.d, p0/m, #3.12500000
 // CHECK-ENCODING: [0x20,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #3.25000000
 // CHECK-INST: fmov z0.d, p0/m, #3.25000000
 // CHECK-ENCODING: [0x40,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #3.37500000
 // CHECK-INST: fmov z0.d, p0/m, #3.37500000
 // CHECK-ENCODING: [0x60,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #3.50000000
 // CHECK-INST: fmov z0.d, p0/m, #3.50000000
 // CHECK-ENCODING: [0x80,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #3.62500000
 // CHECK-INST: fmov z0.d, p0/m, #3.62500000
 // CHECK-ENCODING: [0xa0,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #3.75000000
 // CHECK-INST: fmov z0.d, p0/m, #3.75000000
 // CHECK-ENCODING: [0xc0,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #3.87500000
 // CHECK-INST: fmov z0.d, p0/m, #3.87500000
 // CHECK-ENCODING: [0xe0,0xc1,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c1 d0 05 <unknown>
 
 fmov z0.d, p0/m, #4.00000000
 // CHECK-INST: fmov z0.d, p0/m, #4.00000000
 // CHECK-ENCODING: [0x00,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #4.25000000
 // CHECK-INST: fmov z0.d, p0/m, #4.25000000
 // CHECK-ENCODING: [0x20,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #4.50000000
 // CHECK-INST: fmov z0.d, p0/m, #4.50000000
 // CHECK-ENCODING: [0x40,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #4.75000000
 // CHECK-INST: fmov z0.d, p0/m, #4.75000000
 // CHECK-ENCODING: [0x60,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #5.00000000
 // CHECK-INST: fmov z0.d, p0/m, #5.00000000
 // CHECK-ENCODING: [0x80,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #5.25000000
 // CHECK-INST: fmov z0.d, p0/m, #5.25000000
 // CHECK-ENCODING: [0xa0,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #5.50000000
 // CHECK-INST: fmov z0.d, p0/m, #5.50000000
 // CHECK-ENCODING: [0xc0,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #5.75000000
 // CHECK-INST: fmov z0.d, p0/m, #5.75000000
 // CHECK-ENCODING: [0xe0,0xc2,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c2 d0 05 <unknown>
 
 fmov z0.d, p0/m, #6.00000000
 // CHECK-INST: fmov z0.d, p0/m, #6.00000000
 // CHECK-ENCODING: [0x00,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #6.25000000
 // CHECK-INST: fmov z0.d, p0/m, #6.25000000
 // CHECK-ENCODING: [0x20,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #6.50000000
 // CHECK-INST: fmov z0.d, p0/m, #6.50000000
 // CHECK-ENCODING: [0x40,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #6.75000000
 // CHECK-INST: fmov z0.d, p0/m, #6.75000000
 // CHECK-ENCODING: [0x60,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #7.00000000
 // CHECK-INST: fmov z0.d, p0/m, #7.00000000
 // CHECK-ENCODING: [0x80,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #7.25000000
 // CHECK-INST: fmov z0.d, p0/m, #7.25000000
 // CHECK-ENCODING: [0xa0,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #7.50000000
 // CHECK-INST: fmov z0.d, p0/m, #7.50000000
 // CHECK-ENCODING: [0xc0,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #7.75000000
 // CHECK-INST: fmov z0.d, p0/m, #7.75000000
 // CHECK-ENCODING: [0xe0,0xc3,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 d0 05 <unknown>
 
 fmov z0.d, p0/m, #8.00000000
 // CHECK-INST: fmov z0.d, p0/m, #8.00000000
 // CHECK-ENCODING: [0x00,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #8.50000000
 // CHECK-INST: fmov z0.d, p0/m, #8.50000000
 // CHECK-ENCODING: [0x20,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #9.00000000
 // CHECK-INST: fmov z0.d, p0/m, #9.00000000
 // CHECK-ENCODING: [0x40,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #9.50000000
 // CHECK-INST: fmov z0.d, p0/m, #9.50000000
 // CHECK-ENCODING: [0x60,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #10.00000000
 // CHECK-INST: fmov z0.d, p0/m, #10.00000000
 // CHECK-ENCODING: [0x80,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #10.50000000
 // CHECK-INST: fmov z0.d, p0/m, #10.50000000
 // CHECK-ENCODING: [0xa0,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #11.00000000
 // CHECK-INST: fmov z0.d, p0/m, #11.00000000
 // CHECK-ENCODING: [0xc0,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #11.50000000
 // CHECK-INST: fmov z0.d, p0/m, #11.50000000
 // CHECK-ENCODING: [0xe0,0xc4,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c4 d0 05 <unknown>
 
 fmov z0.d, p0/m, #12.00000000
 // CHECK-INST: fmov z0.d, p0/m, #12.00000000
 // CHECK-ENCODING: [0x00,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #12.50000000
 // CHECK-INST: fmov z0.d, p0/m, #12.50000000
 // CHECK-ENCODING: [0x20,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #13.00000000
 // CHECK-INST: fmov z0.d, p0/m, #13.00000000
 // CHECK-ENCODING: [0x40,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #13.50000000
 // CHECK-INST: fmov z0.d, p0/m, #13.50000000
 // CHECK-ENCODING: [0x60,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #14.00000000
 // CHECK-INST: fmov z0.d, p0/m, #14.00000000
 // CHECK-ENCODING: [0x80,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #14.50000000
 // CHECK-INST: fmov z0.d, p0/m, #14.50000000
 // CHECK-ENCODING: [0xa0,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #15.00000000
 // CHECK-INST: fmov z0.d, p0/m, #15.00000000
 // CHECK-ENCODING: [0xc0,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #15.50000000
 // CHECK-INST: fmov z0.d, p0/m, #15.50000000
 // CHECK-ENCODING: [0xe0,0xc5,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c5 d0 05 <unknown>
 
 fmov z0.d, p0/m, #16.00000000
 // CHECK-INST: fmov z0.d, p0/m, #16.00000000
 // CHECK-ENCODING: [0x00,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #17.00000000
 // CHECK-INST: fmov z0.d, p0/m, #17.00000000
 // CHECK-ENCODING: [0x20,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #18.00000000
 // CHECK-INST: fmov z0.d, p0/m, #18.00000000
 // CHECK-ENCODING: [0x40,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #19.00000000
 // CHECK-INST: fmov z0.d, p0/m, #19.00000000
 // CHECK-ENCODING: [0x60,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #20.00000000
 // CHECK-INST: fmov z0.d, p0/m, #20.00000000
 // CHECK-ENCODING: [0x80,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #21.00000000
 // CHECK-INST: fmov z0.d, p0/m, #21.00000000
 // CHECK-ENCODING: [0xa0,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #22.00000000
 // CHECK-INST: fmov z0.d, p0/m, #22.00000000
 // CHECK-ENCODING: [0xc0,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #23.00000000
 // CHECK-INST: fmov z0.d, p0/m, #23.00000000
 // CHECK-ENCODING: [0xe0,0xc6,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c6 d0 05 <unknown>
 
 fmov z0.d, p0/m, #24.00000000
 // CHECK-INST: fmov z0.d, p0/m, #24.00000000
 // CHECK-ENCODING: [0x00,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #25.00000000
 // CHECK-INST: fmov z0.d, p0/m, #25.00000000
 // CHECK-ENCODING: [0x20,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 c7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #26.00000000
 // CHECK-INST: fmov z0.d, p0/m, #26.00000000
 // CHECK-ENCODING: [0x40,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 c7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #27.00000000
 // CHECK-INST: fmov z0.d, p0/m, #27.00000000
 // CHECK-ENCODING: [0x60,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 c7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #28.00000000
 // CHECK-INST: fmov z0.d, p0/m, #28.00000000
 // CHECK-ENCODING: [0x80,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 c7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #29.00000000
 // CHECK-INST: fmov z0.d, p0/m, #29.00000000
 // CHECK-ENCODING: [0xa0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 c7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #30.00000000
 // CHECK-INST: fmov z0.d, p0/m, #30.00000000
 // CHECK-ENCODING: [0xc0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 c7 d0 05 <unknown>
 
 fmov z0.d, p0/m, #31.00000000
 // CHECK-INST: fmov z0.d, p0/m, #31.00000000
 // CHECK-ENCODING: [0xe0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 d0 05 <unknown>
 
 
@@ -1604,23 +1606,23 @@ fmov z0.d, p0/m, #31.00000000
 movprfx z0.d, p0/z, z7.d
 // CHECK-INST: movprfx	z0.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe0,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 20 d0 04 <unknown>
 
 fmov z0.d, p0/m, #31.00000000
 // CHECK-INST: fmov	z0.d, p0/m, #31.00000000
 // CHECK-ENCODING: [0xe0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 d0 05 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmov z0.d, p0/m, #31.00000000
 // CHECK-INST: fmov	z0.d, p0/m, #31.00000000
 // CHECK-ENCODING: [0xe0,0xc7,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 d0 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmsb.s b/llvm/test/MC/AArch64/SVE/fmsb.s
index cb6ffaa1e6ab9..e894ef630f88d 100644
--- a/llvm/test/MC/AArch64/SVE/fmsb.s
+++ b/llvm/test/MC/AArch64/SVE/fmsb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fmsb z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: fmsb	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0xbc,0x7f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 bc 7f 65 <unknown>
 
 fmsb z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: fmsb	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xbc,0xbf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 bc bf 65 <unknown>
 
 fmsb z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmsb	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xbc,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 bc ff 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fmsb z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fmsb z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmsb	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xbc,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 bc ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmsb z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fmsb	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xbc,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 bc ff 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmul.s b/llvm/test/MC/AArch64/SVE/fmul.s
index 89da873372774..8101f92a07f6e 100644
--- a/llvm/test/MC/AArch64/SVE/fmul.s
+++ b/llvm/test/MC/AArch64/SVE/fmul.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,115 +12,115 @@
 fmul    z0.h, p0/m, z0.h, #0.5000000000000
 // CHECK-INST: fmul    z0.h, p0/m, z0.h, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x5a,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5a 65 <unknown>
 
 fmul    z0.h, p0/m, z0.h, #0.5
 // CHECK-INST: fmul    z0.h, p0/m, z0.h, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x5a,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5a 65 <unknown>
 
 fmul    z0.s, p0/m, z0.s, #0.5
 // CHECK-INST: fmul    z0.s, p0/m, z0.s, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x9a,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 9a 65 <unknown>
 
 fmul    z0.d, p0/m, z0.d, #0.5
 // CHECK-INST: fmul    z0.d, p0/m, z0.d, #0.5
 // CHECK-ENCODING: [0x00,0x80,0xda,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 da 65 <unknown>
 
 fmul    z31.h, p7/m, z31.h, #2.0
 // CHECK-INST: fmul    z31.h, p7/m, z31.h, #2.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5a,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5a 65 <unknown>
 
 fmul    z31.s, p7/m, z31.s, #2.0
 // CHECK-INST: fmul    z31.s, p7/m, z31.s, #2.0
 // CHECK-ENCODING: [0x3f,0x9c,0x9a,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 9a 65 <unknown>
 
 fmul    z31.d, p7/m, z31.d, #2.0
 // CHECK-INST: fmul    z31.d, p7/m, z31.d, #2.0
 // CHECK-ENCODING: [0x3f,0x9c,0xda,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c da 65 <unknown>
 
 fmul    z0.h, z0.h, z0.h[0]
 // CHECK-INST: fmul    z0.h, z0.h, z0.h[0]
 // CHECK-ENCODING: [0x00,0x20,0x20,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 20 64 <unknown>
 
 fmul    z0.s, z0.s, z0.s[0]
 // CHECK-INST: fmul    z0.s, z0.s, z0.s[0]
 // CHECK-ENCODING: [0x00,0x20,0xa0,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 a0 64 <unknown>
 
 fmul    z0.d, z0.d, z0.d[0]
 // CHECK-INST: fmul    z0.d, z0.d, z0.d[0]
 // CHECK-ENCODING: [0x00,0x20,0xe0,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 e0 64 <unknown>
 
 fmul    z31.h, z31.h, z7.h[7]
 // CHECK-INST: fmul    z31.h, z31.h, z7.h[7]
 // CHECK-ENCODING: [0xff,0x23,0x7f,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 7f 64 <unknown>
 
 fmul    z31.s, z31.s, z7.s[3]
 // CHECK-INST: fmul    z31.s, z31.s, z7.s[3]
 // CHECK-ENCODING: [0xff,0x23,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 bf 64 <unknown>
 
 fmul    z31.d, z31.d, z15.d[1]
 // CHECK-INST: fmul    z31.d, z31.d, z15.d[1]
 // CHECK-ENCODING: [0xff,0x23,0xff,0x64]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 ff 64 <unknown>
 
 fmul    z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fmul	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x42,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 42 65 <unknown>
 
 fmul    z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fmul	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x82,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 82 65 <unknown>
 
 fmul    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmul	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc2,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c2 65 <unknown>
 
 fmul z0.h, z1.h, z31.h
 // CHECK-INST: fmul	z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x08,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 08 5f 65 <unknown>
 
 fmul z0.s, z1.s, z31.s
 // CHECK-INST: fmul	z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x08,0x9f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 08 9f 65 <unknown>
 
 fmul z0.d, z1.d, z31.d
 // CHECK-INST: fmul	z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x08,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 08 df 65 <unknown>
 
 
@@ -128,47 +130,47 @@ fmul z0.d, z1.d, z31.d
 movprfx z31.d, p7/z, z6.d
 // CHECK-INST: movprfx	z31.d, p7/z, z6.d
 // CHECK-ENCODING: [0xdf,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 3c d0 04 <unknown>
 
 fmul    z31.d, p7/m, z31.d, #2.0
 // CHECK-INST: fmul	z31.d, p7/m, z31.d, #2.0
 // CHECK-ENCODING: [0x3f,0x9c,0xda,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c da 65 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fmul    z31.d, p7/m, z31.d, #2.0
 // CHECK-INST: fmul	z31.d, p7/m, z31.d, #2.0
 // CHECK-ENCODING: [0x3f,0x9c,0xda,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c da 65 <unknown>
 
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fmul    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmul	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc2,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c2 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmul    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmul	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc2,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c2 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fmulx.s b/llvm/test/MC/AArch64/SVE/fmulx.s
index 3c2413b014436..ed8913a78a2ff 100644
--- a/llvm/test/MC/AArch64/SVE/fmulx.s
+++ b/llvm/test/MC/AArch64/SVE/fmulx.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fmulx   z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fmulx	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x4a,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 4a 65 <unknown>
 
 fmulx   z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fmulx	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x8a,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 8a 65 <unknown>
 
 fmulx   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmulx	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xca,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f ca 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fmulx   z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fmulx   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmulx	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xca,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f ca 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fmulx   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fmulx	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xca,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f ca 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fneg.s b/llvm/test/MC/AArch64/SVE/fneg.s
index 7a73e73281c9b..850dab58fb57a 100644
--- a/llvm/test/MC/AArch64/SVE/fneg.s
+++ b/llvm/test/MC/AArch64/SVE/fneg.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fneg    z31.h, p7/m, z31.h
 // CHECK-INST: fneg	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x5d,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 5d 04 <unknown>
 
 fneg    z31.s, p7/m, z31.s
 // CHECK-INST: fneg	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x9d,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 9d 04 <unknown>
 
 fneg    z31.d, p7/m, z31.d
 // CHECK-INST: fneg	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xdd,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf dd 04 <unknown>
 
 
@@ -32,23 +34,23 @@ fneg    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 fneg    z4.d, p7/m, z31.d
 // CHECK-INST: fneg	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xdd,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf dd 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 fneg    z4.d, p7/m, z31.d
 // CHECK-INST: fneg	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xdd,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf dd 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fnmad.s b/llvm/test/MC/AArch64/SVE/fnmad.s
index a4fb7d0b52b3a..2ced184793d94 100644
--- a/llvm/test/MC/AArch64/SVE/fnmad.s
+++ b/llvm/test/MC/AArch64/SVE/fnmad.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fnmad z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: fnmad	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0xdc,0x7f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dc 7f 65 <unknown>
 
 fnmad z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: fnmad	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xdc,0xbf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dc bf 65 <unknown>
 
 fnmad z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmad	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xdc,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dc ff 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fnmad z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fnmad z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmad	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xdc,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dc ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fnmad z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmad	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xdc,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 dc ff 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fnmla.s b/llvm/test/MC/AArch64/SVE/fnmla.s
index afad12725e18d..86dcbb427e9af 100644
--- a/llvm/test/MC/AArch64/SVE/fnmla.s
+++ b/llvm/test/MC/AArch64/SVE/fnmla.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fnmla z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: fnmla	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x5c,0x7f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c 7f 65 <unknown>
 
 fnmla z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: fnmla	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x5c,0xbf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c bf 65 <unknown>
 
 fnmla z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmla	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x5c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c ff 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fnmla z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fnmla z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmla	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x5c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fnmla z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmla	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x5c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c ff 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fnmls.s b/llvm/test/MC/AArch64/SVE/fnmls.s
index d8cd19fa87e18..b46e1ab0f6416 100644
--- a/llvm/test/MC/AArch64/SVE/fnmls.s
+++ b/llvm/test/MC/AArch64/SVE/fnmls.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fnmls z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: fnmls	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x7c,0x7f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c 7f 65 <unknown>
 
 fnmls z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: fnmls	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x7c,0xbf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c bf 65 <unknown>
 
 fnmls z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmls	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x7c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c ff 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fnmls z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fnmls z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmls	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x7c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fnmls z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmls	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x7c,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c ff 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fnmsb.s b/llvm/test/MC/AArch64/SVE/fnmsb.s
index ca805f3f1e4af..eb0c6e5b60e00 100644
--- a/llvm/test/MC/AArch64/SVE/fnmsb.s
+++ b/llvm/test/MC/AArch64/SVE/fnmsb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fnmsb z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: fnmsb	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0xfc,0x7f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc 7f 65 <unknown>
 
 fnmsb z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: fnmsb	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xfc,0xbf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc bf 65 <unknown>
 
 fnmsb z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmsb	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xfc,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc ff 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fnmsb z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fnmsb z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmsb	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xfc,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc ff 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fnmsb z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: fnmsb	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xfc,0xff,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc ff 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frecpe.s b/llvm/test/MC/AArch64/SVE/frecpe.s
index afc60b50150e4..eae3114b9d094 100644
--- a/llvm/test/MC/AArch64/SVE/frecpe.s
+++ b/llvm/test/MC/AArch64/SVE/frecpe.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 frecpe   z0.h, z31.h
 // CHECK-INST: frecpe	z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x33,0x4e,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 33 4e 65 <unknown>
 
 frecpe   z0.s, z31.s
 // CHECK-INST: frecpe	z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x33,0x8e,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 33 8e 65 <unknown>
 
 frecpe   z0.d, z31.d
 // CHECK-INST: frecpe	z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x33,0xce,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 33 ce 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frecps.s b/llvm/test/MC/AArch64/SVE/frecps.s
index 258b65334ceea..a09ce28885099 100644
--- a/llvm/test/MC/AArch64/SVE/frecps.s
+++ b/llvm/test/MC/AArch64/SVE/frecps.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 frecps z0.h, z1.h, z31.h
 // CHECK-INST: frecps	z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x18,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 18 5f 65 <unknown>
 
 frecps z0.s, z1.s, z31.s
 // CHECK-INST: frecps	z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x18,0x9f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 18 9f 65 <unknown>
 
 frecps z0.d, z1.d, z31.d
 // CHECK-INST: frecps	z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x18,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 18 df 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frecpx.s b/llvm/test/MC/AArch64/SVE/frecpx.s
index 24175913c2e59..8504632e1d28b 100644
--- a/llvm/test/MC/AArch64/SVE/frecpx.s
+++ b/llvm/test/MC/AArch64/SVE/frecpx.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 frecpx   z31.h, p7/m, z31.h
 // CHECK-INST: frecpx	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x4c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 4c 65 <unknown>
 
 frecpx   z31.s, p7/m, z31.s
 // CHECK-INST: frecpx	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x8c,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 8c 65 <unknown>
 
 frecpx   z31.d, p7/m, z31.d
 // CHECK-INST: frecpx	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xcc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf cc 65 <unknown>
 
 
@@ -32,23 +34,23 @@ frecpx   z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 frecpx   z4.d, p7/m, z31.d
 // CHECK-INST: frecpx	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xcc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf cc 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 frecpx   z4.d, p7/m, z31.d
 // CHECK-INST: frecpx	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xcc,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf cc 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frinta.s b/llvm/test/MC/AArch64/SVE/frinta.s
index 539c782a78a02..d687e79a292df 100644
--- a/llvm/test/MC/AArch64/SVE/frinta.s
+++ b/llvm/test/MC/AArch64/SVE/frinta.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 frinta   z31.h, p7/m, z31.h
 // CHECK-INST: frinta	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x44,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 44 65 <unknown>
 
 frinta   z31.s, p7/m, z31.s
 // CHECK-INST: frinta	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x84,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 84 65 <unknown>
 
 frinta   z31.d, p7/m, z31.d
 // CHECK-INST: frinta	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xc4,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf c4 65 <unknown>
 
 
@@ -32,23 +34,23 @@ frinta   z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 frinta   z4.d, p7/m, z31.d
 // CHECK-INST: frinta	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc4,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c4 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 frinta   z4.d, p7/m, z31.d
 // CHECK-INST: frinta	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc4,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c4 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frinti.s b/llvm/test/MC/AArch64/SVE/frinti.s
index 5a997b5899742..210bb58d83df8 100644
--- a/llvm/test/MC/AArch64/SVE/frinti.s
+++ b/llvm/test/MC/AArch64/SVE/frinti.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 frinti   z31.h, p7/m, z31.h
 // CHECK-INST: frinti	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x47,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 47 65 <unknown>
 
 frinti   z31.s, p7/m, z31.s
 // CHECK-INST: frinti	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x87,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 87 65 <unknown>
 
 frinti   z31.d, p7/m, z31.d
 // CHECK-INST: frinti	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xc7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf c7 65 <unknown>
 
 
@@ -32,23 +34,23 @@ frinti   z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 frinti   z4.d, p7/m, z31.d
 // CHECK-INST: frinti	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c7 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 frinti   z4.d, p7/m, z31.d
 // CHECK-INST: frinti	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c7 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frintm.s b/llvm/test/MC/AArch64/SVE/frintm.s
index dc8f98f2e9f82..ed1968655b10a 100644
--- a/llvm/test/MC/AArch64/SVE/frintm.s
+++ b/llvm/test/MC/AArch64/SVE/frintm.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 frintm   z31.h, p7/m, z31.h
 // CHECK-INST: frintm	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x42,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 42 65 <unknown>
 
 frintm   z31.s, p7/m, z31.s
 // CHECK-INST: frintm	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x82,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 82 65 <unknown>
 
 frintm   z31.d, p7/m, z31.d
 // CHECK-INST: frintm	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xc2,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf c2 65 <unknown>
 
 
@@ -32,23 +34,23 @@ frintm   z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 frintm   z4.d, p7/m, z31.d
 // CHECK-INST: frintm	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc2,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c2 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 frintm   z4.d, p7/m, z31.d
 // CHECK-INST: frintm	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc2,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c2 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frintn.s b/llvm/test/MC/AArch64/SVE/frintn.s
index e3f4863246185..f0549be1d9436 100644
--- a/llvm/test/MC/AArch64/SVE/frintn.s
+++ b/llvm/test/MC/AArch64/SVE/frintn.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 frintn   z31.h, p7/m, z31.h
 // CHECK-INST: frintn	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x40,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 40 65 <unknown>
 
 frintn   z31.s, p7/m, z31.s
 // CHECK-INST: frintn	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x80,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 80 65 <unknown>
 
 frintn   z31.d, p7/m, z31.d
 // CHECK-INST: frintn	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf c0 65 <unknown>
 
 
@@ -32,23 +34,23 @@ frintn   z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 frintn   z4.d, p7/m, z31.d
 // CHECK-INST: frintn	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c0 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 frintn   z4.d, p7/m, z31.d
 // CHECK-INST: frintn	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c0 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frintp.s b/llvm/test/MC/AArch64/SVE/frintp.s
index 384580f105a33..9a79bf722f884 100644
--- a/llvm/test/MC/AArch64/SVE/frintp.s
+++ b/llvm/test/MC/AArch64/SVE/frintp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 frintp   z31.h, p7/m, z31.h
 // CHECK-INST: frintp	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x41,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 41 65 <unknown>
 
 frintp   z31.s, p7/m, z31.s
 // CHECK-INST: frintp	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x81,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 81 65 <unknown>
 
 frintp   z31.d, p7/m, z31.d
 // CHECK-INST: frintp	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf c1 65 <unknown>
 
 
@@ -32,23 +34,23 @@ frintp   z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 frintp   z4.d, p7/m, z31.d
 // CHECK-INST: frintp	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c1 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 frintp   z4.d, p7/m, z31.d
 // CHECK-INST: frintp	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c1 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frintx.s b/llvm/test/MC/AArch64/SVE/frintx.s
index b7968f67bd868..73680454402a1 100644
--- a/llvm/test/MC/AArch64/SVE/frintx.s
+++ b/llvm/test/MC/AArch64/SVE/frintx.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 frintx   z31.h, p7/m, z31.h
 // CHECK-INST: frintx	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x46,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 46 65 <unknown>
 
 frintx   z31.s, p7/m, z31.s
 // CHECK-INST: frintx	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x86,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 86 65 <unknown>
 
 frintx   z31.d, p7/m, z31.d
 // CHECK-INST: frintx	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xc6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf c6 65 <unknown>
 
 
@@ -32,23 +34,23 @@ frintx   z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 frintx   z4.d, p7/m, z31.d
 // CHECK-INST: frintx	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c6 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 frintx   z4.d, p7/m, z31.d
 // CHECK-INST: frintx	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c6 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frintz.s b/llvm/test/MC/AArch64/SVE/frintz.s
index 2499f34f667da..634c4a2c95e43 100644
--- a/llvm/test/MC/AArch64/SVE/frintz.s
+++ b/llvm/test/MC/AArch64/SVE/frintz.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 frintz   z31.h, p7/m, z31.h
 // CHECK-INST: frintz	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x43,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 43 65 <unknown>
 
 frintz   z31.s, p7/m, z31.s
 // CHECK-INST: frintz	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x83,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 83 65 <unknown>
 
 frintz   z31.d, p7/m, z31.d
 // CHECK-INST: frintz	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xc3,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf c3 65 <unknown>
 
 
@@ -32,23 +34,23 @@ frintz   z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 frintz   z4.d, p7/m, z31.d
 // CHECK-INST: frintz	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc3,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c3 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 frintz   z4.d, p7/m, z31.d
 // CHECK-INST: frintz	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xc3,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf c3 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frsqrte.s b/llvm/test/MC/AArch64/SVE/frsqrte.s
index 0fd3da1aa966f..b0771fd85c6c3 100644
--- a/llvm/test/MC/AArch64/SVE/frsqrte.s
+++ b/llvm/test/MC/AArch64/SVE/frsqrte.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 frsqrte  z0.h, z31.h
 // CHECK-INST: frsqrte	z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x33,0x4f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 33 4f 65 <unknown>
 
 frsqrte  z0.s, z31.s
 // CHECK-INST: frsqrte	z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x33,0x8f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 33 8f 65 <unknown>
 
 frsqrte  z0.d, z31.d
 // CHECK-INST: frsqrte	z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x33,0xcf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 33 cf 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/frsqrts.s b/llvm/test/MC/AArch64/SVE/frsqrts.s
index 230c531e19eca..58232b842dc21 100644
--- a/llvm/test/MC/AArch64/SVE/frsqrts.s
+++ b/llvm/test/MC/AArch64/SVE/frsqrts.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 frsqrts z0.h, z1.h, z31.h
 // CHECK-INST: frsqrts	z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x1c,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 1c 5f 65 <unknown>
 
 frsqrts z0.s, z1.s, z31.s
 // CHECK-INST: frsqrts	z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x1c,0x9f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 1c 9f 65 <unknown>
 
 frsqrts z0.d, z1.d, z31.d
 // CHECK-INST: frsqrts	z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x1c,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 1c df 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fscale.s b/llvm/test/MC/AArch64/SVE/fscale.s
index 4d19be7f7b3cb..6d03003ae062a 100644
--- a/llvm/test/MC/AArch64/SVE/fscale.s
+++ b/llvm/test/MC/AArch64/SVE/fscale.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fscale  z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fscale	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x49,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 49 65 <unknown>
 
 fscale  z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fscale	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x89,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 89 65 <unknown>
 
 fscale  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fscale	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc9,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c9 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fscale  z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fscale  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fscale	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc9,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c9 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fscale  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fscale	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc9,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c9 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fsqrt.s b/llvm/test/MC/AArch64/SVE/fsqrt.s
index 98e2ff55e7869..e453f42fee6ad 100644
--- a/llvm/test/MC/AArch64/SVE/fsqrt.s
+++ b/llvm/test/MC/AArch64/SVE/fsqrt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 fsqrt    z31.h, p7/m, z31.h
 // CHECK-INST: fsqrt	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x4d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 4d 65 <unknown>
 
 fsqrt    z31.s, p7/m, z31.s
 // CHECK-INST: fsqrt	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x8d,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 8d 65 <unknown>
 
 fsqrt    z31.d, p7/m, z31.d
 // CHECK-INST: fsqrt	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xcd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf cd 65 <unknown>
 
 
@@ -32,23 +34,23 @@ fsqrt    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 fsqrt    z4.d, p7/m, z31.d
 // CHECK-INST: fsqrt	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xcd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf cd 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 fsqrt    z4.d, p7/m, z31.d
 // CHECK-INST: fsqrt	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xcd,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf cd 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fsub.s b/llvm/test/MC/AArch64/SVE/fsub.s
index d891d75da7c86..9f8fbe53c6380 100644
--- a/llvm/test/MC/AArch64/SVE/fsub.s
+++ b/llvm/test/MC/AArch64/SVE/fsub.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,85 +12,85 @@
 fsub    z0.h, p0/m, z0.h, #0.500000000000000
 // CHECK-INST: fsub	z0.h, p0/m, z0.h, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x59,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 59 65 <unknown>
 
 fsub    z0.h, p0/m, z0.h, #0.5
 // CHECK-INST: fsub	z0.h, p0/m, z0.h, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x59,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 59 65 <unknown>
 
 fsub    z0.s, p0/m, z0.s, #0.5
 // CHECK-INST: fsub	z0.s, p0/m, z0.s, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x99,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 99 65 <unknown>
 
 fsub    z0.d, p0/m, z0.d, #0.5
 // CHECK-INST: fsub	z0.d, p0/m, z0.d, #0.5
 // CHECK-ENCODING: [0x00,0x80,0xd9,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 d9 65 <unknown>
 
 fsub    z31.h, p7/m, z31.h, #1.000000000000000
 // CHECK-INST: fsub	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x59,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 59 65 <unknown>
 
 fsub    z31.h, p7/m, z31.h, #1.0
 // CHECK-INST: fsub	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x59,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 59 65 <unknown>
 
 fsub    z31.s, p7/m, z31.s, #1.0
 // CHECK-INST: fsub	z31.s, p7/m, z31.s, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x99,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 99 65 <unknown>
 
 fsub    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fsub	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xd9,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c d9 65 <unknown>
 
 fsub    z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fsub	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x41,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 41 65 <unknown>
 
 fsub    z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fsub	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x81,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 81 65 <unknown>
 
 fsub    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fsub	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c1 65 <unknown>
 
 fsub z0.h, z1.h, z31.h
 // CHECK-INST: fsub	z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x04,0x5f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 5f 65 <unknown>
 
 fsub z0.s, z1.s, z31.s
 // CHECK-INST: fsub	z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x04,0x9f,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 9f 65 <unknown>
 
 fsub z0.d, z1.d, z31.d
 // CHECK-INST: fsub	z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x04,0xdf,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 df 65 <unknown>
 
 
@@ -98,47 +100,47 @@ fsub z0.d, z1.d, z31.d
 movprfx z31.d, p7/z, z6.d
 // CHECK-INST: movprfx	z31.d, p7/z, z6.d
 // CHECK-ENCODING: [0xdf,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 3c d0 04 <unknown>
 
 fsub    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fsub	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xd9,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c d9 65 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fsub    z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fsub	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xd9,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c d9 65 <unknown>
 
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fsub    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fsub	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c1 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fsub    z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fsub	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c1 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/fsubr.s b/llvm/test/MC/AArch64/SVE/fsubr.s
index 3bcceabb88740..e7a24dce78def 100644
--- a/llvm/test/MC/AArch64/SVE/fsubr.s
+++ b/llvm/test/MC/AArch64/SVE/fsubr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,67 +12,67 @@
 fsubr   z0.h, p0/m, z0.h, #0.500000000000000
 // CHECK-INST: fsubr	z0.h, p0/m, z0.h, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x5b,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5b 65 <unknown>
 
 fsubr   z0.h, p0/m, z0.h, #0.5
 // CHECK-INST: fsubr	z0.h, p0/m, z0.h, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x5b,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 5b 65 <unknown>
 
 fsubr   z0.s, p0/m, z0.s, #0.5
 // CHECK-INST: fsubr	z0.s, p0/m, z0.s, #0.5
 // CHECK-ENCODING: [0x00,0x80,0x9b,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 9b 65 <unknown>
 
 fsubr   z0.d, p0/m, z0.d, #0.5
 // CHECK-INST: fsubr	z0.d, p0/m, z0.d, #0.5
 // CHECK-ENCODING: [0x00,0x80,0xdb,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 db 65 <unknown>
 
 fsubr   z31.h, p7/m, z31.h, #1.000000000000000
 // CHECK-INST: fsubr	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5b,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5b 65 <unknown>
 
 fsubr   z31.h, p7/m, z31.h, #1.0
 // CHECK-INST: fsubr	z31.h, p7/m, z31.h, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x5b,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 5b 65 <unknown>
 
 fsubr   z31.s, p7/m, z31.s, #1.0
 // CHECK-INST: fsubr	z31.s, p7/m, z31.s, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0x9b,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c 9b 65 <unknown>
 
 fsubr   z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fsubr	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdb,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c db 65 <unknown>
 
 fsubr   z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: fsubr	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x43,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 43 65 <unknown>
 
 fsubr   z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: fsubr	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0x83,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 83 65 <unknown>
 
 fsubr   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fsubr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc3,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c3 65 <unknown>
 
 
@@ -80,47 +82,47 @@ fsubr   z0.d, p7/m, z0.d, z31.d
 movprfx z31.d, p7/z, z6.d
 // CHECK-INST: movprfx	z31.d, p7/z, z6.d
 // CHECK-ENCODING: [0xdf,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 3c d0 04 <unknown>
 
 fsubr   z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fsubr	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdb,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c db 65 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fsubr   z31.d, p7/m, z31.d, #1.0
 // CHECK-INST: fsubr	z31.d, p7/m, z31.d, #1.0
 // CHECK-ENCODING: [0x3f,0x9c,0xdb,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 3f 9c db 65 <unknown>
 
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 fsubr   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fsubr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc3,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c3 65 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 fsubr   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: fsubr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xc3,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f c3 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ftmad.s b/llvm/test/MC/AArch64/SVE/ftmad.s
index d5b44de595543..fc6f5c1f22c8a 100644
--- a/llvm/test/MC/AArch64/SVE/ftmad.s
+++ b/llvm/test/MC/AArch64/SVE/ftmad.s
@@ -32,7 +32,7 @@ ftmad z0.d, z0.d, z31.d, #7
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 ftmad z0.d, z0.d, z31.d, #7

diff  --git a/llvm/test/MC/AArch64/SVE/ftsmul.s b/llvm/test/MC/AArch64/SVE/ftsmul.s
index c0ba4d7cb291c..5af0438076edc 100644
--- a/llvm/test/MC/AArch64/SVE/ftsmul.s
+++ b/llvm/test/MC/AArch64/SVE/ftsmul.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ftssel.s b/llvm/test/MC/AArch64/SVE/ftssel.s
index db59001d66109..c463c035eb0ea 100644
--- a/llvm/test/MC/AArch64/SVE/ftssel.s
+++ b/llvm/test/MC/AArch64/SVE/ftssel.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/incb.s b/llvm/test/MC/AArch64/SVE/incb.s
index f2397d854c6c3..27b347a31f25c 100644
--- a/llvm/test/MC/AArch64/SVE/incb.s
+++ b/llvm/test/MC/AArch64/SVE/incb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,197 +12,197 @@
 incb    x0
 // CHECK-INST: incb    x0
 // CHECK-ENCODING: [0xe0,0xe3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 30 04 <unknown>
 
 incb    x0, all
 // CHECK-INST: incb    x0
 // CHECK-ENCODING: [0xe0,0xe3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 30 04 <unknown>
 
 incb    x0, all, mul #1
 // CHECK-INST: incb    x0
 // CHECK-ENCODING: [0xe0,0xe3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 30 04 <unknown>
 
 incb    x0, all, mul #16
 // CHECK-INST: incb    x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe3,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 3f 04 <unknown>
 
 incb    x0, pow2
 // CHECK-INST: incb    x0, pow2
 // CHECK-ENCODING: [0x00,0xe0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 30 04 <unknown>
 
 incb    x0, vl1
 // CHECK-INST: incb    x0, vl1
 // CHECK-ENCODING: [0x20,0xe0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e0 30 04 <unknown>
 
 incb    x0, vl2
 // CHECK-INST: incb    x0, vl2
 // CHECK-ENCODING: [0x40,0xe0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e0 30 04 <unknown>
 
 incb    x0, vl3
 // CHECK-INST: incb    x0, vl3
 // CHECK-ENCODING: [0x60,0xe0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e0 30 04 <unknown>
 
 incb    x0, vl4
 // CHECK-INST: incb    x0, vl4
 // CHECK-ENCODING: [0x80,0xe0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e0 30 04 <unknown>
 
 incb    x0, vl5
 // CHECK-INST: incb    x0, vl5
 // CHECK-ENCODING: [0xa0,0xe0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e0 30 04 <unknown>
 
 incb    x0, vl6
 // CHECK-INST: incb    x0, vl6
 // CHECK-ENCODING: [0xc0,0xe0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e0 30 04 <unknown>
 
 incb    x0, vl7
 // CHECK-INST: incb    x0, vl7
 // CHECK-ENCODING: [0xe0,0xe0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e0 30 04 <unknown>
 
 incb    x0, vl8
 // CHECK-INST: incb    x0, vl8
 // CHECK-ENCODING: [0x00,0xe1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e1 30 04 <unknown>
 
 incb    x0, vl16
 // CHECK-INST: incb    x0, vl16
 // CHECK-ENCODING: [0x20,0xe1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e1 30 04 <unknown>
 
 incb    x0, vl32
 // CHECK-INST: incb    x0, vl32
 // CHECK-ENCODING: [0x40,0xe1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e1 30 04 <unknown>
 
 incb    x0, vl64
 // CHECK-INST: incb    x0, vl64
 // CHECK-ENCODING: [0x60,0xe1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e1 30 04 <unknown>
 
 incb    x0, vl128
 // CHECK-INST: incb    x0, vl128
 // CHECK-ENCODING: [0x80,0xe1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e1 30 04 <unknown>
 
 incb    x0, vl256
 // CHECK-INST: incb    x0, vl256
 // CHECK-ENCODING: [0xa0,0xe1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e1 30 04 <unknown>
 
 incb    x0, #14
 // CHECK-INST: incb    x0, #14
 // CHECK-ENCODING: [0xc0,0xe1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e1 30 04 <unknown>
 
 incb    x0, #15
 // CHECK-INST: incb    x0, #15
 // CHECK-ENCODING: [0xe0,0xe1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e1 30 04 <unknown>
 
 incb    x0, #16
 // CHECK-INST: incb    x0, #16
 // CHECK-ENCODING: [0x00,0xe2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e2 30 04 <unknown>
 
 incb    x0, #17
 // CHECK-INST: incb    x0, #17
 // CHECK-ENCODING: [0x20,0xe2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e2 30 04 <unknown>
 
 incb    x0, #18
 // CHECK-INST: incb    x0, #18
 // CHECK-ENCODING: [0x40,0xe2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e2 30 04 <unknown>
 
 incb    x0, #19
 // CHECK-INST: incb    x0, #19
 // CHECK-ENCODING: [0x60,0xe2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e2 30 04 <unknown>
 
 incb    x0, #20
 // CHECK-INST: incb    x0, #20
 // CHECK-ENCODING: [0x80,0xe2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e2 30 04 <unknown>
 
 incb    x0, #21
 // CHECK-INST: incb    x0, #21
 // CHECK-ENCODING: [0xa0,0xe2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e2 30 04 <unknown>
 
 incb    x0, #22
 // CHECK-INST: incb    x0, #22
 // CHECK-ENCODING: [0xc0,0xe2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e2 30 04 <unknown>
 
 incb    x0, #23
 // CHECK-INST: incb    x0, #23
 // CHECK-ENCODING: [0xe0,0xe2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e2 30 04 <unknown>
 
 incb    x0, #24
 // CHECK-INST: incb    x0, #24
 // CHECK-ENCODING: [0x00,0xe3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e3 30 04 <unknown>
 
 incb    x0, #25
 // CHECK-INST: incb    x0, #25
 // CHECK-ENCODING: [0x20,0xe3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e3 30 04 <unknown>
 
 incb    x0, #26
 // CHECK-INST: incb    x0, #26
 // CHECK-ENCODING: [0x40,0xe3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e3 30 04 <unknown>
 
 incb    x0, #27
 // CHECK-INST: incb    x0, #27
 // CHECK-ENCODING: [0x60,0xe3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e3 30 04 <unknown>
 
 incb    x0, #28
 // CHECK-INST: incb    x0, #28
 // CHECK-ENCODING: [0x80,0xe3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e3 30 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/incd.s b/llvm/test/MC/AArch64/SVE/incd.s
index 84ac45b39effd..c2e3961453513 100644
--- a/llvm/test/MC/AArch64/SVE/incd.s
+++ b/llvm/test/MC/AArch64/SVE/incd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 incd    z0.d
 // CHECK-INST: incd    z0.d
 // CHECK-ENCODING: [0xe0,0xc3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 f0 04 <unknown>
 
 incd    z0.d, all
 // CHECK-INST: incd    z0.d
 // CHECK-ENCODING: [0xe0,0xc3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 f0 04 <unknown>
 
 incd    z0.d, all, mul #1
 // CHECK-INST: incd    z0.d
 // CHECK-ENCODING: [0xe0,0xc3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 f0 04 <unknown>
 
 incd    z0.d, all, mul #16
 // CHECK-INST: incd    z0.d, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc3,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 ff 04 <unknown>
 
 
@@ -43,25 +45,25 @@ incd    z0.d, all, mul #16
 incd    x0
 // CHECK-INST: incd    x0
 // CHECK-ENCODING: [0xe0,0xe3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 f0 04 <unknown>
 
 incd    x0, all
 // CHECK-INST: incd    x0
 // CHECK-ENCODING: [0xe0,0xe3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 f0 04 <unknown>
 
 incd    x0, all, mul #1
 // CHECK-INST: incd    x0
 // CHECK-ENCODING: [0xe0,0xe3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 f0 04 <unknown>
 
 incd    x0, all, mul #16
 // CHECK-INST: incd    x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe3,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 ff 04 <unknown>
 
 
@@ -72,97 +74,97 @@ incd    x0, all, mul #16
 incd    x0, pow2
 // CHECK-INST: incd    x0, pow2
 // CHECK-ENCODING: [0x00,0xe0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 f0 04 <unknown>
 
 incd    x0, vl1
 // CHECK-INST: incd    x0, vl1
 // CHECK-ENCODING: [0x20,0xe0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e0 f0 04 <unknown>
 
 incd    x0, vl2
 // CHECK-INST: incd    x0, vl2
 // CHECK-ENCODING: [0x40,0xe0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e0 f0 04 <unknown>
 
 incd    x0, vl3
 // CHECK-INST: incd    x0, vl3
 // CHECK-ENCODING: [0x60,0xe0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e0 f0 04 <unknown>
 
 incd    x0, vl4
 // CHECK-INST: incd    x0, vl4
 // CHECK-ENCODING: [0x80,0xe0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e0 f0 04 <unknown>
 
 incd    x0, vl5
 // CHECK-INST: incd    x0, vl5
 // CHECK-ENCODING: [0xa0,0xe0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e0 f0 04 <unknown>
 
 incd    x0, vl6
 // CHECK-INST: incd    x0, vl6
 // CHECK-ENCODING: [0xc0,0xe0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e0 f0 04 <unknown>
 
 incd    x0, vl7
 // CHECK-INST: incd    x0, vl7
 // CHECK-ENCODING: [0xe0,0xe0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e0 f0 04 <unknown>
 
 incd    x0, vl8
 // CHECK-INST: incd    x0, vl8
 // CHECK-ENCODING: [0x00,0xe1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e1 f0 04 <unknown>
 
 incd    x0, vl16
 // CHECK-INST: incd    x0, vl16
 // CHECK-ENCODING: [0x20,0xe1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e1 f0 04 <unknown>
 
 incd    x0, vl32
 // CHECK-INST: incd    x0, vl32
 // CHECK-ENCODING: [0x40,0xe1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e1 f0 04 <unknown>
 
 incd    x0, vl64
 // CHECK-INST: incd    x0, vl64
 // CHECK-ENCODING: [0x60,0xe1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e1 f0 04 <unknown>
 
 incd    x0, vl128
 // CHECK-INST: incd    x0, vl128
 // CHECK-ENCODING: [0x80,0xe1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e1 f0 04 <unknown>
 
 incd    x0, vl256
 // CHECK-INST: incd    x0, vl256
 // CHECK-ENCODING: [0xa0,0xe1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e1 f0 04 <unknown>
 
 incd    x0, #14
 // CHECK-INST: incd    x0, #14
 // CHECK-ENCODING: [0xc0,0xe1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e1 f0 04 <unknown>
 
 incd    x0, #28
 // CHECK-INST: incd    x0, #28
 // CHECK-ENCODING: [0x80,0xe3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e3 f0 04 <unknown>
 
 
@@ -172,35 +174,35 @@ incd    x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 incd    z0.d
 // CHECK-INST: incd	z0.d
 // CHECK-ENCODING: [0xe0,0xc3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 f0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 incd    z0.d, all, mul #16
 // CHECK-INST: incd	z0.d, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc3,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 ff 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 incd    z0.d, all
 // CHECK-INST: incd	z0.d
 // CHECK-ENCODING: [0xe0,0xc3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 f0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/inch.s b/llvm/test/MC/AArch64/SVE/inch.s
index 76edf37e2b54c..e273f1455d668 100644
--- a/llvm/test/MC/AArch64/SVE/inch.s
+++ b/llvm/test/MC/AArch64/SVE/inch.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 inch    z0.h
 // CHECK-INST: inch    z0.h
 // CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 70 04 <unknown>
 
 inch    z0.h, all
 // CHECK-INST: inch    z0.h
 // CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 70 04 <unknown>
 
 inch    z0.h, all, mul #1
 // CHECK-INST: inch    z0.h
 // CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 70 04 <unknown>
 
 inch    z0.h, all, mul #16
 // CHECK-INST: inch    z0.h, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc3,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 7f 04 <unknown>
 
 
@@ -43,25 +45,25 @@ inch    z0.h, all, mul #16
 inch    x0
 // CHECK-INST: inch    x0
 // CHECK-ENCODING: [0xe0,0xe3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 70 04 <unknown>
 
 inch    x0, all
 // CHECK-INST: inch    x0
 // CHECK-ENCODING: [0xe0,0xe3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 70 04 <unknown>
 
 inch    x0, all, mul #1
 // CHECK-INST: inch    x0
 // CHECK-ENCODING: [0xe0,0xe3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 70 04 <unknown>
 
 inch    x0, all, mul #16
 // CHECK-INST: inch    x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe3,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 7f 04 <unknown>
 
 
@@ -72,97 +74,97 @@ inch    x0, all, mul #16
 inch    x0, pow2
 // CHECK-INST: inch    x0, pow2
 // CHECK-ENCODING: [0x00,0xe0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 70 04 <unknown>
 
 inch    x0, vl1
 // CHECK-INST: inch    x0, vl1
 // CHECK-ENCODING: [0x20,0xe0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e0 70 04 <unknown>
 
 inch    x0, vl2
 // CHECK-INST: inch    x0, vl2
 // CHECK-ENCODING: [0x40,0xe0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e0 70 04 <unknown>
 
 inch    x0, vl3
 // CHECK-INST: inch    x0, vl3
 // CHECK-ENCODING: [0x60,0xe0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e0 70 04 <unknown>
 
 inch    x0, vl4
 // CHECK-INST: inch    x0, vl4
 // CHECK-ENCODING: [0x80,0xe0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e0 70 04 <unknown>
 
 inch    x0, vl5
 // CHECK-INST: inch    x0, vl5
 // CHECK-ENCODING: [0xa0,0xe0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e0 70 04 <unknown>
 
 inch    x0, vl6
 // CHECK-INST: inch    x0, vl6
 // CHECK-ENCODING: [0xc0,0xe0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e0 70 04 <unknown>
 
 inch    x0, vl7
 // CHECK-INST: inch    x0, vl7
 // CHECK-ENCODING: [0xe0,0xe0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e0 70 04 <unknown>
 
 inch    x0, vl8
 // CHECK-INST: inch    x0, vl8
 // CHECK-ENCODING: [0x00,0xe1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e1 70 04 <unknown>
 
 inch    x0, vl16
 // CHECK-INST: inch    x0, vl16
 // CHECK-ENCODING: [0x20,0xe1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e1 70 04 <unknown>
 
 inch    x0, vl32
 // CHECK-INST: inch    x0, vl32
 // CHECK-ENCODING: [0x40,0xe1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e1 70 04 <unknown>
 
 inch    x0, vl64
 // CHECK-INST: inch    x0, vl64
 // CHECK-ENCODING: [0x60,0xe1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e1 70 04 <unknown>
 
 inch    x0, vl128
 // CHECK-INST: inch    x0, vl128
 // CHECK-ENCODING: [0x80,0xe1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e1 70 04 <unknown>
 
 inch    x0, vl256
 // CHECK-INST: inch    x0, vl256
 // CHECK-ENCODING: [0xa0,0xe1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e1 70 04 <unknown>
 
 inch    x0, #14
 // CHECK-INST: inch    x0, #14
 // CHECK-ENCODING: [0xc0,0xe1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e1 70 04 <unknown>
 
 inch    x0, #28
 // CHECK-INST: inch    x0, #28
 // CHECK-ENCODING: [0x80,0xe3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e3 70 04 <unknown>
 
 
@@ -172,35 +174,35 @@ inch    x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 inch    z0.h
 // CHECK-INST: inch	z0.h
 // CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 70 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 inch    z0.h, all, mul #16
 // CHECK-INST: inch	z0.h, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc3,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 7f 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 inch    z0.h, all
 // CHECK-INST: inch	z0.h
 // CHECK-ENCODING: [0xe0,0xc3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 70 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/incp.s b/llvm/test/MC/AArch64/SVE/incp.s
index f6056478f2e29..21707711e157b 100644
--- a/llvm/test/MC/AArch64/SVE/incp.s
+++ b/llvm/test/MC/AArch64/SVE/incp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,85 +12,85 @@
 incp    x0, p0.b
 // CHECK-INST: incp    x0, p0.b
 // CHECK-ENCODING: [0x00,0x88,0x2c,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 2c 25 <unknown>
 
 incp    x0, p0.h
 // CHECK-INST: incp    x0, p0.h
 // CHECK-ENCODING: [0x00,0x88,0x6c,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 6c 25 <unknown>
 
 incp    x0, p0.s
 // CHECK-INST: incp    x0, p0.s
 // CHECK-ENCODING: [0x00,0x88,0xac,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 ac 25 <unknown>
 
 incp    x0, p0.d
 // CHECK-INST: incp    x0, p0.d
 // CHECK-ENCODING: [0x00,0x88,0xec,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 ec 25 <unknown>
 
 incp    xzr, p15.b
 // CHECK-INST: incp    xzr, p15.b
 // CHECK-ENCODING: [0xff,0x89,0x2c,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 2c 25 <unknown>
 
 incp    xzr, p15.h
 // CHECK-INST: incp    xzr, p15.h
 // CHECK-ENCODING: [0xff,0x89,0x6c,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 6c 25 <unknown>
 
 incp    xzr, p15.s
 // CHECK-INST: incp    xzr, p15.s
 // CHECK-ENCODING: [0xff,0x89,0xac,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 ac 25 <unknown>
 
 incp    xzr, p15.d
 // CHECK-INST: incp    xzr, p15.d
 // CHECK-ENCODING: [0xff,0x89,0xec,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 ec 25 <unknown>
 
 incp    z31.h, p15
 // CHECK-INST: incp    z31.h, p15.h
 // CHECK-ENCODING: [0xff,0x81,0x6c,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 6c 25 <unknown>
 
 incp    z31.h, p15.h
 // CHECK-INST: incp    z31.h, p15.h
 // CHECK-ENCODING: [0xff,0x81,0x6c,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 6c 25 <unknown>
 
 incp    z31.s, p15
 // CHECK-INST: incp    z31.s, p15.s
 // CHECK-ENCODING: [0xff,0x81,0xac,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ac 25 <unknown>
 
 incp    z31.s, p15.s
 // CHECK-INST: incp    z31.s, p15.s
 // CHECK-ENCODING: [0xff,0x81,0xac,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ac 25 <unknown>
 
 incp    z31.d, p15
 // CHECK-INST: incp    z31.d, p15.d
 // CHECK-ENCODING: [0xff,0x81,0xec,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ec 25 <unknown>
 
 incp    z31.d, p15.d
 // CHECK-INST: incp    z31.d, p15.d
 // CHECK-ENCODING: [0xff,0x81,0xec,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ec 25 <unknown>
 
 
@@ -98,11 +100,11 @@ incp    z31.d, p15.d
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 incp    z31.d, p15.d
 // CHECK-INST: incp	z31.d, p15.d
 // CHECK-ENCODING: [0xff,0x81,0xec,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 ec 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/incw.s b/llvm/test/MC/AArch64/SVE/incw.s
index eb6ec3e3cd16b..34285f172e485 100644
--- a/llvm/test/MC/AArch64/SVE/incw.s
+++ b/llvm/test/MC/AArch64/SVE/incw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 incw    z0.s
 // CHECK-INST: incw    z0.s
 // CHECK-ENCODING: [0xe0,0xc3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 b0 04 <unknown>
 
 incw    z0.s, all
 // CHECK-INST: incw    z0.s
 // CHECK-ENCODING: [0xe0,0xc3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 b0 04 <unknown>
 
 incw    z0.s, all, mul #1
 // CHECK-INST: incw    z0.s
 // CHECK-ENCODING: [0xe0,0xc3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 b0 04 <unknown>
 
 incw    z0.s, all, mul #16
 // CHECK-INST: incw    z0.s, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc3,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 bf 04 <unknown>
 
 
@@ -43,25 +45,25 @@ incw    z0.s, all, mul #16
 incw    x0
 // CHECK-INST: incw    x0
 // CHECK-ENCODING: [0xe0,0xe3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 b0 04 <unknown>
 
 incw    x0, all
 // CHECK-INST: incw    x0
 // CHECK-ENCODING: [0xe0,0xe3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 b0 04 <unknown>
 
 incw    x0, all, mul #1
 // CHECK-INST: incw    x0
 // CHECK-ENCODING: [0xe0,0xe3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 b0 04 <unknown>
 
 incw    x0, all, mul #16
 // CHECK-INST: incw    x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xe3,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e3 bf 04 <unknown>
 
 
@@ -73,97 +75,97 @@ incw    x0, all, mul #16
 incw    x0, pow2
 // CHECK-INST: incw    x0, pow2
 // CHECK-ENCODING: [0x00,0xe0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 b0 04 <unknown>
 
 incw    x0, vl1
 // CHECK-INST: incw    x0, vl1
 // CHECK-ENCODING: [0x20,0xe0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e0 b0 04 <unknown>
 
 incw    x0, vl2
 // CHECK-INST: incw    x0, vl2
 // CHECK-ENCODING: [0x40,0xe0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e0 b0 04 <unknown>
 
 incw    x0, vl3
 // CHECK-INST: incw    x0, vl3
 // CHECK-ENCODING: [0x60,0xe0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e0 b0 04 <unknown>
 
 incw    x0, vl4
 // CHECK-INST: incw    x0, vl4
 // CHECK-ENCODING: [0x80,0xe0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e0 b0 04 <unknown>
 
 incw    x0, vl5
 // CHECK-INST: incw    x0, vl5
 // CHECK-ENCODING: [0xa0,0xe0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e0 b0 04 <unknown>
 
 incw    x0, vl6
 // CHECK-INST: incw    x0, vl6
 // CHECK-ENCODING: [0xc0,0xe0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e0 b0 04 <unknown>
 
 incw    x0, vl7
 // CHECK-INST: incw    x0, vl7
 // CHECK-ENCODING: [0xe0,0xe0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 e0 b0 04 <unknown>
 
 incw    x0, vl8
 // CHECK-INST: incw    x0, vl8
 // CHECK-ENCODING: [0x00,0xe1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e1 b0 04 <unknown>
 
 incw    x0, vl16
 // CHECK-INST: incw    x0, vl16
 // CHECK-ENCODING: [0x20,0xe1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 e1 b0 04 <unknown>
 
 incw    x0, vl32
 // CHECK-INST: incw    x0, vl32
 // CHECK-ENCODING: [0x40,0xe1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 e1 b0 04 <unknown>
 
 incw    x0, vl64
 // CHECK-INST: incw    x0, vl64
 // CHECK-ENCODING: [0x60,0xe1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 e1 b0 04 <unknown>
 
 incw    x0, vl128
 // CHECK-INST: incw    x0, vl128
 // CHECK-ENCODING: [0x80,0xe1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e1 b0 04 <unknown>
 
 incw    x0, vl256
 // CHECK-INST: incw    x0, vl256
 // CHECK-ENCODING: [0xa0,0xe1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 e1 b0 04 <unknown>
 
 incw    x0, #14
 // CHECK-INST: incw    x0, #14
 // CHECK-ENCODING: [0xc0,0xe1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 e1 b0 04 <unknown>
 
 incw    x0, #28
 // CHECK-INST: incw    x0, #28
 // CHECK-ENCODING: [0x80,0xe3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 e3 b0 04 <unknown>
 
 
@@ -173,35 +175,35 @@ incw    x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 incw    z0.s
 // CHECK-INST: incw	z0.s
 // CHECK-ENCODING: [0xe0,0xc3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 b0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 incw    z0.s, all, mul #16
 // CHECK-INST: incw	z0.s, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc3,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 bf 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 incw    z0.s, all
 // CHECK-INST: incw	z0.s
 // CHECK-ENCODING: [0xe0,0xc3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 b0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/index.s b/llvm/test/MC/AArch64/SVE/index.s
index f03f4ac0f0f6e..10723e786d792 100644
--- a/llvm/test/MC/AArch64/SVE/index.s
+++ b/llvm/test/MC/AArch64/SVE/index.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -13,49 +15,49 @@
 index   z0.b, #0, #0
 // CHECK-INST: index   z0.b, #0, #0
 // CHECK-ENCODING: [0x00,0x40,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 20 04 <unknown>
 
 index   z31.b, #-1, #-1
 // CHECK-INST: index   z31.b, #-1, #-1
 // CHECK-ENCODING: [0xff,0x43,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 43 3f 04 <unknown>
 
 index   z0.h, #0, #0
 // CHECK-INST: index   z0.h, #0, #0
 // CHECK-ENCODING: [0x00,0x40,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 60 04 <unknown>
 
 index   z31.h, #-1, #-1
 // CHECK-INST: index   z31.h, #-1, #-1
 // CHECK-ENCODING: [0xff,0x43,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 43 7f 04 <unknown>
 
 index   z0.s, #0, #0
 // CHECK-INST: index   z0.s, #0, #0
 // CHECK-ENCODING: [0x00,0x40,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 a0 04 <unknown>
 
 index   z31.s, #-1, #-1
 // CHECK-INST: index   z31.s, #-1, #-1
 // CHECK-ENCODING: [0xff,0x43,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 43 bf 04 <unknown>
 
 index   z0.d, #0, #0
 // CHECK-INST: index   z0.d, #0, #0
 // CHECK-ENCODING: [0x00,0x40,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 e0 04 <unknown>
 
 index   z31.d, #-1, #-1
 // CHECK-INST: index   z31.d, #-1, #-1
 // CHECK-ENCODING: [0xff,0x43,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 43 ff 04 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -64,49 +66,49 @@ index   z31.d, #-1, #-1
 index   z31.b, #-1, wzr
 // CHECK-INST: index   z31.b, #-1, wzr
 // CHECK-ENCODING: [0xff,0x4b,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 4b 3f 04 <unknown>
 
 index   z23.b, #13, w8
 // CHECK-INST: index   z23.b, #13, w8
 // CHECK-ENCODING: [0xb7,0x49,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 49 28 04 <unknown>
 
 index   z31.h, #-1, wzr
 // CHECK-INST: index   z31.h, #-1, wzr
 // CHECK-ENCODING: [0xff,0x4b,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 4b 7f 04 <unknown>
 
 index   z23.h, #13, w8
 // CHECK-INST: index   z23.h, #13, w8
 // CHECK-ENCODING: [0xb7,0x49,0x68,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 49 68 04 <unknown>
 
 index   z31.s, #-1, wzr
 // CHECK-INST: index   z31.s, #-1, wzr
 // CHECK-ENCODING: [0xff,0x4b,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 4b bf 04 <unknown>
 
 index   z23.s, #13, w8
 // CHECK-INST: index   z23.s, #13, w8
 // CHECK-ENCODING: [0xb7,0x49,0xa8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 49 a8 04 <unknown>
 
 index   z31.d, #-1, xzr
 // CHECK-INST: index   z31.d, #-1, xzr
 // CHECK-ENCODING: [0xff,0x4b,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 4b ff 04 <unknown>
 
 index   z23.d, #13, x8
 // CHECK-INST: index   z23.d, #13, x8
 // CHECK-ENCODING: [0xb7,0x49,0xe8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 49 e8 04 <unknown>
 
 
@@ -116,49 +118,49 @@ index   z23.d, #13, x8
 index   z31.b, wzr, #-1
 // CHECK-INST: index   z31.b, wzr, #-1
 // CHECK-ENCODING: [0xff,0x47,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 47 3f 04 <unknown>
 
 index   z23.b, w13, #8
 // CHECK-INST: index   z23.b, w13, #8
 // CHECK-ENCODING: [0xb7,0x45,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 45 28 04 <unknown>
 
 index   z31.h, wzr, #-1
 // CHECK-INST: index   z31.h, wzr, #-1
 // CHECK-ENCODING: [0xff,0x47,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 47 7f 04 <unknown>
 
 index   z23.h, w13, #8
 // CHECK-INST: index   z23.h, w13, #8
 // CHECK-ENCODING: [0xb7,0x45,0x68,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 45 68 04 <unknown>
 
 index   z31.s, wzr, #-1
 // CHECK-INST: index   z31.s, wzr, #-1
 // CHECK-ENCODING: [0xff,0x47,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 47 bf 04 <unknown>
 
 index   z23.s, w13, #8
 // CHECK-INST: index   z23.s, w13, #8
 // CHECK-ENCODING: [0xb7,0x45,0xa8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 45 a8 04 <unknown>
 
 index   z31.d, xzr, #-1
 // CHECK-INST: index   z31.d, xzr, #-1
 // CHECK-ENCODING: [0xff,0x47,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 47 ff 04 <unknown>
 
 index   z23.d, x13, #8
 // CHECK-INST: index   z23.d, x13, #8
 // CHECK-ENCODING: [0xb7,0x45,0xe8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 45 e8 04 <unknown>
 
 
@@ -168,47 +170,47 @@ index   z23.d, x13, #8
 index   z31.b, wzr, wzr
 // CHECK-INST: index   z31.b, wzr, wzr
 // CHECK-ENCODING: [0xff,0x4f,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 4f 3f 04 <unknown>
 
 index   z21.b, w10, w21
 // CHECK-INST: index   z21.b, w10, w21
 // CHECK-ENCODING: [0x55,0x4d,0x35,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 4d 35 04 <unknown>
 
 index   z31.h, wzr, wzr
 // check-inst: index   z31.h, wzr, wzr
 // check-encoding: [0xff,0x4f,0x7f,0x04]
-// check-error: instruction requires: sve
+// check-error: instruction requires: streaming-sve or sve
 // check-unknown: ff 4f 7f 04 <unknown>
 
 index   z0.h, w0, w0
 // check-inst: index   z0.h, w0, w0
 // check-encoding: [0x00,0x4c,0x60,0x04]
-// check-error: instruction requires: sve
+// check-error: instruction requires: streaming-sve or sve
 // check-unknown: 00 4c 60 04 <unknown>
 
 index   z31.s, wzr, wzr
 // CHECK-INST: index   z31.s, wzr, wzr
 // CHECK-ENCODING: [0xff,0x4f,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 4f bf 04 <unknown>
 
 index   z21.s, w10, w21
 // CHECK-INST: index   z21.s, w10, w21
 // CHECK-ENCODING: [0x55,0x4d,0xb5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 4d b5 04 <unknown>
 
 index   z31.d, xzr, xzr
 // CHECK-INST: index   z31.d, xzr, xzr
 // CHECK-ENCODING: [0xff,0x4f,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 4f ff 04 <unknown>
 
 index   z21.d, x10, x21
 // CHECK-INST: index   z21.d, x10, x21
 // CHECK-ENCODING: [0x55,0x4d,0xf5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 4d f5 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/insr.s b/llvm/test/MC/AArch64/SVE/insr.s
index 8d77833e95631..3687a601985aa 100644
--- a/llvm/test/MC/AArch64/SVE/insr.s
+++ b/llvm/test/MC/AArch64/SVE/insr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,73 +12,73 @@
 insr    z0.b, w0
 // CHECK-INST: insr    z0.b, w0
 // CHECK-ENCODING: [0x00,0x38,0x24,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 24 05 <unknown>
 
 insr    z0.h, w0
 // CHECK-INST: insr    z0.h, w0
 // CHECK-ENCODING: [0x00,0x38,0x64,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 64 05 <unknown>
 
 insr    z0.s, w0
 // CHECK-INST: insr    z0.s, w0
 // CHECK-ENCODING: [0x00,0x38,0xa4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 a4 05 <unknown>
 
 insr    z0.d, x0
 // CHECK-INST: insr    z0.d, x0
 // CHECK-ENCODING: [0x00,0x38,0xe4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 e4 05 <unknown>
 
 insr    z31.b, wzr
 // CHECK-INST: insr    z31.b, wzr
 // CHECK-ENCODING: [0xff,0x3b,0x24,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 24 05 <unknown>
 
 insr    z31.h, wzr
 // CHECK-INST: insr    z31.h, wzr
 // CHECK-ENCODING: [0xff,0x3b,0x64,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 64 05 <unknown>
 
 insr    z31.s, wzr
 // CHECK-INST: insr    z31.s, wzr
 // CHECK-ENCODING: [0xff,0x3b,0xa4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b a4 05 <unknown>
 
 insr    z31.d, xzr
 // CHECK-INST: insr    z31.d, xzr
 // CHECK-ENCODING: [0xff,0x3b,0xe4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b e4 05 <unknown>
 
 insr    z31.b, b31
 // CHECK-INST: insr    z31.b, b31
 // CHECK-ENCODING: [0xff,0x3b,0x34,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 34 05 <unknown>
 
 insr    z31.h, h31
 // CHECK-INST: insr    z31.h, h31
 // CHECK-ENCODING: [0xff,0x3b,0x74,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 74 05 <unknown>
 
 insr    z31.s, s31
 // CHECK-INST: insr    z31.s, s31
 // CHECK-ENCODING: [0xff,0x3b,0xb4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b b4 05 <unknown>
 
 insr    z31.d, d31
 // CHECK-INST: insr    z31.d, d31
 // CHECK-ENCODING: [0xff,0x3b,0xf4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b f4 05 <unknown>
 
 
@@ -86,23 +88,23 @@ insr    z31.d, d31
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 insr    z31.d, xzr
 // CHECK-INST: insr	z31.d, xzr
 // CHECK-ENCODING: [0xff,0x3b,0xe4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b e4 05 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 insr    z4.d, d31
 // CHECK-INST: insr	z4.d, d31
 // CHECK-ENCODING: [0xe4,0x3b,0xf4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 3b f4 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/lasta.s b/llvm/test/MC/AArch64/SVE/lasta.s
index 7e8d962911f54..73b436fc7da9e 100644
--- a/llvm/test/MC/AArch64/SVE/lasta.s
+++ b/llvm/test/MC/AArch64/SVE/lasta.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,47 +12,47 @@
 lasta   w0, p7, z31.b
 // CHECK-INST: lasta	w0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0xbf,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf 20 05 <unknown>
 
 lasta   w0, p7, z31.h
 // CHECK-INST: lasta	w0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0xbf,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf 60 05 <unknown>
 
 lasta   w0, p7, z31.s
 // CHECK-INST: lasta	w0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0xbf,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf a0 05 <unknown>
 
 lasta   x0, p7, z31.d
 // CHECK-INST: lasta	x0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0xbf,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf e0 05 <unknown>
 
 lasta   b0, p7, z31.b
 // CHECK-INST: lasta	b0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x9f,0x22,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 22 05 <unknown>
 
 lasta   h0, p7, z31.h
 // CHECK-INST: lasta	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x62,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 62 05 <unknown>
 
 lasta   s0, p7, z31.s
 // CHECK-INST: lasta	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0xa2,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f a2 05 <unknown>
 
 lasta   d0, p7, z31.d
 // CHECK-INST: lasta	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe2,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e2 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/lastb.s b/llvm/test/MC/AArch64/SVE/lastb.s
index 6227f9f41c3fe..ae4e077d52750 100644
--- a/llvm/test/MC/AArch64/SVE/lastb.s
+++ b/llvm/test/MC/AArch64/SVE/lastb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,47 +12,47 @@
 lastb   w0, p7, z31.b
 // CHECK-INST: lastb	w0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0xbf,0x21,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf 21 05 <unknown>
 
 lastb   w0, p7, z31.h
 // CHECK-INST: lastb	w0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0xbf,0x61,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf 61 05 <unknown>
 
 lastb   w0, p7, z31.s
 // CHECK-INST: lastb	w0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0xbf,0xa1,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf a1 05 <unknown>
 
 lastb   x0, p7, z31.d
 // CHECK-INST: lastb	x0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0xbf,0xe1,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bf e1 05 <unknown>
 
 lastb   b0, p7, z31.b
 // CHECK-INST: lastb	b0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x9f,0x23,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 23 05 <unknown>
 
 lastb   h0, p7, z31.h
 // CHECK-INST: lastb	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x63,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 63 05 <unknown>
 
 lastb   s0, p7, z31.s
 // CHECK-INST: lastb	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0xa3,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f a3 05 <unknown>
 
 lastb   d0, p7, z31.d
 // CHECK-INST: lastb	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe3,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e3 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1b-sve-only.s b/llvm/test/MC/AArch64/SVE/ld1b-sve-only.s
new file mode 100644
index 0000000000000..2e6dd362d224f
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/ld1b-sve-only.s
@@ -0,0 +1,66 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+ld1b    { z0.s }, p0/z, [x0, z0.s, uxtw]
+// CHECK-INST: ld1b    { z0.s }, p0/z, [x0, z0.s, uxtw]
+// CHECK-ENCODING: [0x00,0x40,0x00,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 00 84 <unknown>
+
+ld1b    { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-INST: ld1b    { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-ENCODING: [0x00,0x40,0x40,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 40 84 <unknown>
+
+ld1b    { z31.d }, p7/z, [sp, z31.d]
+// CHECK-INST: ld1b    { z31.d }, p7/z, [sp, z31.d]
+// CHECK-ENCODING: [0xff,0xdf,0x5f,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df 5f c4 <unknown>
+
+ld1b    { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-INST: ld1b    { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-ENCODING: [0x55,0x55,0x15,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 55 15 c4 <unknown>
+
+ld1b    { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-INST: ld1b    { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-ENCODING: [0x55,0x55,0x55,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 55 55 c4 <unknown>
+
+ld1b    { z31.s }, p7/z, [z31.s, #31]
+// CHECK-INST: ld1b    { z31.s }, p7/z, [z31.s, #31]
+// CHECK-ENCODING: [0xff,0xdf,0x3f,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df 3f 84 <unknown>
+
+ld1b    { z0.s }, p0/z, [z0.s]
+// CHECK-INST: ld1b    { z0.s }, p0/z, [z0.s]
+// CHECK-ENCODING: [0x00,0xc0,0x20,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 20 84 <unknown>
+
+ld1b    { z31.d }, p7/z, [z31.d, #31]
+// CHECK-INST: ld1b    { z31.d }, p7/z, [z31.d, #31]
+// CHECK-ENCODING: [0xff,0xdf,0x3f,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df 3f c4 <unknown>
+
+ld1b    { z0.d }, p0/z, [z0.d]
+// CHECK-INST: ld1b    { z0.d }, p0/z, [z0.d]
+// CHECK-ENCODING: [0x00,0xc0,0x20,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 20 c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1b.s b/llvm/test/MC/AArch64/SVE/ld1b.s
index 88103f8367cbd..0dc1deaa249ac 100644
--- a/llvm/test/MC/AArch64/SVE/ld1b.s
+++ b/llvm/test/MC/AArch64/SVE/ld1b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,185 +12,131 @@
 ld1b     z0.b, p0/z, [x0]
 // CHECK-INST: ld1b     { z0.b }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 00 a4 <unknown>
 
 ld1b     z0.h, p0/z, [x0]
 // CHECK-INST: ld1b     { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x20,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 20 a4 <unknown>
 
 ld1b     z0.s, p0/z, [x0]
 // CHECK-INST: ld1b     { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x40,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 40 a4 <unknown>
 
 ld1b     z0.d, p0/z, [x0]
 // CHECK-INST: ld1b     { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x60,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 60 a4 <unknown>
 
 ld1b    { z0.b }, p0/z, [x0]
 // CHECK-INST: ld1b    { z0.b }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 00 a4 <unknown>
 
 ld1b    { z0.h }, p0/z, [x0]
 // CHECK-INST: ld1b    { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x20,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 20 a4 <unknown>
 
 ld1b    { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1b    { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x40,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 40 a4 <unknown>
 
 ld1b    { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1b    { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x60,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 60 a4 <unknown>
 
 ld1b    { z31.b }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1b    { z31.b }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x0f,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 0f a4 <unknown>
 
 ld1b    { z21.b }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1b    { z21.b }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x05,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 05 a4 <unknown>
 
 ld1b    { z31.h }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1b    { z31.h }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x2f,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 2f a4 <unknown>
 
 ld1b    { z21.h }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1b    { z21.h }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x25,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 25 a4 <unknown>
 
 ld1b    { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1b    { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x4f,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 4f a4 <unknown>
 
 ld1b    { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1b    { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x45,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 45 a4 <unknown>
 
 ld1b    { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1b    { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x6f,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 6f a4 <unknown>
 
 ld1b    { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1b    { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x65,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 65 a4 <unknown>
 
 ld1b    { z0.b }, p0/z, [sp, x0]
 // CHECK-INST: ld1b    { z0.b }, p0/z, [sp, x0]
 // CHECK-ENCODING: [0xe0,0x43,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 43 00 a4 <unknown>
 
 ld1b    { z0.b }, p0/z, [x0, x0]
 // CHECK-INST: ld1b    { z0.b }, p0/z, [x0, x0]
 // CHECK-ENCODING: [0x00,0x40,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 00 a4 <unknown>
 
 ld1b    { z0.b }, p0/z, [x0, x0, lsl #0]
 // CHECK-INST: ld1b    { z0.b }, p0/z, [x0, x0]
 // CHECK-ENCODING: [0x00,0x40,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 00 a4 <unknown>
 
 ld1b    { z5.h }, p3/z, [x17, x16]
 // CHECK-INST: ld1b    { z5.h }, p3/z, [x17, x16]
 // CHECK-ENCODING: [0x25,0x4e,0x30,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 4e 30 a4 <unknown>
 
 ld1b    { z21.s }, p5/z, [x10, x21]
 // CHECK-INST: ld1b    { z21.s }, p5/z, [x10, x21]
 // CHECK-ENCODING: [0x55,0x55,0x55,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 55 55 a4 <unknown>
 
 ld1b    { z23.d }, p3/z, [x13, x8]
 // CHECK-INST: ld1b    { z23.d }, p3/z, [x13, x8]
 // CHECK-ENCODING: [0xb7,0x4d,0x68,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 4d 68 a4 <unknown>
-
-ld1b    { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-INST: ld1b    { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-ENCODING: [0x00,0x40,0x00,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 00 84 <unknown>
-
-ld1b    { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-INST: ld1b    { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-ENCODING: [0x00,0x40,0x40,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 40 84 <unknown>
-
-ld1b    { z31.d }, p7/z, [sp, z31.d]
-// CHECK-INST: ld1b    { z31.d }, p7/z, [sp, z31.d]
-// CHECK-ENCODING: [0xff,0xdf,0x5f,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df 5f c4 <unknown>
-
-ld1b    { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-INST: ld1b    { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-ENCODING: [0x55,0x55,0x15,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 55 15 c4 <unknown>
-
-ld1b    { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-INST: ld1b    { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-ENCODING: [0x55,0x55,0x55,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 55 55 c4 <unknown>
-
-ld1b    { z31.s }, p7/z, [z31.s, #31]
-// CHECK-INST: ld1b    { z31.s }, p7/z, [z31.s, #31]
-// CHECK-ENCODING: [0xff,0xdf,0x3f,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df 3f 84 <unknown>
-
-ld1b    { z0.s }, p0/z, [z0.s]
-// CHECK-INST: ld1b    { z0.s }, p0/z, [z0.s]
-// CHECK-ENCODING: [0x00,0xc0,0x20,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 20 84 <unknown>
-
-ld1b    { z31.d }, p7/z, [z31.d, #31]
-// CHECK-INST: ld1b    { z31.d }, p7/z, [z31.d, #31]
-// CHECK-ENCODING: [0xff,0xdf,0x3f,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df 3f c4 <unknown>
-
-ld1b    { z0.d }, p0/z, [z0.d]
-// CHECK-INST: ld1b    { z0.d }, p0/z, [z0.d]
-// CHECK-ENCODING: [0x00,0xc0,0x20,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 20 c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1d-sve-only.s b/llvm/test/MC/AArch64/SVE/ld1d-sve-only.s
new file mode 100644
index 0000000000000..667ba2b98a095
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/ld1d-sve-only.s
@@ -0,0 +1,60 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+ld1d    { z31.d }, p7/z, [sp, z31.d]
+// CHECK-INST: ld1d    { z31.d }, p7/z, [sp, z31.d]
+// CHECK-ENCODING: [0xff,0xdf,0xdf,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df df c5 <unknown>
+
+ld1d    { z23.d }, p3/z, [x13, z8.d, lsl #3]
+// CHECK-INST: ld1d    { z23.d }, p3/z, [x13, z8.d, lsl #3]
+// CHECK-ENCODING: [0xb7,0xcd,0xe8,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: b7 cd e8 c5 <unknown>
+
+ld1d    { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-INST: ld1d    { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-ENCODING: [0x55,0x55,0x95,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 55 95 c5 <unknown>
+
+ld1d    { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-INST: ld1d    { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-ENCODING: [0x55,0x55,0xd5,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 55 d5 c5 <unknown>
+
+ld1d    { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+// CHECK-INST: ld1d    { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+// CHECK-ENCODING: [0x00,0x40,0xa0,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 a0 c5 <unknown>
+
+ld1d    { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+// CHECK-INST: ld1d    { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+// CHECK-ENCODING: [0x00,0x40,0xe0,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 e0 c5 <unknown>
+
+ld1d    { z31.d }, p7/z, [z31.d, #248]
+// CHECK-INST: ld1d    { z31.d }, p7/z, [z31.d, #248]
+// CHECK-ENCODING: [0xff,0xdf,0xbf,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df bf c5 <unknown>
+
+ld1d    { z0.d }, p0/z, [z0.d]
+// CHECK-INST: ld1d    { z0.d }, p0/z, [z0.d]
+// CHECK-ENCODING: [0x00,0xc0,0xa0,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 a0 c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1d.s b/llvm/test/MC/AArch64/SVE/ld1d.s
index 692b882ab4ea5..9289d9e9b17a2 100644
--- a/llvm/test/MC/AArch64/SVE/ld1d.s
+++ b/llvm/test/MC/AArch64/SVE/ld1d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,83 +12,35 @@
 ld1d     z0.d, p0/z, [x0]
 // CHECK-INST: ld1d     { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xe0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 e0 a5 <unknown>
 
 ld1d    { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1d    { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xe0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 e0 a5 <unknown>
 
 ld1d    { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1d    { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0xef,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf ef a5 <unknown>
 
 ld1d    { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1d    { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0xe5,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 e5 a5 <unknown>
 
 ld1d    { z23.d }, p3/z, [sp, x8, lsl #3]
 // CHECK-INST: ld1d    { z23.d }, p3/z, [sp, x8, lsl #3]
 // CHECK-ENCODING: [0xf7,0x4f,0xe8,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f7 4f e8 a5 <unknown>
 
 ld1d    { z23.d }, p3/z, [x13, x8, lsl #3]
 // CHECK-INST: ld1d    { z23.d }, p3/z, [x13, x8, lsl #3]
 // CHECK-ENCODING: [0xb7,0x4d,0xe8,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 4d e8 a5 <unknown>
-
-ld1d    { z31.d }, p7/z, [sp, z31.d]
-// CHECK-INST: ld1d    { z31.d }, p7/z, [sp, z31.d]
-// CHECK-ENCODING: [0xff,0xdf,0xdf,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df df c5 <unknown>
-
-ld1d    { z23.d }, p3/z, [x13, z8.d, lsl #3]
-// CHECK-INST: ld1d    { z23.d }, p3/z, [x13, z8.d, lsl #3]
-// CHECK-ENCODING: [0xb7,0xcd,0xe8,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: b7 cd e8 c5 <unknown>
-
-ld1d    { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-INST: ld1d    { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-ENCODING: [0x55,0x55,0x95,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 55 95 c5 <unknown>
-
-ld1d    { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-INST: ld1d    { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-ENCODING: [0x55,0x55,0xd5,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 55 d5 c5 <unknown>
-
-ld1d    { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-// CHECK-INST: ld1d    { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-// CHECK-ENCODING: [0x00,0x40,0xa0,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 a0 c5 <unknown>
-
-ld1d    { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-// CHECK-INST: ld1d    { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-// CHECK-ENCODING: [0x00,0x40,0xe0,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 e0 c5 <unknown>
-
-ld1d    { z31.d }, p7/z, [z31.d, #248]
-// CHECK-INST: ld1d    { z31.d }, p7/z, [z31.d, #248]
-// CHECK-ENCODING: [0xff,0xdf,0xbf,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df bf c5 <unknown>
-
-ld1d    { z0.d }, p0/z, [z0.d]
-// CHECK-INST: ld1d    { z0.d }, p0/z, [z0.d]
-// CHECK-ENCODING: [0x00,0xc0,0xa0,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 a0 c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1h-sve-only.s b/llvm/test/MC/AArch64/SVE/ld1h-sve-only.s
new file mode 100644
index 0000000000000..16215c768e57e
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/ld1h-sve-only.s
@@ -0,0 +1,96 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+ld1h    { z0.s }, p0/z, [x0, z0.s, uxtw]
+// CHECK-INST: ld1h    { z0.s }, p0/z, [x0, z0.s, uxtw]
+// CHECK-ENCODING: [0x00,0x40,0x80,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 80 84 <unknown>
+
+ld1h    { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-INST: ld1h    { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-ENCODING: [0x00,0x40,0xc0,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 c0 84 <unknown>
+
+ld1h    { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+// CHECK-INST: ld1h    { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+// CHECK-ENCODING: [0xff,0x5f,0xbf,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 5f bf 84 <unknown>
+
+ld1h    { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+// CHECK-INST: ld1h    { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+// CHECK-ENCODING: [0xff,0x5f,0xff,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 5f ff 84 <unknown>
+
+ld1h    { z31.d }, p7/z, [sp, z31.d]
+// CHECK-INST: ld1h    { z31.d }, p7/z, [sp, z31.d]
+// CHECK-ENCODING: [0xff,0xdf,0xdf,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df df c4 <unknown>
+
+ld1h    { z23.d }, p3/z, [x13, z8.d, lsl #1]
+// CHECK-INST: ld1h    { z23.d }, p3/z, [x13, z8.d, lsl #1]
+// CHECK-ENCODING: [0xb7,0xcd,0xe8,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: b7 cd e8 c4 <unknown>
+
+ld1h    { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-INST: ld1h    { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-ENCODING: [0x55,0x55,0x95,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 55 95 c4 <unknown>
+
+ld1h    { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-INST: ld1h    { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-ENCODING: [0x55,0x55,0xd5,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 55 d5 c4 <unknown>
+
+ld1h    { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+// CHECK-INST: ld1h    { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+// CHECK-ENCODING: [0x00,0x40,0xa0,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 a0 c4 <unknown>
+
+ld1h    { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+// CHECK-INST: ld1h    { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+// CHECK-ENCODING: [0x00,0x40,0xe0,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 e0 c4 <unknown>
+
+ld1h    { z31.s }, p7/z, [z31.s, #62]
+// CHECK-INST: ld1h    { z31.s }, p7/z, [z31.s, #62]
+// CHECK-ENCODING: [0xff,0xdf,0xbf,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df bf 84 <unknown>
+
+ld1h    { z0.s }, p0/z, [z0.s]
+// CHECK-INST: ld1h    { z0.s }, p0/z, [z0.s]
+// CHECK-ENCODING: [0x00,0xc0,0xa0,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 a0 84 <unknown>
+
+ld1h    { z31.d }, p7/z, [z31.d, #62]
+// CHECK-INST: ld1h    { z31.d }, p7/z, [z31.d, #62]
+// CHECK-ENCODING: [0xff,0xdf,0xbf,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df bf c4 <unknown>
+
+ld1h    { z0.d }, p0/z, [z0.d]
+// CHECK-INST: ld1h    { z0.d }, p0/z, [z0.d]
+// CHECK-ENCODING: [0x00,0xc0,0xa0,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 a0 c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1h.s b/llvm/test/MC/AArch64/SVE/ld1h.s
index f2e095efa1e4b..b7ec9a5ed9d01 100644
--- a/llvm/test/MC/AArch64/SVE/ld1h.s
+++ b/llvm/test/MC/AArch64/SVE/ld1h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,179 +12,95 @@
 ld1h     z0.h, p0/z, [x0]
 // CHECK-INST: ld1h     { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xa0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 a0 a4 <unknown>
 
 ld1h     z0.s, p0/z, [x0]
 // CHECK-INST: ld1h     { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xc0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 c0 a4 <unknown>
 
 ld1h     z0.d, p0/z, [x0]
 // CHECK-INST: ld1h     { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xe0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 e0 a4 <unknown>
 
 ld1h    { z0.h }, p0/z, [x0]
 // CHECK-INST: ld1h    { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xa0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 a0 a4 <unknown>
 
 ld1h    { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1h    { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xc0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 c0 a4 <unknown>
 
 ld1h    { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1h    { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xe0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 e0 a4 <unknown>
 
 ld1h    { z31.h }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1h    { z31.h }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0xaf,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf af a4 <unknown>
 
 ld1h    { z21.h }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1h    { z21.h }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0xa5,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 a5 a4 <unknown>
 
 ld1h    { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1h    { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0xcf,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf cf a4 <unknown>
 
 ld1h    { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1h    { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0xc5,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 c5 a4 <unknown>
 
 ld1h    { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1h    { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0xef,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf ef a4 <unknown>
 
 ld1h    { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1h    { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0xe5,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 e5 a4 <unknown>
 
 ld1h    { z5.h }, p3/z, [sp, x16, lsl #1]
 // CHECK-INST: ld1h    { z5.h }, p3/z, [sp, x16, lsl #1]
 // CHECK-ENCODING: [0xe5,0x4f,0xb0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 4f b0 a4 <unknown>
 
 ld1h    { z5.h }, p3/z, [x17, x16, lsl #1]
 // CHECK-INST: ld1h    { z5.h }, p3/z, [x17, x16, lsl #1]
 // CHECK-ENCODING: [0x25,0x4e,0xb0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 4e b0 a4 <unknown>
 
 ld1h    { z21.s }, p5/z, [x10, x21, lsl #1]
 // CHECK-INST: ld1h    { z21.s }, p5/z, [x10, x21, lsl #1]
 // CHECK-ENCODING: [0x55,0x55,0xd5,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 55 d5 a4 <unknown>
 
 ld1h    { z23.d }, p3/z, [x13, x8, lsl #1]
 // CHECK-INST: ld1h    { z23.d }, p3/z, [x13, x8, lsl #1]
 // CHECK-ENCODING: [0xb7,0x4d,0xe8,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 4d e8 a4 <unknown>
-
-ld1h    { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-INST: ld1h    { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-ENCODING: [0x00,0x40,0x80,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 80 84 <unknown>
-
-ld1h    { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-INST: ld1h    { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-ENCODING: [0x00,0x40,0xc0,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 c0 84 <unknown>
-
-ld1h    { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-// CHECK-INST: ld1h    { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-// CHECK-ENCODING: [0xff,0x5f,0xbf,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 5f bf 84 <unknown>
-
-ld1h    { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-// CHECK-INST: ld1h    { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-// CHECK-ENCODING: [0xff,0x5f,0xff,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 5f ff 84 <unknown>
-
-ld1h    { z31.d }, p7/z, [sp, z31.d]
-// CHECK-INST: ld1h    { z31.d }, p7/z, [sp, z31.d]
-// CHECK-ENCODING: [0xff,0xdf,0xdf,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df df c4 <unknown>
-
-ld1h    { z23.d }, p3/z, [x13, z8.d, lsl #1]
-// CHECK-INST: ld1h    { z23.d }, p3/z, [x13, z8.d, lsl #1]
-// CHECK-ENCODING: [0xb7,0xcd,0xe8,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: b7 cd e8 c4 <unknown>
-
-ld1h    { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-INST: ld1h    { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-ENCODING: [0x55,0x55,0x95,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 55 95 c4 <unknown>
-
-ld1h    { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-INST: ld1h    { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-ENCODING: [0x55,0x55,0xd5,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 55 d5 c4 <unknown>
-
-ld1h    { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-// CHECK-INST: ld1h    { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-// CHECK-ENCODING: [0x00,0x40,0xa0,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 a0 c4 <unknown>
-
-ld1h    { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-// CHECK-INST: ld1h    { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-// CHECK-ENCODING: [0x00,0x40,0xe0,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 e0 c4 <unknown>
-
-ld1h    { z31.s }, p7/z, [z31.s, #62]
-// CHECK-INST: ld1h    { z31.s }, p7/z, [z31.s, #62]
-// CHECK-ENCODING: [0xff,0xdf,0xbf,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df bf 84 <unknown>
-
-ld1h    { z0.s }, p0/z, [z0.s]
-// CHECK-INST: ld1h    { z0.s }, p0/z, [z0.s]
-// CHECK-ENCODING: [0x00,0xc0,0xa0,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 a0 84 <unknown>
-
-ld1h    { z31.d }, p7/z, [z31.d, #62]
-// CHECK-INST: ld1h    { z31.d }, p7/z, [z31.d, #62]
-// CHECK-ENCODING: [0xff,0xdf,0xbf,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df bf c4 <unknown>
-
-ld1h    { z0.d }, p0/z, [z0.d]
-// CHECK-INST: ld1h    { z0.d }, p0/z, [z0.d]
-// CHECK-ENCODING: [0x00,0xc0,0xa0,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 a0 c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rb.s b/llvm/test/MC/AArch64/SVE/ld1rb.s
index c8a4706aa92a1..59a8b25a5db87 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rb.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,47 +12,47 @@
 ld1rb   { z0.b }, p0/z, [x0]
 // CHECK-INST: ld1rb   { z0.b }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0x80,0x40,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 40 84 <unknown>
 
 ld1rb   { z0.h }, p0/z, [x0]
 // CHECK-INST: ld1rb   { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x40,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 40 84 <unknown>
 
 ld1rb   { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1rb   { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xc0,0x40,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 40 84 <unknown>
 
 ld1rb   { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1rb   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x40,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 40 84 <unknown>
 
 ld1rb   { z31.b }, p7/z, [sp, #63]
 // CHECK-INST: ld1rb   { z31.b }, p7/z, [sp, #63]
 // CHECK-ENCODING: [0xff,0x9f,0x7f,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 7f 84 <unknown>
 
 ld1rb   { z31.h }, p7/z, [sp, #63]
 // CHECK-INST: ld1rb   { z31.h }, p7/z, [sp, #63]
 // CHECK-ENCODING: [0xff,0xbf,0x7f,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 7f 84 <unknown>
 
 ld1rb   { z31.s }, p7/z, [sp, #63]
 // CHECK-INST: ld1rb   { z31.s }, p7/z, [sp, #63]
 // CHECK-ENCODING: [0xff,0xdf,0x7f,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 7f 84 <unknown>
 
 ld1rb   { z31.d }, p7/z, [sp, #63]
 // CHECK-INST: ld1rb   { z31.d }, p7/z, [sp, #63]
 // CHECK-ENCODING: [0xff,0xff,0x7f,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 7f 84 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rd.s b/llvm/test/MC/AArch64/SVE/ld1rd.s
index 2f3707eba01d3..793f36cd6d4bf 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rd.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 ld1rd   { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1rd   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 c0 85 <unknown>
 
 ld1rd   { z31.d }, p7/z, [sp, #504]
 // CHECK-INST: ld1rd   { z31.d }, p7/z, [sp, #504]
 // CHECK-ENCODING: [0xff,0xff,0xff,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff ff 85 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rh.s b/llvm/test/MC/AArch64/SVE/ld1rh.s
index 5e2e15d0e3161..063c4b53be7f5 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rh.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 ld1rh   { z0.h }, p0/z, [x0]
 // CHECK-INST: ld1rh   { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xc0,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 c0 84 <unknown>
 
 ld1rh   { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1rh   { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xc0,0xc0,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 c0 84 <unknown>
 
 ld1rh   { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1rh   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xc0,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 c0 84 <unknown>
 
 ld1rh   { z31.h }, p7/z, [sp, #126]
 // CHECK-INST: ld1rh   { z31.h }, p7/z, [sp, #126]
 // CHECK-ENCODING: [0xff,0xbf,0xff,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf ff 84 <unknown>
 
 ld1rh   { z31.s }, p7/z, [sp, #126]
 // CHECK-INST: ld1rh   { z31.s }, p7/z, [sp, #126]
 // CHECK-ENCODING: [0xff,0xdf,0xff,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df ff 84 <unknown>
 
 ld1rh   { z31.d }, p7/z, [sp, #126]
 // CHECK-INST: ld1rh   { z31.d }, p7/z, [sp, #126]
 // CHECK-ENCODING: [0xff,0xff,0xff,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff ff 84 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rqb.s b/llvm/test/MC/AArch64/SVE/ld1rqb.s
index 655e900e96bb9..6eaacabb1427a 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rqb.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rqb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld1rqb  { z0.b }, p0/z, [x0]
 // CHECK-INST: ld1rqb  { z0.b }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0x20,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 00 a4 <unknown>
 
 ld1rqb  { z0.b }, p0/z, [x0, x0]
 // CHECK-INST: ld1rqb  { z0.b }, p0/z, [x0, x0]
 // CHECK-ENCODING: [0x00,0x00,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 00 a4 <unknown>
 
 ld1rqb  { z31.b }, p7/z, [sp, #-16]
 // CHECK-INST: ld1rqb  { z31.b }, p7/z, [sp, #-16]
 // CHECK-ENCODING: [0xff,0x3f,0x0f,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3f 0f a4 <unknown>
 
 ld1rqb  {  z23.b  }, p3/z, [x13, #-128]
 // CHECK-INST: ld1rqb  {  z23.b  }, p3/z, [x13, #-128]
 // CHECK-ENCODING: [0xb7,0x2d,0x08,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 2d 08 a4 <unknown>
 
 ld1rqb  {  z21.b  }, p5/z, [x10, #112]
 // CHECK-INST: ld1rqb  {  z21.b  }, p5/z, [x10, #112]
 // CHECK-ENCODING: [0x55,0x35,0x07,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 35 07 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rqd.s b/llvm/test/MC/AArch64/SVE/ld1rqd.s
index 4fa546bde5772..adf4bfb4bc664 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rqd.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rqd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld1rqd  { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1rqd  { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0x20,0x80,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 80 a5 <unknown>
 
 ld1rqd  { z0.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-INST: ld1rqd  { z0.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0x00,0x80,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 80 a5 <unknown>
 
 ld1rqd  { z31.d }, p7/z, [sp, #-16]
 // CHECK-INST: ld1rqd  { z31.d }, p7/z, [sp, #-16]
 // CHECK-ENCODING: [0xff,0x3f,0x8f,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3f 8f a5 <unknown>
 
 ld1rqd  { z23.d }, p3/z, [x13, #-128]
 // CHECK-INST: ld1rqd  { z23.d }, p3/z, [x13, #-128]
 // CHECK-ENCODING: [0xb7,0x2d,0x88,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 2d 88 a5 <unknown>
 
 ld1rqd  { z23.d }, p3/z, [x13, #112]
 // CHECK-INST: ld1rqd  { z23.d }, p3/z, [x13, #112]
 // CHECK-ENCODING: [0xb7,0x2d,0x87,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 2d 87 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rqh.s b/llvm/test/MC/AArch64/SVE/ld1rqh.s
index 2d388b6c98cf2..4914a37d3eddb 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rqh.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rqh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld1rqh  { z0.h }, p0/z, [x0]
 // CHECK-INST: ld1rqh  { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0x20,0x80,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 80 a4 <unknown>
 
 ld1rqh  { z0.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-INST: ld1rqh  { z0.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0x00,0x80,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 80 a4 <unknown>
 
 ld1rqh  { z31.h }, p7/z, [sp, #-16]
 // CHECK-INST: ld1rqh  { z31.h }, p7/z, [sp, #-16]
 // CHECK-ENCODING: [0xff,0x3f,0x8f,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3f 8f a4 <unknown>
 
 ld1rqh  { z23.h }, p3/z, [x13, #-128]
 // CHECK-INST: ld1rqh  { z23.h }, p3/z, [x13, #-128]
 // CHECK-ENCODING: [0xb7,0x2d,0x88,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 2d 88 a4 <unknown>
 
 ld1rqh  { z23.h }, p3/z, [x13, #112]
 // CHECK-INST: ld1rqh  { z23.h }, p3/z, [x13, #112]
 // CHECK-ENCODING: [0xb7,0x2d,0x87,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 2d 87 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rqw.s b/llvm/test/MC/AArch64/SVE/ld1rqw.s
index 1cf52c1d02a26..4f4c3501bda21 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rqw.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rqw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld1rqw  { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1rqw  { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0x20,0x00,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 00 a5 <unknown>
 
 ld1rqw  { z0.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-INST: ld1rqw  { z0.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0x00,0x00,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 00 a5 <unknown>
 
 ld1rqw  { z31.s }, p7/z, [sp, #-16]
 // CHECK-INST: ld1rqw  { z31.s }, p7/z, [sp, #-16]
 // CHECK-ENCODING: [0xff,0x3f,0x0f,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3f 0f a5 <unknown>
 
 ld1rqw  { z23.s }, p3/z, [x13, #-128]
 // CHECK-INST: ld1rqw  { z23.s }, p3/z, [x13, #-128]
 // CHECK-ENCODING: [0xb7,0x2d,0x08,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 2d 08 a5 <unknown>
 
 ld1rqw  { z23.s }, p3/z, [x13, #112]
 // CHECK-INST: ld1rqw  { z23.s }, p3/z, [x13, #112]
 // CHECK-ENCODING: [0xb7,0x2d,0x07,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 2d 07 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rsb.s b/llvm/test/MC/AArch64/SVE/ld1rsb.s
index 5b86aef4a5a24..a05ae173a288c 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rsb.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rsb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 ld1rsb  { z0.h }, p0/z, [x0]
 // CHECK-INST: ld1rsb  { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xc0,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 c0 85 <unknown>
 
 ld1rsb  { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1rsb  { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 c0 85 <unknown>
 
 ld1rsb  { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1rsb  { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0x80,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 c0 85 <unknown>
 
 ld1rsb  { z31.h }, p7/z, [sp, #63]
 // CHECK-INST: ld1rsb  { z31.h }, p7/z, [sp, #63]
 // CHECK-ENCODING: [0xff,0xdf,0xff,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df ff 85 <unknown>
 
 ld1rsb  { z31.s }, p7/z, [sp, #63]
 // CHECK-INST: ld1rsb  { z31.s }, p7/z, [sp, #63]
 // CHECK-ENCODING: [0xff,0xbf,0xff,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf ff 85 <unknown>
 
 ld1rsb  { z31.d }, p7/z, [sp, #63]
 // CHECK-INST: ld1rsb  { z31.d }, p7/z, [sp, #63]
 // CHECK-ENCODING: [0xff,0x9f,0xff,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f ff 85 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rsh.s b/llvm/test/MC/AArch64/SVE/ld1rsh.s
index 04c7d4f96e879..26c96f1fe187d 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rsh.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rsh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 ld1rsh  { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1rsh  { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x40,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 40 85 <unknown>
 
 ld1rsh  { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1rsh  { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0x80,0x40,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 40 85 <unknown>
 
 ld1rsh  { z31.s }, p7/z, [sp, #126]
 // CHECK-INST: ld1rsh  { z31.s }, p7/z, [sp, #126]
 // CHECK-ENCODING: [0xff,0xbf,0x7f,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 7f 85 <unknown>
 
 ld1rsh  { z31.d }, p7/z, [sp, #126]
 // CHECK-INST: ld1rsh  { z31.d }, p7/z, [sp, #126]
 // CHECK-ENCODING: [0xff,0x9f,0x7f,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 7f 85 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rsw.s b/llvm/test/MC/AArch64/SVE/ld1rsw.s
index dd3efc6e6ae54..7e155f1061843 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rsw.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rsw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 ld1rsw  { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1rsw  { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0x80,0xc0,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 c0 84 <unknown>
 
 ld1rsw  { z31.d }, p7/z, [sp, #252]
 // CHECK-INST: ld1rsw  { z31.d }, p7/z, [sp, #252]
 // CHECK-ENCODING: [0xff,0x9f,0xff,0x84]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f ff 84 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1rw.s b/llvm/test/MC/AArch64/SVE/ld1rw.s
index 847f8a299785d..82c25d954cf99 100644
--- a/llvm/test/MC/AArch64/SVE/ld1rw.s
+++ b/llvm/test/MC/AArch64/SVE/ld1rw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 ld1rw   { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1rw   { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xc0,0x40,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 40 85 <unknown>
 
 ld1rw   { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1rw   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x40,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 40 85 <unknown>
 
 ld1rw   { z31.s }, p7/z, [sp, #252]
 // CHECK-INST: ld1rw   { z31.s }, p7/z, [sp, #252]
 // CHECK-ENCODING: [0xff,0xdf,0x7f,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 7f 85 <unknown>
 
 ld1rw   { z31.d }, p7/z, [sp, #252]
 // CHECK-INST: ld1rw   { z31.d }, p7/z, [sp, #252]
 // CHECK-ENCODING: [0xff,0xff,0x7f,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 7f 85 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1sb-sve-only.s b/llvm/test/MC/AArch64/SVE/ld1sb-sve-only.s
new file mode 100644
index 0000000000000..d37c3a126f8b1
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/ld1sb-sve-only.s
@@ -0,0 +1,60 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+ld1sb   { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-INST: ld1sb   { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-ENCODING: [0x00,0x00,0x40,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 00 40 84 <unknown>
+
+ld1sb   { z31.d }, p7/z, [sp, z31.d]
+// CHECK-INST: ld1sb   { z31.d }, p7/z, [sp, z31.d]
+// CHECK-ENCODING: [0xff,0x9f,0x5f,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 9f 5f c4 <unknown>
+
+ld1sb   { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-INST: ld1sb   { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-ENCODING: [0x55,0x15,0x15,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 15 15 c4 <unknown>
+
+ld1sb   { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-INST: ld1sb   { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-ENCODING: [0x55,0x15,0x55,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 15 55 c4 <unknown>
+
+ld1sb   { z31.s }, p7/z, [z31.s, #31]
+// CHECK-INST: ld1sb   { z31.s }, p7/z, [z31.s, #31]
+// CHECK-ENCODING: [0xff,0x9f,0x3f,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 9f 3f 84 <unknown>
+
+ld1sb   { z0.s }, p0/z, [z0.s]
+// CHECK-INST: ld1sb   { z0.s }, p0/z, [z0.s]
+// CHECK-ENCODING: [0x00,0x80,0x20,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 20 84 <unknown>
+
+ld1sb   { z31.d }, p7/z, [z31.d, #31]
+// CHECK-INST: ld1sb   { z31.d }, p7/z, [z31.d, #31]
+// CHECK-ENCODING: [0xff,0x9f,0x3f,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 9f 3f c4 <unknown>
+
+ld1sb   { z0.d }, p0/z, [z0.d]
+// CHECK-INST: ld1sb   { z0.d }, p0/z, [z0.d]
+// CHECK-ENCODING: [0x00,0x80,0x20,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 20 c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1sb.s b/llvm/test/MC/AArch64/SVE/ld1sb.s
index d36c04c1d39b2..b945700b26c7d 100644
--- a/llvm/test/MC/AArch64/SVE/ld1sb.s
+++ b/llvm/test/MC/AArch64/SVE/ld1sb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,155 +12,101 @@
 ld1sb   z0.h, p0/z, [x0]
 // CHECK-INST: ld1sb   { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xc0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 c0 a5 <unknown>
 
 ld1sb   z0.s, p0/z, [x0]
 // CHECK-INST: ld1sb   { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xa0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 a0 a5 <unknown>
 
 ld1sb   z0.d, p0/z, [x0]
 // CHECK-INST: ld1sb   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x80,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 80 a5 <unknown>
 
 ld1sb   { z0.h }, p0/z, [x0]
 // CHECK-INST: ld1sb   { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xc0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 c0 a5 <unknown>
 
 ld1sb   { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1sb   { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0xa0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 a0 a5 <unknown>
 
 ld1sb   { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1sb   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x80,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 80 a5 <unknown>
 
 ld1sb   { z31.h }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1sb   { z31.h }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0xcf,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf cf a5 <unknown>
 
 ld1sb   { z21.h }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1sb   { z21.h }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0xc5,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 c5 a5 <unknown>
 
 ld1sb   { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1sb   { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0xaf,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf af a5 <unknown>
 
 ld1sb   { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1sb   { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0xa5,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 a5 a5 <unknown>
 
 ld1sb   { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1sb   { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x8f,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 8f a5 <unknown>
 
 ld1sb   { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1sb   { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x85,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 85 a5 <unknown>
 
 ld1sb    { z0.h }, p0/z, [sp, x0]
 // CHECK-INST: ld1sb    { z0.h }, p0/z, [sp, x0]
 // CHECK-ENCODING: [0xe0,0x43,0xc0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 43 c0 a5 <unknown>
 
 ld1sb    { z0.h }, p0/z, [x0, x0]
 // CHECK-INST: ld1sb    { z0.h }, p0/z, [x0, x0]
 // CHECK-ENCODING: [0x00,0x40,0xc0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 c0 a5 <unknown>
 
 ld1sb    { z0.h }, p0/z, [x0, x0, lsl #0]
 // CHECK-INST: ld1sb    { z0.h }, p0/z, [x0, x0]
 // CHECK-ENCODING: [0x00,0x40,0xc0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 c0 a5 <unknown>
 
 ld1sb    { z21.s }, p5/z, [x10, x21]
 // CHECK-INST: ld1sb    { z21.s }, p5/z, [x10, x21]
 // CHECK-ENCODING: [0x55,0x55,0xb5,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 55 b5 a5 <unknown>
 
 ld1sb    { z23.d }, p3/z, [x13, x8]
 // CHECK-INST: ld1sb    { z23.d }, p3/z, [x13, x8]
 // CHECK-ENCODING: [0xb7,0x4d,0x88,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 4d 88 a5 <unknown>
-
-ld1sb   { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-INST: ld1sb   { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-ENCODING: [0x00,0x00,0x00,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 00 84 <unknown>
-
-ld1sb   { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-INST: ld1sb   { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-ENCODING: [0x00,0x00,0x40,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 40 84 <unknown>
-
-ld1sb   { z31.d }, p7/z, [sp, z31.d]
-// CHECK-INST: ld1sb   { z31.d }, p7/z, [sp, z31.d]
-// CHECK-ENCODING: [0xff,0x9f,0x5f,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 9f 5f c4 <unknown>
-
-ld1sb   { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-INST: ld1sb   { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-ENCODING: [0x55,0x15,0x15,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 15 15 c4 <unknown>
-
-ld1sb   { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-INST: ld1sb   { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-ENCODING: [0x55,0x15,0x55,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 15 55 c4 <unknown>
-
-ld1sb   { z31.s }, p7/z, [z31.s, #31]
-// CHECK-INST: ld1sb   { z31.s }, p7/z, [z31.s, #31]
-// CHECK-ENCODING: [0xff,0x9f,0x3f,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 9f 3f 84 <unknown>
-
-ld1sb   { z0.s }, p0/z, [z0.s]
-// CHECK-INST: ld1sb   { z0.s }, p0/z, [z0.s]
-// CHECK-ENCODING: [0x00,0x80,0x20,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 20 84 <unknown>
-
-ld1sb   { z31.d }, p7/z, [z31.d, #31]
-// CHECK-INST: ld1sb   { z31.d }, p7/z, [z31.d, #31]
-// CHECK-ENCODING: [0xff,0x9f,0x3f,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 9f 3f c4 <unknown>
-
-ld1sb   { z0.d }, p0/z, [z0.d]
-// CHECK-INST: ld1sb   { z0.d }, p0/z, [z0.d]
-// CHECK-ENCODING: [0x00,0x80,0x20,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 20 c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1sh-sve-only.s b/llvm/test/MC/AArch64/SVE/ld1sh-sve-only.s
new file mode 100644
index 0000000000000..6ff35165dc195
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/ld1sh-sve-only.s
@@ -0,0 +1,96 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+ld1sh   { z0.s }, p0/z, [x0, z0.s, uxtw]
+// CHECK-INST: ld1sh   { z0.s }, p0/z, [x0, z0.s, uxtw]
+// CHECK-ENCODING: [0x00,0x00,0x80,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 00 80 84 <unknown>
+
+ld1sh   { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-INST: ld1sh   { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-ENCODING: [0x00,0x00,0xc0,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 00 c0 84 <unknown>
+
+ld1sh   { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+// CHECK-INST: ld1sh   { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+// CHECK-ENCODING: [0xff,0x1f,0xbf,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 1f bf 84 <unknown>
+
+ld1sh   { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+// CHECK-INST: ld1sh   { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+// CHECK-ENCODING: [0xff,0x1f,0xff,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 1f ff 84 <unknown>
+
+ld1sh   { z31.d }, p7/z, [sp, z31.d]
+// CHECK-INST: ld1sh   { z31.d }, p7/z, [sp, z31.d]
+// CHECK-ENCODING: [0xff,0x9f,0xdf,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 9f df c4 <unknown>
+
+ld1sh   { z23.d }, p3/z, [x13, z8.d, lsl #1]
+// CHECK-INST: ld1sh   { z23.d }, p3/z, [x13, z8.d, lsl #1]
+// CHECK-ENCODING: [0xb7,0x8d,0xe8,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: b7 8d e8 c4 <unknown>
+
+ld1sh   { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-INST: ld1sh   { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-ENCODING: [0x55,0x15,0x95,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 15 95 c4 <unknown>
+
+ld1sh   { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-INST: ld1sh   { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-ENCODING: [0x55,0x15,0xd5,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 15 d5 c4 <unknown>
+
+ld1sh   { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+// CHECK-INST: ld1sh   { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+// CHECK-ENCODING: [0x00,0x00,0xa0,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 00 a0 c4 <unknown>
+
+ld1sh   { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+// CHECK-INST: ld1sh   { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+// CHECK-ENCODING: [0x00,0x00,0xe0,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 00 e0 c4 <unknown>
+
+ld1sh   { z31.s }, p7/z, [z31.s, #62]
+// CHECK-INST: ld1sh   { z31.s }, p7/z, [z31.s, #62]
+// CHECK-ENCODING: [0xff,0x9f,0xbf,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 9f bf 84 <unknown>
+
+ld1sh   { z0.s }, p0/z, [z0.s]
+// CHECK-INST: ld1sh   { z0.s }, p0/z, [z0.s]
+// CHECK-ENCODING: [0x00,0x80,0xa0,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 a0 84 <unknown>
+
+ld1sh   { z31.d }, p7/z, [z31.d, #62]
+// CHECK-INST: ld1sh   { z31.d }, p7/z, [z31.d, #62]
+// CHECK-ENCODING: [0xff,0x9f,0xbf,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 9f bf c4 <unknown>
+
+ld1sh   { z0.d }, p0/z, [z0.d]
+// CHECK-INST: ld1sh   { z0.d }, p0/z, [z0.d]
+// CHECK-ENCODING: [0x00,0x80,0xa0,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 a0 c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1sh.s b/llvm/test/MC/AArch64/SVE/ld1sh.s
index 608c167cf80a5..411cff2d0ae59 100644
--- a/llvm/test/MC/AArch64/SVE/ld1sh.s
+++ b/llvm/test/MC/AArch64/SVE/ld1sh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,149 +12,65 @@
 ld1sh   z0.s, p0/z, [x0]
 // CHECK-INST: ld1sh   { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x20,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 20 a5 <unknown>
 
 ld1sh   z0.d, p0/z, [x0]
 // CHECK-INST: ld1sh   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x00,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 00 a5 <unknown>
 
 ld1sh   { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1sh   { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x20,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 20 a5 <unknown>
 
 ld1sh   { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1sh   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x00,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 00 a5 <unknown>
 
 ld1sh   { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1sh   { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x2f,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 2f a5 <unknown>
 
 ld1sh   { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1sh   { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x25,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 25 a5 <unknown>
 
 ld1sh   { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1sh   { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x0f,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 0f a5 <unknown>
 
 ld1sh   { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1sh   { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x05,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 05 a5 <unknown>
 
 ld1sh    { z21.s }, p5/z, [sp, x21, lsl #1]
 // CHECK-INST: ld1sh    { z21.s }, p5/z, [sp, x21, lsl #1]
 // CHECK-ENCODING: [0xf5,0x57,0x35,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 57 35 a5 <unknown>
 
 ld1sh    { z21.s }, p5/z, [x10, x21, lsl #1]
 // CHECK-INST: ld1sh    { z21.s }, p5/z, [x10, x21, lsl #1]
 // CHECK-ENCODING: [0x55,0x55,0x35,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 55 35 a5 <unknown>
 
 ld1sh    { z23.d }, p3/z, [x13, x8, lsl #1]
 // CHECK-INST: ld1sh    { z23.d }, p3/z, [x13, x8, lsl #1]
 // CHECK-ENCODING: [0xb7,0x4d,0x08,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 4d 08 a5 <unknown>
-
-ld1sh   { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-INST: ld1sh   { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-ENCODING: [0x00,0x00,0x80,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 80 84 <unknown>
-
-ld1sh   { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-INST: ld1sh   { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-ENCODING: [0x00,0x00,0xc0,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 c0 84 <unknown>
-
-ld1sh   { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-// CHECK-INST: ld1sh   { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-// CHECK-ENCODING: [0xff,0x1f,0xbf,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 1f bf 84 <unknown>
-
-ld1sh   { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-// CHECK-INST: ld1sh   { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-// CHECK-ENCODING: [0xff,0x1f,0xff,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 1f ff 84 <unknown>
-
-ld1sh   { z31.d }, p7/z, [sp, z31.d]
-// CHECK-INST: ld1sh   { z31.d }, p7/z, [sp, z31.d]
-// CHECK-ENCODING: [0xff,0x9f,0xdf,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 9f df c4 <unknown>
-
-ld1sh   { z23.d }, p3/z, [x13, z8.d, lsl #1]
-// CHECK-INST: ld1sh   { z23.d }, p3/z, [x13, z8.d, lsl #1]
-// CHECK-ENCODING: [0xb7,0x8d,0xe8,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: b7 8d e8 c4 <unknown>
-
-ld1sh   { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-INST: ld1sh   { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-ENCODING: [0x55,0x15,0x95,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 15 95 c4 <unknown>
-
-ld1sh   { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-INST: ld1sh   { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-ENCODING: [0x55,0x15,0xd5,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 15 d5 c4 <unknown>
-
-ld1sh   { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-// CHECK-INST: ld1sh   { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-// CHECK-ENCODING: [0x00,0x00,0xa0,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 a0 c4 <unknown>
-
-ld1sh   { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-// CHECK-INST: ld1sh   { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-// CHECK-ENCODING: [0x00,0x00,0xe0,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 e0 c4 <unknown>
-
-ld1sh   { z31.s }, p7/z, [z31.s, #62]
-// CHECK-INST: ld1sh   { z31.s }, p7/z, [z31.s, #62]
-// CHECK-ENCODING: [0xff,0x9f,0xbf,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 9f bf 84 <unknown>
-
-ld1sh   { z0.s }, p0/z, [z0.s]
-// CHECK-INST: ld1sh   { z0.s }, p0/z, [z0.s]
-// CHECK-ENCODING: [0x00,0x80,0xa0,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 a0 84 <unknown>
-
-ld1sh   { z31.d }, p7/z, [z31.d, #62]
-// CHECK-INST: ld1sh   { z31.d }, p7/z, [z31.d, #62]
-// CHECK-ENCODING: [0xff,0x9f,0xbf,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 9f bf c4 <unknown>
-
-ld1sh   { z0.d }, p0/z, [z0.d]
-// CHECK-INST: ld1sh   { z0.d }, p0/z, [z0.d]
-// CHECK-ENCODING: [0x00,0x80,0xa0,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 a0 c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1sw-sve-only.s b/llvm/test/MC/AArch64/SVE/ld1sw-sve-only.s
new file mode 100644
index 0000000000000..8da9f90a0695f
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/ld1sw-sve-only.s
@@ -0,0 +1,60 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+ld1sw   { z31.d }, p7/z, [sp, z31.d]
+// CHECK-INST: ld1sw   { z31.d }, p7/z, [sp, z31.d]
+// CHECK-ENCODING: [0xff,0x9f,0x5f,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 9f 5f c5 <unknown>
+
+ld1sw   { z23.d }, p3/z, [x13, z8.d, lsl #2]
+// CHECK-INST: ld1sw   { z23.d }, p3/z, [x13, z8.d, lsl #2]
+// CHECK-ENCODING: [0xb7,0x8d,0x68,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: b7 8d 68 c5 <unknown>
+
+ld1sw   { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-INST: ld1sw   { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-ENCODING: [0x55,0x15,0x15,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 15 15 c5 <unknown>
+
+ld1sw   { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-INST: ld1sw   { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-ENCODING: [0x55,0x15,0x55,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 15 55 c5 <unknown>
+
+ld1sw   { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+// CHECK-INST: ld1sw   { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+// CHECK-ENCODING: [0x00,0x00,0x20,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 00 20 c5 <unknown>
+
+ld1sw   { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+// CHECK-INST: ld1sw   { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+// CHECK-ENCODING: [0x00,0x00,0x60,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 00 60 c5 <unknown>
+
+ld1sw   { z31.d }, p7/z, [z31.d, #124]
+// CHECK-INST: ld1sw   { z31.d }, p7/z, [z31.d, #124]
+// CHECK-ENCODING: [0xff,0x9f,0x3f,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 9f 3f c5 <unknown>
+
+ld1sw   { z0.d }, p0/z, [z0.d]
+// CHECK-INST: ld1sw   { z0.d }, p0/z, [z0.d]
+// CHECK-ENCODING: [0x00,0x80,0x20,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 20 c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1sw.s b/llvm/test/MC/AArch64/SVE/ld1sw.s
index f8dd329169bd2..e5e4e856b507a 100644
--- a/llvm/test/MC/AArch64/SVE/ld1sw.s
+++ b/llvm/test/MC/AArch64/SVE/ld1sw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,83 +12,35 @@
 ld1sw   z0.d, p0/z, [x0]
 // CHECK-INST: ld1sw   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x80,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 80 a4 <unknown>
 
 ld1sw   { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1sw   { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x80,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 80 a4 <unknown>
 
 ld1sw   { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1sw   { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x8f,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 8f a4 <unknown>
 
 ld1sw   { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1sw   { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x85,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 85 a4 <unknown>
 
 ld1sw    { z23.d }, p3/z, [sp, x8, lsl #2]
 // CHECK-INST: ld1sw    { z23.d }, p3/z, [sp, x8, lsl #2]
 // CHECK-ENCODING: [0xf7,0x4f,0x88,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f7 4f 88 a4 <unknown>
 
 ld1sw    { z23.d }, p3/z, [x13, x8, lsl #2]
 // CHECK-INST: ld1sw    { z23.d }, p3/z, [x13, x8, lsl #2]
 // CHECK-ENCODING: [0xb7,0x4d,0x88,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 4d 88 a4 <unknown>
-
-ld1sw   { z31.d }, p7/z, [sp, z31.d]
-// CHECK-INST: ld1sw   { z31.d }, p7/z, [sp, z31.d]
-// CHECK-ENCODING: [0xff,0x9f,0x5f,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 9f 5f c5 <unknown>
-
-ld1sw   { z23.d }, p3/z, [x13, z8.d, lsl #2]
-// CHECK-INST: ld1sw   { z23.d }, p3/z, [x13, z8.d, lsl #2]
-// CHECK-ENCODING: [0xb7,0x8d,0x68,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: b7 8d 68 c5 <unknown>
-
-ld1sw   { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-INST: ld1sw   { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-ENCODING: [0x55,0x15,0x15,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 15 15 c5 <unknown>
-
-ld1sw   { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-INST: ld1sw   { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-ENCODING: [0x55,0x15,0x55,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 15 55 c5 <unknown>
-
-ld1sw   { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-// CHECK-INST: ld1sw   { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-// CHECK-ENCODING: [0x00,0x00,0x20,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 20 c5 <unknown>
-
-ld1sw   { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-// CHECK-INST: ld1sw   { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-// CHECK-ENCODING: [0x00,0x00,0x60,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 60 c5 <unknown>
-
-ld1sw   { z31.d }, p7/z, [z31.d, #124]
-// CHECK-INST: ld1sw   { z31.d }, p7/z, [z31.d, #124]
-// CHECK-ENCODING: [0xff,0x9f,0x3f,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 9f 3f c5 <unknown>
-
-ld1sw   { z0.d }, p0/z, [z0.d]
-// CHECK-INST: ld1sw   { z0.d }, p0/z, [z0.d]
-// CHECK-ENCODING: [0x00,0x80,0x20,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 20 c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1w-sve-only.s b/llvm/test/MC/AArch64/SVE/ld1w-sve-only.s
new file mode 100644
index 0000000000000..7d683177ffe7d
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/ld1w-sve-only.s
@@ -0,0 +1,96 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+ld1w    { z0.s }, p0/z, [x0, z0.s, uxtw]
+// CHECK-INST: ld1w    { z0.s }, p0/z, [x0, z0.s, uxtw]
+// CHECK-ENCODING: [0x00,0x40,0x00,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 00 85 <unknown>
+
+ld1w    { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-INST: ld1w    { z0.s }, p0/z, [x0, z0.s, sxtw]
+// CHECK-ENCODING: [0x00,0x40,0x40,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 40 85 <unknown>
+
+ld1w    { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+// CHECK-INST: ld1w    { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+// CHECK-ENCODING: [0xff,0x5f,0x3f,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 5f 3f 85 <unknown>
+
+ld1w    { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+// CHECK-INST: ld1w    { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+// CHECK-ENCODING: [0xff,0x5f,0x7f,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff 5f 7f 85 <unknown>
+
+ld1w    { z31.d }, p7/z, [sp, z31.d]
+// CHECK-INST: ld1w    { z31.d }, p7/z, [sp, z31.d]
+// CHECK-ENCODING: [0xff,0xdf,0x5f,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df 5f c5 <unknown>
+
+ld1w    { z23.d }, p3/z, [x13, z8.d, lsl #2]
+// CHECK-INST: ld1w    { z23.d }, p3/z, [x13, z8.d, lsl #2]
+// CHECK-ENCODING: [0xb7,0xcd,0x68,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: b7 cd 68 c5 <unknown>
+
+ld1w    { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-INST: ld1w    { z21.d }, p5/z, [x10, z21.d, uxtw]
+// CHECK-ENCODING: [0x55,0x55,0x15,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 55 15 c5 <unknown>
+
+ld1w    { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-INST: ld1w    { z21.d }, p5/z, [x10, z21.d, sxtw]
+// CHECK-ENCODING: [0x55,0x55,0x55,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 55 55 55 c5 <unknown>
+
+ld1w    { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+// CHECK-INST: ld1w    { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+// CHECK-ENCODING: [0x00,0x40,0x20,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 20 c5 <unknown>
+
+ld1w    { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+// CHECK-INST: ld1w    { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+// CHECK-ENCODING: [0x00,0x40,0x60,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 60 c5 <unknown>
+
+ld1w    { z31.s }, p7/z, [z31.s, #124]
+// CHECK-INST: ld1w    { z31.s }, p7/z, [z31.s, #124]
+// CHECK-ENCODING: [0xff,0xdf,0x3f,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df 3f 85 <unknown>
+
+ld1w    { z0.s }, p0/z, [z0.s]
+// CHECK-INST: ld1w    { z0.s }, p0/z, [z0.s]
+// CHECK-ENCODING: [0x00,0xc0,0x20,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 20 85 <unknown>
+
+ld1w    { z31.d }, p7/z, [z31.d, #124]
+// CHECK-INST: ld1w    { z31.d }, p7/z, [z31.d, #124]
+// CHECK-ENCODING: [0xff,0xdf,0x3f,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff df 3f c5 <unknown>
+
+ld1w    { z0.d }, p0/z, [z0.d]
+// CHECK-INST: ld1w    { z0.d }, p0/z, [z0.d]
+// CHECK-ENCODING: [0x00,0xc0,0x20,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 20 c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld1w.s b/llvm/test/MC/AArch64/SVE/ld1w.s
index 771bc614c04d8..1ca44289e3b81 100644
--- a/llvm/test/MC/AArch64/SVE/ld1w.s
+++ b/llvm/test/MC/AArch64/SVE/ld1w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,149 +12,65 @@
 ld1w     z0.s, p0/z, [x0]
 // CHECK-INST: ld1w     { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x40,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 40 a5 <unknown>
 
 ld1w     z0.d, p0/z, [x0]
 // CHECK-INST: ld1w     { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x60,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 60 a5 <unknown>
 
 ld1w    { z0.s }, p0/z, [x0]
 // CHECK-INST: ld1w    { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x40,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 40 a5 <unknown>
 
 ld1w    { z0.d }, p0/z, [x0]
 // CHECK-INST: ld1w    { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xa0,0x60,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 60 a5 <unknown>
 
 ld1w    { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1w    { z31.s }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x4f,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 4f a5 <unknown>
 
 ld1w    { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1w    { z21.s }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x45,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 45 a5 <unknown>
 
 ld1w    { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-INST: ld1w    { z31.d }, p7/z, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xbf,0x6f,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 6f a5 <unknown>
 
 ld1w    { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-INST: ld1w    { z21.d }, p5/z, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xb5,0x65,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 b5 65 a5 <unknown>
 
 ld1w    { z21.s }, p5/z, [sp, x21, lsl #2]
 // CHECK-INST: ld1w    { z21.s }, p5/z, [sp, x21, lsl #2]
 // CHECK-ENCODING: [0xf5,0x57,0x55,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 57 55 a5 <unknown>
 
 ld1w    { z21.s }, p5/z, [x10, x21, lsl #2]
 // CHECK-INST: ld1w    { z21.s }, p5/z, [x10, x21, lsl #2]
 // CHECK-ENCODING: [0x55,0x55,0x55,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 55 55 a5 <unknown>
 
 ld1w    { z23.d }, p3/z, [x13, x8, lsl #2]
 // CHECK-INST: ld1w    { z23.d }, p3/z, [x13, x8, lsl #2]
 // CHECK-ENCODING: [0xb7,0x4d,0x68,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 4d 68 a5 <unknown>
-
-ld1w    { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-INST: ld1w    { z0.s }, p0/z, [x0, z0.s, uxtw]
-// CHECK-ENCODING: [0x00,0x40,0x00,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 00 85 <unknown>
-
-ld1w    { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-INST: ld1w    { z0.s }, p0/z, [x0, z0.s, sxtw]
-// CHECK-ENCODING: [0x00,0x40,0x40,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 40 85 <unknown>
-
-ld1w    { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-// CHECK-INST: ld1w    { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-// CHECK-ENCODING: [0xff,0x5f,0x3f,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 5f 3f 85 <unknown>
-
-ld1w    { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-// CHECK-INST: ld1w    { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-// CHECK-ENCODING: [0xff,0x5f,0x7f,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff 5f 7f 85 <unknown>
-
-ld1w    { z31.d }, p7/z, [sp, z31.d]
-// CHECK-INST: ld1w    { z31.d }, p7/z, [sp, z31.d]
-// CHECK-ENCODING: [0xff,0xdf,0x5f,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df 5f c5 <unknown>
-
-ld1w    { z23.d }, p3/z, [x13, z8.d, lsl #2]
-// CHECK-INST: ld1w    { z23.d }, p3/z, [x13, z8.d, lsl #2]
-// CHECK-ENCODING: [0xb7,0xcd,0x68,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: b7 cd 68 c5 <unknown>
-
-ld1w    { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-INST: ld1w    { z21.d }, p5/z, [x10, z21.d, uxtw]
-// CHECK-ENCODING: [0x55,0x55,0x15,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 55 15 c5 <unknown>
-
-ld1w    { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-INST: ld1w    { z21.d }, p5/z, [x10, z21.d, sxtw]
-// CHECK-ENCODING: [0x55,0x55,0x55,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 55 55 55 c5 <unknown>
-
-ld1w    { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-// CHECK-INST: ld1w    { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-// CHECK-ENCODING: [0x00,0x40,0x20,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 20 c5 <unknown>
-
-ld1w    { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-// CHECK-INST: ld1w    { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-// CHECK-ENCODING: [0x00,0x40,0x60,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 60 c5 <unknown>
-
-ld1w    { z31.s }, p7/z, [z31.s, #124]
-// CHECK-INST: ld1w    { z31.s }, p7/z, [z31.s, #124]
-// CHECK-ENCODING: [0xff,0xdf,0x3f,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df 3f 85 <unknown>
-
-ld1w    { z0.s }, p0/z, [z0.s]
-// CHECK-INST: ld1w    { z0.s }, p0/z, [z0.s]
-// CHECK-ENCODING: [0x00,0xc0,0x20,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 20 85 <unknown>
-
-ld1w    { z31.d }, p7/z, [z31.d, #124]
-// CHECK-INST: ld1w    { z31.d }, p7/z, [z31.d, #124]
-// CHECK-ENCODING: [0xff,0xdf,0x3f,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff df 3f c5 <unknown>
-
-ld1w    { z0.d }, p0/z, [z0.d]
-// CHECK-INST: ld1w    { z0.d }, p0/z, [z0.d]
-// CHECK-ENCODING: [0x00,0xc0,0x20,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 20 c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld2b.s b/llvm/test/MC/AArch64/SVE/ld2b.s
index 5738108e904ef..229935ae8fae2 100644
--- a/llvm/test/MC/AArch64/SVE/ld2b.s
+++ b/llvm/test/MC/AArch64/SVE/ld2b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld2b    { z0.b, z1.b }, p0/z, [x0, x0]
 // CHECK-INST: ld2b    { z0.b, z1.b }, p0/z, [x0, x0]
 // CHECK-ENCODING: [0x00,0xc0,0x20,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 20 a4 <unknown>
 
 ld2b    { z5.b, z6.b }, p3/z, [x17, x16]
 // CHECK-INST: ld2b    { z5.b, z6.b }, p3/z, [x17, x16]
 // CHECK-ENCODING: [0x25,0xce,0x30,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce 30 a4 <unknown>
 
 ld2b    { z0.b, z1.b }, p0/z, [x0]
 // CHECK-INST: ld2b    { z0.b, z1.b }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x20,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 20 a4 <unknown>
 
 ld2b    { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
 // CHECK-INST: ld2b    { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x28,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 28 a4 <unknown>
 
 ld2b    { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
 // CHECK-INST: ld2b    { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x25,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 25 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld2d.s b/llvm/test/MC/AArch64/SVE/ld2d.s
index 7970b9a82f4f1..3ac0f6561740d 100644
--- a/llvm/test/MC/AArch64/SVE/ld2d.s
+++ b/llvm/test/MC/AArch64/SVE/ld2d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld2d    { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-INST: ld2d    { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0xc0,0xa0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a0 a5 <unknown>
 
 ld2d    { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
 // CHECK-INST: ld2d    { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
 // CHECK-ENCODING: [0x25,0xce,0xb0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce b0 a5 <unknown>
 
 ld2d    { z0.d, z1.d }, p0/z, [x0]
 // CHECK-INST: ld2d    { z0.d, z1.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xa0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a0 a5 <unknown>
 
 ld2d    { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
 // CHECK-INST: ld2d    { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xa8,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed a8 a5 <unknown>
 
 ld2d    { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
 // CHECK-INST: ld2d    { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xa5,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 a5 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld2h.s b/llvm/test/MC/AArch64/SVE/ld2h.s
index e874e2ba4e511..c8e1ff91388bc 100644
--- a/llvm/test/MC/AArch64/SVE/ld2h.s
+++ b/llvm/test/MC/AArch64/SVE/ld2h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld2h    { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-INST: ld2h    { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0xc0,0xa0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a0 a4 <unknown>
 
 ld2h    { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
 // CHECK-INST: ld2h    { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
 // CHECK-ENCODING: [0x25,0xce,0xb0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce b0 a4 <unknown>
 
 ld2h    { z0.h, z1.h }, p0/z, [x0]
 // CHECK-INST: ld2h    { z0.h, z1.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xa0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a0 a4 <unknown>
 
 ld2h    { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
 // CHECK-INST: ld2h    { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xa8,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed a8 a4 <unknown>
 
 ld2h    { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
 // CHECK-INST: ld2h    { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xa5,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 a5 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld2w.s b/llvm/test/MC/AArch64/SVE/ld2w.s
index ab8db06af18c3..caf2d60a3911c 100644
--- a/llvm/test/MC/AArch64/SVE/ld2w.s
+++ b/llvm/test/MC/AArch64/SVE/ld2w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld2w    { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-INST: ld2w    { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0xc0,0x20,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 20 a5 <unknown>
 
 ld2w    { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
 // CHECK-INST: ld2w    { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
 // CHECK-ENCODING: [0x25,0xce,0x30,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce 30 a5 <unknown>
 
 ld2w    { z0.s, z1.s }, p0/z, [x0]
 // CHECK-INST: ld2w    { z0.s, z1.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x20,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 20 a5 <unknown>
 
 ld2w    { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
 // CHECK-INST: ld2w    { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x28,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 28 a5 <unknown>
 
 ld2w    { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
 // CHECK-INST: ld2w    { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x25,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 25 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld3b.s b/llvm/test/MC/AArch64/SVE/ld3b.s
index 1b40cfd48041c..0e074c0e53c10 100644
--- a/llvm/test/MC/AArch64/SVE/ld3b.s
+++ b/llvm/test/MC/AArch64/SVE/ld3b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld3b    { z0.b, z1.b, z2.b }, p0/z, [x0, x0]
 // CHECK-INST: ld3b    { z0.b, z1.b, z2.b }, p0/z, [x0, x0]
 // CHECK-ENCODING: [0x00,0xc0,0x40,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 40 a4 <unknown>
 
 ld3b    { z5.b, z6.b, z7.b }, p3/z, [x17, x16]
 // CHECK-INST: ld3b    { z5.b, z6.b, z7.b }, p3/z, [x17, x16]
 // CHECK-ENCODING: [0x25,0xce,0x50,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce 50 a4 <unknown>
 
 ld3b    { z0.b, z1.b, z2.b }, p0/z, [x0]
 // CHECK-INST: ld3b    { z0.b, z1.b, z2.b }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x40,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 40 a4 <unknown>
 
 ld3b    { z23.b, z24.b, z25.b }, p3/z, [x13, #-24, mul vl]
 // CHECK-INST: ld3b    { z23.b, z24.b, z25.b }, p3/z, [x13, #-24, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x48,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 48 a4 <unknown>
 
 ld3b    { z21.b, z22.b, z23.b }, p5/z, [x10, #15, mul vl]
 // CHECK-INST: ld3b    { z21.b, z22.b, z23.b }, p5/z, [x10, #15, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x45,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 45 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld3d.s b/llvm/test/MC/AArch64/SVE/ld3d.s
index 3216c161f4c60..9f8a8ac746623 100644
--- a/llvm/test/MC/AArch64/SVE/ld3d.s
+++ b/llvm/test/MC/AArch64/SVE/ld3d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld3d    { z0.d, z1.d, z2.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-INST: ld3d    { z0.d, z1.d, z2.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0xc0,0xc0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 c0 a5 <unknown>
 
 ld3d    { z5.d, z6.d, z7.d }, p3/z, [x17, x16, lsl #3]
 // CHECK-INST: ld3d    { z5.d, z6.d, z7.d }, p3/z, [x17, x16, lsl #3]
 // CHECK-ENCODING: [0x25,0xce,0xd0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce d0 a5 <unknown>
 
 ld3d    { z0.d, z1.d, z2.d }, p0/z, [x0]
 // CHECK-INST: ld3d    { z0.d, z1.d, z2.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xc0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 c0 a5 <unknown>
 
 ld3d    { z23.d, z24.d, z25.d }, p3/z, [x13, #-24, mul vl]
 // CHECK-INST: ld3d    { z23.d, z24.d, z25.d }, p3/z, [x13, #-24, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xc8,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed c8 a5 <unknown>
 
 ld3d    { z21.d, z22.d, z23.d }, p5/z, [x10, #15, mul vl]
 // CHECK-INST: ld3d    { z21.d, z22.d, z23.d }, p5/z, [x10, #15, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xc5,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 c5 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld3h.s b/llvm/test/MC/AArch64/SVE/ld3h.s
index 3ad0c03587601..92cab32e41604 100644
--- a/llvm/test/MC/AArch64/SVE/ld3h.s
+++ b/llvm/test/MC/AArch64/SVE/ld3h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld3h    { z0.h, z1.h, z2.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-INST: ld3h    { z0.h, z1.h, z2.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0xc0,0xc0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 c0 a4 <unknown>
 
 ld3h    { z5.h, z6.h, z7.h }, p3/z, [x17, x16, lsl #1]
 // CHECK-INST: ld3h    { z5.h, z6.h, z7.h }, p3/z, [x17, x16, lsl #1]
 // CHECK-ENCODING: [0x25,0xce,0xd0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce d0 a4 <unknown>
 
 ld3h    { z0.h, z1.h, z2.h }, p0/z, [x0]
 // CHECK-INST: ld3h    { z0.h, z1.h, z2.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xc0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 c0 a4 <unknown>
 
 ld3h    { z23.h, z24.h, z25.h }, p3/z, [x13, #-24, mul vl]
 // CHECK-INST: ld3h    { z23.h, z24.h, z25.h }, p3/z, [x13, #-24, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xc8,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed c8 a4 <unknown>
 
 ld3h    { z21.h, z22.h, z23.h }, p5/z, [x10, #15, mul vl]
 // CHECK-INST: ld3h    { z21.h, z22.h, z23.h }, p5/z, [x10, #15, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xc5,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 c5 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld3w.s b/llvm/test/MC/AArch64/SVE/ld3w.s
index d8cce83ce76b3..6c7170dcb05ea 100644
--- a/llvm/test/MC/AArch64/SVE/ld3w.s
+++ b/llvm/test/MC/AArch64/SVE/ld3w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld3w    { z0.s, z1.s, z2.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-INST: ld3w    { z0.s, z1.s, z2.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0xc0,0x40,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 40 a5 <unknown>
 
 ld3w    { z5.s, z6.s, z7.s }, p3/z, [x17, x16, lsl #2]
 // CHECK-INST: ld3w    { z5.s, z6.s, z7.s }, p3/z, [x17, x16, lsl #2]
 // CHECK-ENCODING: [0x25,0xce,0x50,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce 50 a5 <unknown>
 
 ld3w    { z0.s, z1.s, z2.s }, p0/z, [x0]
 // CHECK-INST: ld3w    { z0.s, z1.s, z2.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x40,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 40 a5 <unknown>
 
 ld3w    { z23.s, z24.s, z25.s }, p3/z, [x13, #-24, mul vl]
 // CHECK-INST: ld3w    { z23.s, z24.s, z25.s }, p3/z, [x13, #-24, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x48,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 48 a5 <unknown>
 
 ld3w    { z21.s, z22.s, z23.s }, p5/z, [x10, #15, mul vl]
 // CHECK-INST: ld3w    { z21.s, z22.s, z23.s }, p5/z, [x10, #15, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x45,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 45 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld4b.s b/llvm/test/MC/AArch64/SVE/ld4b.s
index f53d37e96fe97..c656bcdf26f21 100644
--- a/llvm/test/MC/AArch64/SVE/ld4b.s
+++ b/llvm/test/MC/AArch64/SVE/ld4b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld4b    { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0, x0]
 // CHECK-INST: ld4b    { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0, x0]
 // CHECK-ENCODING: [0x00,0xc0,0x60,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 60 a4 <unknown>
 
 ld4b    { z5.b, z6.b, z7.b, z8.b }, p3/z, [x17, x16]
 // CHECK-INST: ld4b    { z5.b, z6.b, z7.b, z8.b }, p3/z, [x17, x16]
 // CHECK-ENCODING: [0x25,0xce,0x70,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce 70 a4 <unknown>
 
 ld4b    { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0]
 // CHECK-INST: ld4b    { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x60,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 60 a4 <unknown>
 
 ld4b    { z23.b, z24.b, z25.b, z26.b }, p3/z, [x13, #-32, mul vl]
 // CHECK-INST: ld4b    { z23.b, z24.b, z25.b, z26.b }, p3/z, [x13, #-32, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x68,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 68 a4 <unknown>
 
 ld4b    { z21.b, z22.b, z23.b, z24.b }, p5/z, [x10, #20, mul vl]
 // CHECK-INST: ld4b    { z21.b, z22.b, z23.b, z24.b }, p5/z, [x10, #20, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x65,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 65 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld4d.s b/llvm/test/MC/AArch64/SVE/ld4d.s
index 28efab13afd15..46a35db517b5a 100644
--- a/llvm/test/MC/AArch64/SVE/ld4d.s
+++ b/llvm/test/MC/AArch64/SVE/ld4d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld4d    { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-INST: ld4d    { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0xc0,0xe0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e0 a5 <unknown>
 
 ld4d    { z5.d, z6.d, z7.d, z8.d }, p3/z, [x17, x16, lsl #3]
 // CHECK-INST: ld4d    { z5.d, z6.d, z7.d, z8.d }, p3/z, [x17, x16, lsl #3]
 // CHECK-ENCODING: [0x25,0xce,0xf0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce f0 a5 <unknown>
 
 ld4d    { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0]
 // CHECK-INST: ld4d    { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xe0,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e0 a5 <unknown>
 
 ld4d    { z23.d, z24.d, z25.d, z26.d }, p3/z, [x13, #-32, mul vl]
 // CHECK-INST: ld4d    { z23.d, z24.d, z25.d, z26.d }, p3/z, [x13, #-32, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xe8,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed e8 a5 <unknown>
 
 ld4d    { z21.d, z22.d, z23.d, z24.d }, p5/z, [x10, #20, mul vl]
 // CHECK-INST: ld4d    { z21.d, z22.d, z23.d, z24.d }, p5/z, [x10, #20, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xe5,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 e5 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld4h.s b/llvm/test/MC/AArch64/SVE/ld4h.s
index 0f10c08172cab..c173ed140b2a0 100644
--- a/llvm/test/MC/AArch64/SVE/ld4h.s
+++ b/llvm/test/MC/AArch64/SVE/ld4h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld4h    { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-INST: ld4h    { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0xc0,0xe0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e0 a4 <unknown>
 
 ld4h    { z5.h, z6.h, z7.h, z8.h }, p3/z, [x17, x16, lsl #1]
 // CHECK-INST: ld4h    { z5.h, z6.h, z7.h, z8.h }, p3/z, [x17, x16, lsl #1]
 // CHECK-ENCODING: [0x25,0xce,0xf0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce f0 a4 <unknown>
 
 ld4h    { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0]
 // CHECK-INST: ld4h    { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xe0,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e0 a4 <unknown>
 
 ld4h    { z23.h, z24.h, z25.h, z26.h }, p3/z, [x13, #-32, mul vl]
 // CHECK-INST: ld4h    { z23.h, z24.h, z25.h, z26.h }, p3/z, [x13, #-32, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xe8,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed e8 a4 <unknown>
 
 ld4h    { z21.h, z22.h, z23.h, z24.h }, p5/z, [x10, #20, mul vl]
 // CHECK-INST: ld4h    { z21.h, z22.h, z23.h, z24.h }, p5/z, [x10, #20, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xe5,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 e5 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ld4w.s b/llvm/test/MC/AArch64/SVE/ld4w.s
index b24ffbbb3dce2..29092e710d747 100644
--- a/llvm/test/MC/AArch64/SVE/ld4w.s
+++ b/llvm/test/MC/AArch64/SVE/ld4w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ld4w    { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-INST: ld4w    { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0xc0,0x60,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 60 a5 <unknown>
 
 ld4w    { z5.s, z6.s, z7.s, z8.s }, p3/z, [x17, x16, lsl #2]
 // CHECK-INST: ld4w    { z5.s, z6.s, z7.s, z8.s }, p3/z, [x17, x16, lsl #2]
 // CHECK-ENCODING: [0x25,0xce,0x70,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 ce 70 a5 <unknown>
 
 ld4w    { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0]
 // CHECK-INST: ld4w    { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x60,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 60 a5 <unknown>
 
 ld4w    { z23.s, z24.s, z25.s, z26.s }, p3/z, [x13, #-32, mul vl]
 // CHECK-INST: ld4w    { z23.s, z24.s, z25.s, z26.s }, p3/z, [x13, #-32, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x68,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 68 a5 <unknown>
 
 ld4w    { z21.s, z22.s, z23.s, z24.s }, p5/z, [x10, #20, mul vl]
 // CHECK-INST: ld4w    { z21.s, z22.s, z23.s, z24.s }, p5/z, [x10, #20, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x65,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 65 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ldff1b.s b/llvm/test/MC/AArch64/SVE/ldff1b.s
index 89e5f2296c218..a69edaf4202f3 100644
--- a/llvm/test/MC/AArch64/SVE/ldff1b.s
+++ b/llvm/test/MC/AArch64/SVE/ldff1b.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldff1d.s b/llvm/test/MC/AArch64/SVE/ldff1d.s
index 2659d211ba81d..38cd6d55ec289 100644
--- a/llvm/test/MC/AArch64/SVE/ldff1d.s
+++ b/llvm/test/MC/AArch64/SVE/ldff1d.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldff1h.s b/llvm/test/MC/AArch64/SVE/ldff1h.s
index c803d940f7856..0901a5d194f2d 100644
--- a/llvm/test/MC/AArch64/SVE/ldff1h.s
+++ b/llvm/test/MC/AArch64/SVE/ldff1h.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldff1sb.s b/llvm/test/MC/AArch64/SVE/ldff1sb.s
index f81f07e197396..9b2b92c4a2f2b 100644
--- a/llvm/test/MC/AArch64/SVE/ldff1sb.s
+++ b/llvm/test/MC/AArch64/SVE/ldff1sb.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldff1sh.s b/llvm/test/MC/AArch64/SVE/ldff1sh.s
index ae47be85bb2a4..6ac8c0eba1f62 100644
--- a/llvm/test/MC/AArch64/SVE/ldff1sh.s
+++ b/llvm/test/MC/AArch64/SVE/ldff1sh.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldff1sw.s b/llvm/test/MC/AArch64/SVE/ldff1sw.s
index 993da6f354460..1ffbc41c8796f 100644
--- a/llvm/test/MC/AArch64/SVE/ldff1sw.s
+++ b/llvm/test/MC/AArch64/SVE/ldff1sw.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldff1w.s b/llvm/test/MC/AArch64/SVE/ldff1w.s
index cb96aab4c3ab2..b220e29f0f86a 100644
--- a/llvm/test/MC/AArch64/SVE/ldff1w.s
+++ b/llvm/test/MC/AArch64/SVE/ldff1w.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldnf1b.s b/llvm/test/MC/AArch64/SVE/ldnf1b.s
index c6a9d9c357e41..d6c0802b21856 100644
--- a/llvm/test/MC/AArch64/SVE/ldnf1b.s
+++ b/llvm/test/MC/AArch64/SVE/ldnf1b.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldnf1d.s b/llvm/test/MC/AArch64/SVE/ldnf1d.s
index 4264969fc2aba..da731793e2c0a 100644
--- a/llvm/test/MC/AArch64/SVE/ldnf1d.s
+++ b/llvm/test/MC/AArch64/SVE/ldnf1d.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldnf1h.s b/llvm/test/MC/AArch64/SVE/ldnf1h.s
index 4c873d9682e2a..ea57a3328a662 100644
--- a/llvm/test/MC/AArch64/SVE/ldnf1h.s
+++ b/llvm/test/MC/AArch64/SVE/ldnf1h.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldnf1sb.s b/llvm/test/MC/AArch64/SVE/ldnf1sb.s
index fed903e3bbaa0..1f5ca72a94b4b 100644
--- a/llvm/test/MC/AArch64/SVE/ldnf1sb.s
+++ b/llvm/test/MC/AArch64/SVE/ldnf1sb.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldnf1sh.s b/llvm/test/MC/AArch64/SVE/ldnf1sh.s
index 42ec6298a4fc8..19d61de9271cf 100644
--- a/llvm/test/MC/AArch64/SVE/ldnf1sh.s
+++ b/llvm/test/MC/AArch64/SVE/ldnf1sh.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldnf1sw.s b/llvm/test/MC/AArch64/SVE/ldnf1sw.s
index 0d26c91a2f706..6291b2b69db67 100644
--- a/llvm/test/MC/AArch64/SVE/ldnf1sw.s
+++ b/llvm/test/MC/AArch64/SVE/ldnf1sw.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldnf1w.s b/llvm/test/MC/AArch64/SVE/ldnf1w.s
index 7964a74258dc1..3e90304904440 100644
--- a/llvm/test/MC/AArch64/SVE/ldnf1w.s
+++ b/llvm/test/MC/AArch64/SVE/ldnf1w.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ldnt1b.s b/llvm/test/MC/AArch64/SVE/ldnt1b.s
index bce8726d7046f..0ad86883b3c9c 100644
--- a/llvm/test/MC/AArch64/SVE/ldnt1b.s
+++ b/llvm/test/MC/AArch64/SVE/ldnt1b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ldnt1b  z0.b, p0/z, [x0]
 // CHECK-INST: ldnt1b  { z0.b }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 00 a4 <unknown>
 
 ldnt1b  { z0.b }, p0/z, [x0]
 // CHECK-INST: ldnt1b  { z0.b }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 00 a4 <unknown>
 
 ldnt1b  { z23.b }, p3/z, [x13, #-8, mul vl]
 // CHECK-INST: ldnt1b  { z23.b }, p3/z, [x13, #-8, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x08,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 08 a4 <unknown>
 
 ldnt1b  { z21.b }, p5/z, [x10, #7, mul vl]
 // CHECK-INST: ldnt1b  { z21.b }, p5/z, [x10, #7, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x07,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 07 a4 <unknown>
 
 ldnt1b  { z0.b }, p0/z, [x0, x0]
 // CHECK-INST: ldnt1b  { z0.b }, p0/z, [x0, x0]
 // CHECK-ENCODING: [0x00,0xc0,0x00,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 00 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ldnt1d.s b/llvm/test/MC/AArch64/SVE/ldnt1d.s
index bb2d505964ae2..7e881b6ef43a6 100644
--- a/llvm/test/MC/AArch64/SVE/ldnt1d.s
+++ b/llvm/test/MC/AArch64/SVE/ldnt1d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ldnt1d  z0.d, p0/z, [x0]
 // CHECK-INST: ldnt1d  { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x80,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 80 a5 <unknown>
 
 ldnt1d  { z0.d }, p0/z, [x0]
 // CHECK-INST: ldnt1d  { z0.d }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x80,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 80 a5 <unknown>
 
 ldnt1d  { z23.d }, p3/z, [x13, #-8, mul vl]
 // CHECK-INST: ldnt1d  { z23.d }, p3/z, [x13, #-8, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x88,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 88 a5 <unknown>
 
 ldnt1d  { z21.d }, p5/z, [x10, #7, mul vl]
 // CHECK-INST: ldnt1d  { z21.d }, p5/z, [x10, #7, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x87,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 87 a5 <unknown>
 
 ldnt1d  { z0.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-INST: ldnt1d  { z0.d }, p0/z, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0xc0,0x80,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 80 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ldnt1h.s b/llvm/test/MC/AArch64/SVE/ldnt1h.s
index ad12b815a19e3..139fd5257cad7 100644
--- a/llvm/test/MC/AArch64/SVE/ldnt1h.s
+++ b/llvm/test/MC/AArch64/SVE/ldnt1h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ldnt1h  z0.h, p0/z, [x0]
 // CHECK-INST: ldnt1h  { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x80,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 80 a4 <unknown>
 
 ldnt1h  { z0.h }, p0/z, [x0]
 // CHECK-INST: ldnt1h  { z0.h }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x80,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 80 a4 <unknown>
 
 ldnt1h  { z23.h }, p3/z, [x13, #-8, mul vl]
 // CHECK-INST: ldnt1h  { z23.h }, p3/z, [x13, #-8, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x88,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 88 a4 <unknown>
 
 ldnt1h  { z21.h }, p5/z, [x10, #7, mul vl]
 // CHECK-INST: ldnt1h  { z21.h }, p5/z, [x10, #7, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x87,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 87 a4 <unknown>
 
 ldnt1h  { z0.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-INST: ldnt1h  { z0.h }, p0/z, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0xc0,0x80,0xa4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 80 a4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ldnt1w.s b/llvm/test/MC/AArch64/SVE/ldnt1w.s
index 7ed6c5fd1eaa1..f0e10ee10c82c 100644
--- a/llvm/test/MC/AArch64/SVE/ldnt1w.s
+++ b/llvm/test/MC/AArch64/SVE/ldnt1w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 ldnt1w  z0.s, p0/z, [x0]
 // CHECK-INST: ldnt1w  { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x00,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 00 a5 <unknown>
 
 ldnt1w  { z0.s }, p0/z, [x0]
 // CHECK-INST: ldnt1w  { z0.s }, p0/z, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x00,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 00 a5 <unknown>
 
 ldnt1w  { z23.s }, p3/z, [x13, #-8, mul vl]
 // CHECK-INST: ldnt1w  { z23.s }, p3/z, [x13, #-8, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x08,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 08 a5 <unknown>
 
 ldnt1w  { z21.s }, p5/z, [x10, #7, mul vl]
 // CHECK-INST: ldnt1w  { z21.s }, p5/z, [x10, #7, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x07,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 07 a5 <unknown>
 
 ldnt1w  { z0.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-INST: ldnt1w  { z0.s }, p0/z, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0xc0,0x00,0xa5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 00 a5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ldr.s b/llvm/test/MC/AArch64/SVE/ldr.s
index b08951dfe4a8b..1e86e0056f896 100644
--- a/llvm/test/MC/AArch64/SVE/ldr.s
+++ b/llvm/test/MC/AArch64/SVE/ldr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 ldr     z0, [x0]
 // CHECK-INST: ldr     z0, [x0]
 // CHECK-ENCODING: [0x00,0x40,0x80,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 80 85 <unknown>
 
 ldr     z31, [sp, #-256, mul vl]
 // CHECK-INST: ldr     z31, [sp, #-256, mul vl]
 // CHECK-ENCODING: [0xff,0x43,0xa0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 43 a0 85 <unknown>
 
 ldr     z23, [x13, #255, mul vl]
 // CHECK-INST: ldr     z23, [x13, #255, mul vl]
 // CHECK-ENCODING: [0xb7,0x5d,0x9f,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 5d 9f 85 <unknown>
 
 ldr     p0, [x0]
 // CHECK-INST: ldr     p0, [x0]
 // CHECK-ENCODING: [0x00,0x00,0x80,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 80 85 <unknown>
 
 ldr     p7, [x13, #-256, mul vl]
 // CHECK-INST: ldr     p7, [x13, #-256, mul vl]
 // CHECK-ENCODING: [0xa7,0x01,0xa0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a7 01 a0 85 <unknown>
 
 ldr     p5, [x10, #255, mul vl]
 // CHECK-INST: ldr     p5, [x10, #255, mul vl]
 // CHECK-ENCODING: [0x45,0x1d,0x9f,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 45 1d 9f 85 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/lsl.s b/llvm/test/MC/AArch64/SVE/lsl.s
index d7602a88242dd..b95d973949ec2 100644
--- a/llvm/test/MC/AArch64/SVE/lsl.s
+++ b/llvm/test/MC/AArch64/SVE/lsl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,157 +12,157 @@
 lsl     z0.b, z0.b, #0
 // CHECK-INST: lsl	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0x9c,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 9c 28 04 <unknown>
 
 lsl     z31.b, z31.b, #7
 // CHECK-INST: lsl	z31.b, z31.b, #7
 // CHECK-ENCODING: [0xff,0x9f,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 2f 04 <unknown>
 
 lsl     z0.h, z0.h, #0
 // CHECK-INST: lsl	z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0x9c,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 9c 30 04 <unknown>
 
 lsl     z31.h, z31.h, #15
 // CHECK-INST: lsl	z31.h, z31.h, #15
 // CHECK-ENCODING: [0xff,0x9f,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 3f 04 <unknown>
 
 lsl     z0.s, z0.s, #0
 // CHECK-INST: lsl	z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0x9c,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 9c 60 04 <unknown>
 
 lsl     z31.s, z31.s, #31
 // CHECK-INST: lsl	z31.s, z31.s, #31
 // CHECK-ENCODING: [0xff,0x9f,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 7f 04 <unknown>
 
 lsl     z0.d, z0.d, #0
 // CHECK-INST: lsl	z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0x9c,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 9c a0 04 <unknown>
 
 lsl     z31.d, z31.d, #63
 // CHECK-INST: lsl	z31.d, z31.d, #63
 // CHECK-ENCODING: [0xff,0x9f,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f ff 04 <unknown>
 
 lsl     z0.b, p0/m, z0.b, #0
 // CHECK-INST: lsl	z0.b, p0/m, z0.b, #0
 // CHECK-ENCODING: [0x00,0x81,0x03,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 81 03 04 <unknown>
 
 lsl     z31.b, p0/m, z31.b, #7
 // CHECK-INST: lsl	z31.b, p0/m, z31.b, #7
 // CHECK-ENCODING: [0xff,0x81,0x03,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 81 03 04 <unknown>
 
 lsl     z0.h, p0/m, z0.h, #0
 // CHECK-INST: lsl	z0.h, p0/m, z0.h, #0
 // CHECK-ENCODING: [0x00,0x82,0x03,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 82 03 04 <unknown>
 
 lsl     z31.h, p0/m, z31.h, #15
 // CHECK-INST: lsl	z31.h, p0/m, z31.h, #15
 // CHECK-ENCODING: [0xff,0x83,0x03,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 83 03 04 <unknown>
 
 lsl     z0.s, p0/m, z0.s, #0
 // CHECK-INST: lsl	z0.s, p0/m, z0.s, #0
 // CHECK-ENCODING: [0x00,0x80,0x43,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 43 04 <unknown>
 
 lsl     z31.s, p0/m, z31.s, #31
 // CHECK-INST: lsl	z31.s, p0/m, z31.s, #31
 // CHECK-ENCODING: [0xff,0x83,0x43,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 83 43 04 <unknown>
 
 lsl     z0.d, p0/m, z0.d, #0
 // CHECK-INST: lsl	z0.d, p0/m, z0.d, #0
 // CHECK-ENCODING: [0x00,0x80,0x83,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 83 04 <unknown>
 
 lsl     z31.d, p0/m, z31.d, #63
 // CHECK-INST: lsl	z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xc3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 83 c3 04 <unknown>
 
 lsl     z0.b, p0/m, z0.b, z0.b
 // CHECK-INST: lsl	z0.b, p0/m, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x80,0x13,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 13 04 <unknown>
 
 lsl     z0.h, p0/m, z0.h, z0.h
 // CHECK-INST: lsl	z0.h, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x80,0x53,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 53 04 <unknown>
 
 lsl     z0.s, p0/m, z0.s, z0.s
 // CHECK-INST: lsl	z0.s, p0/m, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x80,0x93,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 93 04 <unknown>
 
 lsl     z0.d, p0/m, z0.d, z0.d
 // CHECK-INST: lsl	z0.d, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x80,0xd3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 d3 04 <unknown>
 
 lsl     z0.b, p0/m, z0.b, z1.d
 // CHECK-INST: lsl	z0.b, p0/m, z0.b, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x1b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 1b 04 <unknown>
 
 lsl     z0.h, p0/m, z0.h, z1.d
 // CHECK-INST: lsl	z0.h, p0/m, z0.h, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x5b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 5b 04 <unknown>
 
 lsl     z0.s, p0/m, z0.s, z1.d
 // CHECK-INST: lsl	z0.s, p0/m, z0.s, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x9b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 9b 04 <unknown>
 
 lsl     z0.b, z1.b, z2.d
 // CHECK-INST: lsl	z0.b, z1.b, z2.d
 // CHECK-ENCODING: [0x20,0x8c,0x22,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 8c 22 04 <unknown>
 
 lsl     z0.h, z1.h, z2.d
 // CHECK-INST: lsl	z0.h, z1.h, z2.d
 // CHECK-ENCODING: [0x20,0x8c,0x62,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 8c 62 04 <unknown>
 
 lsl     z0.s, z1.s, z2.d
 // CHECK-INST: lsl	z0.s, z1.s, z2.d
 // CHECK-ENCODING: [0x20,0x8c,0xa2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 8c a2 04 <unknown>
 
 
@@ -170,47 +172,47 @@ lsl     z0.s, z1.s, z2.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx	z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 lsl     z31.d, p0/m, z31.d, #63
 // CHECK-INST: lsl	z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xc3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 83 c3 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 lsl     z31.d, p0/m, z31.d, #63
 // CHECK-INST: lsl	z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xc3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 83 c3 04 <unknown>
 
 movprfx z0.s, p0/z, z7.s
 // CHECK-INST: movprfx	z0.s, p0/z, z7.s
 // CHECK-ENCODING: [0xe0,0x20,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 20 90 04 <unknown>
 
 lsl     z0.s, p0/m, z0.s, z1.d
 // CHECK-INST: lsl	z0.s, p0/m, z0.s, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x9b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 9b 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 lsl     z0.s, p0/m, z0.s, z1.d
 // CHECK-INST: lsl	z0.s, p0/m, z0.s, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x9b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 9b 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/lslr.s b/llvm/test/MC/AArch64/SVE/lslr.s
index 7d69ba6d1f209..e53e09eaa0c9b 100644
--- a/llvm/test/MC/AArch64/SVE/lslr.s
+++ b/llvm/test/MC/AArch64/SVE/lslr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 lslr    z0.b, p0/m, z0.b, z0.b
 // CHECK-INST: lslr	z0.b, p0/m, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x80,0x17,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 17 04 <unknown>
 
 lslr    z0.h, p0/m, z0.h, z0.h
 // CHECK-INST: lslr	z0.h, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x80,0x57,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 57 04 <unknown>
 
 lslr    z0.s, p0/m, z0.s, z0.s
 // CHECK-INST: lslr	z0.s, p0/m, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x80,0x97,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 97 04 <unknown>
 
 lslr    z0.d, p0/m, z0.d, z0.d
 // CHECK-INST: lslr	z0.d, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x80,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 d7 04 <unknown>
 
 
@@ -38,23 +40,23 @@ lslr    z0.d, p0/m, z0.d, z0.d
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 lslr    z5.d, p0/m, z5.d, z0.d
 // CHECK-INST: lslr	z5.d, p0/m, z5.d, z0.d
 // CHECK-ENCODING: [0x05,0x80,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 80 d7 04 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 lslr    z5.d, p0/m, z5.d, z0.d
 // CHECK-INST: lslr	z5.d, p0/m, z5.d, z0.d
 // CHECK-ENCODING: [0x05,0x80,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 80 d7 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/lsr.s b/llvm/test/MC/AArch64/SVE/lsr.s
index 448c52d5f8cd8..d0706c8fcb53e 100644
--- a/llvm/test/MC/AArch64/SVE/lsr.s
+++ b/llvm/test/MC/AArch64/SVE/lsr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,157 +12,157 @@
 lsr     z0.b, z0.b, #1
 // CHECK-INST: lsr	z0.b, z0.b, #1
 // CHECK-ENCODING: [0x00,0x94,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 94 2f 04 <unknown>
 
 lsr     z31.b, z31.b, #8
 // CHECK-INST: lsr	z31.b, z31.b, #8
 // CHECK-ENCODING: [0xff,0x97,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 97 28 04 <unknown>
 
 lsr     z0.h, z0.h, #1
 // CHECK-INST: lsr	z0.h, z0.h, #1
 // CHECK-ENCODING: [0x00,0x94,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 94 3f 04 <unknown>
 
 lsr     z31.h, z31.h, #16
 // CHECK-INST: lsr	z31.h, z31.h, #16
 // CHECK-ENCODING: [0xff,0x97,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 97 30 04 <unknown>
 
 lsr     z0.s, z0.s, #1
 // CHECK-INST: lsr	z0.s, z0.s, #1
 // CHECK-ENCODING: [0x00,0x94,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 94 7f 04 <unknown>
 
 lsr     z31.s, z31.s, #32
 // CHECK-INST: lsr	z31.s, z31.s, #32
 // CHECK-ENCODING: [0xff,0x97,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 97 60 04 <unknown>
 
 lsr     z0.d, z0.d, #1
 // CHECK-INST: lsr	z0.d, z0.d, #1
 // CHECK-ENCODING: [0x00,0x94,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 94 ff 04 <unknown>
 
 lsr     z31.d, z31.d, #64
 // CHECK-INST: lsr	z31.d, z31.d, #64
 // CHECK-ENCODING: [0xff,0x97,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 97 a0 04 <unknown>
 
 lsr     z0.b, p0/m, z0.b, #1
 // CHECK-INST: lsr	z0.b, p0/m, z0.b, #1
 // CHECK-ENCODING: [0xe0,0x81,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 81 01 04 <unknown>
 
 lsr     z31.b, p0/m, z31.b, #8
 // CHECK-INST: lsr	z31.b, p0/m, z31.b, #8
 // CHECK-ENCODING: [0x1f,0x81,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 81 01 04 <unknown>
 
 lsr     z0.h, p0/m, z0.h, #1
 // CHECK-INST: lsr	z0.h, p0/m, z0.h, #1
 // CHECK-ENCODING: [0xe0,0x83,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 83 01 04 <unknown>
 
 lsr     z31.h, p0/m, z31.h, #16
 // CHECK-INST: lsr	z31.h, p0/m, z31.h, #16
 // CHECK-ENCODING: [0x1f,0x82,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 82 01 04 <unknown>
 
 lsr     z0.s, p0/m, z0.s, #1
 // CHECK-INST: lsr	z0.s, p0/m, z0.s, #1
 // CHECK-ENCODING: [0xe0,0x83,0x41,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 83 41 04 <unknown>
 
 lsr     z31.s, p0/m, z31.s, #32
 // CHECK-INST: lsr	z31.s, p0/m, z31.s, #32
 // CHECK-ENCODING: [0x1f,0x80,0x41,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 41 04 <unknown>
 
 lsr     z0.d, p0/m, z0.d, #1
 // CHECK-INST: lsr	z0.d, p0/m, z0.d, #1
 // CHECK-ENCODING: [0xe0,0x83,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 83 c1 04 <unknown>
 
 lsr     z31.d, p0/m, z31.d, #64
 // CHECK-INST: lsr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 81 04 <unknown>
 
 lsr     z0.b, p0/m, z0.b, z0.b
 // CHECK-INST: lsr	z0.b, p0/m, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x80,0x11,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 11 04 <unknown>
 
 lsr     z0.h, p0/m, z0.h, z0.h
 // CHECK-INST: lsr	z0.h, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x80,0x51,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 51 04 <unknown>
 
 lsr     z0.s, p0/m, z0.s, z0.s
 // CHECK-INST: lsr	z0.s, p0/m, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x80,0x91,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 91 04 <unknown>
 
 lsr     z0.d, p0/m, z0.d, z0.d
 // CHECK-INST: lsr	z0.d, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x80,0xd1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 d1 04 <unknown>
 
 lsr     z0.b, p0/m, z0.b, z1.d
 // CHECK-INST: lsr	z0.b, p0/m, z0.b, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x19,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 19 04 <unknown>
 
 lsr     z0.h, p0/m, z0.h, z1.d
 // CHECK-INST: lsr	z0.h, p0/m, z0.h, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x59,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 59 04 <unknown>
 
 lsr     z0.s, p0/m, z0.s, z1.d
 // CHECK-INST: lsr	z0.s, p0/m, z0.s, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x99,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 99 04 <unknown>
 
 lsr     z0.b, z1.b, z2.d
 // CHECK-INST: lsr	z0.b, z1.b, z2.d
 // CHECK-ENCODING: [0x20,0x84,0x22,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 84 22 04 <unknown>
 
 lsr     z0.h, z1.h, z2.d
 // CHECK-INST: lsr	z0.h, z1.h, z2.d
 // CHECK-ENCODING: [0x20,0x84,0x62,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 84 62 04 <unknown>
 
 lsr     z0.s, z1.s, z2.d
 // CHECK-INST: lsr	z0.s, z1.s, z2.d
 // CHECK-ENCODING: [0x20,0x84,0xa2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 84 a2 04 <unknown>
 
 
@@ -170,47 +172,47 @@ lsr     z0.s, z1.s, z2.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx	z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 lsr     z31.d, p0/m, z31.d, #64
 // CHECK-INST: lsr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 81 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 lsr     z31.d, p0/m, z31.d, #64
 // CHECK-INST: lsr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 80 81 04 <unknown>
 
 movprfx z0.s, p0/z, z7.s
 // CHECK-INST: movprfx	z0.s, p0/z, z7.s
 // CHECK-ENCODING: [0xe0,0x20,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 20 90 04 <unknown>
 
 lsr     z0.s, p0/m, z0.s, z1.d
 // CHECK-INST: lsr	z0.s, p0/m, z0.s, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x99,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 99 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 lsr     z0.s, p0/m, z0.s, z1.d
 // CHECK-INST: lsr	z0.s, p0/m, z0.s, z1.d
 // CHECK-ENCODING: [0x20,0x80,0x99,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 80 99 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/lsrr.s b/llvm/test/MC/AArch64/SVE/lsrr.s
index fad949429fea3..9ab593abd9162 100644
--- a/llvm/test/MC/AArch64/SVE/lsrr.s
+++ b/llvm/test/MC/AArch64/SVE/lsrr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 lsrr    z0.b, p0/m, z0.b, z0.b
 // CHECK-INST: lsrr	z0.b, p0/m, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x80,0x15,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 15 04 <unknown>
 
 lsrr    z0.h, p0/m, z0.h, z0.h
 // CHECK-INST: lsrr	z0.h, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x80,0x55,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 55 04 <unknown>
 
 lsrr    z0.s, p0/m, z0.s, z0.s
 // CHECK-INST: lsrr	z0.s, p0/m, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x80,0x95,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 95 04 <unknown>
 
 lsrr    z0.d, p0/m, z0.d, z0.d
 // CHECK-INST: lsrr	z0.d, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x80,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 d5 04 <unknown>
 
 
@@ -38,23 +40,23 @@ lsrr    z0.d, p0/m, z0.d, z0.d
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 lsrr    z5.d, p0/m, z5.d, z0.d
 // CHECK-INST: lsrr	z5.d, p0/m, z5.d, z0.d
 // CHECK-ENCODING: [0x05,0x80,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 80 d5 04 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 lsrr    z5.d, p0/m, z5.d, z0.d
 // CHECK-INST: lsrr	z5.d, p0/m, z5.d, z0.d
 // CHECK-ENCODING: [0x05,0x80,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 80 d5 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/mad.s b/llvm/test/MC/AArch64/SVE/mad.s
index cc145d4d96162..417c8561f4dbf 100644
--- a/llvm/test/MC/AArch64/SVE/mad.s
+++ b/llvm/test/MC/AArch64/SVE/mad.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 mad z0.b, p7/m, z1.b, z31.b
 // CHECK-INST: mad	z0.b, p7/m, z1.b, z31.b
 // CHECK-ENCODING: [0xe0,0xdf,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 df 01 04 <unknown>
 
 mad z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: mad	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0xe0,0xdf,0x41,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 df 41 04 <unknown>
 
 mad z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: mad	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0xe0,0xdf,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 df 81 04 <unknown>
 
 mad z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: mad	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0xe0,0xdf,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 df c1 04 <unknown>
 
 
@@ -38,23 +40,23 @@ mad z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 mad z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: mad	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0xe0,0xdf,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 df c1 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 mad z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: mad	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0xe0,0xdf,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 df c1 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/matrix-multiply-fp32.s b/llvm/test/MC/AArch64/SVE/matrix-multiply-fp32.s
index 69c7bc69dc92a..e3a79381b10bb 100644
--- a/llvm/test/MC/AArch64/SVE/matrix-multiply-fp32.s
+++ b/llvm/test/MC/AArch64/SVE/matrix-multiply-fp32.s
@@ -1,6 +1,8 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+f32mm < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+i8mm,+f64mm < %s 2>&1 \
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve,+f32mm < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve,+f32mm - | FileCheck %s --check-prefix=CHECK-INST
@@ -13,5 +15,5 @@
 fmmla z0.s, z1.s, z2.s
 // CHECK-INST: fmmla z0.s, z1.s, z2.s
 // CHECK-ENCODING: [0x20,0xe4,0xa2,0x64]
-// CHECK-ERROR: instruction requires: f32mm
+// CHECK-ERROR: instruction requires: f32mm sve
 // CHECK-UNKNOWN: 20 e4 a2 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/matrix-multiply-fp64.s b/llvm/test/MC/AArch64/SVE/matrix-multiply-fp64.s
index 453c7600f91c7..9477199742edb 100644
--- a/llvm/test/MC/AArch64/SVE/matrix-multiply-fp64.s
+++ b/llvm/test/MC/AArch64/SVE/matrix-multiply-fp64.s
@@ -1,6 +1,6 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+f64mm < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+i8mm,+f32mm < %s 2>&1 \
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve,+f64mm < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve,+f64mm - | FileCheck %s --check-prefix=CHECK-INST
@@ -13,7 +13,7 @@
 fmmla z0.d, z1.d, z2.d
 // CHECK-INST: fmmla z0.d, z1.d, z2.d
 // CHECK-ENCODING: [0x20,0xe4,0xe2,0x64]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 20 e4 e2 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -24,25 +24,25 @@ fmmla z0.d, z1.d, z2.d
 ld1rob { z0.b }, p1/z, [x2, #224]
 // CHECK-INST: ld1rob { z0.b }, p1/z, [x2, #224]
 // CHECK-ENCODING: [0x40,0x24,0x27,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 27 a4 <unknown>
 
 ld1roh { z0.h }, p1/z, [x2, #224]
 // CHECK-INST: ld1roh { z0.h }, p1/z, [x2, #224]
 // CHECK-ENCODING: [0x40,0x24,0xa7,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a7 a4 <unknown>
 
 ld1row { z0.s }, p1/z, [x2, #224]
 // CHECK-INST: ld1row { z0.s }, p1/z, [x2, #224]
 // CHECK-ENCODING: [0x40,0x24,0x27,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 27 a5 <unknown>
 
 ld1rod { z0.d }, p1/z, [x2, #224]
 // CHECK-INST: ld1rod { z0.d }, p1/z, [x2, #224]
 // CHECK-ENCODING: [0x40,0x24,0xa7,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a7 a5 <unknown>
 
 // With minimum immediate (-256)
@@ -50,25 +50,25 @@ ld1rod { z0.d }, p1/z, [x2, #224]
 ld1rob { z0.b }, p1/z, [x2, #-256]
 // CHECK-INST: ld1rob { z0.b }, p1/z, [x2, #-256]
 // CHECK-ENCODING: [0x40,0x24,0x28,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 28 a4 <unknown>
 
 ld1roh { z0.h }, p1/z, [x2, #-256]
 // CHECK-INST: ld1roh { z0.h }, p1/z, [x2, #-256]
 // CHECK-ENCODING: [0x40,0x24,0xa8,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a8 a4 <unknown>
 
 ld1row { z0.s }, p1/z, [x2, #-256]
 // CHECK-INST: ld1row { z0.s }, p1/z, [x2, #-256]
 // CHECK-ENCODING: [0x40,0x24,0x28,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 28 a5 <unknown>
 
 ld1rod { z0.d }, p1/z, [x2, #-256]
 // CHECK-INST: ld1rod { z0.d }, p1/z, [x2, #-256]
 // CHECK-ENCODING: [0x40,0x24,0xa8,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a8 a5 <unknown>
 
 // Aliases with a vector first operand, and omitted offset.
@@ -76,25 +76,25 @@ ld1rod { z0.d }, p1/z, [x2, #-256]
 ld1rob { z0.b }, p1/z, [x2]
 // CHECK-INST: ld1rob { z0.b }, p1/z, [x2]
 // CHECK-ENCODING: [0x40,0x24,0x20,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 20 a4 <unknown>
 
 ld1roh { z0.h }, p1/z, [x2]
 // CHECK-INST: ld1roh { z0.h }, p1/z, [x2]
 // CHECK-ENCODING: [0x40,0x24,0xa0,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a0 a4 <unknown>
 
 ld1row { z0.s }, p1/z, [x2]
 // CHECK-INST: ld1row { z0.s }, p1/z, [x2]
 // CHECK-ENCODING: [0x40,0x24,0x20,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 20 a5 <unknown>
 
 ld1rod { z0.d }, p1/z, [x2]
 // CHECK-INST: ld1rod { z0.d }, p1/z, [x2]
 // CHECK-ENCODING: [0x40,0x24,0xa0,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a0 a5 <unknown>
 
 // Aliases with a plain (non-list) first operand, and omitted offset.
@@ -102,25 +102,25 @@ ld1rod { z0.d }, p1/z, [x2]
 ld1rob z0.b, p1/z, [x2]
 // CHECK-INST: ld1rob { z0.b }, p1/z, [x2]
 // CHECK-ENCODING: [0x40,0x24,0x20,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 20 a4 <unknown>
 
 ld1roh z0.h, p1/z, [x2]
 // CHECK-INST: ld1roh { z0.h }, p1/z, [x2]
 // CHECK-ENCODING: [0x40,0x24,0xa0,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a0 a4 <unknown>
 
 ld1row z0.s, p1/z, [x2]
 // CHECK-INST: ld1row { z0.s }, p1/z, [x2]
 // CHECK-ENCODING: [0x40,0x24,0x20,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 20 a5 <unknown>
 
 ld1rod z0.d, p1/z, [x2]
 // CHECK-INST: ld1rod { z0.d }, p1/z, [x2]
 // CHECK-ENCODING: [0x40,0x24,0xa0,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a0 a5 <unknown>
 
 // Aliases with a plain (non-list) first operand, plus offset.
@@ -130,25 +130,25 @@ ld1rod z0.d, p1/z, [x2]
 ld1rob z0.b, p1/z, [x2, #224]
 // CHECK-INST: ld1rob { z0.b }, p1/z, [x2, #224]
 // CHECK-ENCODING: [0x40,0x24,0x27,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 27 a4 <unknown>
 
 ld1roh z0.h, p1/z, [x2, #224]
 // CHECK-INST: ld1roh { z0.h }, p1/z, [x2, #224]
 // CHECK-ENCODING: [0x40,0x24,0xa7,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a7 a4 <unknown>
 
 ld1row z0.s, p1/z, [x2, #224]
 // CHECK-INST: ld1row { z0.s }, p1/z, [x2, #224]
 // CHECK-ENCODING: [0x40,0x24,0x27,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 27 a5 <unknown>
 
 ld1rod z0.d, p1/z, [x2, #224]
 // CHECK-INST: ld1rod { z0.d }, p1/z, [x2, #224]
 // CHECK-ENCODING: [0x40,0x24,0xa7,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a7 a5 <unknown>
 
 // With minimum immediate (-256)
@@ -156,25 +156,25 @@ ld1rod z0.d, p1/z, [x2, #224]
 ld1rob z0.b, p1/z, [x2, #-256]
 // CHECK-INST: ld1rob { z0.b }, p1/z, [x2, #-256]
 // CHECK-ENCODING: [0x40,0x24,0x28,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 28 a4 <unknown>
 
 ld1roh z0.h, p1/z, [x2, #-256]
 // CHECK-INST: ld1roh { z0.h }, p1/z, [x2, #-256]
 // CHECK-ENCODING: [0x40,0x24,0xa8,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a8 a4 <unknown>
 
 ld1row z0.s, p1/z, [x2, #-256]
 // CHECK-INST: ld1row { z0.s }, p1/z, [x2, #-256]
 // CHECK-ENCODING: [0x40,0x24,0x28,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 28 a5 <unknown>
 
 ld1rod z0.d, p1/z, [x2, #-256]
 // CHECK-INST: ld1rod { z0.d }, p1/z, [x2, #-256]
 // CHECK-ENCODING: [0x40,0x24,0xa8,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 24 a8 a5 <unknown>
 
 
@@ -184,25 +184,25 @@ ld1rod z0.d, p1/z, [x2, #-256]
 ld1rob { z0.b }, p1/z, [x2, x3, lsl #0]
 // CHECK-INST: ld1rob { z0.b }, p1/z, [x2, x3]
 // CHECK-ENCODING: [0x40,0x04,0x23,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 04 23 a4 <unknown>
 
 ld1roh { z0.h }, p1/z, [x2, x3, lsl #1]
 // CHECK-INST: ld1roh { z0.h }, p1/z, [x2, x3, lsl #1]
 // CHECK-ENCODING: [0x40,0x04,0xa3,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 04 a3 a4 <unknown>
 
 ld1row { z0.s }, p1/z, [x2, x3, lsl #2]
 // CHECK-INST: ld1row { z0.s }, p1/z, [x2, x3, lsl #2]
 // CHECK-ENCODING: [0x40,0x04,0x23,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 04 23 a5 <unknown>
 
 ld1rod { z0.d }, p1/z, [x2, x3, lsl #3]
 // CHECK-INST: ld1rod { z0.d }, p1/z, [x2, x3, lsl #3]
 // CHECK-ENCODING: [0x40,0x04,0xa3,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 04 a3 a5 <unknown>
 
 // Aliases with a plain (non-list) first operand, and omitted shift for the
@@ -211,25 +211,25 @@ ld1rod { z0.d }, p1/z, [x2, x3, lsl #3]
 ld1rob z0.b, p1/z, [x2, x3]
 // CHECK-INST: ld1rob { z0.b }, p1/z, [x2, x3]
 // CHECK-ENCODING: [0x40,0x04,0x23,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 04 23 a4 <unknown>
 
 ld1roh z0.h, p1/z, [x2, x3, lsl #1]
 // CHECK-INST: ld1roh { z0.h }, p1/z, [x2, x3, lsl #1]
 // CHECK-ENCODING: [0x40,0x04,0xa3,0xa4]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 04 a3 a4 <unknown>
 
 ld1row z0.s, p1/z, [x2, x3, lsl #2]
 // CHECK-INST: ld1row { z0.s }, p1/z, [x2, x3, lsl #2]
 // CHECK-ENCODING: [0x40,0x04,0x23,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 04 23 a5 <unknown>
 
 ld1rod z0.d, p1/z, [x2, x3, lsl #3]
 // CHECK-INST: ld1rod { z0.d }, p1/z, [x2, x3, lsl #3]
 // CHECK-ENCODING: [0x40,0x04,0xa3,0xa5]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm sve
 // CHECK-UNKNOWN: 40 04 a3 a5 <unknown>
 
 
@@ -239,13 +239,13 @@ ld1rod z0.d, p1/z, [x2, x3, lsl #3]
 zip1 z0.q, z1.q, z2.q
 // CHECK-INST: zip1 z0.q, z1.q, z2.q
 // CHECK-ENCODING: [0x20,0x00,0xa2,0x05]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm streaming-sve
 // CHECK-UNKNOWN: 20 00 a2 05 <unknown>
 
 zip2 z0.q, z1.q, z2.q
 // CHECK-INST: zip2 z0.q, z1.q, z2.q
 // CHECK-ENCODING: [0x20,0x04,0xa2,0x05]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm streaming-sve
 // CHECK-UNKNOWN: 20 04 a2 05 <unknown>
 
 
@@ -255,13 +255,13 @@ zip2 z0.q, z1.q, z2.q
 uzp1 z0.q, z1.q, z2.q
 // CHECK-INST: uzp1 z0.q, z1.q, z2.q
 // CHECK-ENCODING: [0x20,0x08,0xa2,0x05]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm streaming-sve
 // CHECK-UNKNOWN: 20 08 a2 05 <unknown>
 
 uzp2 z0.q, z1.q, z2.q
 // CHECK-INST: uzp2 z0.q, z1.q, z2.q
 // CHECK-ENCODING: [0x20,0x0c,0xa2,0x05]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm streaming-sve
 // CHECK-UNKNOWN: 20 0c a2 05 <unknown>
 
 
@@ -271,11 +271,11 @@ uzp2 z0.q, z1.q, z2.q
 trn1 z0.q, z1.q, z2.q
 // CHECK-INST: trn1 z0.q, z1.q, z2.q
 // CHECK-ENCODING: [0x20,0x18,0xa2,0x05]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm streaming-sve
 // CHECK-UNKNOWN: 20 18 a2 05 <unknown>
 
 trn2 z0.q, z1.q, z2.q
 // CHECK-INST: trn2 z0.q, z1.q, z2.q
 // CHECK-ENCODING: [0x20,0x1c,0xa2,0x05]
-// CHECK-ERROR: instruction requires: f64mm
+// CHECK-ERROR: instruction requires: f64mm streaming-sve
 // CHECK-UNKNOWN: 20 1c a2 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/matrix-multiply-int8.s b/llvm/test/MC/AArch64/SVE/matrix-multiply-int8.s
index 1927769d46554..ef0260a8d06f0 100644
--- a/llvm/test/MC/AArch64/SVE/matrix-multiply-int8.s
+++ b/llvm/test/MC/AArch64/SVE/matrix-multiply-int8.s
@@ -1,6 +1,6 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+i8mm < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s 2>&1 \
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve,+i8mm < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve,+i8mm - | FileCheck %s --check-prefix=CHECK-INST
@@ -14,19 +14,19 @@
 ummla z0.s, z1.b, z2.b
 // CHECK-INST: ummla z0.s, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x98,0xc2,0x45]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm sve
 // CHECK-UNKNOWN: 20 98 c2 45 <unknown>
 
 smmla z0.s, z1.b, z2.b
 // CHECK-INST: smmla z0.s, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x98,0x02,0x45]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm sve
 // CHECK-UNKNOWN: 20 98 02 45 <unknown>
 
 usmmla z0.s, z1.b, z2.b
 // CHECK-INST: usmmla z0.s, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x98,0x82,0x45]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm sve
 // CHECK-UNKNOWN: 20 98 82 45 <unknown>
 
 
@@ -40,7 +40,7 @@ movprfx z0, z7
 ummla z0.s, z1.b, z2.b
 // CHECK-INST: ummla z0.s, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x98,0xc2,0x45]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm sve
 // CHECK-UNKNOWN: 20 98 c2 45 <unknown>
 
 movprfx z0, z7
@@ -51,7 +51,7 @@ movprfx z0, z7
 smmla z0.s, z1.b, z2.b
 // CHECK-INST: smmla z0.s, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x98,0x02,0x45]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm sve
 // CHECK-UNKNOWN: 20 98 02 45 <unknown>
 
 movprfx z0, z7
@@ -62,7 +62,7 @@ movprfx z0, z7
 usmmla z0.s, z1.b, z2.b
 // CHECK-INST: usmmla z0.s, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x98,0x82,0x45]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm sve
 // CHECK-UNKNOWN: 20 98 82 45 <unknown>
 
 
@@ -72,7 +72,7 @@ usmmla z0.s, z1.b, z2.b
 usdot z0.s, z1.b, z2.b
 // CHECK-INST: usdot z0.s, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x78,0x82,0x44]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm streaming-sve
 // CHECK-UNKNOWN: 20 78 82 44 <unknown>
 
 // Test compatibility with MOVPRFX instruction.
@@ -85,7 +85,7 @@ movprfx z0, z7
 usdot z0.s, z1.b, z2.b
 // CHECK-INST: usdot z0.s, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x78,0x82,0x44]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm streaming-sve
 // CHECK-UNKNOWN: 20 78 82 44 <unknown>
 
 
@@ -95,13 +95,13 @@ usdot z0.s, z1.b, z2.b
 usdot z0.s, z1.b, z2.b[0]
 // CHECK-INST: usdot z0.s, z1.b, z2.b[0]
 // CHECK-ENCODING: [0x20,0x18,0xa2,0x44]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm streaming-sve
 // CHECK-UNKNOWN: 20 18 a2 44 <unknown>
 
 sudot z0.s, z1.b, z2.b[3]
 // CHECK-INST: sudot z0.s, z1.b, z2.b[3]
 // CHECK-ENCODING: [0x20,0x1c,0xba,0x44]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm streaming-sve
 // CHECK-UNKNOWN: 20 1c ba 44 <unknown>
 
 // Test compatibility with MOVPRFX instruction.
@@ -114,7 +114,7 @@ movprfx z0, z7
 usdot z0.s, z1.b, z2.b[0]
 // CHECK-INST: usdot z0.s, z1.b, z2.b[0]
 // CHECK-ENCODING: [0x20,0x18,0xa2,0x44]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm streaming-sve
 // CHECK-UNKNOWN: 20 18 a2 44 <unknown>
 
 movprfx z0, z7
@@ -125,5 +125,5 @@ movprfx z0, z7
 sudot z0.s, z1.b, z2.b[0]
 // CHECK-INST: sudot z0.s, z1.b, z2.b[0]
 // CHECK-ENCODING: [0x20,0x1c,0xa2,0x44]
-// CHECK-ERROR: instruction requires: i8mm
+// CHECK-ERROR: instruction requires: i8mm streaming-sve
 // CHECK-UNKNOWN: 20 1c a2 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/mla.s b/llvm/test/MC/AArch64/SVE/mla.s
index 910a17691500b..99ec77dd1c403 100644
--- a/llvm/test/MC/AArch64/SVE/mla.s
+++ b/llvm/test/MC/AArch64/SVE/mla.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 mla z0.b, p7/m, z1.b, z31.b
 // CHECK-INST: mla	z0.b, p7/m, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x5c,0x1f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c 1f 04 <unknown>
 
 mla z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: mla	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x5c,0x5f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c 5f 04 <unknown>
 
 mla z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: mla	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x5c,0x9f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c 9f 04 <unknown>
 
 mla z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: mla	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x5c,0xdf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c df 04 <unknown>
 
 
@@ -38,23 +40,23 @@ mla z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 mla z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: mla	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x5c,0xdf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c df 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 mla z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: mla	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x5c,0xdf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 5c df 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/mls.s b/llvm/test/MC/AArch64/SVE/mls.s
index 17ed6a7a1b6db..dade119e9dc9a 100644
--- a/llvm/test/MC/AArch64/SVE/mls.s
+++ b/llvm/test/MC/AArch64/SVE/mls.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 mls z0.b, p7/m, z1.b, z31.b
 // CHECK-INST: mls	z0.b, p7/m, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x7c,0x1f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c 1f 04 <unknown>
 
 mls z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: mls	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x7c,0x5f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c 5f 04 <unknown>
 
 mls z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: mls	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x7c,0x9f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c 9f 04 <unknown>
 
 mls z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: mls	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x7c,0xdf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c df 04 <unknown>
 
 
@@ -38,23 +40,23 @@ mls z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 mls z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: mls	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x7c,0xdf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c df 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 mls z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: mls	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x7c,0xdf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 7c df 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/mov.s b/llvm/test/MC/AArch64/SVE/mov.s
index 92b917b4be88f..72b25a447e341 100644
--- a/llvm/test/MC/AArch64/SVE/mov.s
+++ b/llvm/test/MC/AArch64/SVE/mov.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,367 +12,367 @@
 mov     z0.b, w0
 // CHECK-INST: mov     z0.b, w0
 // CHECK-ENCODING: [0x00,0x38,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 20 05 <unknown>
 
 mov     z0.h, w0
 // CHECK-INST: mov     z0.h, w0
 // CHECK-ENCODING: [0x00,0x38,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 60 05 <unknown>
 
 mov     z0.s, w0
 // CHECK-INST: mov     z0.s, w0
 // CHECK-ENCODING: [0x00,0x38,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 a0 05 <unknown>
 
 mov     z0.d, x0
 // CHECK-INST: mov     z0.d, x0
 // CHECK-ENCODING: [0x00,0x38,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 38 e0 05 <unknown>
 
 mov     z31.h, wsp
 // CHECK-INST: mov     z31.h, wsp
 // CHECK-ENCODING: [0xff,0x3b,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 60 05 <unknown>
 
 mov     z31.s, wsp
 // CHECK-INST: mov     z31.s, wsp
 // CHECK-ENCODING: [0xff,0x3b,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b a0 05 <unknown>
 
 mov     z31.d, sp
 // CHECK-INST: mov     z31.d, sp
 // CHECK-ENCODING: [0xff,0x3b,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b e0 05 <unknown>
 
 mov     z31.b, wsp
 // CHECK-INST: mov     z31.b, wsp
 // CHECK-ENCODING: [0xff,0x3b,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 20 05 <unknown>
 
 mov     z0.d, z0.d
 // CHECK-INST: mov     z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 60 04 <unknown>
 
 mov     z31.d, z0.d
 // CHECK-INST: mov     z31.d, z0.d
 // CHECK-ENCODING: [0x1f,0x30,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 30 60 04 <unknown>
 
 mov     z5.b, #-128
 // CHECK-INST: mov     z5.b, #-128
 // CHECK-ENCODING: [0x05,0xd0,0x38,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 d0 38 25 <unknown>
 
 mov     z5.b, #127
 // CHECK-INST: mov     z5.b, #127
 // CHECK-ENCODING: [0xe5,0xcf,0x38,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 cf 38 25 <unknown>
 
 mov     z5.b, #255
 // CHECK-INST: mov     z5.b, #-1
 // CHECK-ENCODING: [0xe5,0xdf,0x38,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 df 38 25 <unknown>
 
 mov     z21.h, #-128
 // CHECK-INST: mov     z21.h, #-128
 // CHECK-ENCODING: [0x15,0xd0,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 d0 78 25 <unknown>
 
 mov     z21.h, #-128, lsl #8
 // CHECK-INST: mov     z21.h, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 78 25 <unknown>
 
 mov     z21.h, #-32768
 // CHECK-INST: mov     z21.h, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 78 25 <unknown>
 
 mov     z21.h, #127
 // CHECK-INST: mov     z21.h, #127
 // CHECK-ENCODING: [0xf5,0xcf,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 cf 78 25 <unknown>
 
 mov     z21.h, #127, lsl #8
 // CHECK-INST: mov     z21.h, #32512
 // CHECK-ENCODING: [0xf5,0xef,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef 78 25 <unknown>
 
 mov     z21.h, #32512
 // CHECK-INST: mov     z21.h, #32512
 // CHECK-ENCODING: [0xf5,0xef,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef 78 25 <unknown>
 
 mov     z21.s, #-128
 // CHECK-INST: mov     z21.s, #-128
 // CHECK-ENCODING: [0x15,0xd0,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 d0 b8 25 <unknown>
 
 mov     z21.s, #-128, lsl #8
 // CHECK-INST: mov     z21.s, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 b8 25 <unknown>
 
 mov     z21.s, #-32768
 // CHECK-INST: mov     z21.s, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 b8 25 <unknown>
 
 mov     z21.s, #127
 // CHECK-INST: mov     z21.s, #127
 // CHECK-ENCODING: [0xf5,0xcf,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 cf b8 25 <unknown>
 
 mov     z21.s, #127, lsl #8
 // CHECK-INST: mov     z21.s, #32512
 // CHECK-ENCODING: [0xf5,0xef,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef b8 25 <unknown>
 
 mov     z21.s, #32512
 // CHECK-INST: mov     z21.s, #32512
 // CHECK-ENCODING: [0xf5,0xef,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef b8 25 <unknown>
 
 mov     z21.d, #-128
 // CHECK-INST: mov     z21.d, #-128
 // CHECK-ENCODING: [0x15,0xd0,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 d0 f8 25 <unknown>
 
 mov     z21.d, #-128, lsl #8
 // CHECK-INST: mov     z21.d, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 f8 25 <unknown>
 
 mov     z21.d, #-32768
 // CHECK-INST: mov     z21.d, #-32768
 // CHECK-ENCODING: [0x15,0xf0,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 f0 f8 25 <unknown>
 
 mov     z21.d, #127
 // CHECK-INST: mov     z21.d, #127
 // CHECK-ENCODING: [0xf5,0xcf,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 cf f8 25 <unknown>
 
 mov     z21.d, #127, lsl #8
 // CHECK-INST: mov     z21.d, #32512
 // CHECK-ENCODING: [0xf5,0xef,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef f8 25 <unknown>
 
 mov     z21.d, #32512
 // CHECK-INST: mov     z21.d, #32512
 // CHECK-ENCODING: [0xf5,0xef,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 ef f8 25 <unknown>
 
 mov     z0.h, #32768
 // CHECK-INST: mov    z0.h, #-32768
 // CHECK-ENCODING: [0x00,0xf0,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 78 25 <unknown>
 
 mov     z0.h, #65280
 // CHECK-INST: mov    z0.h, #-256
 // CHECK-ENCODING: [0xe0,0xff,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 78 25 <unknown>
 
 mov     z0.h, #-33024
 // CHECK-INST: mov z0.h, #32512
 // CHECK-ENCODING: [0xe0,0xef,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ef 78 25 <unknown>
 
 mov     z0.h, #-32769
 // CHECK-INST: mov z0.h, #32767
 // CHECK-ENCODING: [0xc0,0x05,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 05 c0 05 <unknown>
 
 mov     z0.s, #-32769
 // CHECK-INST: mov     z0.s, #0xffff7fff
 // CHECK-ENCODING: [0xc0,0x83,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 83 c0 05 <unknown>
 
 mov     z0.s, #32768
 // CHECK-INST: mov     z0.s, #32768
 // CHECK-ENCODING: [0x00,0x88,0xc0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 c0 05 <unknown>
 
 mov     z0.d, #-32769
 // CHECK-INST: mov     z0.d, #0xffffffffffff7fff
 // CHECK-ENCODING: [0xc0,0x87,0xc3,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 87 c3 05 <unknown>
 
 mov     z0.d, #32768
 // CHECK-INST: mov     z0.d, #32768
 // CHECK-ENCODING: [0x00,0x88,0xc3,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 88 c3 05 <unknown>
 
 mov     z0.d, #0xe0000000000003ff
 // CHECK-INST: mov     z0.d, #0xe0000000000003ff
 // CHECK-ENCODING: [0x80,0x19,0xc2,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 19 c2 05 <unknown>
 
 mov     z5.b, p0/z, #-128
 // CHECK-INST: mov     z5.b, p0/z, #-128
 // CHECK-ENCODING: [0x05,0x10,0x10,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 10 10 05  <unknown>
 
 mov     z5.b, p0/z, #127
 // CHECK-INST: mov     z5.b, p0/z, #127
 // CHECK-ENCODING: [0xe5,0x0f,0x10,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 0f 10 05  <unknown>
 
 mov     z5.b, p0/z, #255
 // CHECK-INST: mov     z5.b, p0/z, #-1
 // CHECK-ENCODING: [0xe5,0x1f,0x10,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 1f 10 05  <unknown>
 
 mov     z21.h, p0/z, #-128
 // CHECK-INST: mov     z21.h, p0/z, #-128
 // CHECK-ENCODING: [0x15,0x10,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 10 50 05  <unknown>
 
 mov     z21.h, p0/z, #-128, lsl #8
 // CHECK-INST: mov     z21.h, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 50 05  <unknown>
 
 mov     z21.h, p0/z, #-32768
 // CHECK-INST: mov     z21.h, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 50 05  <unknown>
 
 mov     z21.h, p0/z, #127
 // CHECK-INST: mov     z21.h, p0/z, #127
 // CHECK-ENCODING: [0xf5,0x0f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 0f 50 05  <unknown>
 
 mov     z21.h, p0/z, #127, lsl #8
 // CHECK-INST: mov     z21.h, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f 50 05  <unknown>
 
 mov     z21.h, p0/z, #32512
 // CHECK-INST: mov     z21.h, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f 50 05  <unknown>
 
 mov     z21.s, p0/z, #-128
 // CHECK-INST: mov     z21.s, p0/z, #-128
 // CHECK-ENCODING: [0x15,0x10,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 10 90 05  <unknown>
 
 mov     z21.s, p0/z, #-128, lsl #8
 // CHECK-INST: mov     z21.s, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 90 05  <unknown>
 
 mov     z21.s, p0/z, #-32768
 // CHECK-INST: mov     z21.s, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 90 05  <unknown>
 
 mov     z21.s, p0/z, #127
 // CHECK-INST: mov     z21.s, p0/z, #127
 // CHECK-ENCODING: [0xf5,0x0f,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 0f 90 05  <unknown>
 
 mov     z21.s, p0/z, #127, lsl #8
 // CHECK-INST: mov     z21.s, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f 90 05  <unknown>
 
 mov     z21.s, p0/z, #32512
 // CHECK-INST: mov     z21.s, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0x90,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f 90 05  <unknown>
 
 mov     z21.d, p0/z, #-128
 // CHECK-INST: mov     z21.d, p0/z, #-128
 // CHECK-ENCODING: [0x15,0x10,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 10 d0 05  <unknown>
 
 mov     z21.d, p0/z, #-128, lsl #8
 // CHECK-INST: mov     z21.d, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 d0 05  <unknown>
 
 mov     z21.d, p0/z, #-32768
 // CHECK-INST: mov     z21.d, p0/z, #-32768
 // CHECK-ENCODING: [0x15,0x30,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 30 d0 05  <unknown>
 
 mov     z21.d, p0/z, #127
 // CHECK-INST: mov     z21.d, p0/z, #127
 // CHECK-ENCODING: [0xf5,0x0f,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 0f d0 05  <unknown>
 
 mov     z21.d, p0/z, #127, lsl #8
 // CHECK-INST: mov     z21.d, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f d0 05  <unknown>
 
 mov     z21.d, p0/z, #32512
 // CHECK-INST: mov     z21.d, p0/z, #32512
 // CHECK-ENCODING: [0xf5,0x2f,0xd0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f5 2f d0 05  <unknown>
 
 
@@ -381,49 +383,49 @@ mov     z21.d, p0/z, #32512
 mov     z0.b, #-129
 // CHECK-INST: mov     z0.b, #127
 // CHECK-ENCODING: [0xe0,0xcf,0x38,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf 38 25 <unknown>
 
 mov     z0.h, #-129, lsl #8
 // CHECK-INST: mov     z0.h, #32512
 // CHECK-ENCODING: [0xe0,0xef,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ef 78 25 <unknown>
 
 mov     z5.h, #0xfffa
 // CHECK-INST: mov     z5.h, #-6
 // CHECK-ENCODING: [0x45,0xdf,0x78,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 45 df 78 25 <unknown>
 
 mov     z5.s, #0xfffffffa
 // CHECK-INST: mov     z5.s, #-6
 // CHECK-ENCODING: [0x45,0xdf,0xb8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 45 df b8 25 <unknown>
 
 mov     z5.d, #0xfffffffffffffffa
 // CHECK-INST: mov     z5.d, #-6
 // CHECK-ENCODING: [0x45,0xdf,0xf8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 45 df f8 25 <unknown>
 
 mov     z0.b, p0/z, #-129
 // CHECK-INST: mov     z0.b, p0/z, #127
 // CHECK-ENCODING: [0xe0,0x0f,0x10,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 0f 10 05 <unknown>
 
 mov     z0.h, p0/z, #-33024
 // CHECK-INST: mov     z0.h, p0/z, #32512
 // CHECK-ENCODING: [0xe0,0x2f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 2f 50 05 <unknown>
 
 mov     z0.h, p0/z, #-129, lsl #8
 // CHECK-INST: mov     z0.h, p0/z, #32512
 // CHECK-ENCODING: [0xe0,0x2f,0x50,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 2f 50 05 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -433,43 +435,43 @@ mov     z0.h, p0/z, #-129, lsl #8
 mov     z5.b, p15/m, #-128
 // CHECK-INST: mov     z5.b, p15/m, #-128
 // CHECK-ENCODING: [0x05,0x50,0x1f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 50 1f 05  <unknown>
 
 mov     z21.h, p15/m, #-128
 // CHECK-INST: mov     z21.h, p15/m, #-128
 // CHECK-ENCODING: [0x15,0x50,0x5f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 50 5f 05  <unknown>
 
 mov     z21.h, p15/m, #-128, lsl #8
 // CHECK-INST: mov     z21.h, p15/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0x5f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 5f 05  <unknown>
 
 mov     z21.s, p15/m, #-128
 // CHECK-INST: mov     z21.s, p15/m, #-128
 // CHECK-ENCODING: [0x15,0x50,0x9f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 50 9f 05  <unknown>
 
 mov     z21.s, p15/m, #-128, lsl #8
 // CHECK-INST: mov     z21.s, p15/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0x9f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 9f 05  <unknown>
 
 mov     z21.d, p15/m, #-128
 // CHECK-INST: mov     z21.d, p15/m, #-128
 // CHECK-ENCODING: [0x15,0x50,0xdf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 50 df 05  <unknown>
 
 mov     z21.d, p15/m, #-128, lsl #8
 // CHECK-INST: mov     z21.d, p15/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0xdf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 df 05  <unknown>
 
 // --------------------------------------------------------------------------//
@@ -478,91 +480,91 @@ mov     z21.d, p15/m, #-128, lsl #8
 mov     z0.b, z0.b[0]
 // CHECK-INST: mov     z0.b, b0
 // CHECK-ENCODING: [0x00,0x20,0x21,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 21 05 <unknown>
 
 mov     z0.h, z0.h[0]
 // CHECK-INST: mov     z0.h, h0
 // CHECK-ENCODING: [0x00,0x20,0x22,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 22 05 <unknown>
 
 mov     z0.s, z0.s[0]
 // CHECK-INST: mov     z0.s, s0
 // CHECK-ENCODING: [0x00,0x20,0x24,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 24 05 <unknown>
 
 mov     z0.d, z0.d[0]
 // CHECK-INST: mov     z0.d, d0
 // CHECK-ENCODING: [0x00,0x20,0x28,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 28 05 <unknown>
 
 mov     z0.q, z0.q[0]
 // CHECK-INST: mov     z0.q, q0
 // CHECK-ENCODING: [0x00,0x20,0x30,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 30 05 <unknown>
 
 mov     z0.b, b0
 // CHECK-INST: mov     z0.b, b0
 // CHECK-ENCODING: [0x00,0x20,0x21,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 21 05 <unknown>
 
 mov     z0.h, h0
 // CHECK-INST: mov     z0.h, h0
 // CHECK-ENCODING: [0x00,0x20,0x22,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 22 05 <unknown>
 
 mov     z0.s, s0
 // CHECK-INST: mov     z0.s, s0
 // CHECK-ENCODING: [0x00,0x20,0x24,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 24 05 <unknown>
 
 mov     z0.d, d0
 // CHECK-INST: mov     z0.d, d0
 // CHECK-ENCODING: [0x00,0x20,0x28,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 28 05 <unknown>
 
 mov     z0.q, q0
 // CHECK-INST: mov     z0.q, q0
 // CHECK-ENCODING: [0x00,0x20,0x30,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 30 05 <unknown>
 
 mov     z31.b, z31.b[63]
 // CHECK-INST: mov     z31.b, z31.b[63]
 // CHECK-ENCODING: [0xff,0x23,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 ff 05 <unknown>
 
 mov     z31.h, z31.h[31]
 // CHECK-INST: mov     z31.h, z31.h[31]
 // CHECK-ENCODING: [0xff,0x23,0xfe,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 fe 05 <unknown>
 
 mov     z31.s, z31.s[15]
 // CHECK-INST: mov     z31.s, z31.s[15]
 // CHECK-ENCODING: [0xff,0x23,0xfc,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 fc 05 <unknown>
 
 mov     z31.d, z31.d[7]
 // CHECK-INST: mov     z31.d, z31.d[7]
 // CHECK-ENCODING: [0xff,0x23,0xf8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 23 f8 05 <unknown>
 
 mov     z5.q, z17.q[3]
 // CHECK-INST: mov     z5.q, z17.q[3]
 // CHECK-ENCODING: [0x25,0x22,0xf0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 22 f0 05 <unknown>
 
 
@@ -572,157 +574,157 @@ mov     z5.q, z17.q[3]
 mov     z0.b, p0/m, w0
 // CHECK-INST: mov     z0.b, p0/m, w0
 // CHECK-ENCODING: [0x00,0xa0,0x28,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 28 05 <unknown>
 
 mov     z0.h, p0/m, w0
 // CHECK-INST: mov     z0.h, p0/m, w0
 // CHECK-ENCODING: [0x00,0xa0,0x68,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 68 05 <unknown>
 
 mov     z0.s, p0/m, w0
 // CHECK-INST: mov     z0.s, p0/m, w0
 // CHECK-ENCODING: [0x00,0xa0,0xa8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 a8 05 <unknown>
 
 mov     z0.d, p0/m, x0
 // CHECK-INST: mov     z0.d, p0/m, x0
 // CHECK-ENCODING: [0x00,0xa0,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 e8 05 <unknown>
 
 mov     z31.b, p7/m, wsp
 // CHECK-INST: mov     z31.b, p7/m, wsp
 // CHECK-ENCODING: [0xff,0xbf,0x28,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 28 05 <unknown>
 
 mov     z31.h, p7/m, wsp
 // CHECK-INST: mov     z31.h, p7/m, wsp
 // CHECK-ENCODING: [0xff,0xbf,0x68,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 68 05 <unknown>
 
 mov     z31.s, p7/m, wsp
 // CHECK-INST: mov     z31.s, p7/m, wsp
 // CHECK-ENCODING: [0xff,0xbf,0xa8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf a8 05 <unknown>
 
 mov     z31.d, p7/m, sp
 // CHECK-INST: mov     z31.d, p7/m, sp
 // CHECK-ENCODING: [0xff,0xbf,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf e8 05 <unknown>
 
 mov     z0.b, p0/m, b0
 // CHECK-INST: mov     z0.b, p0/m, b0
 // CHECK-ENCODING: [0x00,0x80,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 20 05 <unknown>
 
 mov     z31.b, p7/m, b31
 // CHECK-INST: mov     z31.b, p7/m, b31
 // CHECK-ENCODING: [0xff,0x9f,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 20 05 <unknown>
 
 mov     z0.h, p0/m, h0
 // CHECK-INST: mov     z0.h, p0/m, h0
 // CHECK-ENCODING: [0x00,0x80,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 60 05 <unknown>
 
 mov     z31.h, p7/m, h31
 // CHECK-INST: mov     z31.h, p7/m, h31
 // CHECK-ENCODING: [0xff,0x9f,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 60 05 <unknown>
 
 mov     z0.s, p0/m, s0
 // CHECK-INST: mov     z0.s, p0/m, s0
 // CHECK-ENCODING: [0x00,0x80,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 a0 05 <unknown>
 
 mov     z31.s, p7/m, s31
 // CHECK-INST: mov     z31.s, p7/m, s31
 // CHECK-ENCODING: [0xff,0x9f,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f a0 05 <unknown>
 
 mov     z0.d, p0/m, d0
 // CHECK-INST: mov     z0.d, p0/m, d0
 // CHECK-ENCODING: [0x00,0x80,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 e0 05 <unknown>
 
 mov     z31.d, p7/m, d31
 // CHECK-INST: mov     z31.d, p7/m, d31
 // CHECK-ENCODING: [0xff,0x9f,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f e0 05 <unknown>
 
 mov     p0.b, p0/m, p0.b
 // CHECK-INST: mov     p0.b, p0/m, p0.b
 // CHECK-ENCODING: [0x10,0x42,0x00,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 42 00 25 <unknown>
 
 mov     p15.b, p15/m, p15.b
 // CHECK-INST: mov     p15.b, p15/m, p15.b
 // CHECK-ENCODING: [0xff,0x7f,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7f 0f 25 <unknown>
 
 mov     z31.b, p15/m, z31.b
 // CHECK-INST: mov     z31.b, p15/m, z31.b
 // CHECK-ENCODING: [0xff,0xff,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 3f 05 <unknown>
 
 mov     z31.h, p15/m, z31.h
 // CHECK-INST: mov     z31.h, p15/m, z31.h
 // CHECK-ENCODING: [0xff,0xff,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 7f 05 <unknown>
 
 mov     z31.s, p15/m, z31.s
 // CHECK-INST: mov     z31.s, p15/m, z31.s
 // CHECK-ENCODING: [0xff,0xff,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff bf 05 <unknown>
 
 mov     z31.d, p15/m, z31.d
 // CHECK-INST: mov     z31.d, p15/m, z31.d
 // CHECK-ENCODING: [0xff,0xff,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff ff 05 <unknown>
 
 mov     p0.b, p0.b
 // CHECK-INST: mov     p0.b, p0.b
 // CHECK-ENCODING: [0x00,0x40,0x80,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 80 25 <unknown>
 
 mov     p15.b, p15.b
 // CHECK-INST: mov     p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d 8f 25 <unknown>
 
 mov     p0.b, p0/z, p0.b
 // CHECK-INST: mov     p0.b, p0/z, p0.b
 // CHECK-ENCODING: [0x00,0x40,0x00,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 00 25 <unknown>
 
 mov     p15.b, p15/z, p15.b
 // CHECK-INST: mov     p15.b, p15/z, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d 0f 25 <unknown>
 
 
@@ -732,71 +734,71 @@ mov     p15.b, p15/z, p15.b
 movprfx z31.d, p7/z, z6.d
 // CHECK-INST: movprfx	z31.d, p7/z, z6.d
 // CHECK-ENCODING: [0xdf,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 3c d0 04 <unknown>
 
 mov     z31.d, p7/m, sp
 // CHECK-INST: mov	z31.d, p7/m, sp
 // CHECK-ENCODING: [0xff,0xbf,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf e8 05 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 mov     z31.d, p7/m, sp
 // CHECK-INST: mov	z31.d, p7/m, sp
 // CHECK-ENCODING: [0xff,0xbf,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf e8 05 <unknown>
 
 movprfx z21.d, p7/z, z28.d
 // CHECK-INST: movprfx	z21.d, p7/z, z28.d
 // CHECK-ENCODING: [0x95,0x3f,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 3f d0 04 <unknown>
 
 mov     z21.d, p7/m, #-128, lsl #8
 // CHECK-INST: mov	z21.d, p7/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0xd7,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 d7 05 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 mov     z21.d, p15/m, #-128, lsl #8
 // CHECK-INST: mov	z21.d, p15/m, #-32768
 // CHECK-ENCODING: [0x15,0x70,0xdf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 70 df 05 <unknown>
 
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 mov     z4.d, p7/m, d31
 // CHECK-INST: mov	z4.d, p7/m, d31
 // CHECK-ENCODING: [0xe4,0x9f,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 9f e0 05 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 mov     z4.d, p7/m, d31
 // CHECK-INST: mov	z4.d, p7/m, d31
 // CHECK-ENCODING: [0xe4,0x9f,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 9f e0 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/movprfx.s b/llvm/test/MC/AArch64/SVE/movprfx.s
index ccd768b5f4a50..869189e1874ff 100644
--- a/llvm/test/MC/AArch64/SVE/movprfx.s
+++ b/llvm/test/MC/AArch64/SVE/movprfx.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -38,7 +40,7 @@
 movprfx z0, z1
 // CHECK-INST: movprfx  z0, z1
 // CHECK-ENCODING: [0x20,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 bc 20 04 <unknown>
 
 hlt #1
@@ -48,7 +50,7 @@ hlt #1
 movprfx z0.d, p0/z, z1.d
 // CHECK-INST: movprfx  z0.d, p0/z, z1.d
 // CHECK-ENCODING: [0x20,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 20 d0 04 <unknown>
 
 hlt #1
@@ -58,7 +60,7 @@ hlt #1
 movprfx z0, z1
 // CHECK-INST: movprfx  z0, z1
 // CHECK-ENCODING: [0x20,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 bc 20 04 <unknown>
 
 brk #1
@@ -68,7 +70,7 @@ brk #1
 movprfx z0.d, p0/z, z1.d
 // CHECK-INST: movprfx  z0.d, p0/z, z1.d
 // CHECK-ENCODING: [0x20,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 20 d0 04 <unknown>
 
 brk #1
@@ -81,17 +83,17 @@ brk #1
 movprfx z0, z1
 // CHECK-INST: movprfx  z0, z1
 // CHECK-ENCODING: [0x20,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 bc 20 04 <unknown>
 
 add z0.d, p0/m, z0.d, z1.d
 // CHECK-INST: add      z0.d, p0/m, z0.d, z1.d
 // CHECK-ENCODING: [0x20,0x00,0xc0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 c0 04 <unknown>
 
 add z0.d, p0/m, z0.d, z1.d
 // CHECK-INST: add      z0.d, p0/m, z0.d, z1.d
 // CHECK-ENCODING: [0x20,0x00,0xc0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 c0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/movs.s b/llvm/test/MC/AArch64/SVE/movs.s
index c03c975ced685..d2d14d9312622 100644
--- a/llvm/test/MC/AArch64/SVE/movs.s
+++ b/llvm/test/MC/AArch64/SVE/movs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 movs    p0.b, p0.b
 // CHECK-INST: movs    p0.b, p0.b
 // CHECK-ENCODING: [0x00,0x40,0xc0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 c0 25 <unknown>
 
 movs    p15.b, p15.b
 // CHECK-INST: movs    p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d cf 25 <unknown>
 
 movs    p0.b, p0/z, p0.b
 // CHECK-INST: movs    p0.b, p0/z, p0.b
 // CHECK-ENCODING: [0x00,0x40,0x40,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 40 25 <unknown>
 
 movs    p15.b, p15/z, p15.b
 // CHECK-INST: movs    p15.b, p15/z, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d 4f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/msb.s b/llvm/test/MC/AArch64/SVE/msb.s
index 3cf884b23213f..0a08783b0bb86 100644
--- a/llvm/test/MC/AArch64/SVE/msb.s
+++ b/llvm/test/MC/AArch64/SVE/msb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 msb z0.b, p7/m, z1.b, z31.b
 // CHECK-INST: msb	z0.b, p7/m, z1.b, z31.b
 // CHECK-ENCODING: [0xe0,0xff,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 01 04 <unknown>
 
 msb z0.h, p7/m, z1.h, z31.h
 // CHECK-INST: msb	z0.h, p7/m, z1.h, z31.h
 // CHECK-ENCODING: [0xe0,0xff,0x41,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 41 04 <unknown>
 
 msb z0.s, p7/m, z1.s, z31.s
 // CHECK-INST: msb	z0.s, p7/m, z1.s, z31.s
 // CHECK-ENCODING: [0xe0,0xff,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 81 04 <unknown>
 
 msb z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: msb	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0xe0,0xff,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff c1 04 <unknown>
 
 
@@ -38,23 +40,23 @@ msb z0.d, p7/m, z1.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 msb z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: msb	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0xe0,0xff,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff c1 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 msb z0.d, p7/m, z1.d, z31.d
 // CHECK-INST: msb	z0.d, p7/m, z1.d, z31.d
 // CHECK-ENCODING: [0xe0,0xff,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff c1 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/mul.s b/llvm/test/MC/AArch64/SVE/mul.s
index 774070a92b3a9..5016db43d6b05 100644
--- a/llvm/test/MC/AArch64/SVE/mul.s
+++ b/llvm/test/MC/AArch64/SVE/mul.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,73 +12,73 @@
 mul z0.b, p7/m, z0.b, z31.b
 // CHECK-INST: mul	z0.b, p7/m, z0.b, z31.b
 // CHECK-ENCODING: [0xe0,0x1f,0x10,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 10 04 <unknown>
 
 mul z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: mul	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x1f,0x50,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 50 04 <unknown>
 
 mul z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: mul	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x1f,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 90 04 <unknown>
 
 mul z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: mul	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d0 04 <unknown>
 
 mul z31.b, z31.b, #-128
 // CHECK-INST: mul	z31.b, z31.b, #-128
 // CHECK-ENCODING: [0x1f,0xd0,0x30,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f d0 30 25 <unknown>
 
 mul z31.b, z31.b, #127
 // CHECK-INST: mul	z31.b, z31.b, #127
 // CHECK-ENCODING: [0xff,0xcf,0x30,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf 30 25 <unknown>
 
 mul z31.h, z31.h, #-128
 // CHECK-INST: mul	z31.h, z31.h, #-128
 // CHECK-ENCODING: [0x1f,0xd0,0x70,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f d0 70 25 <unknown>
 
 mul z31.h, z31.h, #127
 // CHECK-INST: mul	z31.h, z31.h, #127
 // CHECK-ENCODING: [0xff,0xcf,0x70,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf 70 25 <unknown>
 
 mul z31.s, z31.s, #-128
 // CHECK-INST: mul	z31.s, z31.s, #-128
 // CHECK-ENCODING: [0x1f,0xd0,0xb0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f d0 b0 25 <unknown>
 
 mul z31.s, z31.s, #127
 // CHECK-INST: mul	z31.s, z31.s, #127
 // CHECK-ENCODING: [0xff,0xcf,0xb0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf b0 25 <unknown>
 
 mul z31.d, z31.d, #-128
 // CHECK-INST: mul	z31.d, z31.d, #-128
 // CHECK-ENCODING: [0x1f,0xd0,0xf0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f d0 f0 25 <unknown>
 
 mul z31.d, z31.d, #127
 // CHECK-INST: mul	z31.d, z31.d, #127
 // CHECK-ENCODING: [0xff,0xcf,0xf0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf f0 25 <unknown>
 
 
@@ -86,35 +88,35 @@ mul z31.d, z31.d, #127
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 mul z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: mul	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 mul z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: mul	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d0 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 mul z31.d, z31.d, #127
 // CHECK-INST: mul	z31.d, z31.d, #127
 // CHECK-ENCODING: [0xff,0xcf,0xf0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf f0 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/nand.s b/llvm/test/MC/AArch64/SVE/nand.s
index f7824d5a6f335..cc2831c7bf513 100644
--- a/llvm/test/MC/AArch64/SVE/nand.s
+++ b/llvm/test/MC/AArch64/SVE/nand.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 nand    p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: nand    p0.b, p0/z, p0.b, p0.b
 // CHECK-ENCODING: [0x10,0x42,0x80,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 42 80 25 <unknown>
 
 nand    p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: nand    p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xff,0x7f,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7f 8f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/nands.s b/llvm/test/MC/AArch64/SVE/nands.s
index 427c30c33352f..d5540e3d897ea 100644
--- a/llvm/test/MC/AArch64/SVE/nands.s
+++ b/llvm/test/MC/AArch64/SVE/nands.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 nands   p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: nands   p0.b, p0/z, p0.b, p0.b
 // CHECK-ENCODING: [0x10,0x42,0xc0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 42 c0 25 <unknown>
 
 nands   p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: nands   p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xff,0x7f,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7f cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/neg.s b/llvm/test/MC/AArch64/SVE/neg.s
index b7133f1073ce1..11881e795f9b0 100644
--- a/llvm/test/MC/AArch64/SVE/neg.s
+++ b/llvm/test/MC/AArch64/SVE/neg.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,49 +12,49 @@
 neg     z0.b, p0/m, z0.b
 // CHECK-INST: neg     z0.b, p0/m, z0.b
 // CHECK-ENCODING: [0x00,0xa0,0x17,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 17 04 <unknown>
 
 neg     z0.h, p0/m, z0.h
 // CHECK-INST: neg     z0.h, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x57,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 57 04 <unknown>
 
 neg     z0.s, p0/m, z0.s
 // CHECK-INST: neg     z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x97,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 97 04 <unknown>
 
 neg     z0.d, p0/m, z0.d
 // CHECK-INST: neg     z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d7 04 <unknown>
 
 neg     z31.b, p7/m, z31.b
 // CHECK-INST: neg     z31.b, p7/m, z31.b
 // CHECK-ENCODING: [0xff,0xbf,0x17,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 17 04 <unknown>
 
 neg     z31.h, p7/m, z31.h
 // CHECK-INST: neg     z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x57,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 57 04 <unknown>
 
 neg     z31.s, p7/m, z31.s
 // CHECK-INST: neg     z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x97,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 97 04 <unknown>
 
 neg     z31.d, p7/m, z31.d
 // CHECK-INST: neg     z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d7 04 <unknown>
 
 
@@ -62,23 +64,23 @@ neg     z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 neg     z4.d, p7/m, z31.d
 // CHECK-INST: neg	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d7 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 neg     z4.d, p7/m, z31.d
 // CHECK-INST: neg	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d7 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/nor.s b/llvm/test/MC/AArch64/SVE/nor.s
index 0e44a678d8b35..a78074c6c6c58 100644
--- a/llvm/test/MC/AArch64/SVE/nor.s
+++ b/llvm/test/MC/AArch64/SVE/nor.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 nor     p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: nor     p0.b, p0/z, p0.b, p0.b
 // CHECK-ENCODING: [0x00,0x42,0x80,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 42 80 25 <unknown>
 
 nor     p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: nor     p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x7f,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7f 8f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/nors.s b/llvm/test/MC/AArch64/SVE/nors.s
index b6204f5221d01..76492f2603b42 100644
--- a/llvm/test/MC/AArch64/SVE/nors.s
+++ b/llvm/test/MC/AArch64/SVE/nors.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 nors    p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: nors    p0.b, p0/z, p0.b, p0.b
 // CHECK-ENCODING: [0x00,0x42,0xc0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 42 c0 25 <unknown>
 
 nors    p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: nors    p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x7f,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7f cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/not.s b/llvm/test/MC/AArch64/SVE/not.s
index 22789491e9913..b13eb6fdf58cb 100644
--- a/llvm/test/MC/AArch64/SVE/not.s
+++ b/llvm/test/MC/AArch64/SVE/not.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,37 +12,37 @@
 not     z31.b, p7/m, z31.b
 // CHECK-INST: not	z31.b, p7/m, z31.b
 // CHECK-ENCODING: [0xff,0xbf,0x1e,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 1e 04 <unknown>
 
 not     z31.h, p7/m, z31.h
 // CHECK-INST: not	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x5e,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 5e 04 <unknown>
 
 not     z31.s, p7/m, z31.s
 // CHECK-INST: not	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x9e,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 9e 04 <unknown>
 
 not     z31.d, p7/m, z31.d
 // CHECK-INST: not	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xde,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf de 04 <unknown>
 
 not     p0.b, p0/z, p0.b
 // CHECK-INST: not     p0.b, p0/z, p0.b
 // CHECK-ENCODING: [0x00,0x42,0x00,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 42 00 25 <unknown>
 
 not     p15.b, p15/z, p15.b
 // CHECK-INST: not     p15.b, p15/z, p15.b
 // CHECK-ENCODING: [0xef,0x7f,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7f 0f 25 <unknown>
 
 
@@ -50,23 +52,23 @@ not     p15.b, p15/z, p15.b
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 not     z4.d, p7/m, z31.d
 // CHECK-INST: not	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xde,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf de 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 not     z4.d, p7/m, z31.d
 // CHECK-INST: not	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xde,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf de 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/nots.s b/llvm/test/MC/AArch64/SVE/nots.s
index 0df73cebc9dfd..2a3d32ccd33cd 100644
--- a/llvm/test/MC/AArch64/SVE/nots.s
+++ b/llvm/test/MC/AArch64/SVE/nots.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 nots    p0.b, p0/z, p0.b
 // CHECK-INST: nots    p0.b, p0/z, p0.b
 // CHECK-ENCODING: [0x00,0x42,0x40,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 42 40 25 <unknown>
 
 nots    p15.b, p15/z, p15.b
 // CHECK-INST: nots    p15.b, p15/z, p15.b
 // CHECK-ENCODING: [0xef,0x7f,0x4f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7f 4f 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/orn.s b/llvm/test/MC/AArch64/SVE/orn.s
index 6d1aa8e1edf26..1eb726e2c2070 100644
--- a/llvm/test/MC/AArch64/SVE/orn.s
+++ b/llvm/test/MC/AArch64/SVE/orn.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,61 +12,61 @@
 orn     z5.b, z5.b, #0xf9
 // CHECK-INST: orr     z5.b, z5.b, #0x6
 // CHECK-ENCODING: [0x25,0x3e,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 3e 00 05 <unknown>
 
 orn     z23.h, z23.h, #0xfff9
 // CHECK-INST: orr     z23.h, z23.h, #0x6
 // CHECK-ENCODING: [0x37,0x7c,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 37 7c 00 05 <unknown>
 
 orn     z0.s, z0.s, #0xfffffff9
 // CHECK-INST: orr     z0.s, z0.s, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 00 05 <unknown>
 
 orn     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-INST: orr     z0.d, z0.d, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x03,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 03 05 <unknown>
 
 orn     z5.b, z5.b, #0x6
 // CHECK-INST: orr     z5.b, z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e 00 05 <unknown>
 
 orn     z23.h, z23.h, #0x6
 // CHECK-INST: orr     z23.h, z23.h, #0xfff9
 // CHECK-ENCODING: [0xb7,0x6d,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 6d 00 05 <unknown>
 
 orn     z0.s, z0.s, #0x6
 // CHECK-INST: orr     z0.s, z0.s, #0xfffffff9
 // CHECK-ENCODING: [0xa0,0xeb,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 eb 00 05 <unknown>
 
 orn     z0.d, z0.d, #0x6
 // CHECK-INST: orr     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0x03,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef 03 05 <unknown>
 
 orn     p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: orn     p0.b, p0/z, p0.b, p0.b
 // CHECK-ENCODING: [0x10,0x40,0x80,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 80 25 <unknown>
 
 orn     p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: orn     p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xff,0x7d,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7d 8f 25 <unknown>
 
 
@@ -74,11 +76,11 @@ orn     p15.b, p15/z, p15.b, p15.b
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 orn     z0.d, z0.d, #0x6
 // CHECK-INST: orr	z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0x03,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef 03 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/orns.s b/llvm/test/MC/AArch64/SVE/orns.s
index 61c371c31d32a..f0806a95892ce 100644
--- a/llvm/test/MC/AArch64/SVE/orns.s
+++ b/llvm/test/MC/AArch64/SVE/orns.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 orns    p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: orns    p0.b, p0/z, p0.b, p0.b
 // CHECK-ENCODING: [0x10,0x40,0xc0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 40 c0 25 <unknown>
 
 orns    p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: orns    p15.b, p15/z, p15.b, p15.b
 // CHECK-ENCODING: [0xff,0x7d,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7d cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/orr.s b/llvm/test/MC/AArch64/SVE/orr.s
index 4f98afae6757e..88d24b310daef 100644
--- a/llvm/test/MC/AArch64/SVE/orr.s
+++ b/llvm/test/MC/AArch64/SVE/orr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -12,103 +14,103 @@
 orr     z5.b, z5.b, #0xf9
 // CHECK-INST: orr     z5.b, z5.b, #0xf9
 // CHECK-ENCODING: [0xa5,0x2e,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a5 2e 00 05 <unknown>
 
 orr     z23.h, z23.h, #0xfff9
 // CHECK-INST: orr     z23.h, z23.h, #0xfff9
 // CHECK-ENCODING: [0xb7,0x6d,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 6d 00 05 <unknown>
 
 orr     z0.s, z0.s, #0xfffffff9
 // CHECK-INST: orr     z0.s, z0.s, #0xfffffff9
 // CHECK-ENCODING: [0xa0,0xeb,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 eb 00 05 <unknown>
 
 orr     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-INST: orr     z0.d, z0.d, #0xfffffffffffffff9
 // CHECK-ENCODING: [0xa0,0xef,0x03,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 ef 03 05 <unknown>
 
 orr     z5.b, z5.b, #0x6
 // CHECK-INST: orr     z5.b, z5.b, #0x6
 // CHECK-ENCODING: [0x25,0x3e,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 3e 00 05 <unknown>
 
 orr     z23.h, z23.h, #0x6
 // CHECK-INST: orr     z23.h, z23.h, #0x6
 // CHECK-ENCODING: [0x37,0x7c,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 37 7c 00 05 <unknown>
 
 orr     z0.s, z0.s, #0x6
 // CHECK-INST: orr     z0.s, z0.s, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x00,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 00 05 <unknown>
 
 orr     z0.d, z0.d, #0x6
 // CHECK-INST: orr     z0.d, z0.d, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x03,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 03 05 <unknown>
 
 orr     z0.d, z0.d, z0.d    // should use mov-alias
 // CHECK-INST: mov     z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 60 04 <unknown>
 
 orr     z23.d, z13.d, z8.d  // should not use mov-alias
 // CHECK-INST: orr     z23.d, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0x31,0x68,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 31 68 04 <unknown>
 
 orr     z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: orr     z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x18,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 18 04 <unknown>
 
 orr     z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: orr     z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x58,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 58 04 <unknown>
 
 orr     z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: orr     z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x98,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 98 04 <unknown>
 
 orr     z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: orr     z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xd8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f d8 04 <unknown>
 
 orr     p0.b, p0/z, p0.b, p1.b
 // CHECK-INST: orr     p0.b, p0/z, p0.b, p1.b
 // CHECK-ENCODING: [0x00,0x40,0x81,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 81 25 <unknown>
 
 orr     p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: mov     p0.b, p0.b
 // CHECK-ENCODING: [0x00,0x40,0x80,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 80 25 <unknown>
 
 orr     p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: mov     p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0x8f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d 8f 25 <unknown>
 
 
@@ -118,37 +120,37 @@ orr     p15.b, p15/z, p15.b, p15.b
 orr     z0.s, z0.s, z0.s
 // CHECK-INST: mov     z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 60 04 <unknown>
 
 orr     z0.h, z0.h, z0.h
 // CHECK-INST: mov     z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 60 04 <unknown>
 
 orr     z0.b, z0.b, z0.b
 // CHECK-INST: mov     z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x30,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 30 60 04 <unknown>
 
 orr     z23.s, z13.s, z8.s  // should not use mov-alias
 // CHECK-INST: orr     z23.d, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0x31,0x68,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 31 68 04 <unknown>
 
 orr     z23.h, z13.h, z8.h  // should not use mov-alias
 // CHECK-INST: orr     z23.d, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0x31,0x68,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 31 68 04 <unknown>
 
 orr     z23.b, z13.b, z8.b  // should not use mov-alias
 // CHECK-INST: orr     z23.d, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0x31,0x68,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 31 68 04 <unknown>
 
 
@@ -158,35 +160,35 @@ orr     z23.b, z13.b, z8.b  // should not use mov-alias
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 orr     z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: orr	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xd8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f d8 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 orr     z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: orr	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xd8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f d8 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 orr     z0.d, z0.d, #0x6
 // CHECK-INST: orr	z0.d, z0.d, #0x6
 // CHECK-ENCODING: [0x20,0xf8,0x03,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 03 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/orrs.s b/llvm/test/MC/AArch64/SVE/orrs.s
index 3cd7bfb3baf02..1faab3826d913 100644
--- a/llvm/test/MC/AArch64/SVE/orrs.s
+++ b/llvm/test/MC/AArch64/SVE/orrs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 orrs    p0.b, p0/z, p0.b, p1.b
 // CHECK-INST: orrs    p0.b, p0/z, p0.b, p1.b
 // CHECK-ENCODING: [0x00,0x40,0xc1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 c1 25 <unknown>
 
 orrs    p0.b, p0/z, p0.b, p0.b
 // CHECK-INST: movs    p0.b, p0.b
 // CHECK-ENCODING: [0x00,0x40,0xc0,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 c0 25 <unknown>
 
 orrs    p15.b, p15/z, p15.b, p15.b
 // CHECK-INST: movs    p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x7d,0xcf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 7d cf 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/orv.s b/llvm/test/MC/AArch64/SVE/orv.s
index 5d10dbbff35f2..3f07878d8de07 100644
--- a/llvm/test/MC/AArch64/SVE/orv.s
+++ b/llvm/test/MC/AArch64/SVE/orv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 orv b0, p7, z31.b
 // CHECK-INST: orv	b0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x3f,0x18,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 18 04 <unknown>
 
 orv h0, p7, z31.h
 // CHECK-INST: orv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x58,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 58 04 <unknown>
 
 orv s0, p7, z31.s
 // CHECK-INST: orv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x98,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 98 04 <unknown>
 
 orv d0, p7, z31.d
 // CHECK-INST: orv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xd8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f d8 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/pfalse.s b/llvm/test/MC/AArch64/SVE/pfalse.s
index b180f1a6b87c6..3eb4488cb8208 100644
--- a/llvm/test/MC/AArch64/SVE/pfalse.s
+++ b/llvm/test/MC/AArch64/SVE/pfalse.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,5 +12,5 @@
 pfalse p15.b
 // CHECK-INST: pfalse	p15.b
 // CHECK-ENCODING: [0x0f,0xe4,0x18,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f e4 18 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/pfirst.s b/llvm/test/MC/AArch64/SVE/pfirst.s
index 68526d4044b81..2bf001d37a284 100644
--- a/llvm/test/MC/AArch64/SVE/pfirst.s
+++ b/llvm/test/MC/AArch64/SVE/pfirst.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 pfirst p0.b, p15, p0.b
 // CHECK-INST: pfirst	p0.b, p15, p0.b
 // CHECK-ENCODING: [0xe0,0xc1,0x58,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c1 58 25 <unknown>
 
 pfirst p15.b, p15, p15.b
 // CHECK-INST: pfirst	p15.b, p15, p15.b
 // CHECK-ENCODING: [0xef,0xc1,0x58,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef c1 58 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/pnext.s b/llvm/test/MC/AArch64/SVE/pnext.s
index 5e323b1034361..26f524959695d 100644
--- a/llvm/test/MC/AArch64/SVE/pnext.s
+++ b/llvm/test/MC/AArch64/SVE/pnext.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 pnext p15.b, p15, p15.b
 // CHECK-INST: pnext	p15.b, p15, p15.b
 // CHECK-ENCODING: [0xef,0xc5,0x19,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef c5 19 25 <unknown>
 
 pnext p0.b, p15, p0.b
 // CHECK-INST: pnext	p0.b, p15, p0.b
 // CHECK-ENCODING: [0xe0,0xc5,0x19,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c5 19 25 <unknown>
 
 pnext p0.h, p15, p0.h
 // CHECK-INST: pnext	p0.h, p15, p0.h
 // CHECK-ENCODING: [0xe0,0xc5,0x59,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c5 59 25 <unknown>
 
 pnext p0.s, p15, p0.s
 // CHECK-INST: pnext	p0.s, p15, p0.s
 // CHECK-ENCODING: [0xe0,0xc5,0x99,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c5 99 25 <unknown>
 
 pnext p0.d, p15, p0.d
 // CHECK-INST: pnext	p0.d, p15, p0.d
 // CHECK-ENCODING: [0xe0,0xc5,0xd9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c5 d9 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/prfb-sve-only.s b/llvm/test/MC/AArch64/SVE/prfb-sve-only.s
new file mode 100644
index 0000000000000..4bb39ea267845
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/prfb-sve-only.s
@@ -0,0 +1,69 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+// --------------------------------------------------------------------------//
+// Test addressing modes
+
+prfb    pldl1keep, p0, [x0, z0.s, uxtw]
+// CHECK-INST: prfb    pldl1keep, p0, [x0, z0.s, uxtw]
+// CHECK-ENCODING: [0x00,0x00,0x20,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 00 20 84 <unknown>
+
+prfb    pldl3strm, p5, [x10, z21.s, uxtw]
+// CHECK-INST: prfb    pldl3strm, p5, [x10, z21.s, uxtw]
+// CHECK-ENCODING: [0x45,0x15,0x35,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 15 35 84 <unknown>
+
+prfb    pldl1keep, p0, [x0, z0.d, uxtw]
+// CHECK-INST: prfb    pldl1keep, p0, [x0, z0.d, uxtw]
+// CHECK-ENCODING: [0x00,0x00,0x20,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 00 20 c4 <unknown>
+
+prfb    pldl3strm, p5, [x10, z21.d, sxtw]
+// CHECK-INST: prfb    pldl3strm, p5, [x10, z21.d, sxtw]
+// CHECK-ENCODING: [0x45,0x15,0x75,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 15 75 c4 <unknown>
+
+prfb    pldl1keep, p0, [x0, z0.d]
+// CHECK-INST: prfb    pldl1keep, p0, [x0, z0.d]
+// CHECK-ENCODING: [0x00,0x80,0x60,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 60 c4 <unknown>
+
+prfb    #7, p3, [z13.s, #0]
+// CHECK-INST: prfb    #7, p3, [z13.s]
+// CHECK-ENCODING: [0xa7,0xed,0x00,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: a7 ed 00 84 <unknown>
+
+prfb    #7, p3, [z13.s, #31]
+// CHECK-INST: prfb    #7, p3, [z13.s, #31]
+// CHECK-ENCODING: [0xa7,0xed,0x1f,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: a7 ed 1f 84 <unknown>
+
+prfb    pldl3strm, p5, [z10.d, #0]
+// CHECK-INST: prfb    pldl3strm, p5, [z10.d]
+// CHECK-ENCODING: [0x45,0xf5,0x00,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 f5 00 c4 <unknown>
+
+prfb    pldl3strm, p5, [z10.d, #31]
+// CHECK-INST: prfb    pldl3strm, p5, [z10.d, #31]
+// CHECK-ENCODING: [0x45,0xf5,0x1f,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 f5 1f c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/prfb.s b/llvm/test/MC/AArch64/SVE/prfb.s
index 59f4822283e53..9f4e78f01237d 100644
--- a/llvm/test/MC/AArch64/SVE/prfb.s
+++ b/llvm/test/MC/AArch64/SVE/prfb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -13,169 +15,169 @@
 prfb    #0, p0, [x0]
 // CHECK-INST: prfb	pldl1keep, p0, [x0]
 // CHECK-ENCODING: [0x00,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 c0 85 <unknown>
 
 prfb	pldl1keep, p0, [x0]
 // CHECK-INST: prfb	pldl1keep, p0, [x0]
 // CHECK-ENCODING: [0x00,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 c0 85 <unknown>
 
 prfb    #1, p0, [x0]
 // CHECK-INST: prfb	pldl1strm, p0, [x0]
 // CHECK-ENCODING: [0x01,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 00 c0 85 <unknown>
 
 prfb	pldl1strm, p0, [x0]
 // CHECK-INST: prfb	pldl1strm, p0, [x0]
 // CHECK-ENCODING: [0x01,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 00 c0 85 <unknown>
 
 prfb    #2, p0, [x0]
 // CHECK-INST: prfb	pldl2keep, p0, [x0]
 // CHECK-ENCODING: [0x02,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 02 00 c0 85 <unknown>
 
 prfb	pldl2keep, p0, [x0]
 // CHECK-INST: prfb	pldl2keep, p0, [x0]
 // CHECK-ENCODING: [0x02,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 02 00 c0 85 <unknown>
 
 prfb    #3, p0, [x0]
 // CHECK-INST: prfb	pldl2strm, p0, [x0]
 // CHECK-ENCODING: [0x03,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 03 00 c0 85 <unknown>
 
 prfb	pldl2strm, p0, [x0]
 // CHECK-INST: prfb	pldl2strm, p0, [x0]
 // CHECK-ENCODING: [0x03,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 03 00 c0 85 <unknown>
 
 prfb    #4, p0, [x0]
 // CHECK-INST: prfb	pldl3keep, p0, [x0]
 // CHECK-ENCODING: [0x04,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 04 00 c0 85 <unknown>
 
 prfb	pldl3keep, p0, [x0]
 // CHECK-INST: prfb	pldl3keep, p0, [x0]
 // CHECK-ENCODING: [0x04,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 04 00 c0 85 <unknown>
 
 prfb    #5, p0, [x0]
 // CHECK-INST: prfb	pldl3strm, p0, [x0]
 // CHECK-ENCODING: [0x05,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 00 c0 85 <unknown>
 
 prfb	pldl3strm, p0, [x0]
 // CHECK-INST: prfb	pldl3strm, p0, [x0]
 // CHECK-ENCODING: [0x05,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 00 c0 85 <unknown>
 
 prfb    #6, p0, [x0]
 // CHECK-INST: prfb	#6, p0, [x0]
 // CHECK-ENCODING: [0x06,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 06 00 c0 85 <unknown>
 
 prfb    #7, p0, [x0]
 // CHECK-INST: prfb	#7, p0, [x0]
 // CHECK-ENCODING: [0x07,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 07 00 c0 85 <unknown>
 
 prfb    #8, p0, [x0]
 // CHECK-INST: prfb	pstl1keep, p0, [x0]
 // CHECK-ENCODING: [0x08,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 08 00 c0 85 <unknown>
 
 prfb	pstl1keep, p0, [x0]
 // CHECK-INST: prfb	pstl1keep, p0, [x0]
 // CHECK-ENCODING: [0x08,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 08 00 c0 85 <unknown>
 
 prfb    #9, p0, [x0]
 // CHECK-INST: prfb	pstl1strm, p0, [x0]
 // CHECK-ENCODING: [0x09,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 09 00 c0 85 <unknown>
 
 prfb	pstl1strm, p0, [x0]
 // CHECK-INST: prfb	pstl1strm, p0, [x0]
 // CHECK-ENCODING: [0x09,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 09 00 c0 85 <unknown>
 
 prfb    #10, p0, [x0]
 // CHECK-INST: prfb	pstl2keep, p0, [x0]
 // CHECK-ENCODING: [0x0a,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0a 00 c0 85 <unknown>
 
 prfb	pstl2keep, p0, [x0]
 // CHECK-INST: prfb	pstl2keep, p0, [x0]
 // CHECK-ENCODING: [0x0a,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0a 00 c0 85 <unknown>
 
 prfb    #11, p0, [x0]
 // CHECK-INST: prfb	pstl2strm, p0, [x0]
 // CHECK-ENCODING: [0x0b,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0b 00 c0 85 <unknown>
 
 prfb	pstl2strm, p0, [x0]
 // CHECK-INST: prfb	pstl2strm, p0, [x0]
 // CHECK-ENCODING: [0x0b,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0b 00 c0 85 <unknown>
 
 prfb    #12, p0, [x0]
 // CHECK-INST: prfb	pstl3keep, p0, [x0]
 // CHECK-ENCODING: [0x0c,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0c 00 c0 85 <unknown>
 
 prfb	pstl3keep, p0, [x0]
 // CHECK-INST: prfb	pstl3keep, p0, [x0]
 // CHECK-ENCODING: [0x0c,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0c 00 c0 85 <unknown>
 
 prfb    #13, p0, [x0]
 // CHECK-INST: prfb	pstl3strm, p0, [x0]
 // CHECK-ENCODING: [0x0d,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0d 00 c0 85 <unknown>
 
 prfb	pstl3strm, p0, [x0]
 // CHECK-INST: prfb	pstl3strm, p0, [x0]
 // CHECK-ENCODING: [0x0d,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0d 00 c0 85 <unknown>
 
 prfb    #14, p0, [x0]
 // CHECK-INST: prfb	#14, p0, [x0]
 // CHECK-ENCODING: [0x0e,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0e 00 c0 85 <unknown>
 
 prfb    #15, p0, [x0]
 // CHECK-INST: prfb	#15, p0, [x0]
 // CHECK-ENCODING: [0x0f,0x00,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 00 c0 85 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -184,65 +186,11 @@ prfb    #15, p0, [x0]
 prfb    #1, p0, [x0, #-32, mul vl]
 // CHECK-INST: prfb pldl1strm, p0, [x0, #-32, mul vl]
 // CHECK-ENCODING: [0x01,0x00,0xe0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 00 e0 85 <unknown>
 
 prfb    #1, p0, [x0, #31, mul vl]
 // CHECK-INST: prfb pldl1strm, p0, [x0, #31, mul vl]
 // CHECK-ENCODING: [0x01,0x00,0xdf,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 00 df 85 <unknown>
-
-prfb    pldl1keep, p0, [x0, z0.s, uxtw]
-// CHECK-INST: prfb    pldl1keep, p0, [x0, z0.s, uxtw]
-// CHECK-ENCODING: [0x00,0x00,0x20,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 20 84 <unknown>
-
-prfb    pldl3strm, p5, [x10, z21.s, uxtw]
-// CHECK-INST: prfb    pldl3strm, p5, [x10, z21.s, uxtw]
-// CHECK-ENCODING: [0x45,0x15,0x35,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 15 35 84 <unknown>
-
-prfb    pldl1keep, p0, [x0, z0.d, uxtw]
-// CHECK-INST: prfb    pldl1keep, p0, [x0, z0.d, uxtw]
-// CHECK-ENCODING: [0x00,0x00,0x20,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 00 20 c4 <unknown>
-
-prfb    pldl3strm, p5, [x10, z21.d, sxtw]
-// CHECK-INST: prfb    pldl3strm, p5, [x10, z21.d, sxtw]
-// CHECK-ENCODING: [0x45,0x15,0x75,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 15 75 c4 <unknown>
-
-prfb    pldl1keep, p0, [x0, z0.d]
-// CHECK-INST: prfb    pldl1keep, p0, [x0, z0.d]
-// CHECK-ENCODING: [0x00,0x80,0x60,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 60 c4 <unknown>
-
-prfb    #7, p3, [z13.s, #0]
-// CHECK-INST: prfb    #7, p3, [z13.s]
-// CHECK-ENCODING: [0xa7,0xed,0x00,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: a7 ed 00 84 <unknown>
-
-prfb    #7, p3, [z13.s, #31]
-// CHECK-INST: prfb    #7, p3, [z13.s, #31]
-// CHECK-ENCODING: [0xa7,0xed,0x1f,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: a7 ed 1f 84 <unknown>
-
-prfb    pldl3strm, p5, [z10.d, #0]
-// CHECK-INST: prfb    pldl3strm, p5, [z10.d]
-// CHECK-ENCODING: [0x45,0xf5,0x00,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 f5 00 c4 <unknown>
-
-prfb    pldl3strm, p5, [z10.d, #31]
-// CHECK-INST: prfb    pldl3strm, p5, [z10.d, #31]
-// CHECK-ENCODING: [0x45,0xf5,0x1f,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 f5 1f c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/prfd-sve-only.s b/llvm/test/MC/AArch64/SVE/prfd-sve-only.s
new file mode 100644
index 0000000000000..50df1b9ff21e1
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/prfd-sve-only.s
@@ -0,0 +1,69 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+// --------------------------------------------------------------------------//
+// Test addressing modes
+
+prfd    pldl1keep, p0, [x0, z0.s, uxtw #3]
+// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.s, uxtw #3]
+// CHECK-ENCODING: [0x00,0x60,0x20,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 60 20 84 <unknown>
+
+prfd    pldl1keep, p0, [x0, z0.s, sxtw #3]
+// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.s, sxtw #3]
+// CHECK-ENCODING: [0x00,0x60,0x60,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 60 60 84 <unknown>
+
+prfd    pldl1keep, p0, [x0, z0.d, uxtw #3]
+// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.d, uxtw #3]
+// CHECK-ENCODING: [0x00,0x60,0x20,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 60 20 c4 <unknown>
+
+prfd    pldl1keep, p0, [x0, z0.d, sxtw #3]
+// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.d, sxtw #3]
+// CHECK-ENCODING: [0x00,0x60,0x60,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 60 60 c4 <unknown>
+
+prfd    pldl1keep, p0, [x0, z0.d, lsl #3]
+// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.d, lsl #3]
+// CHECK-ENCODING: [0x00,0xe0,0x60,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 e0 60 c4 <unknown>
+
+prfd    #15, p7, [z31.s, #0]
+// CHECK-INST: prfd    #15, p7, [z31.s]
+// CHECK-ENCODING: [0xef,0xff,0x80,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 80 85 <unknown>
+
+prfd    #15, p7, [z31.s, #248]
+// CHECK-INST: prfd    #15, p7, [z31.s, #248]
+// CHECK-ENCODING: [0xef,0xff,0x9f,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 9f 85 <unknown>
+
+prfd    #15, p7, [z31.d, #0]
+// CHECK-INST: prfd    #15, p7, [z31.d]
+// CHECK-ENCODING: [0xef,0xff,0x80,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 80 c5 <unknown>
+
+prfd    #15, p7, [z31.d, #248]
+// CHECK-INST: prfd    #15, p7, [z31.d, #248]
+// CHECK-ENCODING: [0xef,0xff,0x9f,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 9f c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/prfd.s b/llvm/test/MC/AArch64/SVE/prfd.s
index 403072a340b91..579fcb082629f 100644
--- a/llvm/test/MC/AArch64/SVE/prfd.s
+++ b/llvm/test/MC/AArch64/SVE/prfd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -13,169 +15,169 @@
 prfd    #0, p0, [x0]
 // CHECK-INST: prfd	pldl1keep, p0, [x0]
 // CHECK-ENCODING: [0x00,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 c0 85 <unknown>
 
 prfd	pldl1keep, p0, [x0]
 // CHECK-INST: prfd	pldl1keep, p0, [x0]
 // CHECK-ENCODING: [0x00,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 c0 85 <unknown>
 
 prfd    #1, p0, [x0]
 // CHECK-INST: prfd	pldl1strm, p0, [x0]
 // CHECK-ENCODING: [0x01,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 60 c0 85 <unknown>
 
 prfd	pldl1strm, p0, [x0]
 // CHECK-INST: prfd	pldl1strm, p0, [x0]
 // CHECK-ENCODING: [0x01,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 60 c0 85 <unknown>
 
 prfd    #2, p0, [x0]
 // CHECK-INST: prfd	pldl2keep, p0, [x0]
 // CHECK-ENCODING: [0x02,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 02 60 c0 85 <unknown>
 
 prfd	pldl2keep, p0, [x0]
 // CHECK-INST: prfd	pldl2keep, p0, [x0]
 // CHECK-ENCODING: [0x02,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 02 60 c0 85 <unknown>
 
 prfd    #3, p0, [x0]
 // CHECK-INST: prfd	pldl2strm, p0, [x0]
 // CHECK-ENCODING: [0x03,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 03 60 c0 85 <unknown>
 
 prfd	pldl2strm, p0, [x0]
 // CHECK-INST: prfd	pldl2strm, p0, [x0]
 // CHECK-ENCODING: [0x03,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 03 60 c0 85 <unknown>
 
 prfd    #4, p0, [x0]
 // CHECK-INST: prfd	pldl3keep, p0, [x0]
 // CHECK-ENCODING: [0x04,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 04 60 c0 85 <unknown>
 
 prfd	pldl3keep, p0, [x0]
 // CHECK-INST: prfd	pldl3keep, p0, [x0]
 // CHECK-ENCODING: [0x04,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 04 60 c0 85 <unknown>
 
 prfd    #5, p0, [x0]
 // CHECK-INST: prfd	pldl3strm, p0, [x0]
 // CHECK-ENCODING: [0x05,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 60 c0 85 <unknown>
 
 prfd	pldl3strm, p0, [x0]
 // CHECK-INST: prfd	pldl3strm, p0, [x0]
 // CHECK-ENCODING: [0x05,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 60 c0 85 <unknown>
 
 prfd    #6, p0, [x0]
 // CHECK-INST: prfd	#6, p0, [x0]
 // CHECK-ENCODING: [0x06,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 06 60 c0 85 <unknown>
 
 prfd    #7, p0, [x0]
 // CHECK-INST: prfd	#7, p0, [x0]
 // CHECK-ENCODING: [0x07,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 07 60 c0 85 <unknown>
 
 prfd    #8, p0, [x0]
 // CHECK-INST: prfd	pstl1keep, p0, [x0]
 // CHECK-ENCODING: [0x08,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 08 60 c0 85 <unknown>
 
 prfd	pstl1keep, p0, [x0]
 // CHECK-INST: prfd	pstl1keep, p0, [x0]
 // CHECK-ENCODING: [0x08,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 08 60 c0 85 <unknown>
 
 prfd    #9, p0, [x0]
 // CHECK-INST: prfd	pstl1strm, p0, [x0]
 // CHECK-ENCODING: [0x09,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 09 60 c0 85 <unknown>
 
 prfd	pstl1strm, p0, [x0]
 // CHECK-INST: prfd	pstl1strm, p0, [x0]
 // CHECK-ENCODING: [0x09,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 09 60 c0 85 <unknown>
 
 prfd    #10, p0, [x0]
 // CHECK-INST: prfd	pstl2keep, p0, [x0]
 // CHECK-ENCODING: [0x0a,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0a 60 c0 85 <unknown>
 
 prfd	pstl2keep, p0, [x0]
 // CHECK-INST: prfd	pstl2keep, p0, [x0]
 // CHECK-ENCODING: [0x0a,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0a 60 c0 85 <unknown>
 
 prfd    #11, p0, [x0]
 // CHECK-INST: prfd	pstl2strm, p0, [x0]
 // CHECK-ENCODING: [0x0b,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0b 60 c0 85 <unknown>
 
 prfd	pstl2strm, p0, [x0]
 // CHECK-INST: prfd	pstl2strm, p0, [x0]
 // CHECK-ENCODING: [0x0b,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0b 60 c0 85 <unknown>
 
 prfd    #12, p0, [x0]
 // CHECK-INST: prfd	pstl3keep, p0, [x0]
 // CHECK-ENCODING: [0x0c,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0c 60 c0 85 <unknown>
 
 prfd	pstl3keep, p0, [x0]
 // CHECK-INST: prfd	pstl3keep, p0, [x0]
 // CHECK-ENCODING: [0x0c,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0c 60 c0 85 <unknown>
 
 prfd    #13, p0, [x0]
 // CHECK-INST: prfd	pstl3strm, p0, [x0]
 // CHECK-ENCODING: [0x0d,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0d 60 c0 85 <unknown>
 
 prfd	pstl3strm, p0, [x0]
 // CHECK-INST: prfd	pstl3strm, p0, [x0]
 // CHECK-ENCODING: [0x0d,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0d 60 c0 85 <unknown>
 
 prfd    #14, p0, [x0]
 // CHECK-INST: prfd	#14, p0, [x0]
 // CHECK-ENCODING: [0x0e,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0e 60 c0 85 <unknown>
 
 prfd    #15, p0, [x0]
 // CHECK-INST: prfd	#15, p0, [x0]
 // CHECK-ENCODING: [0x0f,0x60,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 60 c0 85 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -184,65 +186,11 @@ prfd    #15, p0, [x0]
 prfd    pldl1strm, p0, [x0, #-32, mul vl]
 // CHECK-INST: prfd     pldl1strm, p0, [x0, #-32, mul vl]
 // CHECK-ENCODING: [0x01,0x60,0xe0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 60 e0 85
 
 prfd    pldl1strm, p0, [x0, #31, mul vl]
 // CHECK-INST: prfd     pldl1strm, p0, [x0, #31, mul vl]
 // CHECK-ENCODING: [0x01,0x60,0xdf,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 60 df 85
-
-prfd    pldl1keep, p0, [x0, z0.s, uxtw #3]
-// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.s, uxtw #3]
-// CHECK-ENCODING: [0x00,0x60,0x20,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 60 20 84 <unknown>
-
-prfd    pldl1keep, p0, [x0, z0.s, sxtw #3]
-// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.s, sxtw #3]
-// CHECK-ENCODING: [0x00,0x60,0x60,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 60 60 84 <unknown>
-
-prfd    pldl1keep, p0, [x0, z0.d, uxtw #3]
-// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.d, uxtw #3]
-// CHECK-ENCODING: [0x00,0x60,0x20,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 60 20 c4 <unknown>
-
-prfd    pldl1keep, p0, [x0, z0.d, sxtw #3]
-// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.d, sxtw #3]
-// CHECK-ENCODING: [0x00,0x60,0x60,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 60 60 c4 <unknown>
-
-prfd    pldl1keep, p0, [x0, z0.d, lsl #3]
-// CHECK-INST: prfd    pldl1keep, p0, [x0, z0.d, lsl #3]
-// CHECK-ENCODING: [0x00,0xe0,0x60,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 e0 60 c4 <unknown>
-
-prfd    #15, p7, [z31.s, #0]
-// CHECK-INST: prfd    #15, p7, [z31.s]
-// CHECK-ENCODING: [0xef,0xff,0x80,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 80 85 <unknown>
-
-prfd    #15, p7, [z31.s, #248]
-// CHECK-INST: prfd    #15, p7, [z31.s, #248]
-// CHECK-ENCODING: [0xef,0xff,0x9f,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 9f 85 <unknown>
-
-prfd    #15, p7, [z31.d, #0]
-// CHECK-INST: prfd    #15, p7, [z31.d]
-// CHECK-ENCODING: [0xef,0xff,0x80,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 80 c5 <unknown>
-
-prfd    #15, p7, [z31.d, #248]
-// CHECK-INST: prfd    #15, p7, [z31.d, #248]
-// CHECK-ENCODING: [0xef,0xff,0x9f,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 9f c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/prfh-sve-only.s b/llvm/test/MC/AArch64/SVE/prfh-sve-only.s
new file mode 100644
index 0000000000000..6aebe59343a9c
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/prfh-sve-only.s
@@ -0,0 +1,69 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+// --------------------------------------------------------------------------//
+// Test addressing modes
+
+prfh    pldl3strm, p5, [x10, z21.s, uxtw #1]
+// CHECK-INST: prfh    pldl3strm, p5, [x10, z21.s, uxtw #1]
+// CHECK-ENCODING: [0x45,0x35,0x35,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 35 35 84 <unknown>
+
+prfh    pldl3strm, p5, [x10, z21.s, sxtw #1]
+// CHECK-INST: prfh    pldl3strm, p5, [x10, z21.s, sxtw #1]
+// CHECK-ENCODING: [0x45,0x35,0x75,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 35 75 84 <unknown>
+
+prfh    pldl3strm, p5, [x10, z21.d, uxtw #1]
+// CHECK-INST: prfh    pldl3strm, p5, [x10, z21.d, uxtw #1]
+// CHECK-ENCODING: [0x45,0x35,0x35,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 35 35 c4 <unknown>
+
+prfh    pldl3strm, p5, [x10, z21.d, sxtw #1]
+// CHECK-INST: prfh    pldl3strm, p5, [x10, z21.d, sxtw #1]
+// CHECK-ENCODING: [0x45,0x35,0x75,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 35 75 c4 <unknown>
+
+prfh    pldl1keep, p0, [x0, z0.d, lsl #1]
+// CHECK-INST: prfh    pldl1keep, p0, [x0, z0.d, lsl #1]
+// CHECK-ENCODING: [0x00,0xa0,0x60,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 a0 60 c4 <unknown>
+
+prfh    #15, p7, [z31.s, #0]
+// CHECK-INST: prfh    #15, p7, [z31.s]
+// CHECK-ENCODING: [0xef,0xff,0x80,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 80 84 <unknown>
+
+prfh    #15, p7, [z31.s, #62]
+// CHECK-INST: prfh    #15, p7, [z31.s, #62]
+// CHECK-ENCODING: [0xef,0xff,0x9f,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 9f 84 <unknown>
+
+prfh    #15, p7, [z31.d, #0]
+// CHECK-INST: prfh    #15, p7, [z31.d]
+// CHECK-ENCODING: [0xef,0xff,0x80,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 80 c4 <unknown>
+
+prfh    #15, p7, [z31.d, #62]
+// CHECK-INST: prfh    #15, p7, [z31.d, #62]
+// CHECK-ENCODING: [0xef,0xff,0x9f,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 9f c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/prfh.s b/llvm/test/MC/AArch64/SVE/prfh.s
index 74f90d1fbb3e9..ddefe7797a891 100644
--- a/llvm/test/MC/AArch64/SVE/prfh.s
+++ b/llvm/test/MC/AArch64/SVE/prfh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -13,169 +15,169 @@
 prfh    #0, p0, [x0]
 // CHECK-INST: prfh	pldl1keep, p0, [x0]
 // CHECK-ENCODING: [0x00,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 c0 85 <unknown>
 
 prfh	pldl1keep, p0, [x0]
 // CHECK-INST: prfh	pldl1keep, p0, [x0]
 // CHECK-ENCODING: [0x00,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 20 c0 85 <unknown>
 
 prfh    #1, p0, [x0]
 // CHECK-INST: prfh	pldl1strm, p0, [x0]
 // CHECK-ENCODING: [0x01,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 20 c0 85 <unknown>
 
 prfh	pldl1strm, p0, [x0]
 // CHECK-INST: prfh	pldl1strm, p0, [x0]
 // CHECK-ENCODING: [0x01,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 20 c0 85 <unknown>
 
 prfh    #2, p0, [x0]
 // CHECK-INST: prfh	pldl2keep, p0, [x0]
 // CHECK-ENCODING: [0x02,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 02 20 c0 85 <unknown>
 
 prfh	pldl2keep, p0, [x0]
 // CHECK-INST: prfh	pldl2keep, p0, [x0]
 // CHECK-ENCODING: [0x02,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 02 20 c0 85 <unknown>
 
 prfh    #3, p0, [x0]
 // CHECK-INST: prfh	pldl2strm, p0, [x0]
 // CHECK-ENCODING: [0x03,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 03 20 c0 85 <unknown>
 
 prfh	pldl2strm, p0, [x0]
 // CHECK-INST: prfh	pldl2strm, p0, [x0]
 // CHECK-ENCODING: [0x03,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 03 20 c0 85 <unknown>
 
 prfh    #4, p0, [x0]
 // CHECK-INST: prfh	pldl3keep, p0, [x0]
 // CHECK-ENCODING: [0x04,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 04 20 c0 85 <unknown>
 
 prfh	pldl3keep, p0, [x0]
 // CHECK-INST: prfh	pldl3keep, p0, [x0]
 // CHECK-ENCODING: [0x04,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 04 20 c0 85 <unknown>
 
 prfh    #5, p0, [x0]
 // CHECK-INST: prfh	pldl3strm, p0, [x0]
 // CHECK-ENCODING: [0x05,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 20 c0 85 <unknown>
 
 prfh	pldl3strm, p0, [x0]
 // CHECK-INST: prfh	pldl3strm, p0, [x0]
 // CHECK-ENCODING: [0x05,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 20 c0 85 <unknown>
 
 prfh    #6, p0, [x0]
 // CHECK-INST: prfh	#6, p0, [x0]
 // CHECK-ENCODING: [0x06,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 06 20 c0 85 <unknown>
 
 prfh    #7, p0, [x0]
 // CHECK-INST: prfh	#7, p0, [x0]
 // CHECK-ENCODING: [0x07,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 07 20 c0 85 <unknown>
 
 prfh    #8, p0, [x0]
 // CHECK-INST: prfh	pstl1keep, p0, [x0]
 // CHECK-ENCODING: [0x08,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 08 20 c0 85 <unknown>
 
 prfh	pstl1keep, p0, [x0]
 // CHECK-INST: prfh	pstl1keep, p0, [x0]
 // CHECK-ENCODING: [0x08,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 08 20 c0 85 <unknown>
 
 prfh    #9, p0, [x0]
 // CHECK-INST: prfh	pstl1strm, p0, [x0]
 // CHECK-ENCODING: [0x09,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 09 20 c0 85 <unknown>
 
 prfh	pstl1strm, p0, [x0]
 // CHECK-INST: prfh	pstl1strm, p0, [x0]
 // CHECK-ENCODING: [0x09,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 09 20 c0 85 <unknown>
 
 prfh    #10, p0, [x0]
 // CHECK-INST: prfh	pstl2keep, p0, [x0]
 // CHECK-ENCODING: [0x0a,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0a 20 c0 85 <unknown>
 
 prfh	pstl2keep, p0, [x0]
 // CHECK-INST: prfh	pstl2keep, p0, [x0]
 // CHECK-ENCODING: [0x0a,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0a 20 c0 85 <unknown>
 
 prfh    #11, p0, [x0]
 // CHECK-INST: prfh	pstl2strm, p0, [x0]
 // CHECK-ENCODING: [0x0b,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0b 20 c0 85 <unknown>
 
 prfh	pstl2strm, p0, [x0]
 // CHECK-INST: prfh	pstl2strm, p0, [x0]
 // CHECK-ENCODING: [0x0b,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0b 20 c0 85 <unknown>
 
 prfh    #12, p0, [x0]
 // CHECK-INST: prfh	pstl3keep, p0, [x0]
 // CHECK-ENCODING: [0x0c,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0c 20 c0 85 <unknown>
 
 prfh	pstl3keep, p0, [x0]
 // CHECK-INST: prfh	pstl3keep, p0, [x0]
 // CHECK-ENCODING: [0x0c,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0c 20 c0 85 <unknown>
 
 prfh    #13, p0, [x0]
 // CHECK-INST: prfh	pstl3strm, p0, [x0]
 // CHECK-ENCODING: [0x0d,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0d 20 c0 85 <unknown>
 
 prfh	pstl3strm, p0, [x0]
 // CHECK-INST: prfh	pstl3strm, p0, [x0]
 // CHECK-ENCODING: [0x0d,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0d 20 c0 85 <unknown>
 
 prfh    #14, p0, [x0]
 // CHECK-INST: prfh	#14, p0, [x0]
 // CHECK-ENCODING: [0x0e,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0e 20 c0 85 <unknown>
 
 prfh    #15, p0, [x0]
 // CHECK-INST: prfh	#15, p0, [x0]
 // CHECK-ENCODING: [0x0f,0x20,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 20 c0 85 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -184,65 +186,11 @@ prfh    #15, p0, [x0]
 prfh    pldl1strm, p0, [x0, #-32, mul vl]
 // CHECK-INST: prfh     pldl1strm, p0, [x0, #-32, mul vl]
 // CHECK-ENCODING: [0x01,0x20,0xe0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 20 e0 85
 
 prfh    pldl1strm, p0, [x0, #31, mul vl]
 // CHECK-INST: prfh     pldl1strm, p0, [x0, #31, mul vl]
 // CHECK-ENCODING: [0x01,0x20,0xdf,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 20 df 85
-
-prfh    pldl3strm, p5, [x10, z21.s, uxtw #1]
-// CHECK-INST: prfh    pldl3strm, p5, [x10, z21.s, uxtw #1]
-// CHECK-ENCODING: [0x45,0x35,0x35,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 35 35 84 <unknown>
-
-prfh    pldl3strm, p5, [x10, z21.s, sxtw #1]
-// CHECK-INST: prfh    pldl3strm, p5, [x10, z21.s, sxtw #1]
-// CHECK-ENCODING: [0x45,0x35,0x75,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 35 75 84 <unknown>
-
-prfh    pldl3strm, p5, [x10, z21.d, uxtw #1]
-// CHECK-INST: prfh    pldl3strm, p5, [x10, z21.d, uxtw #1]
-// CHECK-ENCODING: [0x45,0x35,0x35,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 35 35 c4 <unknown>
-
-prfh    pldl3strm, p5, [x10, z21.d, sxtw #1]
-// CHECK-INST: prfh    pldl3strm, p5, [x10, z21.d, sxtw #1]
-// CHECK-ENCODING: [0x45,0x35,0x75,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 35 75 c4 <unknown>
-
-prfh    pldl1keep, p0, [x0, z0.d, lsl #1]
-// CHECK-INST: prfh    pldl1keep, p0, [x0, z0.d, lsl #1]
-// CHECK-ENCODING: [0x00,0xa0,0x60,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 a0 60 c4 <unknown>
-
-prfh    #15, p7, [z31.s, #0]
-// CHECK-INST: prfh    #15, p7, [z31.s]
-// CHECK-ENCODING: [0xef,0xff,0x80,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 80 84 <unknown>
-
-prfh    #15, p7, [z31.s, #62]
-// CHECK-INST: prfh    #15, p7, [z31.s, #62]
-// CHECK-ENCODING: [0xef,0xff,0x9f,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 9f 84 <unknown>
-
-prfh    #15, p7, [z31.d, #0]
-// CHECK-INST: prfh    #15, p7, [z31.d]
-// CHECK-ENCODING: [0xef,0xff,0x80,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 80 c4 <unknown>
-
-prfh    #15, p7, [z31.d, #62]
-// CHECK-INST: prfh    #15, p7, [z31.d, #62]
-// CHECK-ENCODING: [0xef,0xff,0x9f,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 9f c4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/prfw-sve-only.s b/llvm/test/MC/AArch64/SVE/prfw-sve-only.s
new file mode 100644
index 0000000000000..a64977929225a
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/prfw-sve-only.s
@@ -0,0 +1,69 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+// --------------------------------------------------------------------------//
+// Test addressing modes
+
+prfw    pldl1keep, p0, [x0, z0.s, uxtw #2]
+// CHECK-INST: prfw    pldl1keep, p0, [x0, z0.s, uxtw #2]
+// CHECK-ENCODING: [0x00,0x40,0x20,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 20 84 <unknown>
+
+prfw    pldl3strm, p5, [x10, z21.s, sxtw #2]
+// CHECK-INST: prfw    pldl3strm, p5, [x10, z21.s, sxtw #2]
+// CHECK-ENCODING: [0x45,0x55,0x75,0x84]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 55 75 84 <unknown>
+
+prfw    #7, p3, [x13, z8.d, uxtw #2]
+// CHECK-INST: prfw    #7, p3, [x13, z8.d, uxtw #2]
+// CHECK-ENCODING: [0xa7,0x4d,0x28,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: a7 4d 28 c4 <unknown>
+
+prfw    pldl1keep, p0, [x0, z0.d, sxtw #2]
+// CHECK-INST: prfw    pldl1keep, p0, [x0, z0.d, sxtw #2]
+// CHECK-ENCODING: [0x00,0x40,0x60,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 40 60 c4 <unknown>
+
+prfw    pldl3strm, p5, [x10, z21.d, lsl #2]
+// CHECK-INST: prfw    pldl3strm, p5, [x10, z21.d, lsl #2]
+// CHECK-ENCODING: [0x45,0xd5,0x75,0xc4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 45 d5 75 c4 <unknown>
+
+prfw    #15, p7, [z31.s, #0]
+// CHECK-INST: prfw    #15, p7, [z31.s]
+// CHECK-ENCODING: [0xef,0xff,0x00,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 00 85 <unknown>
+
+prfw    #15, p7, [z31.s, #124]
+// CHECK-INST: prfw    #15, p7, [z31.s, #124]
+// CHECK-ENCODING: [0xef,0xff,0x1f,0x85]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 1f 85 <unknown>
+
+prfw    #15, p7, [z31.d, #0]
+// CHECK-INST: prfw    #15, p7, [z31.d]
+// CHECK-ENCODING: [0xef,0xff,0x00,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 00 c5 <unknown>
+
+prfw    #15, p7, [z31.d, #124]
+// CHECK-INST: prfw    #15, p7, [z31.d, #124]
+// CHECK-ENCODING: [0xef,0xff,0x1f,0xc5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ef ff 1f c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/prfw.s b/llvm/test/MC/AArch64/SVE/prfw.s
index 0932910b18802..2805dd0f3d177 100644
--- a/llvm/test/MC/AArch64/SVE/prfw.s
+++ b/llvm/test/MC/AArch64/SVE/prfw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -13,169 +15,169 @@
 prfw    #0, p0, [x0]
 // CHECK-INST: prfw	pldl1keep, p0, [x0]
 // CHECK-ENCODING: [0x00,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 c0 85 <unknown>
 
 prfw	pldl1keep, p0, [x0]
 // CHECK-INST: prfw	pldl1keep, p0, [x0]
 // CHECK-ENCODING: [0x00,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 c0 85 <unknown>
 
 prfw    #1, p0, [x0]
 // CHECK-INST: prfw	pldl1strm, p0, [x0]
 // CHECK-ENCODING: [0x01,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 40 c0 85 <unknown>
 
 prfw	pldl1strm, p0, [x0]
 // CHECK-INST: prfw	pldl1strm, p0, [x0]
 // CHECK-ENCODING: [0x01,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 40 c0 85 <unknown>
 
 prfw    #2, p0, [x0]
 // CHECK-INST: prfw	pldl2keep, p0, [x0]
 // CHECK-ENCODING: [0x02,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 02 40 c0 85 <unknown>
 
 prfw	pldl2keep, p0, [x0]
 // CHECK-INST: prfw	pldl2keep, p0, [x0]
 // CHECK-ENCODING: [0x02,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 02 40 c0 85 <unknown>
 
 prfw    #3, p0, [x0]
 // CHECK-INST: prfw	pldl2strm, p0, [x0]
 // CHECK-ENCODING: [0x03,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 03 40 c0 85 <unknown>
 
 prfw	pldl2strm, p0, [x0]
 // CHECK-INST: prfw	pldl2strm, p0, [x0]
 // CHECK-ENCODING: [0x03,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 03 40 c0 85 <unknown>
 
 prfw    #4, p0, [x0]
 // CHECK-INST: prfw	pldl3keep, p0, [x0]
 // CHECK-ENCODING: [0x04,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 04 40 c0 85 <unknown>
 
 prfw	pldl3keep, p0, [x0]
 // CHECK-INST: prfw	pldl3keep, p0, [x0]
 // CHECK-ENCODING: [0x04,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 04 40 c0 85 <unknown>
 
 prfw    #5, p0, [x0]
 // CHECK-INST: prfw	pldl3strm, p0, [x0]
 // CHECK-ENCODING: [0x05,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 40 c0 85 <unknown>
 
 prfw	pldl3strm, p0, [x0]
 // CHECK-INST: prfw	pldl3strm, p0, [x0]
 // CHECK-ENCODING: [0x05,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 40 c0 85 <unknown>
 
 prfw    #6, p0, [x0]
 // CHECK-INST: prfw	#6, p0, [x0]
 // CHECK-ENCODING: [0x06,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 06 40 c0 85 <unknown>
 
 prfw    #7, p0, [x0]
 // CHECK-INST: prfw	#7, p0, [x0]
 // CHECK-ENCODING: [0x07,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 07 40 c0 85 <unknown>
 
 prfw    #8, p0, [x0]
 // CHECK-INST: prfw	pstl1keep, p0, [x0]
 // CHECK-ENCODING: [0x08,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 08 40 c0 85 <unknown>
 
 prfw	pstl1keep, p0, [x0]
 // CHECK-INST: prfw	pstl1keep, p0, [x0]
 // CHECK-ENCODING: [0x08,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 08 40 c0 85 <unknown>
 
 prfw    #9, p0, [x0]
 // CHECK-INST: prfw	pstl1strm, p0, [x0]
 // CHECK-ENCODING: [0x09,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 09 40 c0 85 <unknown>
 
 prfw	pstl1strm, p0, [x0]
 // CHECK-INST: prfw	pstl1strm, p0, [x0]
 // CHECK-ENCODING: [0x09,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 09 40 c0 85 <unknown>
 
 prfw    #10, p0, [x0]
 // CHECK-INST: prfw	pstl2keep, p0, [x0]
 // CHECK-ENCODING: [0x0a,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0a 40 c0 85 <unknown>
 
 prfw	pstl2keep, p0, [x0]
 // CHECK-INST: prfw	pstl2keep, p0, [x0]
 // CHECK-ENCODING: [0x0a,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0a 40 c0 85 <unknown>
 
 prfw    #11, p0, [x0]
 // CHECK-INST: prfw	pstl2strm, p0, [x0]
 // CHECK-ENCODING: [0x0b,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0b 40 c0 85 <unknown>
 
 prfw	pstl2strm, p0, [x0]
 // CHECK-INST: prfw	pstl2strm, p0, [x0]
 // CHECK-ENCODING: [0x0b,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0b 40 c0 85 <unknown>
 
 prfw    #12, p0, [x0]
 // CHECK-INST: prfw	pstl3keep, p0, [x0]
 // CHECK-ENCODING: [0x0c,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0c 40 c0 85 <unknown>
 
 prfw	pstl3keep, p0, [x0]
 // CHECK-INST: prfw	pstl3keep, p0, [x0]
 // CHECK-ENCODING: [0x0c,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0c 40 c0 85 <unknown>
 
 prfw    #13, p0, [x0]
 // CHECK-INST: prfw	pstl3strm, p0, [x0]
 // CHECK-ENCODING: [0x0d,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0d 40 c0 85 <unknown>
 
 prfw	pstl3strm, p0, [x0]
 // CHECK-INST: prfw	pstl3strm, p0, [x0]
 // CHECK-ENCODING: [0x0d,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0d 40 c0 85 <unknown>
 
 prfw    #14, p0, [x0]
 // CHECK-INST: prfw	#14, p0, [x0]
 // CHECK-ENCODING: [0x0e,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0e 40 c0 85 <unknown>
 
 prfw    #15, p0, [x0]
 // CHECK-INST: prfw	#15, p0, [x0]
 // CHECK-ENCODING: [0x0f,0x40,0xc0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 40 c0 85 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -184,65 +186,11 @@ prfw    #15, p0, [x0]
 prfw    pldl1strm, p0, [x0, #-32, mul vl]
 // CHECK-INST: prfw     pldl1strm, p0, [x0, #-32, mul vl]
 // CHECK-ENCODING: [0x01,0x40,0xe0,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 40 e0 85
 
 prfw    pldl1strm, p0, [x0, #31, mul vl]
 // CHECK-INST: prfw     pldl1strm, p0, [x0, #31, mul vl]
 // CHECK-ENCODING: [0x01,0x40,0xdf,0x85]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 01 40 df 85
-
-prfw    pldl1keep, p0, [x0, z0.s, uxtw #2]
-// CHECK-INST: prfw    pldl1keep, p0, [x0, z0.s, uxtw #2]
-// CHECK-ENCODING: [0x00,0x40,0x20,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 20 84 <unknown>
-
-prfw    pldl3strm, p5, [x10, z21.s, sxtw #2]
-// CHECK-INST: prfw    pldl3strm, p5, [x10, z21.s, sxtw #2]
-// CHECK-ENCODING: [0x45,0x55,0x75,0x84]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 55 75 84 <unknown>
-
-prfw    #7, p3, [x13, z8.d, uxtw #2]
-// CHECK-INST: prfw    #7, p3, [x13, z8.d, uxtw #2]
-// CHECK-ENCODING: [0xa7,0x4d,0x28,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: a7 4d 28 c4 <unknown>
-
-prfw    pldl1keep, p0, [x0, z0.d, sxtw #2]
-// CHECK-INST: prfw    pldl1keep, p0, [x0, z0.d, sxtw #2]
-// CHECK-ENCODING: [0x00,0x40,0x60,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 40 60 c4 <unknown>
-
-prfw    pldl3strm, p5, [x10, z21.d, lsl #2]
-// CHECK-INST: prfw    pldl3strm, p5, [x10, z21.d, lsl #2]
-// CHECK-ENCODING: [0x45,0xd5,0x75,0xc4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 45 d5 75 c4 <unknown>
-
-prfw    #15, p7, [z31.s, #0]
-// CHECK-INST: prfw    #15, p7, [z31.s]
-// CHECK-ENCODING: [0xef,0xff,0x00,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 00 85 <unknown>
-
-prfw    #15, p7, [z31.s, #124]
-// CHECK-INST: prfw    #15, p7, [z31.s, #124]
-// CHECK-ENCODING: [0xef,0xff,0x1f,0x85]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 1f 85 <unknown>
-
-prfw    #15, p7, [z31.d, #0]
-// CHECK-INST: prfw    #15, p7, [z31.d]
-// CHECK-ENCODING: [0xef,0xff,0x00,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 00 c5 <unknown>
-
-prfw    #15, p7, [z31.d, #124]
-// CHECK-INST: prfw    #15, p7, [z31.d, #124]
-// CHECK-ENCODING: [0xef,0xff,0x1f,0xc5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ef ff 1f c5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ptest.s b/llvm/test/MC/AArch64/SVE/ptest.s
index 609befe2f5e70..449f89dae79f7 100644
--- a/llvm/test/MC/AArch64/SVE/ptest.s
+++ b/llvm/test/MC/AArch64/SVE/ptest.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 ptest p15, p0.b
 // CHECK-INST: ptest	p15, p0.b
 // CHECK-ENCODING: [0x00,0xfc,0x50,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc 50 25 <unknown>
 
 ptest p15, p15.b
 // CHECK-INST: ptest	p15, p15.b
 // CHECK-ENCODING: [0xe0,0xfd,0x50,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fd 50 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ptrue.s b/llvm/test/MC/AArch64/SVE/ptrue.s
index 5757e346f271b..ef6531bc80c8e 100644
--- a/llvm/test/MC/AArch64/SVE/ptrue.s
+++ b/llvm/test/MC/AArch64/SVE/ptrue.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/ptrues.s b/llvm/test/MC/AArch64/SVE/ptrues.s
index 3b6e37c66cc44..40077f1c6176c 100644
--- a/llvm/test/MC/AArch64/SVE/ptrues.s
+++ b/llvm/test/MC/AArch64/SVE/ptrues.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/punpkhi.s b/llvm/test/MC/AArch64/SVE/punpkhi.s
index c05104e9aabfb..0c27f30c49749 100644
--- a/llvm/test/MC/AArch64/SVE/punpkhi.s
+++ b/llvm/test/MC/AArch64/SVE/punpkhi.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 punpkhi p0.h, p0.b
 // CHECK-INST: punpkhi	p0.h, p0.b
 // CHECK-ENCODING: [0x00,0x40,0x31,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 31 05 <unknown>
 
 punpkhi p15.h, p15.b
 // CHECK-INST: punpkhi	p15.h, p15.b
 // CHECK-ENCODING: [0xef,0x41,0x31,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 41 31 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/punpklo.s b/llvm/test/MC/AArch64/SVE/punpklo.s
index a82e74e550825..3a9f076ed7dac 100644
--- a/llvm/test/MC/AArch64/SVE/punpklo.s
+++ b/llvm/test/MC/AArch64/SVE/punpklo.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,11 +12,11 @@
 punpklo p0.h, p0.b
 // CHECK-INST: punpklo	p0.h, p0.b
 // CHECK-ENCODING: [0x00,0x40,0x30,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 30 05 <unknown>
 
 punpklo p15.h, p15.b
 // CHECK-INST: punpklo	p15.h, p15.b
 // CHECK-ENCODING: [0xef,0x41,0x30,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 41 30 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/rbit.s b/llvm/test/MC/AArch64/SVE/rbit.s
index 54aae153a56cc..70e2036727486 100644
--- a/llvm/test/MC/AArch64/SVE/rbit.s
+++ b/llvm/test/MC/AArch64/SVE/rbit.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 rbit  z0.b, p7/m, z31.b
 // CHECK-INST: rbit	z0.b, p7/m, z31.b
 // CHECK-ENCODING: [0xe0,0x9f,0x27,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 27 05 <unknown>
 
 rbit  z0.h, p7/m, z31.h
 // CHECK-INST: rbit	z0.h, p7/m, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x67,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 67 05 <unknown>
 
 rbit  z0.s, p7/m, z31.s
 // CHECK-INST: rbit	z0.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0xa7,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f a7 05 <unknown>
 
 rbit  z0.d, p7/m, z31.d
 // CHECK-INST: rbit	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe7,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e7 05 <unknown>
 
 
@@ -38,23 +40,23 @@ rbit  z0.d, p7/m, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 rbit  z0.d, p7/m, z31.d
 // CHECK-INST: rbit	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe7,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e7 05 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 rbit  z0.d, p7/m, z31.d
 // CHECK-INST: rbit	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe7,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e7 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/rdffr.s b/llvm/test/MC/AArch64/SVE/rdffr.s
index c0a2c878987e2..ec1a48b88497e 100644
--- a/llvm/test/MC/AArch64/SVE/rdffr.s
+++ b/llvm/test/MC/AArch64/SVE/rdffr.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/rdffrs.s b/llvm/test/MC/AArch64/SVE/rdffrs.s
index b9708c73e43d7..1ebcd6f25740c 100644
--- a/llvm/test/MC/AArch64/SVE/rdffrs.s
+++ b/llvm/test/MC/AArch64/SVE/rdffrs.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/rdvl.s b/llvm/test/MC/AArch64/SVE/rdvl.s
index 75959c4ace2ae..5cf8c368e9077 100644
--- a/llvm/test/MC/AArch64/SVE/rdvl.s
+++ b/llvm/test/MC/AArch64/SVE/rdvl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 rdvl    x0, #0
 // CHECK-INST: rdvl    x0, #0
 // CHECK-ENCODING: [0x00,0x50,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 50 bf 04 <unknown>
 
 rdvl    xzr, #-1
 // CHECK-INST: rdvl    xzr, #-1
 // CHECK-ENCODING: [0xff,0x57,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 57 bf 04 <unknown>
 
 rdvl    x23, #31
 // CHECK-INST: rdvl    x23, #31
 // CHECK-ENCODING: [0xf7,0x53,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: f7 53 bf 04 <unknown>
 
 rdvl    x21, #-32
 // CHECK-INST: rdvl    x21, #-32
 // CHECK-ENCODING: [0x15,0x54,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 15 54 bf 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/rev.s b/llvm/test/MC/AArch64/SVE/rev.s
index df60a676a0ea0..47f9b758d5318 100644
--- a/llvm/test/MC/AArch64/SVE/rev.s
+++ b/llvm/test/MC/AArch64/SVE/rev.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 rev   z0.b, z31.b
 // CHECK-INST: rev	z0.b, z31.b
 // CHECK-ENCODING: [0xe0,0x3b,0x38,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3b 38 05 <unknown>
 
 rev   z0.h, z31.h
 // CHECK-INST: rev	z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x3b,0x78,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3b 78 05 <unknown>
 
 rev   z0.s, z31.s
 // CHECK-INST: rev	z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x3b,0xb8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3b b8 05 <unknown>
 
 rev   z0.d, z31.d
 // CHECK-INST: rev	z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x3b,0xf8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3b f8 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/revb.s b/llvm/test/MC/AArch64/SVE/revb.s
index 27a3114d9aba3..c71da4bd90a6f 100644
--- a/llvm/test/MC/AArch64/SVE/revb.s
+++ b/llvm/test/MC/AArch64/SVE/revb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,19 +12,19 @@
 revb  z0.h, p7/m, z31.h
 // CHECK-INST: revb	z0.h, p7/m, z31.h
 // CHECK-ENCODING: [0xe0,0x9f,0x64,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f 64 05 <unknown>
 
 revb  z0.s, p7/m, z31.s
 // CHECK-INST: revb	z0.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0xa4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f a4 05 <unknown>
 
 revb  z0.d, p7/m, z31.d
 // CHECK-INST: revb	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e4 05 <unknown>
 
 
@@ -32,23 +34,23 @@ revb  z0.d, p7/m, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 revb  z0.d, p7/m, z31.d
 // CHECK-INST: revb	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e4 05 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 revb  z0.d, p7/m, z31.d
 // CHECK-INST: revb	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe4,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e4 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/revh.s b/llvm/test/MC/AArch64/SVE/revh.s
index 016eb4ee55676..1cc8f81b73640 100644
--- a/llvm/test/MC/AArch64/SVE/revh.s
+++ b/llvm/test/MC/AArch64/SVE/revh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,13 +12,13 @@
 revh  z0.s, p7/m, z31.s
 // CHECK-INST: revh	z0.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe0,0x9f,0xa5,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f a5 05 <unknown>
 
 revh  z0.d, p7/m, z31.d
 // CHECK-INST: revh	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe5,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e5 05 <unknown>
 
 
@@ -26,23 +28,23 @@ revh  z0.d, p7/m, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 revh  z0.d, p7/m, z31.d
 // CHECK-INST: revh	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe5,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e5 05 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 revh  z0.d, p7/m, z31.d
 // CHECK-INST: revh	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe5,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e5 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/revw.s b/llvm/test/MC/AArch64/SVE/revw.s
index bf556d84502fa..2a7afdcfdffb6 100644
--- a/llvm/test/MC/AArch64/SVE/revw.s
+++ b/llvm/test/MC/AArch64/SVE/revw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,7 +12,7 @@
 revw  z0.d, p7/m, z31.d
 // CHECK-INST: revw	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe6,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e6 05 <unknown>
 
 
@@ -20,23 +22,23 @@ revw  z0.d, p7/m, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 revw  z0.d, p7/m, z31.d
 // CHECK-INST: revw	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe6,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e6 05 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 revw  z0.d, p7/m, z31.d
 // CHECK-INST: revw	z0.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe0,0x9f,0xe6,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 9f e6 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sabd.s b/llvm/test/MC/AArch64/SVE/sabd.s
index 1bd3ccaae6f46..421d46d78699d 100644
--- a/llvm/test/MC/AArch64/SVE/sabd.s
+++ b/llvm/test/MC/AArch64/SVE/sabd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 sabd  z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: sabd	z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x0c,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 0c 04 <unknown>
 
 sabd  z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: sabd	z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x4c,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 4c 04 <unknown>
 
 sabd  z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: sabd	z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x8c,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 8c 04 <unknown>
 
 sabd  z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: sabd	z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xcc,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f cc 04 <unknown>
 
 
@@ -38,23 +40,23 @@ sabd  z31.d, p7/m, z31.d, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 sabd  z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: sabd	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xcc,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f cc 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 sabd  z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: sabd	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xcc,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f cc 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/saddv.s b/llvm/test/MC/AArch64/SVE/saddv.s
index 613f6ac377e06..e449aae094579 100644
--- a/llvm/test/MC/AArch64/SVE/saddv.s
+++ b/llvm/test/MC/AArch64/SVE/saddv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 saddv d0, p7, z31.b
 // CHECK-INST: saddv	d0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x3f,0x00,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 00 04 <unknown>
 
 saddv d0, p7, z31.h
 // CHECK-INST: saddv	d0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x40,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 40 04 <unknown>
 
 saddv d0, p7, z31.s
 // CHECK-INST: saddv	d0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x80,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 80 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/scvtf.s b/llvm/test/MC/AArch64/SVE/scvtf.s
index c21bac886d804..f10f158bd850c 100644
--- a/llvm/test/MC/AArch64/SVE/scvtf.s
+++ b/llvm/test/MC/AArch64/SVE/scvtf.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,43 +12,43 @@
 scvtf   z0.h, p0/m, z0.h
 // CHECK-INST: scvtf   z0.h, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x52,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 52 65 <unknown>
 
 scvtf   z0.h, p0/m, z0.s
 // CHECK-INST: scvtf   z0.h, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x54,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 54 65 <unknown>
 
 scvtf   z0.h, p0/m, z0.d
 // CHECK-INST: scvtf   z0.h, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0x56,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 56 65 <unknown>
 
 scvtf   z0.s, p0/m, z0.s
 // CHECK-INST: scvtf   z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x94,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 94 65 <unknown>
 
 scvtf   z0.s, p0/m, z0.d
 // CHECK-INST: scvtf   z0.s, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd4,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d4 65 <unknown>
 
 scvtf   z0.d, p0/m, z0.s
 // CHECK-INST: scvtf   z0.d, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0xd0,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d0 65 <unknown>
 
 scvtf   z0.d, p0/m, z0.d
 // CHECK-INST: scvtf   z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d6 65 <unknown>
 
 
@@ -56,23 +58,23 @@ scvtf   z0.d, p0/m, z0.d
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 scvtf   z5.d, p0/m, z0.d
 // CHECK-INST: scvtf	z5.d, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0xd6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 d6 65 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 scvtf   z5.d, p0/m, z0.d
 // CHECK-INST: scvtf	z5.d, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0xd6,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 d6 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sdiv.s b/llvm/test/MC/AArch64/SVE/sdiv.s
index acbf312f6af31..dffad1b1198c1 100644
--- a/llvm/test/MC/AArch64/SVE/sdiv.s
+++ b/llvm/test/MC/AArch64/SVE/sdiv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,13 +12,13 @@
 sdiv   z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: sdiv	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x1f,0x94,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 94 04 <unknown>
 
 sdiv   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: sdiv	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d4 04 <unknown>
 
 
@@ -26,23 +28,23 @@ sdiv   z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 sdiv   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: sdiv	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d4 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sdiv   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: sdiv	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d4 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sdivr.s b/llvm/test/MC/AArch64/SVE/sdivr.s
index 0032bf4df65e5..317b61a5d4c7b 100644
--- a/llvm/test/MC/AArch64/SVE/sdivr.s
+++ b/llvm/test/MC/AArch64/SVE/sdivr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,13 +12,13 @@
 sdivr  z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: sdivr	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x1f,0x96,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 96 04 <unknown>
 
 sdivr  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: sdivr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd6,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d6 04 <unknown>
 
 
@@ -26,23 +28,23 @@ sdivr  z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 sdivr  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: sdivr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd6,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d6 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sdivr  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: sdivr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd6,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d6 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sdot.s b/llvm/test/MC/AArch64/SVE/sdot.s
index d61cea6596843..63d4671592cc0 100644
--- a/llvm/test/MC/AArch64/SVE/sdot.s
+++ b/llvm/test/MC/AArch64/SVE/sdot.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 sdot  z0.s, z1.b, z31.b
 // CHECK-INST: sdot	z0.s, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x00,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 9f 44 <unknown>
 
 sdot  z0.d, z1.h, z31.h
 // CHECK-INST: sdot	z0.d, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x00,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 df 44 <unknown>
 
 sdot  z0.s, z1.b, z7.b[3]
 // CHECK-INST: sdot	z0.s, z1.b, z7.b[3]
 // CHECK-ENCODING: [0x20,0x00,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 bf 44 <unknown>
 
 sdot  z0.d, z1.h, z15.h[1]
 // CHECK-INST: sdot	z0.d, z1.h, z15.h[1]
 // CHECK-ENCODING: [0x20,0x00,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 ff 44 <unknown>
 
 
@@ -38,23 +40,23 @@ sdot  z0.d, z1.h, z15.h[1]
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sdot  z0.d, z1.h, z31.h
 // CHECK-INST: sdot	z0.d, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x00,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 df 44 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sdot  z0.d, z1.h, z15.h[1]
 // CHECK-INST: sdot	z0.d, z1.h, z15.h[1]
 // CHECK-ENCODING: [0x20,0x00,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 00 ff 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sel.s b/llvm/test/MC/AArch64/SVE/sel.s
index b6b18bac5bbc0..c5c2ce435adb1 100644
--- a/llvm/test/MC/AArch64/SVE/sel.s
+++ b/llvm/test/MC/AArch64/SVE/sel.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,59 +12,59 @@
 sel     p0.b, p0, p0.b, p0.b
 // CHECK-INST: mov     p0.b, p0/m, p0.b
 // CHECK-ENCODING: [0x10,0x42,0x00,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 10 42 00 25 <unknown>
 
 sel     p15.b, p15, p15.b, p15.b
 // CHECK-INST: mov     p15.b, p15/m, p15.b
 // CHECK-ENCODING: [0xff,0x7f,0x0f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 7f 0f 25 <unknown>
 
 sel     z31.b, p15, z31.b, z31.b
 // CHECK-INST: mov     z31.b, p15/m, z31.b
 // CHECK-ENCODING: [0xff,0xff,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 3f 05 <unknown>
 
 sel     z31.h, p15, z31.h, z31.h
 // CHECK-INST: mov     z31.h, p15/m, z31.h
 // CHECK-ENCODING: [0xff,0xff,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 7f 05 <unknown>
 
 sel     z31.s, p15, z31.s, z31.s
 // CHECK-INST: mov     z31.s, p15/m, z31.s
 // CHECK-ENCODING: [0xff,0xff,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff bf 05 <unknown>
 
 sel     z31.d, p15, z31.d, z31.d
 // CHECK-INST: mov     z31.d, p15/m, z31.d
 // CHECK-ENCODING: [0xff,0xff,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff ff 05 <unknown>
 
 sel     z23.s, p11, z13.s, z8.s
 // CHECK-INST: sel     z23.s, p11, z13.s, z8.s
 // CHECK-ENCODING: [0xb7,0xed,0xa8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed a8 05 <unknown>
 
 sel     z23.d, p11, z13.d, z8.d
 // CHECK-INST: sel     z23.d, p11, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0xed,0xe8,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed e8 05 <unknown>
 
 sel     z23.h, p11, z13.h, z8.h
 // CHECK-INST: sel     z23.h, p11, z13.h, z8.h
 // CHECK-ENCODING: [0xb7,0xed,0x68,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 68 05 <unknown>
 
 sel     z23.b, p11, z13.b, z8.b
 // CHECK-INST: sel     z23.b, p11, z13.b, z8.b
 // CHECK-ENCODING: [0xb7,0xed,0x28,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 28 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/setffr.s b/llvm/test/MC/AArch64/SVE/setffr.s
index 3a4a693ffd641..2f6a91b8e7db3 100644
--- a/llvm/test/MC/AArch64/SVE/setffr.s
+++ b/llvm/test/MC/AArch64/SVE/setffr.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/smax.s b/llvm/test/MC/AArch64/SVE/smax.s
index 0096cb8804ec5..f668029c328c2 100644
--- a/llvm/test/MC/AArch64/SVE/smax.s
+++ b/llvm/test/MC/AArch64/SVE/smax.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,73 +12,73 @@
 smax    z0.b, z0.b, #-128
 // CHECK-INST: smax	z0.b, z0.b, #-128
 // CHECK-ENCODING: [0x00,0xd0,0x28,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 28 25 <unknown>
 
 smax    z31.b, z31.b, #127
 // CHECK-INST: smax	z31.b, z31.b, #127
 // CHECK-ENCODING: [0xff,0xcf,0x28,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf 28 25 <unknown>
 
 smax    z0.h, z0.h, #-128
 // CHECK-INST: smax	z0.h, z0.h, #-128
 // CHECK-ENCODING: [0x00,0xd0,0x68,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 68 25 <unknown>
 
 smax    z31.h, z31.h, #127
 // CHECK-INST: smax	z31.h, z31.h, #127
 // CHECK-ENCODING: [0xff,0xcf,0x68,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf 68 25 <unknown>
 
 smax    z0.s, z0.s, #-128
 // CHECK-INST: smax	z0.s, z0.s, #-128
 // CHECK-ENCODING: [0x00,0xd0,0xa8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 a8 25 <unknown>
 
 smax    z31.s, z31.s, #127
 // CHECK-INST: smax	z31.s, z31.s, #127
 // CHECK-ENCODING: [0xff,0xcf,0xa8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf a8 25 <unknown>
 
 smax    z0.d, z0.d, #-128
 // CHECK-INST: smax	z0.d, z0.d, #-128
 // CHECK-ENCODING: [0x00,0xd0,0xe8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 e8 25 <unknown>
 
 smax    z31.d, z31.d, #127
 // CHECK-INST: smax	z31.d, z31.d, #127
 // CHECK-ENCODING: [0xff,0xcf,0xe8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf e8 25 <unknown>
 
 smax    z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: smax    z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x08,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 08 04 <unknown>
 
 smax    z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: smax    z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x48,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 48 04 <unknown>
 
 smax    z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: smax    z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x88,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 88 04 <unknown>
 
 smax    z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: smax    z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xc8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f c8 04 <unknown>
 
 
@@ -86,35 +88,35 @@ smax    z31.d, p7/m, z31.d, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 smax    z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: smax	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xc8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f c8 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 smax    z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: smax	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xc8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f c8 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 smax    z31.d, z31.d, #127
 // CHECK-INST: smax	z31.d, z31.d, #127
 // CHECK-ENCODING: [0xff,0xcf,0xe8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf e8 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/smaxv.s b/llvm/test/MC/AArch64/SVE/smaxv.s
index 74c5802e523ce..f3867cf05127a 100644
--- a/llvm/test/MC/AArch64/SVE/smaxv.s
+++ b/llvm/test/MC/AArch64/SVE/smaxv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 smaxv b0, p7, z31.b
 // CHECK-INST: smaxv	b0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x3f,0x08,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 08 04 <unknown>
 
 smaxv h0, p7, z31.h
 // CHECK-INST: smaxv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x48,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 48 04 <unknown>
 
 smaxv s0, p7, z31.s
 // CHECK-INST: smaxv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x88,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 88 04 <unknown>
 
 smaxv d0, p7, z31.d
 // CHECK-INST: smaxv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xc8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f c8 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/smin.s b/llvm/test/MC/AArch64/SVE/smin.s
index 48caec1a1db71..4b8528167d3f1 100644
--- a/llvm/test/MC/AArch64/SVE/smin.s
+++ b/llvm/test/MC/AArch64/SVE/smin.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,73 +12,73 @@
 smin    z0.b, z0.b, #-128
 // CHECK-INST: smin	z0.b, z0.b, #-128
 // CHECK-ENCODING: [0x00,0xd0,0x2a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 2a 25 <unknown>
 
 smin    z31.b, z31.b, #127
 // CHECK-INST: smin	z31.b, z31.b, #127
 // CHECK-ENCODING: [0xff,0xcf,0x2a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf 2a 25 <unknown>
 
 smin    z0.h, z0.h, #-128
 // CHECK-INST: smin	z0.h, z0.h, #-128
 // CHECK-ENCODING: [0x00,0xd0,0x6a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 6a 25 <unknown>
 
 smin    z31.h, z31.h, #127
 // CHECK-INST: smin	z31.h, z31.h, #127
 // CHECK-ENCODING: [0xff,0xcf,0x6a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf 6a 25 <unknown>
 
 smin    z0.s, z0.s, #-128
 // CHECK-INST: smin	z0.s, z0.s, #-128
 // CHECK-ENCODING: [0x00,0xd0,0xaa,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 aa 25 <unknown>
 
 smin    z31.s, z31.s, #127
 // CHECK-INST: smin	z31.s, z31.s, #127
 // CHECK-ENCODING: [0xff,0xcf,0xaa,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf aa 25 <unknown>
 
 smin    z0.d, z0.d, #-128
 // CHECK-INST: smin	z0.d, z0.d, #-128
 // CHECK-ENCODING: [0x00,0xd0,0xea,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 d0 ea 25 <unknown>
 
 smin    z31.d, z31.d, #127
 // CHECK-INST: smin	z31.d, z31.d, #127
 // CHECK-ENCODING: [0xff,0xcf,0xea,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf ea 25 <unknown>
 
 smin    z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: smin	z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x0a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 0a 04 <unknown>
 
 smin    z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: smin	z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x4a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 4a 04 <unknown>
 
 smin    z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: smin	z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x8a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 8a 04 <unknown>
 
 smin    z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: smin	z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xca,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f ca 04 <unknown>
 
 
@@ -86,35 +88,35 @@ smin    z31.d, p7/m, z31.d, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 smin    z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: smin	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xca,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f ca 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 smin    z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: smin	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xca,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f ca 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 smin    z31.d, z31.d, #127
 // CHECK-INST: smin	z31.d, z31.d, #127
 // CHECK-ENCODING: [0xff,0xcf,0xea,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff cf ea 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sminv.s b/llvm/test/MC/AArch64/SVE/sminv.s
index fb21394c1fef3..3ac72b9720561 100644
--- a/llvm/test/MC/AArch64/SVE/sminv.s
+++ b/llvm/test/MC/AArch64/SVE/sminv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 sminv b0, p7, z31.b
 // CHECK-INST: sminv	b0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x3f,0x0a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 0a 04 <unknown>
 
 sminv h0, p7, z31.h
 // CHECK-INST: sminv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x4a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 4a 04 <unknown>
 
 sminv s0, p7, z31.s
 // CHECK-INST: sminv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x8a,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 8a 04 <unknown>
 
 sminv d0, p7, z31.d
 // CHECK-INST: sminv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xca,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f ca 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/smulh.s b/llvm/test/MC/AArch64/SVE/smulh.s
index 6bf6c97db6742..53a67673acc68 100644
--- a/llvm/test/MC/AArch64/SVE/smulh.s
+++ b/llvm/test/MC/AArch64/SVE/smulh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 smulh z0.b, p7/m, z0.b, z31.b
 // CHECK-INST: smulh	z0.b, p7/m, z0.b, z31.b
 // CHECK-ENCODING: [0xe0,0x1f,0x12,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 12 04 <unknown>
 
 smulh z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: smulh	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x1f,0x52,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 52 04 <unknown>
 
 smulh z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: smulh	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x1f,0x92,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 92 04 <unknown>
 
 smulh z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: smulh	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d2 04 <unknown>
 
 
@@ -38,23 +40,23 @@ smulh z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 smulh z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: smulh	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d2 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 smulh z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: smulh	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d2 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/splice.s b/llvm/test/MC/AArch64/SVE/splice.s
index 97a0f36daff9d..83af81e204ff4 100644
--- a/llvm/test/MC/AArch64/SVE/splice.s
+++ b/llvm/test/MC/AArch64/SVE/splice.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 splice  z31.b, p7, z31.b, z31.b
 // CHECK-INST: splice  z31.b, p7, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x9f,0x2c,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 2c 05 <unknown>
 
 splice  z31.h, p7, z31.h, z31.h
 // CHECK-INST: splice  z31.h, p7, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x9f,0x6c,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f 6c 05 <unknown>
 
 splice  z31.s, p7, z31.s, z31.s
 // CHECK-INST: splice  z31.s, p7, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x9f,0xac,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f ac 05 <unknown>
 
 splice  z31.d, p7, z31.d, z31.d
 // CHECK-INST: splice  z31.d, p7, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x9f,0xec,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 9f ec 05 <unknown>
 
 
@@ -38,11 +40,11 @@ splice  z31.d, p7, z31.d, z31.d
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 splice  z4.d, p7, z4.d, z31.d
 // CHECK-INST: splice	z4.d, p7, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x9f,0xec,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 9f ec 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqadd.s b/llvm/test/MC/AArch64/SVE/sqadd.s
index cef3508fe7b4e..0535766d99cf1 100644
--- a/llvm/test/MC/AArch64/SVE/sqadd.s
+++ b/llvm/test/MC/AArch64/SVE/sqadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,109 +13,109 @@
 sqadd     z0.b, z0.b, z0.b
 // CHECK-INST: sqadd z0.b, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x10,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 10 20 04 <unknown>
 
 sqadd     z0.h, z0.h, z0.h
 // CHECK-INST: sqadd z0.h, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x10,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 10 60 04 <unknown>
 
 sqadd     z0.s, z0.s, z0.s
 // CHECK-INST: sqadd z0.s, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x10,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 10 a0 04 <unknown>
 
 sqadd     z0.d, z0.d, z0.d
 // CHECK-INST: sqadd z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x10,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 10 e0 04 <unknown>
 
 sqadd     z0.b, z0.b, #0
 // CHECK-INST: sqadd z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x24,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 24 25 <unknown>
 
 sqadd     z31.b, z31.b, #255
 // CHECK-INST: sqadd z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x24,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 24 25 <unknown>
 
 sqadd     z0.h, z0.h, #0
 // CHECK-INST: sqadd z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0xc0,0x64,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 64 25 <unknown>
 
 sqadd     z0.h, z0.h, #0, lsl #8
 // CHECK-INST: sqadd z0.h, z0.h, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0x64,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 64 25 <unknown>
 
 sqadd     z31.h, z31.h, #255, lsl #8
 // CHECK-INST: sqadd z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x64,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 64 25 <unknown>
 
 sqadd     z31.h, z31.h, #65280
 // CHECK-INST: sqadd z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x64,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 64 25 <unknown>
 
 sqadd     z0.s, z0.s, #0
 // CHECK-INST: sqadd z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0xc0,0xa4,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a4 25 <unknown>
 
 sqadd     z0.s, z0.s, #0, lsl #8
 // CHECK-INST: sqadd z0.s, z0.s, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xa4,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a4 25 <unknown>
 
 sqadd     z31.s, z31.s, #255, lsl #8
 // CHECK-INST: sqadd z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa4,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a4 25 <unknown>
 
 sqadd     z31.s, z31.s, #65280
 // CHECK-INST: sqadd z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa4,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a4 25 <unknown>
 
 sqadd     z0.d, z0.d, #0
 // CHECK-INST: sqadd z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0xc0,0xe4,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e4 25 <unknown>
 
 sqadd     z0.d, z0.d, #0, lsl #8
 // CHECK-INST: sqadd z0.d, z0.d, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xe4,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e4 25 <unknown>
 
 sqadd     z31.d, z31.d, #255, lsl #8
 // CHECK-INST: sqadd z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe4,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e4 25 <unknown>
 
 sqadd     z31.d, z31.d, #65280
 // CHECK-INST: sqadd z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe4,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e4 25 <unknown>
 
 
@@ -123,11 +125,11 @@ sqadd     z31.d, z31.d, #65280
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqadd     z31.d, z31.d, #65280
 // CHECK-INST: sqadd	z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe4,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e4 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqdecb.s b/llvm/test/MC/AArch64/SVE/sqdecb.s
index d09fb40ba930d..8f4f65be2b5c4 100644
--- a/llvm/test/MC/AArch64/SVE/sqdecb.s
+++ b/llvm/test/MC/AArch64/SVE/sqdecb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 sqdecb  x0
 // CHECK-INST: sqdecb  x0
 // CHECK-ENCODING: [0xe0,0xfb,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 30 04 <unknown>
 
 sqdecb  x0, all
 // CHECK-INST: sqdecb  x0
 // CHECK-ENCODING: [0xe0,0xfb,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 30 04 <unknown>
 
 sqdecb  x0, all, mul #1
 // CHECK-INST: sqdecb  x0
 // CHECK-ENCODING: [0xe0,0xfb,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 30 04 <unknown>
 
 sqdecb  x0, all, mul #16
 // CHECK-INST: sqdecb  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xfb,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 3f 04 <unknown>
 
 
@@ -43,37 +45,37 @@ sqdecb  x0, all, mul #16
 sqdecb  x0, w0
 // CHECK-INST: sqdecb  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 20 04 <unknown>
 
 sqdecb  x0, w0, all
 // CHECK-INST: sqdecb  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 20 04 <unknown>
 
 sqdecb  x0, w0, all, mul #1
 // CHECK-INST: sqdecb  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 20 04 <unknown>
 
 sqdecb  x0, w0, all, mul #16
 // CHECK-INST: sqdecb  x0, w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xfb,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 2f 04 <unknown>
 
 sqdecb  x0, w0, pow2
 // CHECK-INST: sqdecb  x0, w0, pow2
 // CHECK-ENCODING: [0x00,0xf8,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 20 04 <unknown>
 
 sqdecb  x0, w0, pow2, mul #16
 // CHECK-INST: sqdecb  x0, w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf8,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 2f 04 <unknown>
 
 
@@ -84,173 +86,173 @@ sqdecb  x0, w0, pow2, mul #16
 sqdecb  x0, pow2
 // CHECK-INST: sqdecb  x0, pow2
 // CHECK-ENCODING: [0x00,0xf8,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 30 04 <unknown>
 
 sqdecb  x0, vl1
 // CHECK-INST: sqdecb  x0, vl1
 // CHECK-ENCODING: [0x20,0xf8,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 30 04 <unknown>
 
 sqdecb  x0, vl2
 // CHECK-INST: sqdecb  x0, vl2
 // CHECK-ENCODING: [0x40,0xf8,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f8 30 04 <unknown>
 
 sqdecb  x0, vl3
 // CHECK-INST: sqdecb  x0, vl3
 // CHECK-ENCODING: [0x60,0xf8,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f8 30 04 <unknown>
 
 sqdecb  x0, vl4
 // CHECK-INST: sqdecb  x0, vl4
 // CHECK-ENCODING: [0x80,0xf8,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f8 30 04 <unknown>
 
 sqdecb  x0, vl5
 // CHECK-INST: sqdecb  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf8,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f8 30 04 <unknown>
 
 sqdecb  x0, vl6
 // CHECK-INST: sqdecb  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf8,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f8 30 04 <unknown>
 
 sqdecb  x0, vl7
 // CHECK-INST: sqdecb  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf8,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f8 30 04 <unknown>
 
 sqdecb  x0, vl8
 // CHECK-INST: sqdecb  x0, vl8
 // CHECK-ENCODING: [0x00,0xf9,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f9 30 04 <unknown>
 
 sqdecb  x0, vl16
 // CHECK-INST: sqdecb  x0, vl16
 // CHECK-ENCODING: [0x20,0xf9,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f9 30 04 <unknown>
 
 sqdecb  x0, vl32
 // CHECK-INST: sqdecb  x0, vl32
 // CHECK-ENCODING: [0x40,0xf9,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f9 30 04 <unknown>
 
 sqdecb  x0, vl64
 // CHECK-INST: sqdecb  x0, vl64
 // CHECK-ENCODING: [0x60,0xf9,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f9 30 04 <unknown>
 
 sqdecb  x0, vl128
 // CHECK-INST: sqdecb  x0, vl128
 // CHECK-ENCODING: [0x80,0xf9,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f9 30 04 <unknown>
 
 sqdecb  x0, vl256
 // CHECK-INST: sqdecb  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf9,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f9 30 04 <unknown>
 
 sqdecb  x0, #14
 // CHECK-INST: sqdecb  x0, #14
 // CHECK-ENCODING: [0xc0,0xf9,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f9 30 04 <unknown>
 
 sqdecb  x0, #15
 // CHECK-INST: sqdecb  x0, #15
 // CHECK-ENCODING: [0xe0,0xf9,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f9 30 04 <unknown>
 
 sqdecb  x0, #16
 // CHECK-INST: sqdecb  x0, #16
 // CHECK-ENCODING: [0x00,0xfa,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fa 30 04 <unknown>
 
 sqdecb  x0, #17
 // CHECK-INST: sqdecb  x0, #17
 // CHECK-ENCODING: [0x20,0xfa,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fa 30 04 <unknown>
 
 sqdecb  x0, #18
 // CHECK-INST: sqdecb  x0, #18
 // CHECK-ENCODING: [0x40,0xfa,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fa 30 04 <unknown>
 
 sqdecb  x0, #19
 // CHECK-INST: sqdecb  x0, #19
 // CHECK-ENCODING: [0x60,0xfa,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fa 30 04 <unknown>
 
 sqdecb  x0, #20
 // CHECK-INST: sqdecb  x0, #20
 // CHECK-ENCODING: [0x80,0xfa,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fa 30 04 <unknown>
 
 sqdecb  x0, #21
 // CHECK-INST: sqdecb  x0, #21
 // CHECK-ENCODING: [0xa0,0xfa,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fa 30 04 <unknown>
 
 sqdecb  x0, #22
 // CHECK-INST: sqdecb  x0, #22
 // CHECK-ENCODING: [0xc0,0xfa,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fa 30 04 <unknown>
 
 sqdecb  x0, #23
 // CHECK-INST: sqdecb  x0, #23
 // CHECK-ENCODING: [0xe0,0xfa,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fa 30 04 <unknown>
 
 sqdecb  x0, #24
 // CHECK-INST: sqdecb  x0, #24
 // CHECK-ENCODING: [0x00,0xfb,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fb 30 04 <unknown>
 
 sqdecb  x0, #25
 // CHECK-INST: sqdecb  x0, #25
 // CHECK-ENCODING: [0x20,0xfb,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fb 30 04 <unknown>
 
 sqdecb  x0, #26
 // CHECK-INST: sqdecb  x0, #26
 // CHECK-ENCODING: [0x40,0xfb,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fb 30 04 <unknown>
 
 sqdecb  x0, #27
 // CHECK-INST: sqdecb  x0, #27
 // CHECK-ENCODING: [0x60,0xfb,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fb 30 04 <unknown>
 
 sqdecb  x0, #28
 // CHECK-INST: sqdecb  x0, #28
 // CHECK-ENCODING: [0x80,0xfb,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fb 30 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqdecd.s b/llvm/test/MC/AArch64/SVE/sqdecd.s
index a9b300f05d4c8..cfe3b7e52b3fa 100644
--- a/llvm/test/MC/AArch64/SVE/sqdecd.s
+++ b/llvm/test/MC/AArch64/SVE/sqdecd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 sqdecd  x0
 // CHECK-INST: sqdecd  x0
 // CHECK-ENCODING: [0xe0,0xfb,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb f0 04 <unknown>
 
 sqdecd  x0, all
 // CHECK-INST: sqdecd  x0
 // CHECK-ENCODING: [0xe0,0xfb,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb f0 04 <unknown>
 
 sqdecd  x0, all, mul #1
 // CHECK-INST: sqdecd  x0
 // CHECK-ENCODING: [0xe0,0xfb,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb f0 04 <unknown>
 
 sqdecd  x0, all, mul #16
 // CHECK-INST: sqdecd  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xfb,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb ff 04 <unknown>
 
 
@@ -43,37 +45,37 @@ sqdecd  x0, all, mul #16
 sqdecd  x0, w0
 // CHECK-INST: sqdecd  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb e0 04 <unknown>
 
 sqdecd  x0, w0, all
 // CHECK-INST: sqdecd  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb e0 04 <unknown>
 
 sqdecd  x0, w0, all, mul #1
 // CHECK-INST: sqdecd  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb e0 04 <unknown>
 
 sqdecd  x0, w0, all, mul #16
 // CHECK-INST: sqdecd  x0, w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xfb,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb ef 04 <unknown>
 
 sqdecd  x0, w0, pow2
 // CHECK-INST: sqdecd  x0, w0, pow2
 // CHECK-ENCODING: [0x00,0xf8,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 e0 04 <unknown>
 
 sqdecd  x0, w0, pow2, mul #16
 // CHECK-INST: sqdecd  x0, w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf8,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 ef 04 <unknown>
 
 
@@ -83,37 +85,37 @@ sqdecd  x0, w0, pow2, mul #16
 sqdecd  z0.d
 // CHECK-INST: sqdecd  z0.d
 // CHECK-ENCODING: [0xe0,0xcb,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb e0 04 <unknown>
 
 sqdecd  z0.d, all
 // CHECK-INST: sqdecd  z0.d
 // CHECK-ENCODING: [0xe0,0xcb,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb e0 04 <unknown>
 
 sqdecd  z0.d, all, mul #1
 // CHECK-INST: sqdecd  z0.d
 // CHECK-ENCODING: [0xe0,0xcb,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb e0 04 <unknown>
 
 sqdecd  z0.d, all, mul #16
 // CHECK-INST: sqdecd  z0.d, all, mul #16
 // CHECK-ENCODING: [0xe0,0xcb,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb ef 04 <unknown>
 
 sqdecd  z0.d, pow2
 // CHECK-INST: sqdecd  z0.d, pow2
 // CHECK-ENCODING: [0x00,0xc8,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 e0 04 <unknown>
 
 sqdecd  z0.d, pow2, mul #16
 // CHECK-INST: sqdecd  z0.d, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc8,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 ef 04 <unknown>
 
 
@@ -124,175 +126,175 @@ sqdecd  z0.d, pow2, mul #16
 sqdecd  x0, pow2
 // CHECK-INST: sqdecd  x0, pow2
 // CHECK-ENCODING: [0x00,0xf8,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 f0 04 <unknown>
 
 sqdecd  x0, vl1
 // CHECK-INST: sqdecd  x0, vl1
 // CHECK-ENCODING: [0x20,0xf8,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 f0 04 <unknown>
 
 sqdecd  x0, vl2
 // CHECK-INST: sqdecd  x0, vl2
 // CHECK-ENCODING: [0x40,0xf8,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f8 f0 04 <unknown>
 
 sqdecd  x0, vl3
 // CHECK-INST: sqdecd  x0, vl3
 // CHECK-ENCODING: [0x60,0xf8,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f8 f0 04 <unknown>
 
 sqdecd  x0, vl4
 // CHECK-INST: sqdecd  x0, vl4
 // CHECK-ENCODING: [0x80,0xf8,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f8 f0 04 <unknown>
 
 sqdecd  x0, vl5
 // CHECK-INST: sqdecd  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf8,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f8 f0 04 <unknown>
 
 sqdecd  x0, vl6
 // CHECK-INST: sqdecd  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf8,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f8 f0 04 <unknown>
 
 sqdecd  x0, vl7
 // CHECK-INST: sqdecd  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf8,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f8 f0 04 <unknown>
 
 sqdecd  x0, vl8
 // CHECK-INST: sqdecd  x0, vl8
 // CHECK-ENCODING: [0x00,0xf9,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f9 f0 04 <unknown>
 
 sqdecd  x0, vl16
 // CHECK-INST: sqdecd  x0, vl16
 // CHECK-ENCODING: [0x20,0xf9,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f9 f0 04 <unknown>
 
 sqdecd  x0, vl32
 // CHECK-INST: sqdecd  x0, vl32
 // CHECK-ENCODING: [0x40,0xf9,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f9 f0 04 <unknown>
 
 sqdecd  x0, vl64
 // CHECK-INST: sqdecd  x0, vl64
 // CHECK-ENCODING: [0x60,0xf9,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f9 f0 04 <unknown>
 
 sqdecd  x0, vl128
 // CHECK-INST: sqdecd  x0, vl128
 // CHECK-ENCODING: [0x80,0xf9,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f9 f0 04 <unknown>
 
 sqdecd  x0, vl256
 // CHECK-INST: sqdecd  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf9,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f9 f0 04 <unknown>
 
 sqdecd  x0, #14
 // CHECK-INST: sqdecd  x0, #14
 // CHECK-ENCODING: [0xc0,0xf9,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f9 f0 04 <unknown>
 
 sqdecd  x0, #15
 // CHECK-INST: sqdecd  x0, #15
 // CHECK-ENCODING: [0xe0,0xf9,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f9 f0 04 <unknown>
 
 sqdecd  x0, #16
 // CHECK-INST: sqdecd  x0, #16
 // CHECK-ENCODING: [0x00,0xfa,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fa f0 04 <unknown>
 
 sqdecd  x0, #17
 // CHECK-INST: sqdecd  x0, #17
 // CHECK-ENCODING: [0x20,0xfa,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fa f0 04 <unknown>
 
 sqdecd  x0, #18
 // CHECK-INST: sqdecd  x0, #18
 // CHECK-ENCODING: [0x40,0xfa,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fa f0 04 <unknown>
 
 sqdecd  x0, #19
 // CHECK-INST: sqdecd  x0, #19
 // CHECK-ENCODING: [0x60,0xfa,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fa f0 04 <unknown>
 
 sqdecd  x0, #20
 // CHECK-INST: sqdecd  x0, #20
 // CHECK-ENCODING: [0x80,0xfa,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fa f0 04 <unknown>
 
 sqdecd  x0, #21
 // CHECK-INST: sqdecd  x0, #21
 // CHECK-ENCODING: [0xa0,0xfa,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fa f0 04 <unknown>
 
 sqdecd  x0, #22
 // CHECK-INST: sqdecd  x0, #22
 // CHECK-ENCODING: [0xc0,0xfa,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fa f0 04 <unknown>
 
 sqdecd  x0, #23
 // CHECK-INST: sqdecd  x0, #23
 // CHECK-ENCODING: [0xe0,0xfa,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fa f0 04 <unknown>
 
 sqdecd  x0, #24
 // CHECK-INST: sqdecd  x0, #24
 // CHECK-ENCODING: [0x00,0xfb,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fb f0 04 <unknown>
 
 sqdecd  x0, #25
 // CHECK-INST: sqdecd  x0, #25
 // CHECK-ENCODING: [0x20,0xfb,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fb f0 04 <unknown>
 
 sqdecd  x0, #26
 // CHECK-INST: sqdecd  x0, #26
 // CHECK-ENCODING: [0x40,0xfb,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fb f0 04 <unknown>
 
 sqdecd  x0, #27
 // CHECK-INST: sqdecd  x0, #27
 // CHECK-ENCODING: [0x60,0xfb,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fb f0 04 <unknown>
 
 sqdecd  x0, #28
 // CHECK-INST: sqdecd  x0, #28
 // CHECK-ENCODING: [0x80,0xfb,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fb f0 04 <unknown>
 
 
@@ -302,35 +304,35 @@ sqdecd  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdecd  z0.d
 // CHECK-INST: sqdecd	z0.d
 // CHECK-ENCODING: [0xe0,0xcb,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb e0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdecd  z0.d, pow2, mul #16
 // CHECK-INST: sqdecd	z0.d, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc8,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 ef 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdecd  z0.d, pow2
 // CHECK-INST: sqdecd	z0.d, pow2
 // CHECK-ENCODING: [0x00,0xc8,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 e0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqdech.s b/llvm/test/MC/AArch64/SVE/sqdech.s
index 0006d1a13103a..b6cb8991c2dbd 100644
--- a/llvm/test/MC/AArch64/SVE/sqdech.s
+++ b/llvm/test/MC/AArch64/SVE/sqdech.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 sqdech  x0
 // CHECK-INST: sqdech  x0
 // CHECK-ENCODING: [0xe0,0xfb,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 70 04 <unknown>
 
 sqdech  x0, all
 // CHECK-INST: sqdech  x0
 // CHECK-ENCODING: [0xe0,0xfb,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 70 04 <unknown>
 
 sqdech  x0, all, mul #1
 // CHECK-INST: sqdech  x0
 // CHECK-ENCODING: [0xe0,0xfb,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 70 04 <unknown>
 
 sqdech  x0, all, mul #16
 // CHECK-INST: sqdech  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xfb,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 7f 04 <unknown>
 
 
@@ -43,37 +45,37 @@ sqdech  x0, all, mul #16
 sqdech  x0, w0
 // CHECK-INST: sqdech  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 60 04 <unknown>
 
 sqdech  x0, w0, all
 // CHECK-INST: sqdech  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 60 04 <unknown>
 
 sqdech  x0, w0, all, mul #1
 // CHECK-INST: sqdech  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 60 04 <unknown>
 
 sqdech  x0, w0, all, mul #16
 // CHECK-INST: sqdech  x0, w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xfb,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb 6f 04 <unknown>
 
 sqdech  x0, w0, pow2
 // CHECK-INST: sqdech  x0, w0, pow2
 // CHECK-ENCODING: [0x00,0xf8,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 60 04 <unknown>
 
 sqdech  x0, w0, pow2, mul #16
 // CHECK-INST: sqdech  x0, w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf8,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 6f 04 <unknown>
 
 
@@ -83,37 +85,37 @@ sqdech  x0, w0, pow2, mul #16
 sqdech  z0.h
 // CHECK-INST: sqdech  z0.h
 // CHECK-ENCODING: [0xe0,0xcb,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb 60 04 <unknown>
 
 sqdech  z0.h, all
 // CHECK-INST: sqdech  z0.h
 // CHECK-ENCODING: [0xe0,0xcb,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb 60 04 <unknown>
 
 sqdech  z0.h, all, mul #1
 // CHECK-INST: sqdech  z0.h
 // CHECK-ENCODING: [0xe0,0xcb,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb 60 04 <unknown>
 
 sqdech  z0.h, all, mul #16
 // CHECK-INST: sqdech  z0.h, all, mul #16
 // CHECK-ENCODING: [0xe0,0xcb,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb 6f 04 <unknown>
 
 sqdech  z0.h, pow2
 // CHECK-INST: sqdech  z0.h, pow2
 // CHECK-ENCODING: [0x00,0xc8,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 60 04 <unknown>
 
 sqdech  z0.h, pow2, mul #16
 // CHECK-INST: sqdech  z0.h, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc8,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 6f 04 <unknown>
 
 
@@ -124,175 +126,175 @@ sqdech  z0.h, pow2, mul #16
 sqdech  x0, pow2
 // CHECK-INST: sqdech  x0, pow2
 // CHECK-ENCODING: [0x00,0xf8,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 70 04 <unknown>
 
 sqdech  x0, vl1
 // CHECK-INST: sqdech  x0, vl1
 // CHECK-ENCODING: [0x20,0xf8,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 70 04 <unknown>
 
 sqdech  x0, vl2
 // CHECK-INST: sqdech  x0, vl2
 // CHECK-ENCODING: [0x40,0xf8,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f8 70 04 <unknown>
 
 sqdech  x0, vl3
 // CHECK-INST: sqdech  x0, vl3
 // CHECK-ENCODING: [0x60,0xf8,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f8 70 04 <unknown>
 
 sqdech  x0, vl4
 // CHECK-INST: sqdech  x0, vl4
 // CHECK-ENCODING: [0x80,0xf8,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f8 70 04 <unknown>
 
 sqdech  x0, vl5
 // CHECK-INST: sqdech  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf8,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f8 70 04 <unknown>
 
 sqdech  x0, vl6
 // CHECK-INST: sqdech  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf8,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f8 70 04 <unknown>
 
 sqdech  x0, vl7
 // CHECK-INST: sqdech  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf8,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f8 70 04 <unknown>
 
 sqdech  x0, vl8
 // CHECK-INST: sqdech  x0, vl8
 // CHECK-ENCODING: [0x00,0xf9,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f9 70 04 <unknown>
 
 sqdech  x0, vl16
 // CHECK-INST: sqdech  x0, vl16
 // CHECK-ENCODING: [0x20,0xf9,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f9 70 04 <unknown>
 
 sqdech  x0, vl32
 // CHECK-INST: sqdech  x0, vl32
 // CHECK-ENCODING: [0x40,0xf9,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f9 70 04 <unknown>
 
 sqdech  x0, vl64
 // CHECK-INST: sqdech  x0, vl64
 // CHECK-ENCODING: [0x60,0xf9,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f9 70 04 <unknown>
 
 sqdech  x0, vl128
 // CHECK-INST: sqdech  x0, vl128
 // CHECK-ENCODING: [0x80,0xf9,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f9 70 04 <unknown>
 
 sqdech  x0, vl256
 // CHECK-INST: sqdech  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf9,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f9 70 04 <unknown>
 
 sqdech  x0, #14
 // CHECK-INST: sqdech  x0, #14
 // CHECK-ENCODING: [0xc0,0xf9,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f9 70 04 <unknown>
 
 sqdech  x0, #15
 // CHECK-INST: sqdech  x0, #15
 // CHECK-ENCODING: [0xe0,0xf9,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f9 70 04 <unknown>
 
 sqdech  x0, #16
 // CHECK-INST: sqdech  x0, #16
 // CHECK-ENCODING: [0x00,0xfa,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fa 70 04 <unknown>
 
 sqdech  x0, #17
 // CHECK-INST: sqdech  x0, #17
 // CHECK-ENCODING: [0x20,0xfa,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fa 70 04 <unknown>
 
 sqdech  x0, #18
 // CHECK-INST: sqdech  x0, #18
 // CHECK-ENCODING: [0x40,0xfa,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fa 70 04 <unknown>
 
 sqdech  x0, #19
 // CHECK-INST: sqdech  x0, #19
 // CHECK-ENCODING: [0x60,0xfa,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fa 70 04 <unknown>
 
 sqdech  x0, #20
 // CHECK-INST: sqdech  x0, #20
 // CHECK-ENCODING: [0x80,0xfa,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fa 70 04 <unknown>
 
 sqdech  x0, #21
 // CHECK-INST: sqdech  x0, #21
 // CHECK-ENCODING: [0xa0,0xfa,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fa 70 04 <unknown>
 
 sqdech  x0, #22
 // CHECK-INST: sqdech  x0, #22
 // CHECK-ENCODING: [0xc0,0xfa,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fa 70 04 <unknown>
 
 sqdech  x0, #23
 // CHECK-INST: sqdech  x0, #23
 // CHECK-ENCODING: [0xe0,0xfa,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fa 70 04 <unknown>
 
 sqdech  x0, #24
 // CHECK-INST: sqdech  x0, #24
 // CHECK-ENCODING: [0x00,0xfb,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fb 70 04 <unknown>
 
 sqdech  x0, #25
 // CHECK-INST: sqdech  x0, #25
 // CHECK-ENCODING: [0x20,0xfb,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fb 70 04 <unknown>
 
 sqdech  x0, #26
 // CHECK-INST: sqdech  x0, #26
 // CHECK-ENCODING: [0x40,0xfb,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fb 70 04 <unknown>
 
 sqdech  x0, #27
 // CHECK-INST: sqdech  x0, #27
 // CHECK-ENCODING: [0x60,0xfb,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fb 70 04 <unknown>
 
 sqdech  x0, #28
 // CHECK-INST: sqdech  x0, #28
 // CHECK-ENCODING: [0x80,0xfb,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fb 70 04 <unknown>
 
 
@@ -302,35 +304,35 @@ sqdech  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdech  z0.h
 // CHECK-INST: sqdech	z0.h
 // CHECK-ENCODING: [0xe0,0xcb,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb 60 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdech  z0.h, pow2, mul #16
 // CHECK-INST: sqdech	z0.h, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc8,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 6f 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdech  z0.h, pow2
 // CHECK-INST: sqdech	z0.h, pow2
 // CHECK-ENCODING: [0x00,0xc8,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 60 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqdecp.s b/llvm/test/MC/AArch64/SVE/sqdecp.s
index e2fe21957716a..adbc5968ab79d 100644
--- a/llvm/test/MC/AArch64/SVE/sqdecp.s
+++ b/llvm/test/MC/AArch64/SVE/sqdecp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,85 +12,85 @@
 sqdecp  x0, p0.b
 // CHECK-INST: sqdecp x0, p0.b
 // CHECK-ENCODING: [0x00,0x8c,0x2a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c 2a 25 <unknown>
 
 sqdecp  x0, p0.h
 // CHECK-INST: sqdecp x0, p0.h
 // CHECK-ENCODING: [0x00,0x8c,0x6a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c 6a 25 <unknown>
 
 sqdecp  x0, p0.s
 // CHECK-INST: sqdecp x0, p0.s
 // CHECK-ENCODING: [0x00,0x8c,0xaa,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c aa 25 <unknown>
 
 sqdecp  x0, p0.d
 // CHECK-INST: sqdecp x0, p0.d
 // CHECK-ENCODING: [0x00,0x8c,0xea,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c ea 25 <unknown>
 
 sqdecp  xzr, p15.b, wzr
 // CHECK-INST: sqdecp xzr, p15.b, wzr
 // CHECK-ENCODING: [0xff,0x89,0x2a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 2a 25 <unknown>
 
 sqdecp  xzr, p15.h, wzr
 // CHECK-INST: sqdecp xzr, p15.h, wzr
 // CHECK-ENCODING: [0xff,0x89,0x6a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 6a 25 <unknown>
 
 sqdecp  xzr, p15.s, wzr
 // CHECK-INST: sqdecp xzr, p15.s, wzr
 // CHECK-ENCODING: [0xff,0x89,0xaa,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 aa 25 <unknown>
 
 sqdecp  xzr, p15.d, wzr
 // CHECK-INST: sqdecp xzr, p15.d, wzr
 // CHECK-ENCODING: [0xff,0x89,0xea,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 ea 25 <unknown>
 
 sqdecp  z0.h, p0
 // CHECK-INST: sqdecp z0.h, p0.h
 // CHECK-ENCODING: [0x00,0x80,0x6a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 6a 25 <unknown>
 
 sqdecp  z0.h, p0.h
 // CHECK-INST: sqdecp z0.h, p0.h
 // CHECK-ENCODING: [0x00,0x80,0x6a,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 6a 25 <unknown>
 
 sqdecp  z0.s, p0
 // CHECK-INST: sqdecp z0.s, p0.s
 // CHECK-ENCODING: [0x00,0x80,0xaa,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 aa 25 <unknown>
 
 sqdecp  z0.s, p0.s
 // CHECK-INST: sqdecp z0.s, p0.s
 // CHECK-ENCODING: [0x00,0x80,0xaa,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 aa 25 <unknown>
 
 sqdecp  z0.d, p0
 // CHECK-INST: sqdecp z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xea,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 ea 25 <unknown>
 
 sqdecp  z0.d, p0.d
 // CHECK-INST: sqdecp z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xea,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 ea 25 <unknown>
 
 
@@ -98,11 +100,11 @@ sqdecp  z0.d, p0.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdecp  z0.d, p0.d
 // CHECK-INST: sqdecp	z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xea,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 ea 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqdecw.s b/llvm/test/MC/AArch64/SVE/sqdecw.s
index 9a3510d895af8..110c38eb8f433 100644
--- a/llvm/test/MC/AArch64/SVE/sqdecw.s
+++ b/llvm/test/MC/AArch64/SVE/sqdecw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 sqdecw  x0
 // CHECK-INST: sqdecw  x0
 // CHECK-ENCODING: [0xe0,0xfb,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb b0 04 <unknown>
 
 sqdecw  x0, all
 // CHECK-INST: sqdecw  x0
 // CHECK-ENCODING: [0xe0,0xfb,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb b0 04 <unknown>
 
 sqdecw  x0, all, mul #1
 // CHECK-INST: sqdecw  x0
 // CHECK-ENCODING: [0xe0,0xfb,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb b0 04 <unknown>
 
 sqdecw  x0, all, mul #16
 // CHECK-INST: sqdecw  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xfb,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb bf 04 <unknown>
 
 
@@ -43,37 +45,37 @@ sqdecw  x0, all, mul #16
 sqdecw  x0, w0
 // CHECK-INST: sqdecw  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb a0 04 <unknown>
 
 sqdecw  x0, w0, all
 // CHECK-INST: sqdecw  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb a0 04 <unknown>
 
 sqdecw  x0, w0, all, mul #1
 // CHECK-INST: sqdecw  x0, w0
 // CHECK-ENCODING: [0xe0,0xfb,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb a0 04 <unknown>
 
 sqdecw  x0, w0, all, mul #16
 // CHECK-INST: sqdecw  x0, w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xfb,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fb af 04 <unknown>
 
 sqdecw  x0, w0, pow2
 // CHECK-INST: sqdecw  x0, w0, pow2
 // CHECK-ENCODING: [0x00,0xf8,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 a0 04 <unknown>
 
 sqdecw  x0, w0, pow2, mul #16
 // CHECK-INST: sqdecw  x0, w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf8,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 af 04 <unknown>
 
 
@@ -83,37 +85,37 @@ sqdecw  x0, w0, pow2, mul #16
 sqdecw  z0.s
 // CHECK-INST: sqdecw  z0.s
 // CHECK-ENCODING: [0xe0,0xcb,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb a0 04 <unknown>
 
 sqdecw  z0.s, all
 // CHECK-INST: sqdecw  z0.s
 // CHECK-ENCODING: [0xe0,0xcb,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb a0 04 <unknown>
 
 sqdecw  z0.s, all, mul #1
 // CHECK-INST: sqdecw  z0.s
 // CHECK-ENCODING: [0xe0,0xcb,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb a0 04 <unknown>
 
 sqdecw  z0.s, all, mul #16
 // CHECK-INST: sqdecw  z0.s, all, mul #16
 // CHECK-ENCODING: [0xe0,0xcb,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb af 04 <unknown>
 
 sqdecw  z0.s, pow2
 // CHECK-INST: sqdecw  z0.s, pow2
 // CHECK-ENCODING: [0x00,0xc8,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 a0 04 <unknown>
 
 sqdecw  z0.s, pow2, mul #16
 // CHECK-INST: sqdecw  z0.s, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc8,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 af 04 <unknown>
 
 
@@ -124,175 +126,175 @@ sqdecw  z0.s, pow2, mul #16
 sqdecw  x0, pow2
 // CHECK-INST: sqdecw  x0, pow2
 // CHECK-ENCODING: [0x00,0xf8,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f8 b0 04 <unknown>
 
 sqdecw  x0, vl1
 // CHECK-INST: sqdecw  x0, vl1
 // CHECK-ENCODING: [0x20,0xf8,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f8 b0 04 <unknown>
 
 sqdecw  x0, vl2
 // CHECK-INST: sqdecw  x0, vl2
 // CHECK-ENCODING: [0x40,0xf8,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f8 b0 04 <unknown>
 
 sqdecw  x0, vl3
 // CHECK-INST: sqdecw  x0, vl3
 // CHECK-ENCODING: [0x60,0xf8,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f8 b0 04 <unknown>
 
 sqdecw  x0, vl4
 // CHECK-INST: sqdecw  x0, vl4
 // CHECK-ENCODING: [0x80,0xf8,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f8 b0 04 <unknown>
 
 sqdecw  x0, vl5
 // CHECK-INST: sqdecw  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf8,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f8 b0 04 <unknown>
 
 sqdecw  x0, vl6
 // CHECK-INST: sqdecw  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf8,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f8 b0 04 <unknown>
 
 sqdecw  x0, vl7
 // CHECK-INST: sqdecw  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf8,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f8 b0 04 <unknown>
 
 sqdecw  x0, vl8
 // CHECK-INST: sqdecw  x0, vl8
 // CHECK-ENCODING: [0x00,0xf9,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f9 b0 04 <unknown>
 
 sqdecw  x0, vl16
 // CHECK-INST: sqdecw  x0, vl16
 // CHECK-ENCODING: [0x20,0xf9,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f9 b0 04 <unknown>
 
 sqdecw  x0, vl32
 // CHECK-INST: sqdecw  x0, vl32
 // CHECK-ENCODING: [0x40,0xf9,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f9 b0 04 <unknown>
 
 sqdecw  x0, vl64
 // CHECK-INST: sqdecw  x0, vl64
 // CHECK-ENCODING: [0x60,0xf9,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f9 b0 04 <unknown>
 
 sqdecw  x0, vl128
 // CHECK-INST: sqdecw  x0, vl128
 // CHECK-ENCODING: [0x80,0xf9,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f9 b0 04 <unknown>
 
 sqdecw  x0, vl256
 // CHECK-INST: sqdecw  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf9,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f9 b0 04 <unknown>
 
 sqdecw  x0, #14
 // CHECK-INST: sqdecw  x0, #14
 // CHECK-ENCODING: [0xc0,0xf9,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f9 b0 04 <unknown>
 
 sqdecw  x0, #15
 // CHECK-INST: sqdecw  x0, #15
 // CHECK-ENCODING: [0xe0,0xf9,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f9 b0 04 <unknown>
 
 sqdecw  x0, #16
 // CHECK-INST: sqdecw  x0, #16
 // CHECK-ENCODING: [0x00,0xfa,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fa b0 04 <unknown>
 
 sqdecw  x0, #17
 // CHECK-INST: sqdecw  x0, #17
 // CHECK-ENCODING: [0x20,0xfa,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fa b0 04 <unknown>
 
 sqdecw  x0, #18
 // CHECK-INST: sqdecw  x0, #18
 // CHECK-ENCODING: [0x40,0xfa,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fa b0 04 <unknown>
 
 sqdecw  x0, #19
 // CHECK-INST: sqdecw  x0, #19
 // CHECK-ENCODING: [0x60,0xfa,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fa b0 04 <unknown>
 
 sqdecw  x0, #20
 // CHECK-INST: sqdecw  x0, #20
 // CHECK-ENCODING: [0x80,0xfa,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fa b0 04 <unknown>
 
 sqdecw  x0, #21
 // CHECK-INST: sqdecw  x0, #21
 // CHECK-ENCODING: [0xa0,0xfa,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fa b0 04 <unknown>
 
 sqdecw  x0, #22
 // CHECK-INST: sqdecw  x0, #22
 // CHECK-ENCODING: [0xc0,0xfa,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fa b0 04 <unknown>
 
 sqdecw  x0, #23
 // CHECK-INST: sqdecw  x0, #23
 // CHECK-ENCODING: [0xe0,0xfa,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fa b0 04 <unknown>
 
 sqdecw  x0, #24
 // CHECK-INST: sqdecw  x0, #24
 // CHECK-ENCODING: [0x00,0xfb,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fb b0 04 <unknown>
 
 sqdecw  x0, #25
 // CHECK-INST: sqdecw  x0, #25
 // CHECK-ENCODING: [0x20,0xfb,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fb b0 04 <unknown>
 
 sqdecw  x0, #26
 // CHECK-INST: sqdecw  x0, #26
 // CHECK-ENCODING: [0x40,0xfb,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fb b0 04 <unknown>
 
 sqdecw  x0, #27
 // CHECK-INST: sqdecw  x0, #27
 // CHECK-ENCODING: [0x60,0xfb,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fb b0 04 <unknown>
 
 sqdecw  x0, #28
 // CHECK-INST: sqdecw  x0, #28
 // CHECK-ENCODING: [0x80,0xfb,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fb b0 04 <unknown>
 
 
@@ -302,35 +304,35 @@ sqdecw  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdecw  z0.s
 // CHECK-INST: sqdecw	z0.s
 // CHECK-ENCODING: [0xe0,0xcb,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cb a0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdecw  z0.s, pow2, mul #16
 // CHECK-INST: sqdecw	z0.s, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc8,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 af 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqdecw  z0.s, pow2
 // CHECK-INST: sqdecw	z0.s, pow2
 // CHECK-ENCODING: [0x00,0xc8,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c8 a0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqincb.s b/llvm/test/MC/AArch64/SVE/sqincb.s
index 89a05da2563ba..19858c518e299 100644
--- a/llvm/test/MC/AArch64/SVE/sqincb.s
+++ b/llvm/test/MC/AArch64/SVE/sqincb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 sqincb  x0
 // CHECK-INST: sqincb  x0
 // CHECK-ENCODING: [0xe0,0xf3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 30 04 <unknown>
 
 sqincb  x0, all
 // CHECK-INST: sqincb  x0
 // CHECK-ENCODING: [0xe0,0xf3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 30 04 <unknown>
 
 sqincb  x0, all, mul #1
 // CHECK-INST: sqincb  x0
 // CHECK-ENCODING: [0xe0,0xf3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 30 04 <unknown>
 
 sqincb  x0, all, mul #16
 // CHECK-INST: sqincb  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf3,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 3f 04 <unknown>
 
 
@@ -43,37 +45,37 @@ sqincb  x0, all, mul #16
 sqincb  x0, w0
 // CHECK-INST: sqincb  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 20 04 <unknown>
 
 sqincb  x0, w0, all
 // CHECK-INST: sqincb  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 20 04 <unknown>
 
 sqincb  x0, w0, all, mul #1
 // CHECK-INST: sqincb  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 20 04 <unknown>
 
 sqincb  x0, w0, all, mul #16
 // CHECK-INST: sqincb  x0, w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf3,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 2f 04 <unknown>
 
 sqincb  x0, w0, pow2
 // CHECK-INST: sqincb  x0, w0, pow2
 // CHECK-ENCODING: [0x00,0xf0,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 20 04 <unknown>
 
 sqincb  x0, w0, pow2, mul #16
 // CHECK-INST: sqincb  x0, w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf0,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 2f 04 <unknown>
 
 
@@ -84,174 +86,174 @@ sqincb  x0, w0, pow2, mul #16
 sqincb  x0, pow2
 // CHECK-INST: sqincb  x0, pow2
 // CHECK-ENCODING: [0x00,0xf0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 30 04 <unknown>
 
 sqincb  x0, vl1
 // CHECK-INST: sqincb  x0, vl1
 // CHECK-ENCODING: [0x20,0xf0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f0 30 04 <unknown>
 
 sqincb  x0, vl2
 // CHECK-INST: sqincb  x0, vl2
 // CHECK-ENCODING: [0x40,0xf0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f0 30 04 <unknown>
 
 sqincb  x0, vl3
 // CHECK-INST: sqincb  x0, vl3
 // CHECK-ENCODING: [0x60,0xf0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f0 30 04 <unknown>
 
 sqincb  x0, vl4
 // CHECK-INST: sqincb  x0, vl4
 // CHECK-ENCODING: [0x80,0xf0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f0 30 04 <unknown>
 
 sqincb  x0, vl5
 // CHECK-INST: sqincb  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f0 30 04 <unknown>
 
 sqincb  x0, vl6
 // CHECK-INST: sqincb  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f0 30 04 <unknown>
 
 sqincb  x0, vl7
 // CHECK-INST: sqincb  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf0,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f0 30 04 <unknown>
 
 sqincb  x0, vl8
 // CHECK-INST: sqincb  x0, vl8
 // CHECK-ENCODING: [0x00,0xf1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f1 30 04 <unknown>
 
 sqincb  x0, vl16
 // CHECK-INST: sqincb  x0, vl16
 // CHECK-ENCODING: [0x20,0xf1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f1 30 04 <unknown>
 
 sqincb  x0, vl32
 // CHECK-INST: sqincb  x0, vl32
 // CHECK-ENCODING: [0x40,0xf1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f1 30 04 <unknown>
 
 sqincb  x0, vl64
 // CHECK-INST: sqincb  x0, vl64
 // CHECK-ENCODING: [0x60,0xf1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f1 30 04 <unknown>
 
 sqincb  x0, vl128
 // CHECK-INST: sqincb  x0, vl128
 // CHECK-ENCODING: [0x80,0xf1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f1 30 04 <unknown>
 
 sqincb  x0, vl256
 // CHECK-INST: sqincb  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f1 30 04 <unknown>
 
 sqincb  x0, #14
 // CHECK-INST: sqincb  x0, #14
 // CHECK-ENCODING: [0xc0,0xf1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f1 30 04 <unknown>
 
 sqincb  x0, #15
 // CHECK-INST: sqincb  x0, #15
 // CHECK-ENCODING: [0xe0,0xf1,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f1 30 04 <unknown>
 
 sqincb  x0, #16
 // CHECK-INST: sqincb  x0, #16
 // CHECK-ENCODING: [0x00,0xf2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f2 30 04 <unknown>
 
 sqincb  x0, #17
 // CHECK-INST: sqincb  x0, #17
 // CHECK-ENCODING: [0x20,0xf2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f2 30 04 <unknown>
 
 sqincb  x0, #18
 // CHECK-INST: sqincb  x0, #18
 // CHECK-ENCODING: [0x40,0xf2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f2 30 04 <unknown>
 
 sqincb  x0, #19
 // CHECK-INST: sqincb  x0, #19
 // CHECK-ENCODING: [0x60,0xf2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f2 30 04 <unknown>
 
 sqincb  x0, #20
 // CHECK-INST: sqincb  x0, #20
 // CHECK-ENCODING: [0x80,0xf2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f2 30 04 <unknown>
 
 sqincb  x0, #21
 // CHECK-INST: sqincb  x0, #21
 // CHECK-ENCODING: [0xa0,0xf2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f2 30 04 <unknown>
 
 sqincb  x0, #22
 // CHECK-INST: sqincb  x0, #22
 // CHECK-ENCODING: [0xc0,0xf2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f2 30 04 <unknown>
 
 sqincb  x0, #23
 // CHECK-INST: sqincb  x0, #23
 // CHECK-ENCODING: [0xe0,0xf2,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f2 30 04 <unknown>
 
 sqincb  x0, #24
 // CHECK-INST: sqincb  x0, #24
 // CHECK-ENCODING: [0x00,0xf3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f3 30 04 <unknown>
 
 sqincb  x0, #25
 // CHECK-INST: sqincb  x0, #25
 // CHECK-ENCODING: [0x20,0xf3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f3 30 04 <unknown>
 
 sqincb  x0, #26
 // CHECK-INST: sqincb  x0, #26
 // CHECK-ENCODING: [0x40,0xf3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f3 30 04 <unknown>
 
 sqincb  x0, #27
 // CHECK-INST: sqincb  x0, #27
 // CHECK-ENCODING: [0x60,0xf3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f3 30 04 <unknown>
 
 sqincb  x0, #28
 // CHECK-INST: sqincb  x0, #28
 // CHECK-ENCODING: [0x80,0xf3,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f3 30 04 <unknown>
 

diff  --git a/llvm/test/MC/AArch64/SVE/sqincd.s b/llvm/test/MC/AArch64/SVE/sqincd.s
index 2071589cb615f..a59879b3800a7 100644
--- a/llvm/test/MC/AArch64/SVE/sqincd.s
+++ b/llvm/test/MC/AArch64/SVE/sqincd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 sqincd  x0
 // CHECK-INST: sqincd  x0
 // CHECK-ENCODING: [0xe0,0xf3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 f0 04 <unknown>
 
 sqincd  x0, all
 // CHECK-INST: sqincd  x0
 // CHECK-ENCODING: [0xe0,0xf3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 f0 04 <unknown>
 
 sqincd  x0, all, mul #1
 // CHECK-INST: sqincd  x0
 // CHECK-ENCODING: [0xe0,0xf3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 f0 04 <unknown>
 
 sqincd  x0, all, mul #16
 // CHECK-INST: sqincd  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf3,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 ff 04 <unknown>
 
 
@@ -43,37 +45,37 @@ sqincd  x0, all, mul #16
 sqincd  x0, w0
 // CHECK-INST: sqincd  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 e0 04 <unknown>
 
 sqincd  x0, w0, all
 // CHECK-INST: sqincd  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 e0 04 <unknown>
 
 sqincd  x0, w0, all, mul #1
 // CHECK-INST: sqincd  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 e0 04 <unknown>
 
 sqincd  x0, w0, all, mul #16
 // CHECK-INST: sqincd  x0, w0, all
 // CHECK-ENCODING: [0xe0,0xf3,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 ef 04 <unknown>
 
 sqincd  x0, w0, pow2
 // CHECK-INST: sqincd  x0, w0, pow2
 // CHECK-ENCODING: [0x00,0xf0,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 e0 04 <unknown>
 
 sqincd  x0, w0, pow2, mul #16
 // CHECK-INST: sqincd  x0, w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf0,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 ef 04 <unknown>
 
 
@@ -83,37 +85,37 @@ sqincd  x0, w0, pow2, mul #16
 sqincd  z0.d
 // CHECK-INST: sqincd  z0.d
 // CHECK-ENCODING: [0xe0,0xc3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 e0 04 <unknown>
 
 sqincd  z0.d, all
 // CHECK-INST: sqincd  z0.d
 // CHECK-ENCODING: [0xe0,0xc3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 e0 04 <unknown>
 
 sqincd  z0.d, all, mul #1
 // CHECK-INST: sqincd  z0.d
 // CHECK-ENCODING: [0xe0,0xc3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 e0 04 <unknown>
 
 sqincd  z0.d, all, mul #16
 // CHECK-INST: sqincd  z0.d, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc3,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 ef 04 <unknown>
 
 sqincd  z0.d, pow2
 // CHECK-INST: sqincd  z0.d, pow2
 // CHECK-ENCODING: [0x00,0xc0,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e0 04 <unknown>
 
 sqincd  z0.d, pow2, mul #16
 // CHECK-INST: sqincd  z0.d, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc0,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 ef 04 <unknown>
 
 
@@ -124,175 +126,175 @@ sqincd  z0.d, pow2, mul #16
 sqincd  x0, pow2
 // CHECK-INST: sqincd  x0, pow2
 // CHECK-ENCODING: [0x00,0xf0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 f0 04 <unknown>
 
 sqincd  x0, vl1
 // CHECK-INST: sqincd  x0, vl1
 // CHECK-ENCODING: [0x20,0xf0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f0 f0 04 <unknown>
 
 sqincd  x0, vl2
 // CHECK-INST: sqincd  x0, vl2
 // CHECK-ENCODING: [0x40,0xf0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f0 f0 04 <unknown>
 
 sqincd  x0, vl3
 // CHECK-INST: sqincd  x0, vl3
 // CHECK-ENCODING: [0x60,0xf0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f0 f0 04 <unknown>
 
 sqincd  x0, vl4
 // CHECK-INST: sqincd  x0, vl4
 // CHECK-ENCODING: [0x80,0xf0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f0 f0 04 <unknown>
 
 sqincd  x0, vl5
 // CHECK-INST: sqincd  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f0 f0 04 <unknown>
 
 sqincd  x0, vl6
 // CHECK-INST: sqincd  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f0 f0 04 <unknown>
 
 sqincd  x0, vl7
 // CHECK-INST: sqincd  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf0,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f0 f0 04 <unknown>
 
 sqincd  x0, vl8
 // CHECK-INST: sqincd  x0, vl8
 // CHECK-ENCODING: [0x00,0xf1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f1 f0 04 <unknown>
 
 sqincd  x0, vl16
 // CHECK-INST: sqincd  x0, vl16
 // CHECK-ENCODING: [0x20,0xf1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f1 f0 04 <unknown>
 
 sqincd  x0, vl32
 // CHECK-INST: sqincd  x0, vl32
 // CHECK-ENCODING: [0x40,0xf1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f1 f0 04 <unknown>
 
 sqincd  x0, vl64
 // CHECK-INST: sqincd  x0, vl64
 // CHECK-ENCODING: [0x60,0xf1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f1 f0 04 <unknown>
 
 sqincd  x0, vl128
 // CHECK-INST: sqincd  x0, vl128
 // CHECK-ENCODING: [0x80,0xf1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f1 f0 04 <unknown>
 
 sqincd  x0, vl256
 // CHECK-INST: sqincd  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f1 f0 04 <unknown>
 
 sqincd  x0, #14
 // CHECK-INST: sqincd  x0, #14
 // CHECK-ENCODING: [0xc0,0xf1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f1 f0 04 <unknown>
 
 sqincd  x0, #15
 // CHECK-INST: sqincd  x0, #15
 // CHECK-ENCODING: [0xe0,0xf1,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f1 f0 04 <unknown>
 
 sqincd  x0, #16
 // CHECK-INST: sqincd  x0, #16
 // CHECK-ENCODING: [0x00,0xf2,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f2 f0 04 <unknown>
 
 sqincd  x0, #17
 // CHECK-INST: sqincd  x0, #17
 // CHECK-ENCODING: [0x20,0xf2,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f2 f0 04 <unknown>
 
 sqincd  x0, #18
 // CHECK-INST: sqincd  x0, #18
 // CHECK-ENCODING: [0x40,0xf2,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f2 f0 04 <unknown>
 
 sqincd  x0, #19
 // CHECK-INST: sqincd  x0, #19
 // CHECK-ENCODING: [0x60,0xf2,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f2 f0 04 <unknown>
 
 sqincd  x0, #20
 // CHECK-INST: sqincd  x0, #20
 // CHECK-ENCODING: [0x80,0xf2,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f2 f0 04 <unknown>
 
 sqincd  x0, #21
 // CHECK-INST: sqincd  x0, #21
 // CHECK-ENCODING: [0xa0,0xf2,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f2 f0 04 <unknown>
 
 sqincd  x0, #22
 // CHECK-INST: sqincd  x0, #22
 // CHECK-ENCODING: [0xc0,0xf2,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f2 f0 04 <unknown>
 
 sqincd  x0, #23
 // CHECK-INST: sqincd  x0, #23
 // CHECK-ENCODING: [0xe0,0xf2,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f2 f0 04 <unknown>
 
 sqincd  x0, #24
 // CHECK-INST: sqincd  x0, #24
 // CHECK-ENCODING: [0x00,0xf3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f3 f0 04 <unknown>
 
 sqincd  x0, #25
 // CHECK-INST: sqincd  x0, #25
 // CHECK-ENCODING: [0x20,0xf3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f3 f0 04 <unknown>
 
 sqincd  x0, #26
 // CHECK-INST: sqincd  x0, #26
 // CHECK-ENCODING: [0x40,0xf3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f3 f0 04 <unknown>
 
 sqincd  x0, #27
 // CHECK-INST: sqincd  x0, #27
 // CHECK-ENCODING: [0x60,0xf3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f3 f0 04 <unknown>
 
 sqincd  x0, #28
 // CHECK-INST: sqincd  x0, #28
 // CHECK-ENCODING: [0x80,0xf3,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f3 f0 04 <unknown>
 
 
@@ -302,35 +304,35 @@ sqincd  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqincd  z0.d
 // CHECK-INST: sqincd	z0.d
 // CHECK-ENCODING: [0xe0,0xc3,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 e0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqincd  z0.d, pow2, mul #16
 // CHECK-INST: sqincd	z0.d, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc0,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 ef 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqincd  z0.d, pow2
 // CHECK-INST: sqincd	z0.d, pow2
 // CHECK-ENCODING: [0x00,0xc0,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqinch.s b/llvm/test/MC/AArch64/SVE/sqinch.s
index 3d0ad285fb948..e96d1c555f694 100644
--- a/llvm/test/MC/AArch64/SVE/sqinch.s
+++ b/llvm/test/MC/AArch64/SVE/sqinch.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 sqinch  x0
 // CHECK-INST: sqinch  x0
 // CHECK-ENCODING: [0xe0,0xf3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 70 04 <unknown>
 
 sqinch  x0, all
 // CHECK-INST: sqinch  x0
 // CHECK-ENCODING: [0xe0,0xf3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 70 04 <unknown>
 
 sqinch  x0, all, mul #1
 // CHECK-INST: sqinch  x0
 // CHECK-ENCODING: [0xe0,0xf3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 70 04 <unknown>
 
 sqinch  x0, all, mul #16
 // CHECK-INST: sqinch  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf3,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 7f 04 <unknown>
 
 
@@ -43,37 +45,37 @@ sqinch  x0, all, mul #16
 sqinch  x0, w0
 // CHECK-INST: sqinch  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 60 04 <unknown>
 
 sqinch  x0, w0, all
 // CHECK-INST: sqinch  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 60 04 <unknown>
 
 sqinch  x0, w0, all, mul #1
 // CHECK-INST: sqinch  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 60 04 <unknown>
 
 sqinch  x0, w0, all, mul #16
 // CHECK-INST: sqinch  x0, w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf3,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 6f 04 <unknown>
 
 sqinch  x0, w0, pow2
 // CHECK-INST: sqinch  x0, w0, pow2
 // CHECK-ENCODING: [0x00,0xf0,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 60 04 <unknown>
 
 sqinch  x0, w0, pow2, mul #16
 // CHECK-INST: sqinch  x0, w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf0,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 6f 04 <unknown>
 
 
@@ -83,37 +85,37 @@ sqinch  x0, w0, pow2, mul #16
 sqinch  z0.h
 // CHECK-INST: sqinch  z0.h
 // CHECK-ENCODING: [0xe0,0xc3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 60 04 <unknown>
 
 sqinch  z0.h, all
 // CHECK-INST: sqinch  z0.h
 // CHECK-ENCODING: [0xe0,0xc3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 60 04 <unknown>
 
 sqinch  z0.h, all, mul #1
 // CHECK-INST: sqinch  z0.h
 // CHECK-ENCODING: [0xe0,0xc3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 60 04 <unknown>
 
 sqinch  z0.h, all, mul #16
 // CHECK-INST: sqinch  z0.h, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc3,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 6f 04 <unknown>
 
 sqinch  z0.h, pow2
 // CHECK-INST: sqinch  z0.h, pow2
 // CHECK-ENCODING: [0x00,0xc0,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 60 04 <unknown>
 
 sqinch  z0.h, pow2, mul #16
 // CHECK-INST: sqinch  z0.h, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc0,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 6f 04 <unknown>
 
 
@@ -124,175 +126,175 @@ sqinch  z0.h, pow2, mul #16
 sqinch  x0, pow2
 // CHECK-INST: sqinch  x0, pow2
 // CHECK-ENCODING: [0x00,0xf0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 70 04 <unknown>
 
 sqinch  x0, vl1
 // CHECK-INST: sqinch  x0, vl1
 // CHECK-ENCODING: [0x20,0xf0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f0 70 04 <unknown>
 
 sqinch  x0, vl2
 // CHECK-INST: sqinch  x0, vl2
 // CHECK-ENCODING: [0x40,0xf0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f0 70 04 <unknown>
 
 sqinch  x0, vl3
 // CHECK-INST: sqinch  x0, vl3
 // CHECK-ENCODING: [0x60,0xf0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f0 70 04 <unknown>
 
 sqinch  x0, vl4
 // CHECK-INST: sqinch  x0, vl4
 // CHECK-ENCODING: [0x80,0xf0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f0 70 04 <unknown>
 
 sqinch  x0, vl5
 // CHECK-INST: sqinch  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f0 70 04 <unknown>
 
 sqinch  x0, vl6
 // CHECK-INST: sqinch  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f0 70 04 <unknown>
 
 sqinch  x0, vl7
 // CHECK-INST: sqinch  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf0,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f0 70 04 <unknown>
 
 sqinch  x0, vl8
 // CHECK-INST: sqinch  x0, vl8
 // CHECK-ENCODING: [0x00,0xf1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f1 70 04 <unknown>
 
 sqinch  x0, vl16
 // CHECK-INST: sqinch  x0, vl16
 // CHECK-ENCODING: [0x20,0xf1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f1 70 04 <unknown>
 
 sqinch  x0, vl32
 // CHECK-INST: sqinch  x0, vl32
 // CHECK-ENCODING: [0x40,0xf1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f1 70 04 <unknown>
 
 sqinch  x0, vl64
 // CHECK-INST: sqinch  x0, vl64
 // CHECK-ENCODING: [0x60,0xf1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f1 70 04 <unknown>
 
 sqinch  x0, vl128
 // CHECK-INST: sqinch  x0, vl128
 // CHECK-ENCODING: [0x80,0xf1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f1 70 04 <unknown>
 
 sqinch  x0, vl256
 // CHECK-INST: sqinch  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f1 70 04 <unknown>
 
 sqinch  x0, #14
 // CHECK-INST: sqinch  x0, #14
 // CHECK-ENCODING: [0xc0,0xf1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f1 70 04 <unknown>
 
 sqinch  x0, #15
 // CHECK-INST: sqinch  x0, #15
 // CHECK-ENCODING: [0xe0,0xf1,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f1 70 04 <unknown>
 
 sqinch  x0, #16
 // CHECK-INST: sqinch  x0, #16
 // CHECK-ENCODING: [0x00,0xf2,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f2 70 04 <unknown>
 
 sqinch  x0, #17
 // CHECK-INST: sqinch  x0, #17
 // CHECK-ENCODING: [0x20,0xf2,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f2 70 04 <unknown>
 
 sqinch  x0, #18
 // CHECK-INST: sqinch  x0, #18
 // CHECK-ENCODING: [0x40,0xf2,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f2 70 04 <unknown>
 
 sqinch  x0, #19
 // CHECK-INST: sqinch  x0, #19
 // CHECK-ENCODING: [0x60,0xf2,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f2 70 04 <unknown>
 
 sqinch  x0, #20
 // CHECK-INST: sqinch  x0, #20
 // CHECK-ENCODING: [0x80,0xf2,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f2 70 04 <unknown>
 
 sqinch  x0, #21
 // CHECK-INST: sqinch  x0, #21
 // CHECK-ENCODING: [0xa0,0xf2,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f2 70 04 <unknown>
 
 sqinch  x0, #22
 // CHECK-INST: sqinch  x0, #22
 // CHECK-ENCODING: [0xc0,0xf2,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f2 70 04 <unknown>
 
 sqinch  x0, #23
 // CHECK-INST: sqinch  x0, #23
 // CHECK-ENCODING: [0xe0,0xf2,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f2 70 04 <unknown>
 
 sqinch  x0, #24
 // CHECK-INST: sqinch  x0, #24
 // CHECK-ENCODING: [0x00,0xf3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f3 70 04 <unknown>
 
 sqinch  x0, #25
 // CHECK-INST: sqinch  x0, #25
 // CHECK-ENCODING: [0x20,0xf3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f3 70 04 <unknown>
 
 sqinch  x0, #26
 // CHECK-INST: sqinch  x0, #26
 // CHECK-ENCODING: [0x40,0xf3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f3 70 04 <unknown>
 
 sqinch  x0, #27
 // CHECK-INST: sqinch  x0, #27
 // CHECK-ENCODING: [0x60,0xf3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f3 70 04 <unknown>
 
 sqinch  x0, #28
 // CHECK-INST: sqinch  x0, #28
 // CHECK-ENCODING: [0x80,0xf3,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f3 70 04 <unknown>
 
 
@@ -302,35 +304,35 @@ sqinch  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqinch  z0.h
 // CHECK-INST: sqinch	z0.h
 // CHECK-ENCODING: [0xe0,0xc3,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 60 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqinch  z0.h, pow2, mul #16
 // CHECK-INST: sqinch	z0.h, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc0,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 6f 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqinch  z0.h, pow2
 // CHECK-INST: sqinch	z0.h, pow2
 // CHECK-ENCODING: [0x00,0xc0,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 60 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqincp.s b/llvm/test/MC/AArch64/SVE/sqincp.s
index 256dc5fbf34ff..69ef677bf6ca9 100644
--- a/llvm/test/MC/AArch64/SVE/sqincp.s
+++ b/llvm/test/MC/AArch64/SVE/sqincp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,85 +12,85 @@
 sqincp  x0, p0.b
 // CHECK-INST: sqincp  x0, p0.b
 // CHECK-ENCODING: [0x00,0x8c,0x28,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c 28 25 <unknown>
 
 sqincp  x0, p0.h
 // CHECK-INST: sqincp  x0, p0.h
 // CHECK-ENCODING: [0x00,0x8c,0x68,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c 68 25 <unknown>
 
 sqincp  x0, p0.s
 // CHECK-INST: sqincp  x0, p0.s
 // CHECK-ENCODING: [0x00,0x8c,0xa8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c a8 25 <unknown>
 
 sqincp  x0, p0.d
 // CHECK-INST: sqincp  x0, p0.d
 // CHECK-ENCODING: [0x00,0x8c,0xe8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c e8 25 <unknown>
 
 sqincp  xzr, p15.b, wzr
 // CHECK-INST: sqincp  xzr, p15.b, wzr
 // CHECK-ENCODING: [0xff,0x89,0x28,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 28 25 <unknown>
 
 sqincp  xzr, p15.h, wzr
 // CHECK-INST: sqincp  xzr, p15.h, wzr
 // CHECK-ENCODING: [0xff,0x89,0x68,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 68 25 <unknown>
 
 sqincp  xzr, p15.s, wzr
 // CHECK-INST: sqincp  xzr, p15.s, wzr
 // CHECK-ENCODING: [0xff,0x89,0xa8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 a8 25 <unknown>
 
 sqincp  xzr, p15.d, wzr
 // CHECK-INST: sqincp  xzr, p15.d, wzr
 // CHECK-ENCODING: [0xff,0x89,0xe8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 e8 25 <unknown>
 
 sqincp  z0.h, p0
 // CHECK-INST: sqincp  z0.h, p0.h
 // CHECK-ENCODING: [0x00,0x80,0x68,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 68 25 <unknown>
 
 sqincp  z0.h, p0.h
 // CHECK-INST: sqincp  z0.h, p0.h
 // CHECK-ENCODING: [0x00,0x80,0x68,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 68 25 <unknown>
 
 sqincp  z0.s, p0
 // CHECK-INST: sqincp  z0.s, p0.s
 // CHECK-ENCODING: [0x00,0x80,0xa8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 a8 25 <unknown>
 
 sqincp  z0.s, p0.s
 // CHECK-INST: sqincp  z0.s, p0.s
 // CHECK-ENCODING: [0x00,0x80,0xa8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 a8 25 <unknown>
 
 sqincp  z0.d, p0
 // CHECK-INST: sqincp  z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xe8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 e8 25 <unknown>
 
 sqincp  z0.d, p0.d
 // CHECK-INST: sqincp  z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xe8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 e8 25 <unknown>
 
 
@@ -98,11 +100,11 @@ sqincp  z0.d, p0.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqincp  z0.d, p0.d
 // CHECK-INST: sqincp	z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xe8,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 e8 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqincw.s b/llvm/test/MC/AArch64/SVE/sqincw.s
index 89ef557f65d4c..b71860c69fffd 100644
--- a/llvm/test/MC/AArch64/SVE/sqincw.s
+++ b/llvm/test/MC/AArch64/SVE/sqincw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 sqincw  x0
 // CHECK-INST: sqincw  x0
 // CHECK-ENCODING: [0xe0,0xf3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 b0 04 <unknown>
 
 sqincw  x0, all
 // CHECK-INST: sqincw  x0
 // CHECK-ENCODING: [0xe0,0xf3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 b0 04 <unknown>
 
 sqincw  x0, all, mul #1
 // CHECK-INST: sqincw  x0
 // CHECK-ENCODING: [0xe0,0xf3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 b0 04 <unknown>
 
 sqincw  x0, all, mul #16
 // CHECK-INST: sqincw  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf3,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 bf 04 <unknown>
 
 
@@ -43,37 +45,37 @@ sqincw  x0, all, mul #16
 sqincw  x0, w0
 // CHECK-INST: sqincw  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 a0 04 <unknown>
 
 sqincw  x0, w0, all
 // CHECK-INST: sqincw  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 a0 04 <unknown>
 
 sqincw  x0, w0, all, mul #1
 // CHECK-INST: sqincw  x0, w0
 // CHECK-ENCODING: [0xe0,0xf3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 a0 04 <unknown>
 
 sqincw  x0, w0, all, mul #16
 // CHECK-INST: sqincw  x0, w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf3,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f3 af 04 <unknown>
 
 sqincw  x0, w0, pow2
 // CHECK-INST: sqincw  x0, w0, pow2
 // CHECK-ENCODING: [0x00,0xf0,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 a0 04 <unknown>
 
 sqincw  x0, w0, pow2, mul #16
 // CHECK-INST: sqincw  x0, w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf0,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 af 04 <unknown>
 
 
@@ -83,37 +85,37 @@ sqincw  x0, w0, pow2, mul #16
 sqincw  z0.s
 // CHECK-INST: sqincw  z0.s
 // CHECK-ENCODING: [0xe0,0xc3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 a0 04 <unknown>
 
 sqincw  z0.s, all
 // CHECK-INST: sqincw  z0.s
 // CHECK-ENCODING: [0xe0,0xc3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 a0 04 <unknown>
 
 sqincw  z0.s, all, mul #1
 // CHECK-INST: sqincw  z0.s
 // CHECK-ENCODING: [0xe0,0xc3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 a0 04 <unknown>
 
 sqincw  z0.s, all, mul #16
 // CHECK-INST: sqincw  z0.s, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc3,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 af 04 <unknown>
 
 sqincw  z0.s, pow2
 // CHECK-INST: sqincw  z0.s, pow2
 // CHECK-ENCODING: [0x00,0xc0,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a0 04 <unknown>
 
 sqincw  z0.s, pow2, mul #16
 // CHECK-INST: sqincw  z0.s, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc0,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 af 04 <unknown>
 
 
@@ -124,175 +126,175 @@ sqincw  z0.s, pow2, mul #16
 sqincw  x0, pow2
 // CHECK-INST: sqincw  x0, pow2
 // CHECK-ENCODING: [0x00,0xf0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f0 b0 04 <unknown>
 
 sqincw  x0, vl1
 // CHECK-INST: sqincw  x0, vl1
 // CHECK-ENCODING: [0x20,0xf0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f0 b0 04 <unknown>
 
 sqincw  x0, vl2
 // CHECK-INST: sqincw  x0, vl2
 // CHECK-ENCODING: [0x40,0xf0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f0 b0 04 <unknown>
 
 sqincw  x0, vl3
 // CHECK-INST: sqincw  x0, vl3
 // CHECK-ENCODING: [0x60,0xf0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f0 b0 04 <unknown>
 
 sqincw  x0, vl4
 // CHECK-INST: sqincw  x0, vl4
 // CHECK-ENCODING: [0x80,0xf0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f0 b0 04 <unknown>
 
 sqincw  x0, vl5
 // CHECK-INST: sqincw  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f0 b0 04 <unknown>
 
 sqincw  x0, vl6
 // CHECK-INST: sqincw  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f0 b0 04 <unknown>
 
 sqincw  x0, vl7
 // CHECK-INST: sqincw  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf0,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f0 b0 04 <unknown>
 
 sqincw  x0, vl8
 // CHECK-INST: sqincw  x0, vl8
 // CHECK-ENCODING: [0x00,0xf1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f1 b0 04 <unknown>
 
 sqincw  x0, vl16
 // CHECK-INST: sqincw  x0, vl16
 // CHECK-ENCODING: [0x20,0xf1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f1 b0 04 <unknown>
 
 sqincw  x0, vl32
 // CHECK-INST: sqincw  x0, vl32
 // CHECK-ENCODING: [0x40,0xf1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f1 b0 04 <unknown>
 
 sqincw  x0, vl64
 // CHECK-INST: sqincw  x0, vl64
 // CHECK-ENCODING: [0x60,0xf1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f1 b0 04 <unknown>
 
 sqincw  x0, vl128
 // CHECK-INST: sqincw  x0, vl128
 // CHECK-ENCODING: [0x80,0xf1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f1 b0 04 <unknown>
 
 sqincw  x0, vl256
 // CHECK-INST: sqincw  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f1 b0 04 <unknown>
 
 sqincw  x0, #14
 // CHECK-INST: sqincw  x0, #14
 // CHECK-ENCODING: [0xc0,0xf1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f1 b0 04 <unknown>
 
 sqincw  x0, #15
 // CHECK-INST: sqincw  x0, #15
 // CHECK-ENCODING: [0xe0,0xf1,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f1 b0 04 <unknown>
 
 sqincw  x0, #16
 // CHECK-INST: sqincw  x0, #16
 // CHECK-ENCODING: [0x00,0xf2,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f2 b0 04 <unknown>
 
 sqincw  x0, #17
 // CHECK-INST: sqincw  x0, #17
 // CHECK-ENCODING: [0x20,0xf2,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f2 b0 04 <unknown>
 
 sqincw  x0, #18
 // CHECK-INST: sqincw  x0, #18
 // CHECK-ENCODING: [0x40,0xf2,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f2 b0 04 <unknown>
 
 sqincw  x0, #19
 // CHECK-INST: sqincw  x0, #19
 // CHECK-ENCODING: [0x60,0xf2,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f2 b0 04 <unknown>
 
 sqincw  x0, #20
 // CHECK-INST: sqincw  x0, #20
 // CHECK-ENCODING: [0x80,0xf2,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f2 b0 04 <unknown>
 
 sqincw  x0, #21
 // CHECK-INST: sqincw  x0, #21
 // CHECK-ENCODING: [0xa0,0xf2,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f2 b0 04 <unknown>
 
 sqincw  x0, #22
 // CHECK-INST: sqincw  x0, #22
 // CHECK-ENCODING: [0xc0,0xf2,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f2 b0 04 <unknown>
 
 sqincw  x0, #23
 // CHECK-INST: sqincw  x0, #23
 // CHECK-ENCODING: [0xe0,0xf2,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f2 b0 04 <unknown>
 
 sqincw  x0, #24
 // CHECK-INST: sqincw  x0, #24
 // CHECK-ENCODING: [0x00,0xf3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f3 b0 04 <unknown>
 
 sqincw  x0, #25
 // CHECK-INST: sqincw  x0, #25
 // CHECK-ENCODING: [0x20,0xf3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f3 b0 04 <unknown>
 
 sqincw  x0, #26
 // CHECK-INST: sqincw  x0, #26
 // CHECK-ENCODING: [0x40,0xf3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f3 b0 04 <unknown>
 
 sqincw  x0, #27
 // CHECK-INST: sqincw  x0, #27
 // CHECK-ENCODING: [0x60,0xf3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f3 b0 04 <unknown>
 
 sqincw  x0, #28
 // CHECK-INST: sqincw  x0, #28
 // CHECK-ENCODING: [0x80,0xf3,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f3 b0 04 <unknown>
 
 
@@ -302,35 +304,35 @@ sqincw  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqincw  z0.s
 // CHECK-INST: sqincw	z0.s
 // CHECK-ENCODING: [0xe0,0xc3,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c3 a0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqincw  z0.s, pow2, mul #16
 // CHECK-INST: sqincw	z0.s, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc0,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 af 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqincw  z0.s, pow2
 // CHECK-INST: sqincw	z0.s, pow2
 // CHECK-ENCODING: [0x00,0xc0,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sqsub.s b/llvm/test/MC/AArch64/SVE/sqsub.s
index 0616374a37592..fa183bc8ab50a 100644
--- a/llvm/test/MC/AArch64/SVE/sqsub.s
+++ b/llvm/test/MC/AArch64/SVE/sqsub.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,109 +13,109 @@
 sqsub     z0.b, z0.b, z0.b
 // CHECK-INST: sqsub z0.b, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x18,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 18 20 04 <unknown>
 
 sqsub     z0.h, z0.h, z0.h
 // CHECK-INST: sqsub z0.h, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x18,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 18 60 04 <unknown>
 
 sqsub     z0.s, z0.s, z0.s
 // CHECK-INST: sqsub z0.s, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x18,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 18 a0 04 <unknown>
 
 sqsub     z0.d, z0.d, z0.d
 // CHECK-INST: sqsub z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x18,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 18 e0 04 <unknown>
 
 sqsub     z0.b, z0.b, #0
 // CHECK-INST: sqsub z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x26,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 26 25 <unknown>
 
 sqsub     z31.b, z31.b, #255
 // CHECK-INST: sqsub z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x26,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 26 25 <unknown>
 
 sqsub     z0.h, z0.h, #0
 // CHECK-INST: sqsub z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0xc0,0x66,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 66 25 <unknown>
 
 sqsub     z0.h, z0.h, #0, lsl #8
 // CHECK-INST: sqsub z0.h, z0.h, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0x66,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 66 25 <unknown>
 
 sqsub     z31.h, z31.h, #255, lsl #8
 // CHECK-INST: sqsub z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x66,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 66 25 <unknown>
 
 sqsub     z31.h, z31.h, #65280
 // CHECK-INST: sqsub z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x66,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 66 25 <unknown>
 
 sqsub     z0.s, z0.s, #0
 // CHECK-INST: sqsub z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0xc0,0xa6,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a6 25 <unknown>
 
 sqsub     z0.s, z0.s, #0, lsl #8
 // CHECK-INST: sqsub z0.s, z0.s, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xa6,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a6 25 <unknown>
 
 sqsub     z31.s, z31.s, #255, lsl #8
 // CHECK-INST: sqsub z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa6,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a6 25 <unknown>
 
 sqsub     z31.s, z31.s, #65280
 // CHECK-INST: sqsub z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa6,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a6 25 <unknown>
 
 sqsub     z0.d, z0.d, #0
 // CHECK-INST: sqsub z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0xc0,0xe6,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e6 25 <unknown>
 
 sqsub     z0.d, z0.d, #0, lsl #8
 // CHECK-INST: sqsub z0.d, z0.d, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xe6,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e6 25 <unknown>
 
 sqsub     z31.d, z31.d, #255, lsl #8
 // CHECK-INST: sqsub z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe6,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e6 25 <unknown>
 
 sqsub     z31.d, z31.d, #65280
 // CHECK-INST: sqsub z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe6,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e6 25 <unknown>
 
 
@@ -123,11 +125,11 @@ sqsub     z31.d, z31.d, #65280
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqsub     z31.d, z31.d, #65280
 // CHECK-INST: sqsub	z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe6,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e6 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st1b-sve-only.s b/llvm/test/MC/AArch64/SVE/st1b-sve-only.s
new file mode 100644
index 0000000000000..e9ab95cd5bb52
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/st1b-sve-only.s
@@ -0,0 +1,78 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+st1b    { z0.s }, p0, [x0, z0.s, uxtw]
+// CHECK-INST: st1b    { z0.s }, p0, [x0, z0.s, uxtw]
+// CHECK-ENCODING: [0x00,0x80,0x40,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 40 e4 <unknown>
+
+st1b    { z0.s }, p0, [x0, z0.s, sxtw]
+// CHECK-INST: st1b    { z0.s }, p0, [x0, z0.s, sxtw]
+// CHECK-ENCODING: [0x00,0xc0,0x40,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 40 e4 <unknown>
+
+st1b    { z0.d }, p0, [x0, z0.d, uxtw]
+// CHECK-INST: st1b    { z0.d }, p0, [x0, z0.d, uxtw]
+// CHECK-ENCODING: [0x00,0x80,0x00,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 00 e4 <unknown>
+
+st1b    { z0.d }, p0, [x0, z0.d, sxtw]
+// CHECK-INST: st1b    { z0.d }, p0, [x0, z0.d, sxtw]
+// CHECK-ENCODING: [0x00,0xc0,0x00,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 00 e4 <unknown>
+
+st1b    { z0.d }, p0, [x0, z0.d]
+// CHECK-INST: st1b    { z0.d }, p0, [x0, z0.d]
+// CHECK-ENCODING: [0x00,0xa0,0x00,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 a0 00 e4 <unknown>
+
+st1b    { z31.s }, p7, [z31.s, #31]
+// CHECK-INST: st1b    { z31.s }, p7, [z31.s, #31]
+// CHECK-ENCODING: [0xff,0xbf,0x7f,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff bf 7f e4 <unknown>
+
+st1b    { z31.d }, p7, [z31.d, #31]
+// CHECK-INST: st1b    { z31.d }, p7, [z31.d, #31]
+// CHECK-ENCODING: [0xff,0xbf,0x5f,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff bf 5f e4 <unknown>
+
+st1b    { z0.s }, p7, [z0.s, #0]
+// CHECK-INST: st1b    { z0.s }, p7, [z0.s]
+// CHECK-ENCODING: [0x00,0xbc,0x60,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc 60 e4 <unknown>
+
+st1b    { z0.s }, p7, [z0.s]
+// CHECK-INST: st1b    { z0.s }, p7, [z0.s]
+// CHECK-ENCODING: [0x00,0xbc,0x60,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc 60 e4 <unknown>
+
+st1b    { z0.d }, p7, [z0.d, #0]
+// CHECK-INST: st1b    { z0.d }, p7, [z0.d]
+// CHECK-ENCODING: [0x00,0xbc,0x40,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc 40 e4 <unknown>
+
+st1b    { z0.d }, p7, [z0.d]
+// CHECK-INST: st1b    { z0.d }, p7, [z0.d]
+// CHECK-ENCODING: [0x00,0xbc,0x40,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc 40 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st1b.s b/llvm/test/MC/AArch64/SVE/st1b.s
index 40b830709ead4..c65979f9900f7 100644
--- a/llvm/test/MC/AArch64/SVE/st1b.s
+++ b/llvm/test/MC/AArch64/SVE/st1b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,185 +12,119 @@
 st1b    z0.b, p0, [x0]
 // CHECK-INST: st1b    { z0.b }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x00,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 00 e4 <unknown>
 
 st1b    z0.h, p0, [x0]
 // CHECK-INST: st1b    { z0.h }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x20,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 20 e4 <unknown>
 
 st1b    z0.s, p0, [x0]
 // CHECK-INST: st1b    { z0.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x40,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 40 e4 <unknown>
 
 st1b    z0.d, p0, [x0]
 // CHECK-INST: st1b    { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x60,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 60 e4 <unknown>
 
 st1b    { z0.b }, p0, [x0]
 // CHECK-INST: st1b    { z0.b }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x00,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 00 e4 <unknown>
 
 st1b    { z0.h }, p0, [x0]
 // CHECK-INST: st1b    { z0.h }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x20,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 20 e4 <unknown>
 
 st1b    { z0.s }, p0, [x0]
 // CHECK-INST: st1b    { z0.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x40,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 40 e4 <unknown>
 
 st1b    { z0.d }, p0, [x0]
 // CHECK-INST: st1b    { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x60,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 60 e4 <unknown>
 
 st1b    { z31.b }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1b    { z31.b }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0x0f,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 0f e4 <unknown>
 
 st1b    { z21.b }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1b    { z21.b }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x05,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 05 e4 <unknown>
 
 st1b    { z31.h }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1b    { z31.h }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0x2f,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 2f e4 <unknown>
 
 st1b    { z21.h }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1b    { z21.h }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x25,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 25 e4 <unknown>
 
 st1b    { z31.s }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1b    { z31.s }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0x4f,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 4f e4 <unknown>
 
 st1b    { z21.s }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1b    { z21.s }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x45,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 45 e4 <unknown>
 
 st1b    { z31.d }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1b    { z31.d }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0x6f,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 6f e4 <unknown>
 
 st1b    { z21.d }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1b    { z21.d }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x65,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 65 e4 <unknown>
 
 st1b    { z0.b }, p0, [x0, x0]
 // CHECK-INST: st1b    { z0.b }, p0, [x0, x0]
 // CHECK-ENCODING: [0x00,0x40,0x00,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 00 e4 <unknown>
 
 st1b    { z0.h }, p0, [x0, x0]
 // CHECK-INST: st1b    { z0.h }, p0, [x0, x0]
 // CHECK-ENCODING: [0x00,0x40,0x20,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 20 e4 <unknown>
 
 st1b    { z0.s }, p0, [x0, x0]
 // CHECK-INST: st1b    { z0.s }, p0, [x0, x0]
 // CHECK-ENCODING: [0x00,0x40,0x40,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 40 e4 <unknown>
 
 st1b    { z0.d }, p0, [x0, x0]
 // CHECK-INST: st1b    { z0.d }, p0, [x0, x0]
 // CHECK-ENCODING: [0x00,0x40,0x60,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 60 e4 <unknown>
-
-st1b    { z0.s }, p0, [x0, z0.s, uxtw]
-// CHECK-INST: st1b    { z0.s }, p0, [x0, z0.s, uxtw]
-// CHECK-ENCODING: [0x00,0x80,0x40,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 40 e4 <unknown>
-
-st1b    { z0.s }, p0, [x0, z0.s, sxtw]
-// CHECK-INST: st1b    { z0.s }, p0, [x0, z0.s, sxtw]
-// CHECK-ENCODING: [0x00,0xc0,0x40,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 40 e4 <unknown>
-
-st1b    { z0.d }, p0, [x0, z0.d, uxtw]
-// CHECK-INST: st1b    { z0.d }, p0, [x0, z0.d, uxtw]
-// CHECK-ENCODING: [0x00,0x80,0x00,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 00 e4 <unknown>
-
-st1b    { z0.d }, p0, [x0, z0.d, sxtw]
-// CHECK-INST: st1b    { z0.d }, p0, [x0, z0.d, sxtw]
-// CHECK-ENCODING: [0x00,0xc0,0x00,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 00 e4 <unknown>
-
-st1b    { z0.d }, p0, [x0, z0.d]
-// CHECK-INST: st1b    { z0.d }, p0, [x0, z0.d]
-// CHECK-ENCODING: [0x00,0xa0,0x00,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 a0 00 e4 <unknown>
-
-st1b    { z31.s }, p7, [z31.s, #31]
-// CHECK-INST: st1b    { z31.s }, p7, [z31.s, #31]
-// CHECK-ENCODING: [0xff,0xbf,0x7f,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff bf 7f e4 <unknown>
-
-st1b    { z31.d }, p7, [z31.d, #31]
-// CHECK-INST: st1b    { z31.d }, p7, [z31.d, #31]
-// CHECK-ENCODING: [0xff,0xbf,0x5f,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff bf 5f e4 <unknown>
-
-st1b    { z0.s }, p7, [z0.s, #0]
-// CHECK-INST: st1b    { z0.s }, p7, [z0.s]
-// CHECK-ENCODING: [0x00,0xbc,0x60,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc 60 e4 <unknown>
-
-st1b    { z0.s }, p7, [z0.s]
-// CHECK-INST: st1b    { z0.s }, p7, [z0.s]
-// CHECK-ENCODING: [0x00,0xbc,0x60,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc 60 e4 <unknown>
-
-st1b    { z0.d }, p7, [z0.d, #0]
-// CHECK-INST: st1b    { z0.d }, p7, [z0.d]
-// CHECK-ENCODING: [0x00,0xbc,0x40,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc 40 e4 <unknown>
-
-st1b    { z0.d }, p7, [z0.d]
-// CHECK-INST: st1b    { z0.d }, p7, [z0.d]
-// CHECK-ENCODING: [0x00,0xbc,0x40,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc 40 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st1d-sve-only.s b/llvm/test/MC/AArch64/SVE/st1d-sve-only.s
new file mode 100644
index 0000000000000..e106e9f50f143
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/st1d-sve-only.s
@@ -0,0 +1,66 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+st1d    { z0.d }, p0, [x0, z0.d, uxtw]
+// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, uxtw]
+// CHECK-ENCODING: [0x00,0x80,0x80,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 80 e5 <unknown>
+
+st1d    { z0.d }, p0, [x0, z0.d, sxtw]
+// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, sxtw]
+// CHECK-ENCODING: [0x00,0xc0,0x80,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 80 e5 <unknown>
+
+st1d    { z0.d }, p0, [x0, z0.d, uxtw #3]
+// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, uxtw #3]
+// CHECK-ENCODING: [0x00,0x80,0xa0,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 a0 e5 <unknown>
+
+st1d    { z0.d }, p0, [x0, z0.d, sxtw #3]
+// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, sxtw #3]
+// CHECK-ENCODING: [0x00,0xc0,0xa0,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 a0 e5 <unknown>
+
+st1d    { z0.d }, p0, [x0, z0.d]
+// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d]
+// CHECK-ENCODING: [0x00,0xa0,0x80,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 a0 80 e5 <unknown>
+
+st1d    { z0.d }, p0, [x0, z0.d, lsl #3]
+// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, lsl #3]
+// CHECK-ENCODING: [0x00,0xa0,0xa0,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 a0 a0 e5 <unknown>
+
+st1d    { z31.d }, p7, [z31.d, #248]
+// CHECK-INST: st1d    { z31.d }, p7, [z31.d, #248]
+// CHECK-ENCODING: [0xff,0xbf,0xdf,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff bf df e5 <unknown>
+
+st1d    { z0.d }, p7, [z0.d, #0]
+// CHECK-INST: st1d    { z0.d }, p7, [z0.d]
+// CHECK-ENCODING: [0x00,0xbc,0xc0,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc c0 e5 <unknown>
+
+st1d    { z0.d }, p7, [z0.d]
+// CHECK-INST: st1d    { z0.d }, p7, [z0.d]
+// CHECK-ENCODING: [0x00,0xbc,0xc0,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc c0 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st1d.s b/llvm/test/MC/AArch64/SVE/st1d.s
index a5a19e772b528..884a7a56a64f5 100644
--- a/llvm/test/MC/AArch64/SVE/st1d.s
+++ b/llvm/test/MC/AArch64/SVE/st1d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,83 +12,29 @@
 st1d    z0.d, p0, [x0]
 // CHECK-INST: st1d    { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xe0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e0 e5 <unknown>
 
 st1d    { z0.d }, p0, [x0]
 // CHECK-INST: st1d    { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xe0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e0 e5 <unknown>
 
 st1d    { z31.d }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1d    { z31.d }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0xef,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff ef e5 <unknown>
 
 st1d    { z21.d }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1d    { z21.d }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xe5,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 e5 e5 <unknown>
 
 st1d    { z0.d }, p0, [x0, x0, lsl #3]
 // CHECK-INST: st1d    { z0.d }, p0, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0x40,0xe0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 e0 e5 <unknown>
-
-st1d    { z0.d }, p0, [x0, z0.d, uxtw]
-// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, uxtw]
-// CHECK-ENCODING: [0x00,0x80,0x80,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 80 e5 <unknown>
-
-st1d    { z0.d }, p0, [x0, z0.d, sxtw]
-// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, sxtw]
-// CHECK-ENCODING: [0x00,0xc0,0x80,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 80 e5 <unknown>
-
-st1d    { z0.d }, p0, [x0, z0.d, uxtw #3]
-// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, uxtw #3]
-// CHECK-ENCODING: [0x00,0x80,0xa0,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 a0 e5 <unknown>
-
-st1d    { z0.d }, p0, [x0, z0.d, sxtw #3]
-// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, sxtw #3]
-// CHECK-ENCODING: [0x00,0xc0,0xa0,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 a0 e5 <unknown>
-
-st1d    { z0.d }, p0, [x0, z0.d]
-// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d]
-// CHECK-ENCODING: [0x00,0xa0,0x80,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 a0 80 e5 <unknown>
-
-st1d    { z0.d }, p0, [x0, z0.d, lsl #3]
-// CHECK-INST: st1d    { z0.d }, p0, [x0, z0.d, lsl #3]
-// CHECK-ENCODING: [0x00,0xa0,0xa0,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 a0 a0 e5 <unknown>
-
-st1d    { z31.d }, p7, [z31.d, #248]
-// CHECK-INST: st1d    { z31.d }, p7, [z31.d, #248]
-// CHECK-ENCODING: [0xff,0xbf,0xdf,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff bf df e5 <unknown>
-
-st1d    { z0.d }, p7, [z0.d, #0]
-// CHECK-INST: st1d    { z0.d }, p7, [z0.d]
-// CHECK-ENCODING: [0x00,0xbc,0xc0,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc c0 e5 <unknown>
-
-st1d    { z0.d }, p7, [z0.d]
-// CHECK-INST: st1d    { z0.d }, p7, [z0.d]
-// CHECK-ENCODING: [0x00,0xbc,0xc0,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc c0 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st1h-sve-only.s b/llvm/test/MC/AArch64/SVE/st1h-sve-only.s
new file mode 100644
index 0000000000000..4071a829fb716
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/st1h-sve-only.s
@@ -0,0 +1,108 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+st1h    { z0.s }, p0, [x0, z0.s, uxtw]
+// CHECK-INST: st1h    { z0.s }, p0, [x0, z0.s, uxtw]
+// CHECK-ENCODING: [0x00,0x80,0xc0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 c0 e4 <unknown>
+
+st1h    { z0.s }, p0, [x0, z0.s, sxtw]
+// CHECK-INST: st1h    { z0.s }, p0, [x0, z0.s, sxtw]
+// CHECK-ENCODING: [0x00,0xc0,0xc0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 c0 e4 <unknown>
+
+st1h    { z0.d }, p0, [x0, z0.d, uxtw]
+// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, uxtw]
+// CHECK-ENCODING: [0x00,0x80,0x80,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 80 e4 <unknown>
+
+st1h    { z0.d }, p0, [x0, z0.d, sxtw]
+// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, sxtw]
+// CHECK-ENCODING: [0x00,0xc0,0x80,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 80 e4 <unknown>
+
+st1h    { z0.s }, p0, [x0, z0.s, uxtw #1]
+// CHECK-INST: st1h    { z0.s }, p0, [x0, z0.s, uxtw #1]
+// CHECK-ENCODING: [0x00,0x80,0xe0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 e0 e4 <unknown>
+
+st1h    { z0.s }, p0, [x0, z0.s, sxtw #1]
+// CHECK-INST: st1h    { z0.s }, p0, [x0, z0.s, sxtw #1]
+// CHECK-ENCODING: [0x00,0xc0,0xe0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 e0 e4 <unknown>
+
+st1h    { z0.d }, p0, [x0, z0.d, uxtw #1]
+// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, uxtw #1]
+// CHECK-ENCODING: [0x00,0x80,0xa0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 a0 e4 <unknown>
+
+st1h    { z0.d }, p0, [x0, z0.d, sxtw #1]
+// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, sxtw #1]
+// CHECK-ENCODING: [0x00,0xc0,0xa0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 a0 e4 <unknown>
+
+st1h    { z0.d }, p0, [x0, z0.d]
+// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d]
+// CHECK-ENCODING: [0x00,0xa0,0x80,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 a0 80 e4 <unknown>
+
+st1h    { z0.d }, p0, [x0, z0.d, lsl #1]
+// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, lsl #1]
+// CHECK-ENCODING: [0x00,0xa0,0xa0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 a0 a0 e4 <unknown>
+
+st1h    { z31.s }, p7, [z31.s, #62]
+// CHECK-INST: st1h    { z31.s }, p7, [z31.s, #62]
+// CHECK-ENCODING: [0xff,0xbf,0xff,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff bf ff e4 <unknown>
+
+st1h    { z31.d }, p7, [z31.d, #62]
+// CHECK-INST: st1h    { z31.d }, p7, [z31.d, #62]
+// CHECK-ENCODING: [0xff,0xbf,0xdf,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff bf df e4 <unknown>
+
+st1h    { z0.s }, p7, [z0.s, #0]
+// CHECK-INST: st1h    { z0.s }, p7, [z0.s]
+// CHECK-ENCODING: [0x00,0xbc,0xe0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc e0 e4 <unknown>
+
+st1h    { z0.s }, p7, [z0.s]
+// CHECK-INST: st1h    { z0.s }, p7, [z0.s]
+// CHECK-ENCODING: [0x00,0xbc,0xe0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc e0 e4 <unknown>
+
+st1h    { z0.d }, p7, [z0.d, #0]
+// CHECK-INST: st1h    { z0.d }, p7, [z0.d]
+// CHECK-ENCODING: [0x00,0xbc,0xc0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc c0 e4 <unknown>
+
+st1h    { z0.d }, p7, [z0.d]
+// CHECK-INST: st1h    { z0.d }, p7, [z0.d]
+// CHECK-ENCODING: [0x00,0xbc,0xc0,0xe4]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc c0 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st1h.s b/llvm/test/MC/AArch64/SVE/st1h.s
index fe22c52bb9bef..035621e35b218 100644
--- a/llvm/test/MC/AArch64/SVE/st1h.s
+++ b/llvm/test/MC/AArch64/SVE/st1h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,185 +12,89 @@
 st1h    z0.h, p0, [x0]
 // CHECK-INST: st1h    { z0.h }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xa0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a0 e4 <unknown>
 
 st1h    z0.s, p0, [x0]
 // CHECK-INST: st1h    { z0.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xc0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 c0 e4 <unknown>
 
 st1h    z0.d, p0, [x0]
 // CHECK-INST: st1h    { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xe0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e0 e4 <unknown>
 
 st1h    { z0.h }, p0, [x0]
 // CHECK-INST: st1h    { z0.h }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xa0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a0 e4 <unknown>
 
 st1h    { z0.s }, p0, [x0]
 // CHECK-INST: st1h    { z0.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xc0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 c0 e4 <unknown>
 
 st1h    { z0.d }, p0, [x0]
 // CHECK-INST: st1h    { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xe0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e0 e4 <unknown>
 
 st1h    { z31.h }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1h    { z31.h }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0xaf,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff af e4 <unknown>
 
 st1h    { z21.h }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1h    { z21.h }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xa5,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 a5 e4 <unknown>
 
 st1h    { z31.s }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1h    { z31.s }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0xcf,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff cf e4 <unknown>
 
 st1h    { z21.s }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1h    { z21.s }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xc5,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 c5 e4 <unknown>
 
 st1h    { z21.d }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1h    { z21.d }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xe5,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 e5 e4 <unknown>
 
 st1h    { z31.d }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1h    { z31.d }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0xef,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff ef e4 <unknown>
 
 st1h    { z0.h }, p0, [x0, x0, lsl #1]
 // CHECK-INST: st1h    { z0.h }, p0, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0x40,0xa0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 a0 e4 <unknown>
 
 st1h    { z0.s }, p0, [x0, x0, lsl #1]
 // CHECK-INST: st1h    { z0.s }, p0, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0x40,0xc0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 c0 e4 <unknown>
 
 st1h    { z0.d }, p0, [x0, x0, lsl #1]
 // CHECK-INST: st1h    { z0.d }, p0, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0x40,0xe0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 e0 e4 <unknown>
-
-st1h    { z0.s }, p0, [x0, z0.s, uxtw]
-// CHECK-INST: st1h    { z0.s }, p0, [x0, z0.s, uxtw]
-// CHECK-ENCODING: [0x00,0x80,0xc0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 c0 e4 <unknown>
-
-st1h    { z0.s }, p0, [x0, z0.s, sxtw]
-// CHECK-INST: st1h    { z0.s }, p0, [x0, z0.s, sxtw]
-// CHECK-ENCODING: [0x00,0xc0,0xc0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 c0 e4 <unknown>
-
-st1h    { z0.d }, p0, [x0, z0.d, uxtw]
-// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, uxtw]
-// CHECK-ENCODING: [0x00,0x80,0x80,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 80 e4 <unknown>
-
-st1h    { z0.d }, p0, [x0, z0.d, sxtw]
-// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, sxtw]
-// CHECK-ENCODING: [0x00,0xc0,0x80,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 80 e4 <unknown>
-
-st1h    { z0.s }, p0, [x0, z0.s, uxtw #1]
-// CHECK-INST: st1h    { z0.s }, p0, [x0, z0.s, uxtw #1]
-// CHECK-ENCODING: [0x00,0x80,0xe0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 e0 e4 <unknown>
-
-st1h    { z0.s }, p0, [x0, z0.s, sxtw #1]
-// CHECK-INST: st1h    { z0.s }, p0, [x0, z0.s, sxtw #1]
-// CHECK-ENCODING: [0x00,0xc0,0xe0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 e0 e4 <unknown>
-
-st1h    { z0.d }, p0, [x0, z0.d, uxtw #1]
-// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, uxtw #1]
-// CHECK-ENCODING: [0x00,0x80,0xa0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 a0 e4 <unknown>
-
-st1h    { z0.d }, p0, [x0, z0.d, sxtw #1]
-// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, sxtw #1]
-// CHECK-ENCODING: [0x00,0xc0,0xa0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 a0 e4 <unknown>
-
-st1h    { z0.d }, p0, [x0, z0.d]
-// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d]
-// CHECK-ENCODING: [0x00,0xa0,0x80,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 a0 80 e4 <unknown>
-
-st1h    { z0.d }, p0, [x0, z0.d, lsl #1]
-// CHECK-INST: st1h    { z0.d }, p0, [x0, z0.d, lsl #1]
-// CHECK-ENCODING: [0x00,0xa0,0xa0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 a0 a0 e4 <unknown>
-
-st1h    { z31.s }, p7, [z31.s, #62]
-// CHECK-INST: st1h    { z31.s }, p7, [z31.s, #62]
-// CHECK-ENCODING: [0xff,0xbf,0xff,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff bf ff e4 <unknown>
-
-st1h    { z31.d }, p7, [z31.d, #62]
-// CHECK-INST: st1h    { z31.d }, p7, [z31.d, #62]
-// CHECK-ENCODING: [0xff,0xbf,0xdf,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff bf df e4 <unknown>
-
-st1h    { z0.s }, p7, [z0.s, #0]
-// CHECK-INST: st1h    { z0.s }, p7, [z0.s]
-// CHECK-ENCODING: [0x00,0xbc,0xe0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc e0 e4 <unknown>
-
-st1h    { z0.s }, p7, [z0.s]
-// CHECK-INST: st1h    { z0.s }, p7, [z0.s]
-// CHECK-ENCODING: [0x00,0xbc,0xe0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc e0 e4 <unknown>
-
-st1h    { z0.d }, p7, [z0.d, #0]
-// CHECK-INST: st1h    { z0.d }, p7, [z0.d]
-// CHECK-ENCODING: [0x00,0xbc,0xc0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc c0 e4 <unknown>
-
-st1h    { z0.d }, p7, [z0.d]
-// CHECK-INST: st1h    { z0.d }, p7, [z0.d]
-// CHECK-ENCODING: [0x00,0xbc,0xc0,0xe4]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc c0 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st1w-sve-only.s b/llvm/test/MC/AArch64/SVE/st1w-sve-only.s
new file mode 100644
index 0000000000000..dc86903d2268c
--- /dev/null
+++ b/llvm/test/MC/AArch64/SVE/st1w-sve-only.s
@@ -0,0 +1,108 @@
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
+// RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
+
+// Test instruction variants that aren't legal in streaming mode.
+
+st1w    { z0.s }, p0, [x0, z0.s, uxtw]
+// CHECK-INST: st1w    { z0.s }, p0, [x0, z0.s, uxtw]
+// CHECK-ENCODING: [0x00,0x80,0x40,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 40 e5 <unknown>
+
+st1w    { z0.s }, p0, [x0, z0.s, sxtw]
+// CHECK-INST: st1w    { z0.s }, p0, [x0, z0.s, sxtw]
+// CHECK-ENCODING: [0x00,0xc0,0x40,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 40 e5 <unknown>
+
+st1w    { z0.d }, p0, [x0, z0.d, uxtw]
+// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, uxtw]
+// CHECK-ENCODING: [0x00,0x80,0x00,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 00 e5 <unknown>
+
+st1w    { z0.d }, p0, [x0, z0.d, sxtw]
+// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, sxtw]
+// CHECK-ENCODING: [0x00,0xc0,0x00,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 00 e5 <unknown>
+
+st1w    { z0.s }, p0, [x0, z0.s, uxtw #2]
+// CHECK-INST: st1w    { z0.s }, p0, [x0, z0.s, uxtw #2]
+// CHECK-ENCODING: [0x00,0x80,0x60,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 60 e5 <unknown>
+
+st1w    { z0.s }, p0, [x0, z0.s, sxtw #2]
+// CHECK-INST: st1w    { z0.s }, p0, [x0, z0.s, sxtw #2]
+// CHECK-ENCODING: [0x00,0xc0,0x60,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 60 e5 <unknown>
+
+st1w    { z0.d }, p0, [x0, z0.d, uxtw #2]
+// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, uxtw #2]
+// CHECK-ENCODING: [0x00,0x80,0x20,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 80 20 e5 <unknown>
+
+st1w    { z0.d }, p0, [x0, z0.d, sxtw #2]
+// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, sxtw #2]
+// CHECK-ENCODING: [0x00,0xc0,0x20,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 c0 20 e5 <unknown>
+
+st1w    { z0.d }, p0, [x0, z0.d]
+// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d]
+// CHECK-ENCODING: [0x00,0xa0,0x00,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 a0 00 e5 <unknown>
+
+st1w    { z0.d }, p0, [x0, z0.d, lsl #2]
+// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, lsl #2]
+// CHECK-ENCODING: [0x00,0xa0,0x20,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 a0 20 e5 <unknown>
+
+st1w    { z31.s }, p7, [z31.s, #124]
+// CHECK-INST: st1w    { z31.s }, p7, [z31.s, #124]
+// CHECK-ENCODING: [0xff,0xbf,0x7f,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff bf 7f e5 <unknown>
+
+st1w    { z31.d }, p7, [z31.d, #124]
+// CHECK-INST: st1w    { z31.d }, p7, [z31.d, #124]
+// CHECK-ENCODING: [0xff,0xbf,0x5f,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: ff bf 5f e5 <unknown>
+
+st1w    { z0.s }, p7, [z0.s, #0]
+// CHECK-INST: st1w    { z0.s }, p7, [z0.s]
+// CHECK-ENCODING: [0x00,0xbc,0x60,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc 60 e5 <unknown>
+
+st1w    { z0.s }, p7, [z0.s]
+// CHECK-INST: st1w    { z0.s }, p7, [z0.s]
+// CHECK-ENCODING: [0x00,0xbc,0x60,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc 60 e5 <unknown>
+
+st1w    { z0.d }, p7, [z0.d, #0]
+// CHECK-INST: st1w    { z0.d }, p7, [z0.d]
+// CHECK-ENCODING: [0x00,0xbc,0x40,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc 40 e5 <unknown>
+
+st1w    { z0.d }, p7, [z0.d]
+// CHECK-INST: st1w    { z0.d }, p7, [z0.d]
+// CHECK-ENCODING: [0x00,0xbc,0x40,0xe5]
+// CHECK-ERROR: instruction requires: sve
+// CHECK-UNKNOWN: 00 bc 40 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st1w.s b/llvm/test/MC/AArch64/SVE/st1w.s
index 5bbcd2e1ea0ff..1ca2200979b48 100644
--- a/llvm/test/MC/AArch64/SVE/st1w.s
+++ b/llvm/test/MC/AArch64/SVE/st1w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,155 +12,59 @@
 st1w    z0.s, p0, [x0]
 // CHECK-INST: st1w    { z0.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x40,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 40 e5 <unknown>
 
 st1w    z0.d, p0, [x0]
 // CHECK-INST: st1w    { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x60,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 60 e5 <unknown>
 
 st1w    { z0.s }, p0, [x0]
 // CHECK-INST: st1w    { z0.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x40,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 40 e5 <unknown>
 
 st1w    { z0.d }, p0, [x0]
 // CHECK-INST: st1w    { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x60,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 60 e5 <unknown>
 
 st1w    { z31.s }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1w    { z31.s }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0x4f,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 4f e5 <unknown>
 
 st1w    { z21.s }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1w    { z21.s }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x45,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 45 e5 <unknown>
 
 st1w    { z31.d }, p7, [sp, #-1, mul vl]
 // CHECK-INST: st1w    { z31.d }, p7, [sp, #-1, mul vl]
 // CHECK-ENCODING: [0xff,0xff,0x6f,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 6f e5 <unknown>
 
 st1w    { z21.d }, p5, [x10, #5, mul vl]
 // CHECK-INST: st1w    { z21.d }, p5, [x10, #5, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x65,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 65 e5 <unknown>
 
 st1w    { z0.s }, p0, [x0, x0, lsl #2]
 // CHECK-INST: st1w    { z0.s }, p0, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0x40,0x40,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 40 e5 <unknown>
 
 st1w    { z0.d }, p0, [x0, x0, lsl #2]
 // CHECK-INST: st1w    { z0.d }, p0, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0x40,0x60,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 60 e5 <unknown>
-
-st1w    { z0.s }, p0, [x0, z0.s, uxtw]
-// CHECK-INST: st1w    { z0.s }, p0, [x0, z0.s, uxtw]
-// CHECK-ENCODING: [0x00,0x80,0x40,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 40 e5 <unknown>
-
-st1w    { z0.s }, p0, [x0, z0.s, sxtw]
-// CHECK-INST: st1w    { z0.s }, p0, [x0, z0.s, sxtw]
-// CHECK-ENCODING: [0x00,0xc0,0x40,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 40 e5 <unknown>
-
-st1w    { z0.d }, p0, [x0, z0.d, uxtw]
-// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, uxtw]
-// CHECK-ENCODING: [0x00,0x80,0x00,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 00 e5 <unknown>
-
-st1w    { z0.d }, p0, [x0, z0.d, sxtw]
-// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, sxtw]
-// CHECK-ENCODING: [0x00,0xc0,0x00,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 00 e5 <unknown>
-
-st1w    { z0.s }, p0, [x0, z0.s, uxtw #2]
-// CHECK-INST: st1w    { z0.s }, p0, [x0, z0.s, uxtw #2]
-// CHECK-ENCODING: [0x00,0x80,0x60,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 60 e5 <unknown>
-
-st1w    { z0.s }, p0, [x0, z0.s, sxtw #2]
-// CHECK-INST: st1w    { z0.s }, p0, [x0, z0.s, sxtw #2]
-// CHECK-ENCODING: [0x00,0xc0,0x60,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 60 e5 <unknown>
-
-st1w    { z0.d }, p0, [x0, z0.d, uxtw #2]
-// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, uxtw #2]
-// CHECK-ENCODING: [0x00,0x80,0x20,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 80 20 e5 <unknown>
-
-st1w    { z0.d }, p0, [x0, z0.d, sxtw #2]
-// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, sxtw #2]
-// CHECK-ENCODING: [0x00,0xc0,0x20,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 c0 20 e5 <unknown>
-
-st1w    { z0.d }, p0, [x0, z0.d]
-// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d]
-// CHECK-ENCODING: [0x00,0xa0,0x00,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 a0 00 e5 <unknown>
-
-st1w    { z0.d }, p0, [x0, z0.d, lsl #2]
-// CHECK-INST: st1w    { z0.d }, p0, [x0, z0.d, lsl #2]
-// CHECK-ENCODING: [0x00,0xa0,0x20,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 a0 20 e5 <unknown>
-
-st1w    { z31.s }, p7, [z31.s, #124]
-// CHECK-INST: st1w    { z31.s }, p7, [z31.s, #124]
-// CHECK-ENCODING: [0xff,0xbf,0x7f,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff bf 7f e5 <unknown>
-
-st1w    { z31.d }, p7, [z31.d, #124]
-// CHECK-INST: st1w    { z31.d }, p7, [z31.d, #124]
-// CHECK-ENCODING: [0xff,0xbf,0x5f,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: ff bf 5f e5 <unknown>
-
-st1w    { z0.s }, p7, [z0.s, #0]
-// CHECK-INST: st1w    { z0.s }, p7, [z0.s]
-// CHECK-ENCODING: [0x00,0xbc,0x60,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc 60 e5 <unknown>
-
-st1w    { z0.s }, p7, [z0.s]
-// CHECK-INST: st1w    { z0.s }, p7, [z0.s]
-// CHECK-ENCODING: [0x00,0xbc,0x60,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc 60 e5 <unknown>
-
-st1w    { z0.d }, p7, [z0.d, #0]
-// CHECK-INST: st1w    { z0.d }, p7, [z0.d]
-// CHECK-ENCODING: [0x00,0xbc,0x40,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc 40 e5 <unknown>
-
-st1w    { z0.d }, p7, [z0.d]
-// CHECK-INST: st1w    { z0.d }, p7, [z0.d]
-// CHECK-ENCODING: [0x00,0xbc,0x40,0xe5]
-// CHECK-ERROR: instruction requires: sve
-// CHECK-UNKNOWN: 00 bc 40 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st2b.s b/llvm/test/MC/AArch64/SVE/st2b.s
index 87a025fa94435..2294c3daf23eb 100644
--- a/llvm/test/MC/AArch64/SVE/st2b.s
+++ b/llvm/test/MC/AArch64/SVE/st2b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st2b    { z0.b, z1.b }, p0, [x0, x0]
 // CHECK-INST: st2b    { z0.b, z1.b }, p0, [x0, x0]
 // CHECK-ENCODING: [0x00,0x60,0x20,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 20 e4 <unknown>
 
 st2b    { z5.b, z6.b }, p3, [x17, x16]
 // CHECK-INST: st2b    { z5.b, z6.b }, p3, [x17, x16]
 // CHECK-ENCODING: [0x25,0x6e,0x30,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e 30 e4 <unknown>
 
 st2b    { z0.b, z1.b }, p0, [x0]
 // CHECK-INST: st2b    { z0.b, z1.b }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x30,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 30 e4 <unknown>
 
 st2b    { z23.b, z24.b }, p3, [x13, #-16, mul vl]
 // CHECK-INST: st2b    { z23.b, z24.b }, p3, [x13, #-16, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x38,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 38 e4 <unknown>
 
 st2b    { z21.b, z22.b }, p5, [x10, #10, mul vl]
 // CHECK-INST: st2b    { z21.b, z22.b }, p5, [x10, #10, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x35,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 35 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st2d.s b/llvm/test/MC/AArch64/SVE/st2d.s
index a32c6d98254d5..e8c973b4bc509 100644
--- a/llvm/test/MC/AArch64/SVE/st2d.s
+++ b/llvm/test/MC/AArch64/SVE/st2d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st2d    { z0.d, z1.d }, p0, [x0, x0, lsl #3]
 // CHECK-INST: st2d    { z0.d, z1.d }, p0, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0x60,0xa0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 a0 e5 <unknown>
 
 st2d    { z5.d, z6.d }, p3, [x17, x16, lsl #3]
 // CHECK-INST: st2d    { z5.d, z6.d }, p3, [x17, x16, lsl #3]
 // CHECK-ENCODING: [0x25,0x6e,0xb0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e b0 e5 <unknown>
 
 st2d    { z0.d, z1.d }, p0, [x0]
 // CHECK-INST: st2d    { z0.d, z1.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xb0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 b0 e5 <unknown>
 
 st2d    { z23.d, z24.d }, p3, [x13, #-16, mul vl]
 // CHECK-INST: st2d    { z23.d, z24.d }, p3, [x13, #-16, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xb8,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed b8 e5 <unknown>
 
 st2d    { z21.d, z22.d }, p5, [x10, #10, mul vl]
 // CHECK-INST: st2d    { z21.d, z22.d }, p5, [x10, #10, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xb5,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 b5 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st2h.s b/llvm/test/MC/AArch64/SVE/st2h.s
index 8daea62aefa79..8f4034be72438 100644
--- a/llvm/test/MC/AArch64/SVE/st2h.s
+++ b/llvm/test/MC/AArch64/SVE/st2h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st2h    { z0.h, z1.h }, p0, [x0, x0, lsl #1]
 // CHECK-INST: st2h    { z0.h, z1.h }, p0, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0x60,0xa0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 a0 e4 <unknown>
 
 st2h    { z5.h, z6.h }, p3, [x17, x16, lsl #1]
 // CHECK-INST: st2h    { z5.h, z6.h }, p3, [x17, x16, lsl #1]
 // CHECK-ENCODING: [0x25,0x6e,0xb0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e b0 e4 <unknown>
 
 st2h    { z0.h, z1.h }, p0, [x0]
 // CHECK-INST: st2h    { z0.h, z1.h }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xb0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 b0 e4 <unknown>
 
 st2h    { z23.h, z24.h }, p3, [x13, #-16, mul vl]
 // CHECK-INST: st2h    { z23.h, z24.h }, p3, [x13, #-16, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xb8,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed b8 e4 <unknown>
 
 st2h    { z21.h, z22.h }, p5, [x10, #10, mul vl]
 // CHECK-INST: st2h    { z21.h, z22.h }, p5, [x10, #10, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xb5,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 b5 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st2w.s b/llvm/test/MC/AArch64/SVE/st2w.s
index 80085cbed7cf2..2e18d440b188e 100644
--- a/llvm/test/MC/AArch64/SVE/st2w.s
+++ b/llvm/test/MC/AArch64/SVE/st2w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st2w    { z0.s, z1.s }, p0, [x0, x0, lsl #2]
 // CHECK-INST: st2w    { z0.s, z1.s }, p0, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0x60,0x20,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 20 e5 <unknown>
 
 st2w    { z5.s, z6.s }, p3, [x17, x16, lsl #2]
 // CHECK-INST: st2w    { z5.s, z6.s }, p3, [x17, x16, lsl #2]
 // CHECK-ENCODING: [0x25,0x6e,0x30,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e 30 e5 <unknown>
 
 st2w    { z0.s, z1.s }, p0, [x0]
 // CHECK-INST: st2w    { z0.s, z1.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x30,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 30 e5 <unknown>
 
 st2w    { z23.s, z24.s }, p3, [x13, #-16, mul vl]
 // CHECK-INST: st2w    { z23.s, z24.s }, p3, [x13, #-16, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x38,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 38 e5 <unknown>
 
 st2w    { z21.s, z22.s }, p5, [x10, #10, mul vl]
 // CHECK-INST: st2w    { z21.s, z22.s }, p5, [x10, #10, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x35,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 35 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st3b.s b/llvm/test/MC/AArch64/SVE/st3b.s
index 8c8ed3e5806f3..3aabf5c298e18 100644
--- a/llvm/test/MC/AArch64/SVE/st3b.s
+++ b/llvm/test/MC/AArch64/SVE/st3b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st3b    { z0.b, z1.b, z2.b }, p0, [x0, x0]
 // CHECK-INST: st3b    { z0.b, z1.b, z2.b }, p0, [x0, x0]
 // CHECK-ENCODING: [0x00,0x60,0x40,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 40 e4 <unknown>
 
 st3b    { z5.b, z6.b, z7.b }, p3, [x17, x16]
 // CHECK-INST: st3b    { z5.b, z6.b, z7.b }, p3, [x17, x16]
 // CHECK-ENCODING: [0x25,0x6e,0x50,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e 50 e4 <unknown>
 
 st3b    { z0.b, z1.b, z2.b }, p0, [x0]
 // CHECK-INST: st3b    { z0.b, z1.b, z2.b }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x50,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 50 e4 <unknown>
 
 st3b    { z23.b, z24.b, z25.b }, p3, [x13, #-24, mul vl]
 // CHECK-INST: st3b    { z23.b, z24.b, z25.b }, p3, [x13, #-24, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x58,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 58 e4 <unknown>
 
 st3b    { z21.b, z22.b, z23.b }, p5, [x10, #15, mul vl]
 // CHECK-INST: st3b    { z21.b, z22.b, z23.b }, p5, [x10, #15, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x55,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 55 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st3d.s b/llvm/test/MC/AArch64/SVE/st3d.s
index 7d7d05cc88515..688024508e24f 100644
--- a/llvm/test/MC/AArch64/SVE/st3d.s
+++ b/llvm/test/MC/AArch64/SVE/st3d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st3d    { z0.d, z1.d, z2.d }, p0, [x0, x0, lsl #3]
 // CHECK-INST: st3d    { z0.d, z1.d, z2.d }, p0, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0x60,0xc0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 c0 e5 <unknown>
 
 st3d    { z5.d, z6.d, z7.d }, p3, [x17, x16, lsl #3]
 // CHECK-INST: st3d    { z5.d, z6.d, z7.d }, p3, [x17, x16, lsl #3]
 // CHECK-ENCODING: [0x25,0x6e,0xd0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e d0 e5 <unknown>
 
 st3d    { z0.d, z1.d, z2.d }, p0, [x0]
 // CHECK-INST: st3d    { z0.d, z1.d, z2.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xd0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 d0 e5 <unknown>
 
 st3d    { z23.d, z24.d, z25.d }, p3, [x13, #-24, mul vl]
 // CHECK-INST: st3d    { z23.d, z24.d, z25.d }, p3, [x13, #-24, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xd8,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed d8 e5 <unknown>
 
 st3d    { z21.d, z22.d, z23.d }, p5, [x10, #15, mul vl]
 // CHECK-INST: st3d    { z21.d, z22.d, z23.d }, p5, [x10, #15, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xd5,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 d5 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st3h.s b/llvm/test/MC/AArch64/SVE/st3h.s
index efba357658f18..a9724e83be614 100644
--- a/llvm/test/MC/AArch64/SVE/st3h.s
+++ b/llvm/test/MC/AArch64/SVE/st3h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st3h    { z0.h, z1.h, z2.h }, p0, [x0, x0, lsl #1]
 // CHECK-INST: st3h    { z0.h, z1.h, z2.h }, p0, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0x60,0xc0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 c0 e4 <unknown>
 
 st3h    { z5.h, z6.h, z7.h }, p3, [x17, x16, lsl #1]
 // CHECK-INST: st3h    { z5.h, z6.h, z7.h }, p3, [x17, x16, lsl #1]
 // CHECK-ENCODING: [0x25,0x6e,0xd0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e d0 e4 <unknown>
 
 st3h    { z0.h, z1.h, z2.h }, p0, [x0]
 // CHECK-INST: st3h    { z0.h, z1.h, z2.h }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xd0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 d0 e4 <unknown>
 
 st3h    { z23.h, z24.h, z25.h }, p3, [x13, #-24, mul vl]
 // CHECK-INST: st3h    { z23.h, z24.h, z25.h }, p3, [x13, #-24, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xd8,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed d8 e4 <unknown>
 
 st3h    { z21.h, z22.h, z23.h }, p5, [x10, #15, mul vl]
 // CHECK-INST: st3h    { z21.h, z22.h, z23.h }, p5, [x10, #15, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xd5,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 d5 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st3w.s b/llvm/test/MC/AArch64/SVE/st3w.s
index 7f14e48c5c83c..f10336f7f7211 100644
--- a/llvm/test/MC/AArch64/SVE/st3w.s
+++ b/llvm/test/MC/AArch64/SVE/st3w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st3w    { z0.s, z1.s, z2.s }, p0, [x0, x0, lsl #2]
 // CHECK-INST: st3w    { z0.s, z1.s, z2.s }, p0, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0x60,0x40,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 40 e5 <unknown>
 
 st3w    { z5.s, z6.s, z7.s }, p3, [x17, x16, lsl #2]
 // CHECK-INST: st3w    { z5.s, z6.s, z7.s }, p3, [x17, x16, lsl #2]
 // CHECK-ENCODING: [0x25,0x6e,0x50,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e 50 e5 <unknown>
 
 st3w    { z0.s, z1.s, z2.s }, p0, [x0]
 // CHECK-INST: st3w    { z0.s, z1.s, z2.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x50,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 50 e5 <unknown>
 
 st3w    { z23.s, z24.s, z25.s }, p3, [x13, #-24, mul vl]
 // CHECK-INST: st3w    { z23.s, z24.s, z25.s }, p3, [x13, #-24, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x58,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 58 e5 <unknown>
 
 st3w    { z21.s, z22.s, z23.s }, p5, [x10, #15, mul vl]
 // CHECK-INST: st3w    { z21.s, z22.s, z23.s }, p5, [x10, #15, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x55,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 55 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st4b.s b/llvm/test/MC/AArch64/SVE/st4b.s
index c53e8cde16d75..10c0c86e9270e 100644
--- a/llvm/test/MC/AArch64/SVE/st4b.s
+++ b/llvm/test/MC/AArch64/SVE/st4b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st4b    { z0.b, z1.b, z2.b, z3.b }, p0, [x0, x0]
 // CHECK-INST: st4b    { z0.b, z1.b, z2.b, z3.b }, p0, [x0, x0]
 // CHECK-ENCODING: [0x00,0x60,0x60,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 60 e4 <unknown>
 
 st4b    { z5.b, z6.b, z7.b, z8.b }, p3, [x17, x16]
 // CHECK-INST: st4b    { z5.b, z6.b, z7.b, z8.b }, p3, [x17, x16]
 // CHECK-ENCODING: [0x25,0x6e,0x70,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e 70 e4 <unknown>
 
 st4b    { z0.b, z1.b, z2.b, z3.b }, p0, [x0]
 // CHECK-INST: st4b    { z0.b, z1.b, z2.b, z3.b }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x70,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 70 e4 <unknown>
 
 st4b    { z23.b, z24.b, z25.b, z26.b }, p3, [x13, #-32, mul vl]
 // CHECK-INST: st4b    { z23.b, z24.b, z25.b, z26.b }, p3, [x13, #-32, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x78,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 78 e4 <unknown>
 
 st4b    { z21.b, z22.b, z23.b, z24.b }, p5, [x10, #20, mul vl]
 // CHECK-INST: st4b    { z21.b, z22.b, z23.b, z24.b }, p5, [x10, #20, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x75,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 75 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st4d.s b/llvm/test/MC/AArch64/SVE/st4d.s
index 3d4a0f6dac915..c0431c2807430 100644
--- a/llvm/test/MC/AArch64/SVE/st4d.s
+++ b/llvm/test/MC/AArch64/SVE/st4d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st4d    { z0.d, z1.d, z2.d, z3.d }, p0, [x0, x0, lsl #3]
 // CHECK-INST: st4d    { z0.d, z1.d, z2.d, z3.d }, p0, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0x60,0xe0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 e0 e5 <unknown>
 
 st4d    { z5.d, z6.d, z7.d, z8.d }, p3, [x17, x16, lsl #3]
 // CHECK-INST: st4d    { z5.d, z6.d, z7.d, z8.d }, p3, [x17, x16, lsl #3]
 // CHECK-ENCODING: [0x25,0x6e,0xf0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e f0 e5 <unknown>
 
 st4d    { z0.d, z1.d, z2.d, z3.d }, p0, [x0]
 // CHECK-INST: st4d    { z0.d, z1.d, z2.d, z3.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xf0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 f0 e5 <unknown>
 
 st4d    { z23.d, z24.d, z25.d, z26.d }, p3, [x13, #-32, mul vl]
 // CHECK-INST: st4d    { z23.d, z24.d, z25.d, z26.d }, p3, [x13, #-32, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xf8,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed f8 e5 <unknown>
 
 st4d    { z21.d, z22.d, z23.d, z24.d }, p5, [x10, #20, mul vl]
 // CHECK-INST: st4d    { z21.d, z22.d, z23.d, z24.d }, p5, [x10, #20, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xf5,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 f5 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st4h.s b/llvm/test/MC/AArch64/SVE/st4h.s
index 7091a7e24b086..64861380a93e2 100644
--- a/llvm/test/MC/AArch64/SVE/st4h.s
+++ b/llvm/test/MC/AArch64/SVE/st4h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st4h    { z0.h, z1.h, z2.h, z3.h }, p0, [x0, x0, lsl #1]
 // CHECK-INST: st4h    { z0.h, z1.h, z2.h, z3.h }, p0, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0x60,0xe0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 e0 e4 <unknown>
 
 st4h    { z5.h, z6.h, z7.h, z8.h }, p3, [x17, x16, lsl #1]
 // CHECK-INST: st4h    { z5.h, z6.h, z7.h, z8.h }, p3, [x17, x16, lsl #1]
 // CHECK-ENCODING: [0x25,0x6e,0xf0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e f0 e4 <unknown>
 
 st4h    { z0.h, z1.h, z2.h, z3.h }, p0, [x0]
 // CHECK-INST: st4h    { z0.h, z1.h, z2.h, z3.h }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0xf0,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 f0 e4 <unknown>
 
 st4h    { z23.h, z24.h, z25.h, z26.h }, p3, [x13, #-32, mul vl]
 // CHECK-INST: st4h    { z23.h, z24.h, z25.h, z26.h }, p3, [x13, #-32, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0xf8,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed f8 e4 <unknown>
 
 st4h    { z21.h, z22.h, z23.h, z24.h }, p5, [x10, #20, mul vl]
 // CHECK-INST: st4h    { z21.h, z22.h, z23.h, z24.h }, p5, [x10, #20, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0xf5,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 f5 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/st4w.s b/llvm/test/MC/AArch64/SVE/st4w.s
index fa13dd63a47cb..b4e1b08585cbe 100644
--- a/llvm/test/MC/AArch64/SVE/st4w.s
+++ b/llvm/test/MC/AArch64/SVE/st4w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 st4w    { z0.s, z1.s, z2.s, z3.s }, p0, [x0, x0, lsl #2]
 // CHECK-INST: st4w    { z0.s, z1.s, z2.s, z3.s }, p0, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0x60,0x60,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 60 e5 <unknown>
 
 st4w    { z5.s, z6.s, z7.s, z8.s }, p3, [x17, x16, lsl #2]
 // CHECK-INST: st4w    { z5.s, z6.s, z7.s, z8.s }, p3, [x17, x16, lsl #2]
 // CHECK-ENCODING: [0x25,0x6e,0x70,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 25 6e 70 e5 <unknown>
 
 st4w    { z0.s, z1.s, z2.s, z3.s }, p0, [x0]
 // CHECK-INST: st4w    { z0.s, z1.s, z2.s, z3.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x70,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 70 e5 <unknown>
 
 st4w    { z23.s, z24.s, z25.s, z26.s }, p3, [x13, #-32, mul vl]
 // CHECK-INST: st4w    { z23.s, z24.s, z25.s, z26.s }, p3, [x13, #-32, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x78,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 78 e5 <unknown>
 
 st4w    { z21.s, z22.s, z23.s, z24.s }, p5, [x10, #20, mul vl]
 // CHECK-INST: st4w    { z21.s, z22.s, z23.s, z24.s }, p5, [x10, #20, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x75,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 75 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/stnt1b.s b/llvm/test/MC/AArch64/SVE/stnt1b.s
index c10705a2e810a..044d5ccc538d3 100644
--- a/llvm/test/MC/AArch64/SVE/stnt1b.s
+++ b/llvm/test/MC/AArch64/SVE/stnt1b.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 stnt1b  z0.b, p0, [x0]
 // CHECK-INST: stnt1b  { z0.b }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x10,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 10 e4 <unknown>
 
 stnt1b  { z0.b }, p0, [x0]
 // CHECK-INST: stnt1b  { z0.b }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x10,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 10 e4 <unknown>
 
 stnt1b  { z23.b }, p3, [x13, #-8, mul vl]
 // CHECK-INST: stnt1b  { z23.b }, p3, [x13, #-8, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x18,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 18 e4 <unknown>
 
 stnt1b  { z21.b }, p5, [x10, #7, mul vl]
 // CHECK-INST: stnt1b  { z21.b }, p5, [x10, #7, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x17,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 17 e4 <unknown>
 
 stnt1b  { z0.b }, p0, [x0, x0]
 // CHECK-INST: stnt1b  { z0.b }, p0, [x0, x0]
 // CHECK-ENCODING: [0x00,0x60,0x00,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 00 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/stnt1d.s b/llvm/test/MC/AArch64/SVE/stnt1d.s
index a8d798992a192..1f85df8c142f0 100644
--- a/llvm/test/MC/AArch64/SVE/stnt1d.s
+++ b/llvm/test/MC/AArch64/SVE/stnt1d.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 stnt1d  z0.d, p0, [x0]
 // CHECK-INST: stnt1d  { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x90,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 90 e5 <unknown>
 
 stnt1d  { z0.d }, p0, [x0]
 // CHECK-INST: stnt1d  { z0.d }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x90,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 90 e5 <unknown>
 
 stnt1d  { z23.d }, p3, [x13, #-8, mul vl]
 // CHECK-INST: stnt1d  { z23.d }, p3, [x13, #-8, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x98,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 98 e5 <unknown>
 
 stnt1d  { z21.d }, p5, [x10, #7, mul vl]
 // CHECK-INST: stnt1d  { z21.d }, p5, [x10, #7, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x97,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 97 e5 <unknown>
 
 stnt1d  { z0.d }, p0, [x0, x0, lsl #3]
 // CHECK-INST: stnt1d  { z0.d }, p0, [x0, x0, lsl #3]
 // CHECK-ENCODING: [0x00,0x60,0x80,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 80 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/stnt1h.s b/llvm/test/MC/AArch64/SVE/stnt1h.s
index 2da9cebd22f20..8862b9c5fd75e 100644
--- a/llvm/test/MC/AArch64/SVE/stnt1h.s
+++ b/llvm/test/MC/AArch64/SVE/stnt1h.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 stnt1h  z0.h, p0, [x0]
 // CHECK-INST: stnt1h  { z0.h }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x90,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 90 e4 <unknown>
 
 stnt1h  { z0.h }, p0, [x0]
 // CHECK-INST: stnt1h  { z0.h }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x90,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 90 e4 <unknown>
 
 stnt1h  { z23.h }, p3, [x13, #-8, mul vl]
 // CHECK-INST: stnt1h  { z23.h }, p3, [x13, #-8, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x98,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 98 e4 <unknown>
 
 stnt1h  { z21.h }, p5, [x10, #7, mul vl]
 // CHECK-INST: stnt1h  { z21.h }, p5, [x10, #7, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x97,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 97 e4 <unknown>
 
 stnt1h  { z0.h }, p0, [x0, x0, lsl #1]
 // CHECK-INST: stnt1h  { z0.h }, p0, [x0, x0, lsl #1]
 // CHECK-ENCODING: [0x00,0x60,0x80,0xe4]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 80 e4 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/stnt1w.s b/llvm/test/MC/AArch64/SVE/stnt1w.s
index 3291c108dc776..2bf56c15bfa46 100644
--- a/llvm/test/MC/AArch64/SVE/stnt1w.s
+++ b/llvm/test/MC/AArch64/SVE/stnt1w.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,29 +12,29 @@
 stnt1w  z0.s, p0, [x0]
 // CHECK-INST: stnt1w  { z0.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x10,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 10 e5 <unknown>
 
 stnt1w  { z0.s }, p0, [x0]
 // CHECK-INST: stnt1w  { z0.s }, p0, [x0]
 // CHECK-ENCODING: [0x00,0xe0,0x10,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 10 e5 <unknown>
 
 stnt1w  { z23.s }, p3, [x13, #-8, mul vl]
 // CHECK-INST: stnt1w  { z23.s }, p3, [x13, #-8, mul vl]
 // CHECK-ENCODING: [0xb7,0xed,0x18,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 ed 18 e5 <unknown>
 
 stnt1w  { z21.s }, p5, [x10, #7, mul vl]
 // CHECK-INST: stnt1w  { z21.s }, p5, [x10, #7, mul vl]
 // CHECK-ENCODING: [0x55,0xf5,0x17,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 f5 17 e5 <unknown>
 
 stnt1w  { z0.s }, p0, [x0, x0, lsl #2]
 // CHECK-INST: stnt1w  { z0.s }, p0, [x0, x0, lsl #2]
 // CHECK-ENCODING: [0x00,0x60,0x00,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 00 e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/str.s b/llvm/test/MC/AArch64/SVE/str.s
index 9eff364ef6481..476ace3ef6837 100644
--- a/llvm/test/MC/AArch64/SVE/str.s
+++ b/llvm/test/MC/AArch64/SVE/str.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,35 +12,35 @@
 str     z0, [x0]
 // CHECK-INST: str     z0, [x0]
 // CHECK-ENCODING: [0x00,0x40,0x80,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 80 e5 <unknown>
 
 str     z21, [x10, #-256, mul vl]
 // CHECK-INST: str     z21, [x10, #-256, mul vl]
 // CHECK-ENCODING: [0x55,0x41,0xa0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 41 a0 e5 <unknown>
 
 str     z31, [sp, #255, mul vl]
 // CHECK-INST: str     z31, [sp, #255, mul vl]
 // CHECK-ENCODING: [0xff,0x5f,0x9f,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 5f 9f e5 <unknown>
 
 str     p0, [x0]
 // CHECK-INST: str     p0, [x0]
 // CHECK-ENCODING: [0x00,0x00,0x80,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 80 e5 <unknown>
 
 str     p15, [sp, #-256, mul vl]
 // CHECK-INST: str     p15, [sp, #-256, mul vl]
 // CHECK-ENCODING: [0xef,0x03,0xa0,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 03 a0 e5 <unknown>
 
 str     p5, [x10, #255, mul vl]
 // CHECK-INST: str     p5, [x10, #255, mul vl]
 // CHECK-ENCODING: [0x45,0x1d,0x9f,0xe5]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 45 1d 9f e5 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sub.s b/llvm/test/MC/AArch64/SVE/sub.s
index 12ae031afa359..67071e6910521 100644
--- a/llvm/test/MC/AArch64/SVE/sub.s
+++ b/llvm/test/MC/AArch64/SVE/sub.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,193 +12,193 @@
 sub     z0.h, z0.h, z0.h
 // CHECK-INST: sub     z0.h, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x04,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 04 60 04 <unknown>
 
 sub     z21.b, z10.b, z21.b
 // CHECK-INST: sub     z21.b, z10.b, z21.b
 // CHECK-ENCODING: [0x55,0x05,0x35,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 05 35 04 <unknown>
 
 sub     z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: sub     z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f c1 04 <unknown>
 
 sub     z23.h, p3/m, z23.h, z13.h
 // CHECK-INST: sub     z23.h, p3/m, z23.h, z13.h
 // CHECK-ENCODING: [0xb7,0x0d,0x41,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d 41 04 <unknown>
 
 sub     z31.h, z31.h, z31.h
 // CHECK-INST: sub     z31.h, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x07,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 07 7f 04 <unknown>
 
 sub     z21.h, z10.h, z21.h
 // CHECK-INST: sub     z21.h, z10.h, z21.h
 // CHECK-ENCODING: [0x55,0x05,0x75,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 05 75 04 <unknown>
 
 sub     z31.b, z31.b, z31.b
 // CHECK-INST: sub     z31.b, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x07,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 07 3f 04 <unknown>
 
 sub     z0.s, z0.s, z0.s
 // CHECK-INST: sub     z0.s, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x04,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 04 a0 04 <unknown>
 
 sub     z23.s, p3/m, z23.s, z13.s
 // CHECK-INST: sub     z23.s, p3/m, z23.s, z13.s
 // CHECK-ENCODING: [0xb7,0x0d,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d 81 04 <unknown>
 
 sub     z23.b, z13.b, z8.b
 // CHECK-INST: sub     z23.b, z13.b, z8.b
 // CHECK-ENCODING: [0xb7,0x05,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 05 28 04 <unknown>
 
 sub     z21.d, z10.d, z21.d
 // CHECK-INST: sub     z21.d, z10.d, z21.d
 // CHECK-ENCODING: [0x55,0x05,0xf5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 05 f5 04 <unknown>
 
 sub     z21.s, z10.s, z21.s
 // CHECK-INST: sub     z21.s, z10.s, z21.s
 // CHECK-ENCODING: [0x55,0x05,0xb5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 05 b5 04 <unknown>
 
 sub     z21.s, p5/m, z21.s, z10.s
 // CHECK-INST: sub     z21.s, p5/m, z21.s, z10.s
 // CHECK-ENCODING: [0x55,0x15,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 81 04 <unknown>
 
 sub     z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: sub     z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 81 04 <unknown>
 
 sub     z0.d, p0/m, z0.d, z0.d
 // CHECK-INST: sub     z0.d, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x00,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 c1 04 <unknown>
 
 sub     z0.b, z0.b, z0.b
 // CHECK-INST: sub     z0.b, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x04,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 04 20 04 <unknown>
 
 sub     z23.d, z13.d, z8.d
 // CHECK-INST: sub     z23.d, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0x05,0xe8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 05 e8 04 <unknown>
 
 sub     z23.d, p3/m, z23.d, z13.d
 // CHECK-INST: sub     z23.d, p3/m, z23.d, z13.d
 // CHECK-ENCODING: [0xb7,0x0d,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d c1 04 <unknown>
 
 sub     z23.s, z13.s, z8.s
 // CHECK-INST: sub     z23.s, z13.s, z8.s
 // CHECK-ENCODING: [0xb7,0x05,0xa8,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 05 a8 04 <unknown>
 
 sub     z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: sub     z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 01 04 <unknown>
 
 sub     z0.h, p0/m, z0.h, z0.h
 // CHECK-INST: sub     z0.h, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x00,0x41,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 41 04 <unknown>
 
 sub     z31.d, z31.d, z31.d
 // CHECK-INST: sub     z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x07,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 07 ff 04 <unknown>
 
 sub     z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: sub     z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x41,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 41 04 <unknown>
 
 sub     z23.h, z13.h, z8.h
 // CHECK-INST: sub     z23.h, z13.h, z8.h
 // CHECK-ENCODING: [0xb7,0x05,0x68,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 05 68 04 <unknown>
 
 sub     z21.b, p5/m, z21.b, z10.b
 // CHECK-INST: sub     z21.b, p5/m, z21.b, z10.b
 // CHECK-ENCODING: [0x55,0x15,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 01 04 <unknown>
 
 sub     z21.d, p5/m, z21.d, z10.d
 // CHECK-INST: sub     z21.d, p5/m, z21.d, z10.d
 // CHECK-ENCODING: [0x55,0x15,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 c1 04 <unknown>
 
 sub     z0.d, z0.d, z0.d
 // CHECK-INST: sub     z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x04,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 04 e0 04 <unknown>
 
 sub     z31.s, z31.s, z31.s
 // CHECK-INST: sub     z31.s, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x07,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 07 bf 04 <unknown>
 
 sub     z0.b, p0/m, z0.b, z0.b
 // CHECK-INST: sub     z0.b, p0/m, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x00,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 01 04 <unknown>
 
 sub     z0.s, p0/m, z0.s, z0.s
 // CHECK-INST: sub     z0.s, p0/m, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x00,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 81 04 <unknown>
 
 sub     z21.h, p5/m, z21.h, z10.h
 // CHECK-INST: sub     z21.h, p5/m, z21.h, z10.h
 // CHECK-ENCODING: [0x55,0x15,0x41,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 55 15 41 04 <unknown>
 
 sub     z23.b, p3/m, z23.b, z13.b
 // CHECK-INST: sub     z23.b, p3/m, z23.b, z13.b
 // CHECK-ENCODING: [0xb7,0x0d,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d 01 04 <unknown>
 
 // -----------------------
@@ -205,85 +207,85 @@ sub     z23.b, p3/m, z23.b, z13.b
 sub     z0.b, z0.b, #0
 // CHECK-INST: sub     z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x21,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 21 25 <unknown>
 
 sub     z31.b, z31.b, #255
 // CHECK-INST: sub     z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x21,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 21 25 <unknown>
 
 sub     z0.h, z0.h, #0
 // CHECK-INST: sub     z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0xc0,0x61,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 61 25 <unknown>
 
 sub     z0.h, z0.h, #0, lsl #8
 // CHECK-INST: sub     z0.h, z0.h, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0x61,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 61 25 <unknown>
 
 sub     z31.h, z31.h, #255, lsl #8
 // CHECK-INST: sub     z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x61,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 61 25 <unknown>
 
 sub     z31.h, z31.h, #65280
 // CHECK-INST: sub     z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x61,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 61 25 <unknown>
 
 sub     z0.s, z0.s, #0
 // CHECK-INST: sub     z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0xc0,0xa1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a1 25 <unknown>
 
 sub     z0.s, z0.s, #0, lsl #8
 // CHECK-INST: sub     z0.s, z0.s, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xa1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a1 25 <unknown>
 
 sub     z31.s, z31.s, #255, lsl #8
 // CHECK-INST: sub     z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a1 25 <unknown>
 
 sub     z31.s, z31.s, #65280
 // CHECK-INST: sub     z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a1 25 <unknown>
 
 sub     z0.d, z0.d, #0
 // CHECK-INST: sub     z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0xc0,0xe1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e1 25 <unknown>
 
 sub     z0.d, z0.d, #0, lsl #8
 // CHECK-INST: sub     z0.d, z0.d, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xe1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e1 25 <unknown>
 
 sub     z31.d, z31.d, #255, lsl #8
 // CHECK-INST: sub     z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e1 25 <unknown>
 
 sub     z31.d, z31.d, #65280
 // CHECK-INST: sub     z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e1 25 <unknown>
 
 
@@ -294,35 +296,35 @@ sub     z31.d, z31.d, #65280
 movprfx z23.b, p3/z, z30.b
 // CHECK-INST: movprfx	z23.b, p3/z, z30.b
 // CHECK-ENCODING: [0xd7,0x2f,0x10,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: d7 2f 10 04 <unknown>
 
 sub     z23.b, p3/m, z23.b, z13.b
 // CHECK-INST: sub	z23.b, p3/m, z23.b, z13.b
 // CHECK-ENCODING: [0xb7,0x0d,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d 01 04 <unknown>
 
 movprfx z23, z30
 // CHECK-INST: movprfx	z23, z30
 // CHECK-ENCODING: [0xd7,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: d7 bf 20 04 <unknown>
 
 sub     z23.b, p3/m, z23.b, z13.b
 // CHECK-INST: sub	z23.b, p3/m, z23.b, z13.b
 // CHECK-ENCODING: [0xb7,0x0d,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: b7 0d 01 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sub     z31.d, z31.d, #65280
 // CHECK-INST: sub	z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe1,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e1 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/subr.s b/llvm/test/MC/AArch64/SVE/subr.s
index 40f09e43a361a..65201aa414807 100644
--- a/llvm/test/MC/AArch64/SVE/subr.s
+++ b/llvm/test/MC/AArch64/SVE/subr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,109 +13,109 @@
 subr    z0.b, p0/m, z0.b, z0.b
 // CHECK-INST: subr z0.b, p0/m, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x00,0x03,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 03 04 <unknown>
 
 subr    z0.h, p0/m, z0.h, z0.h
 // CHECK-INST: subr z0.h, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x00,0x43,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 43 04 <unknown>
 
 subr    z0.s, p0/m, z0.s, z0.s
 // CHECK-INST: subr z0.s, p0/m, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x00,0x83,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 83 04 <unknown>
 
 subr    z0.d, p0/m, z0.d, z0.d
 // CHECK-INST: subr z0.d, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x00,0xc3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 00 c3 04 <unknown>
 
 subr    z0.b, z0.b, #0
 // CHECK-INST: subr z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x23,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 23 25 <unknown>
 
 subr    z31.b, z31.b, #255
 // CHECK-INST: subr z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x23,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 23 25 <unknown>
 
 subr    z0.h, z0.h, #0
 // CHECK-INST: subr z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0xc0,0x63,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 63 25 <unknown>
 
 subr    z0.h, z0.h, #0, lsl #8
 // CHECK-INST: subr z0.h, z0.h, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0x63,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 63 25 <unknown>
 
 subr    z31.h, z31.h, #255, lsl #8
 // CHECK-INST: subr z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x63,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 63 25 <unknown>
 
 subr    z31.h, z31.h, #65280
 // CHECK-INST: subr z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x63,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 63 25 <unknown>
 
 subr    z0.s, z0.s, #0
 // CHECK-INST: subr z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0xc0,0xa3,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a3 25 <unknown>
 
 subr    z0.s, z0.s, #0, lsl #8
 // CHECK-INST: subr z0.s, z0.s, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xa3,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a3 25 <unknown>
 
 subr    z31.s, z31.s, #255, lsl #8
 // CHECK-INST: subr z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa3,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a3 25 <unknown>
 
 subr    z31.s, z31.s, #65280
 // CHECK-INST: subr z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa3,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a3 25 <unknown>
 
 subr    z0.d, z0.d, #0
 // CHECK-INST: subr z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0xc0,0xe3,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e3 25 <unknown>
 
 subr    z0.d, z0.d, #0, lsl #8
 // CHECK-INST: subr z0.d, z0.d, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xe3,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e3 25 <unknown>
 
 subr    z31.d, z31.d, #255, lsl #8
 // CHECK-INST: subr z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe3,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e3 25 <unknown>
 
 subr    z31.d, z31.d, #65280
 // CHECK-INST: subr z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe3,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e3 25 <unknown>
 
 
@@ -123,35 +125,35 @@ subr    z31.d, z31.d, #65280
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 subr    z5.d, p0/m, z5.d, z0.d
 // CHECK-INST: subr	z5.d, p0/m, z5.d, z0.d
 // CHECK-ENCODING: [0x05,0x00,0xc3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 00 c3 04 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 subr    z5.d, p0/m, z5.d, z0.d
 // CHECK-INST: subr	z5.d, p0/m, z5.d, z0.d
 // CHECK-ENCODING: [0x05,0x00,0xc3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 00 c3 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 subr    z31.d, z31.d, #65280
 // CHECK-INST: subr	z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe3,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e3 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sunpkhi.s b/llvm/test/MC/AArch64/SVE/sunpkhi.s
index 6965406c47f9e..fa4f67c5c943a 100644
--- a/llvm/test/MC/AArch64/SVE/sunpkhi.s
+++ b/llvm/test/MC/AArch64/SVE/sunpkhi.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 sunpkhi z31.h, z31.b
 // CHECK-INST: sunpkhi	z31.h, z31.b
 // CHECK-ENCODING: [0xff,0x3b,0x71,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 71 05 <unknown>
 
 sunpkhi z31.s, z31.h
 // CHECK-INST: sunpkhi	z31.s, z31.h
 // CHECK-ENCODING: [0xff,0x3b,0xb1,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b b1 05 <unknown>
 
 sunpkhi z31.d, z31.s
 // CHECK-INST: sunpkhi	z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x3b,0xf1,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b f1 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sunpklo.s b/llvm/test/MC/AArch64/SVE/sunpklo.s
index ce297910645ed..2106753d20c60 100644
--- a/llvm/test/MC/AArch64/SVE/sunpklo.s
+++ b/llvm/test/MC/AArch64/SVE/sunpklo.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 sunpklo z31.h, z31.b
 // CHECK-INST: sunpklo	z31.h, z31.b
 // CHECK-ENCODING: [0xff,0x3b,0x70,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 70 05 <unknown>
 
 sunpklo z31.s, z31.h
 // CHECK-INST: sunpklo	z31.s, z31.h
 // CHECK-ENCODING: [0xff,0x3b,0xb0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b b0 05 <unknown>
 
 sunpklo z31.d, z31.s
 // CHECK-INST: sunpklo	z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x3b,0xf0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b f0 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sxtb.s b/llvm/test/MC/AArch64/SVE/sxtb.s
index dc26ffc1d71d5..e4b391a57df24 100644
--- a/llvm/test/MC/AArch64/SVE/sxtb.s
+++ b/llvm/test/MC/AArch64/SVE/sxtb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,37 +12,37 @@
 sxtb    z0.h, p0/m, z0.h
 // CHECK-INST: sxtb    z0.h, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x50,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 50 04 <unknown>
 
 sxtb    z0.s, p0/m, z0.s
 // CHECK-INST: sxtb    z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 90 04 <unknown>
 
 sxtb    z0.d, p0/m, z0.d
 // CHECK-INST: sxtb    z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d0 04 <unknown>
 
 sxtb    z31.h, p7/m, z31.h
 // CHECK-INST: sxtb    z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x50,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 50 04 <unknown>
 
 sxtb    z31.s, p7/m, z31.s
 // CHECK-INST: sxtb    z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 90 04 <unknown>
 
 sxtb    z31.d, p7/m, z31.d
 // CHECK-INST: sxtb    z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d0 04 <unknown>
 
 
@@ -50,23 +52,23 @@ sxtb    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 sxtb    z4.d, p7/m, z31.d
 // CHECK-INST: sxtb	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d0 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 sxtb    z4.d, p7/m, z31.d
 // CHECK-INST: sxtb	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sxth.s b/llvm/test/MC/AArch64/SVE/sxth.s
index d5e6a6685d90b..83ce9981097e9 100644
--- a/llvm/test/MC/AArch64/SVE/sxth.s
+++ b/llvm/test/MC/AArch64/SVE/sxth.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 sxth    z0.s, p0/m, z0.s
 // CHECK-INST: sxth    z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x92,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 92 04 <unknown>
 
 sxth    z0.d, p0/m, z0.d
 // CHECK-INST: sxth    z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d2 04 <unknown>
 
 sxth    z31.s, p7/m, z31.s
 // CHECK-INST: sxth    z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x92,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 92 04 <unknown>
 
 sxth    z31.d, p7/m, z31.d
 // CHECK-INST: sxth    z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d2 04 <unknown>
 
 
@@ -38,23 +40,23 @@ sxth    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 sxth    z4.d, p7/m, z31.d
 // CHECK-INST: sxth	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d2 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 sxth    z4.d, p7/m, z31.d
 // CHECK-INST: sxth	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd2,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d2 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/sxtw.s b/llvm/test/MC/AArch64/SVE/sxtw.s
index 646c55dec4a5d..bd4c291f67b30 100644
--- a/llvm/test/MC/AArch64/SVE/sxtw.s
+++ b/llvm/test/MC/AArch64/SVE/sxtw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,13 +12,13 @@
 sxtw    z0.d, p0/m, z0.d
 // CHECK-INST: sxtw    z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d4 04 <unknown>
 
 sxtw    z31.d, p7/m, z31.d
 // CHECK-INST: sxtw    z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d4 04 <unknown>
 
 
@@ -26,23 +28,23 @@ sxtw    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 sxtw    z4.d, p7/m, z31.d
 // CHECK-INST: sxtw	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d4 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 sxtw    z4.d, p7/m, z31.d
 // CHECK-INST: sxtw	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd4,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d4 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/tbl.s b/llvm/test/MC/AArch64/SVE/tbl.s
index 8d10db25d9c85..bbd692eab45db 100644
--- a/llvm/test/MC/AArch64/SVE/tbl.s
+++ b/llvm/test/MC/AArch64/SVE/tbl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,47 +12,47 @@
 tbl  z31.b, z31.b, z31.b
 // CHECK-INST: tbl	z31.b, { z31.b }, z31.b
 // CHECK-ENCODING: [0xff,0x33,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 33 3f 05 <unknown>
 
 tbl  z31.h, z31.h, z31.h
 // CHECK-INST: tbl	z31.h, { z31.h }, z31.h
 // CHECK-ENCODING: [0xff,0x33,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 33 7f 05 <unknown>
 
 tbl  z31.s, z31.s, z31.s
 // CHECK-INST: tbl	z31.s, { z31.s }, z31.s
 // CHECK-ENCODING: [0xff,0x33,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 33 bf 05 <unknown>
 
 tbl  z31.d, z31.d, z31.d
 // CHECK-INST: tbl	z31.d, { z31.d }, z31.d
 // CHECK-ENCODING: [0xff,0x33,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 33 ff 05 <unknown>
 
 tbl  z31.b, { z31.b }, z31.b
 // CHECK-INST: tbl	z31.b, { z31.b }, z31.b
 // CHECK-ENCODING: [0xff,0x33,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 33 3f 05 <unknown>
 
 tbl  z31.h, { z31.h }, z31.h
 // CHECK-INST: tbl	z31.h, { z31.h }, z31.h
 // CHECK-ENCODING: [0xff,0x33,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 33 7f 05 <unknown>
 
 tbl  z31.s, { z31.s }, z31.s
 // CHECK-INST: tbl	z31.s, { z31.s }, z31.s
 // CHECK-ENCODING: [0xff,0x33,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 33 bf 05 <unknown>
 
 tbl  z31.d, { z31.d }, z31.d
 // CHECK-INST: tbl	z31.d, { z31.d }, z31.d
 // CHECK-ENCODING: [0xff,0x33,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 33 ff 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/trn1.s b/llvm/test/MC/AArch64/SVE/trn1.s
index 5f90835f7d25e..623cb3e5dd08d 100644
--- a/llvm/test/MC/AArch64/SVE/trn1.s
+++ b/llvm/test/MC/AArch64/SVE/trn1.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,47 +12,47 @@
 trn1    z31.b, z31.b, z31.b
 // CHECK-INST: trn1	z31.b, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x73,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 73 3f 05 <unknown>
 
 trn1    z31.h, z31.h, z31.h
 // CHECK-INST: trn1	z31.h, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x73,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 73 7f 05 <unknown>
 
 trn1    z31.s, z31.s, z31.s
 // CHECK-INST: trn1	z31.s, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x73,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 73 bf 05 <unknown>
 
 trn1    z31.d, z31.d, z31.d
 // CHECK-INST: trn1	z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x73,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 73 ff 05 <unknown>
 
 trn1    p15.b, p15.b, p15.b
 // CHECK-INST: trn1	p15.b, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x51,0x2f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 51 2f 05 <unknown>
 
 trn1    p15.s, p15.s, p15.s
 // CHECK-INST: trn1	p15.s, p15.s, p15.s
 // CHECK-ENCODING: [0xef,0x51,0xaf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 51 af 05 <unknown>
 
 trn1    p15.h, p15.h, p15.h
 // CHECK-INST: trn1	p15.h, p15.h, p15.h
 // CHECK-ENCODING: [0xef,0x51,0x6f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 51 6f 05 <unknown>
 
 trn1    p15.d, p15.d, p15.d
 // CHECK-INST: trn1	p15.d, p15.d, p15.d
 // CHECK-ENCODING: [0xef,0x51,0xef,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 51 ef 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/trn2.s b/llvm/test/MC/AArch64/SVE/trn2.s
index e47bd6be2b3f8..4b73b9053e878 100644
--- a/llvm/test/MC/AArch64/SVE/trn2.s
+++ b/llvm/test/MC/AArch64/SVE/trn2.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,47 +12,47 @@
 trn2    z31.b, z31.b, z31.b
 // CHECK-INST: trn2	z31.b, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x77,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 77 3f 05 <unknown>
 
 trn2    z31.h, z31.h, z31.h
 // CHECK-INST: trn2	z31.h, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x77,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 77 7f 05 <unknown>
 
 trn2    z31.s, z31.s, z31.s
 // CHECK-INST: trn2	z31.s, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x77,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 77 bf 05 <unknown>
 
 trn2    z31.d, z31.d, z31.d
 // CHECK-INST: trn2	z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x77,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 77 ff 05 <unknown>
 
 trn2    p15.b, p15.b, p15.b
 // CHECK-INST: trn2	p15.b, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x55,0x2f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 55 2f 05 <unknown>
 
 trn2    p15.s, p15.s, p15.s
 // CHECK-INST: trn2	p15.s, p15.s, p15.s
 // CHECK-ENCODING: [0xef,0x55,0xaf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 55 af 05 <unknown>
 
 trn2    p15.h, p15.h, p15.h
 // CHECK-INST: trn2	p15.h, p15.h, p15.h
 // CHECK-ENCODING: [0xef,0x55,0x6f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 55 6f 05 <unknown>
 
 trn2    p15.d, p15.d, p15.d
 // CHECK-INST: trn2	p15.d, p15.d, p15.d
 // CHECK-ENCODING: [0xef,0x55,0xef,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 55 ef 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uabd.s b/llvm/test/MC/AArch64/SVE/uabd.s
index 72a77402f2043..b8ac9d8fc4e54 100644
--- a/llvm/test/MC/AArch64/SVE/uabd.s
+++ b/llvm/test/MC/AArch64/SVE/uabd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 uabd  z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: uabd	z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x0d,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 0d 04 <unknown>
 
 uabd  z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: uabd	z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x4d,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 4d 04 <unknown>
 
 uabd  z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: uabd	z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x8d,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 8d 04 <unknown>
 
 uabd  z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: uabd	z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xcd,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f cd 04 <unknown>
 
 
@@ -38,23 +40,23 @@ uabd  z31.d, p7/m, z31.d, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 uabd  z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: uabd	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xcd,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f cd 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 uabd  z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: uabd	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xcd,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f cd 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uaddv.s b/llvm/test/MC/AArch64/SVE/uaddv.s
index 255353238d5f1..2d9e26f601b33 100644
--- a/llvm/test/MC/AArch64/SVE/uaddv.s
+++ b/llvm/test/MC/AArch64/SVE/uaddv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 uaddv d0, p7, z31.b
 // CHECK-INST: uaddv	d0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x3f,0x01,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 01 04 <unknown>
 
 uaddv d0, p7, z31.h
 // CHECK-INST: uaddv	d0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x41,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 41 04 <unknown>
 
 uaddv d0, p7, z31.s
 // CHECK-INST: uaddv	d0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x81,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 81 04 <unknown>
 
 uaddv d0, p7, z31.d
 // CHECK-INST: uaddv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xc1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f c1 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/ucvtf.s b/llvm/test/MC/AArch64/SVE/ucvtf.s
index b777463b58334..231e9d900a0bb 100644
--- a/llvm/test/MC/AArch64/SVE/ucvtf.s
+++ b/llvm/test/MC/AArch64/SVE/ucvtf.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,43 +12,43 @@
 ucvtf   z0.h, p0/m, z0.h
 // CHECK-INST: ucvtf   z0.h, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x53,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 53 65 <unknown>
 
 ucvtf   z0.h, p0/m, z0.s
 // CHECK-INST: ucvtf   z0.h, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x55,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 55 65 <unknown>
 
 ucvtf   z0.h, p0/m, z0.d
 // CHECK-INST: ucvtf   z0.h, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0x57,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 57 65 <unknown>
 
 ucvtf   z0.s, p0/m, z0.s
 // CHECK-INST: ucvtf   z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x95,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 95 65 <unknown>
 
 ucvtf   z0.s, p0/m, z0.d
 // CHECK-INST: ucvtf   z0.s, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd5,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d5 65 <unknown>
 
 ucvtf   z0.d, p0/m, z0.s
 // CHECK-INST: ucvtf   z0.d, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0xd1,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d1 65 <unknown>
 
 ucvtf   z0.d, p0/m, z0.d
 // CHECK-INST: ucvtf   z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d7 65 <unknown>
 
 
@@ -56,23 +58,23 @@ ucvtf   z0.d, p0/m, z0.d
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 ucvtf   z5.d, p0/m, z0.d
 // CHECK-INST: ucvtf	z5.d, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0xd7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 d7 65 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 ucvtf   z5.d, p0/m, z0.d
 // CHECK-INST: ucvtf	z5.d, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0xd7,0x65]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 05 a0 d7 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/udiv.s b/llvm/test/MC/AArch64/SVE/udiv.s
index 66a4cb059e732..3a5aff16ab510 100644
--- a/llvm/test/MC/AArch64/SVE/udiv.s
+++ b/llvm/test/MC/AArch64/SVE/udiv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,13 +12,13 @@
 udiv   z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: udiv	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x1f,0x95,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 95 04 <unknown>
 
 udiv   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: udiv	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d5 04 <unknown>
 
 
@@ -26,23 +28,23 @@ udiv   z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 udiv   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: udiv	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d5 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 udiv   z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: udiv	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d5 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/udivr.s b/llvm/test/MC/AArch64/SVE/udivr.s
index d67ad22d56e3c..4341ca8fcba10 100644
--- a/llvm/test/MC/AArch64/SVE/udivr.s
+++ b/llvm/test/MC/AArch64/SVE/udivr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,13 +12,13 @@
 udivr  z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: udivr	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x1f,0x97,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 97 04 <unknown>
 
 udivr  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: udivr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d7 04 <unknown>
 
 
@@ -26,23 +28,23 @@ udivr  z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 udivr  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: udivr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d7 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 udivr  z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: udivr	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd7,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d7 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/udot.s b/llvm/test/MC/AArch64/SVE/udot.s
index 13c4aa6258efe..b5584fdc3f770 100644
--- a/llvm/test/MC/AArch64/SVE/udot.s
+++ b/llvm/test/MC/AArch64/SVE/udot.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 udot  z0.s, z1.b, z31.b
 // CHECK-INST: udot	z0.s, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x04,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 9f 44 <unknown>
 
 udot  z0.d, z1.h, z31.h
 // CHECK-INST: udot	z0.d, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x04,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 df 44 <unknown>
 
 udot  z0.s, z1.b, z7.b[3]
 // CHECK-INST: udot	z0.s, z1.b, z7.b[3]
 // CHECK-ENCODING: [0x20,0x04,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 bf 44 <unknown>
 
 udot  z0.d, z1.h, z15.h[1]
 // CHECK-INST: udot	z0.d, z1.h, z15.h[1]
 // CHECK-ENCODING: [0x20,0x04,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 ff 44 <unknown>
 
 
@@ -38,23 +40,23 @@ udot  z0.d, z1.h, z15.h[1]
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 udot  z0.d, z1.h, z31.h
 // CHECK-INST: udot	z0.d, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x04,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 df 44 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 udot  z0.d, z1.h, z15.h[1]
 // CHECK-INST: udot	z0.d, z1.h, z15.h[1]
 // CHECK-ENCODING: [0x20,0x04,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 04 ff 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/umax.s b/llvm/test/MC/AArch64/SVE/umax.s
index b15a05d90f372..f1b0d6d7349d2 100644
--- a/llvm/test/MC/AArch64/SVE/umax.s
+++ b/llvm/test/MC/AArch64/SVE/umax.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,73 +12,73 @@
 umax    z0.b, z0.b, #0
 // CHECK-INST: umax	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 29 25 <unknown>
 
 umax    z31.b, z31.b, #255
 // CHECK-INST: umax	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 29 25 <unknown>
 
 umax    z0.b, z0.b, #0
 // CHECK-INST: umax	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 29 25 <unknown>
 
 umax    z31.b, z31.b, #255
 // CHECK-INST: umax	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 29 25 <unknown>
 
 umax    z0.b, z0.b, #0
 // CHECK-INST: umax	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 29 25 <unknown>
 
 umax    z31.b, z31.b, #255
 // CHECK-INST: umax	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 29 25 <unknown>
 
 umax    z0.b, z0.b, #0
 // CHECK-INST: umax	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 29 25 <unknown>
 
 umax    z31.b, z31.b, #255
 // CHECK-INST: umax	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 29 25 <unknown>
 
 umax    z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: umax    z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x09,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 09 04 <unknown>
 
 umax    z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: umax    z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x49,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 49 04 <unknown>
 
 umax    z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: umax    z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x89,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 89 04 <unknown>
 
 umax    z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: umax    z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xc9,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f c9 04 <unknown>
 
 
@@ -86,35 +88,35 @@ umax    z31.d, p7/m, z31.d, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 umax    z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: umax	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xc9,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f c9 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 umax    z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: umax	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xc9,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f c9 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 umax    z31.b, z31.b, #255
 // CHECK-INST: umax	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 29 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/umaxv.s b/llvm/test/MC/AArch64/SVE/umaxv.s
index e59dd3101e6a4..db02f5e8a2c6e 100644
--- a/llvm/test/MC/AArch64/SVE/umaxv.s
+++ b/llvm/test/MC/AArch64/SVE/umaxv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 umaxv b0, p7, z31.b
 // CHECK-INST: umaxv	b0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x3f,0x09,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 09 04 <unknown>
 
 umaxv h0, p7, z31.h
 // CHECK-INST: umaxv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x49,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 49 04 <unknown>
 
 umaxv s0, p7, z31.s
 // CHECK-INST: umaxv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x89,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 89 04 <unknown>
 
 umaxv d0, p7, z31.d
 // CHECK-INST: umaxv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xc9,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f c9 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/umin.s b/llvm/test/MC/AArch64/SVE/umin.s
index 9d26044938ae0..8919d803fb7e9 100644
--- a/llvm/test/MC/AArch64/SVE/umin.s
+++ b/llvm/test/MC/AArch64/SVE/umin.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,73 +12,73 @@
 umin    z0.b, z0.b, #0
 // CHECK-INST: umin	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 2b 25 <unknown>
 
 umin    z31.b, z31.b, #255
 // CHECK-INST: umin	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 2b 25 <unknown>
 
 umin    z0.b, z0.b, #0
 // CHECK-INST: umin	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 2b 25 <unknown>
 
 umin    z31.b, z31.b, #255
 // CHECK-INST: umin	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 2b 25 <unknown>
 
 umin    z0.b, z0.b, #0
 // CHECK-INST: umin	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 2b 25 <unknown>
 
 umin    z31.b, z31.b, #255
 // CHECK-INST: umin	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 2b 25 <unknown>
 
 umin    z0.b, z0.b, #0
 // CHECK-INST: umin	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 2b 25 <unknown>
 
 umin    z31.b, z31.b, #255
 // CHECK-INST: umin	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 2b 25 <unknown>
 
 umin    z31.b, p7/m, z31.b, z31.b
 // CHECK-INST: umin	z31.b, p7/m, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x1f,0x0b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 0b 04 <unknown>
 
 umin    z31.h, p7/m, z31.h, z31.h
 // CHECK-INST: umin	z31.h, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x1f,0x4b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 4b 04 <unknown>
 
 umin    z31.s, p7/m, z31.s, z31.s
 // CHECK-INST: umin	z31.s, p7/m, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0x8b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 8b 04 <unknown>
 
 umin    z31.d, p7/m, z31.d, z31.d
 // CHECK-INST: umin	z31.d, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x1f,0xcb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f cb 04 <unknown>
 
 
@@ -86,35 +88,35 @@ umin    z31.d, p7/m, z31.d, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 umin    z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: umin	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xcb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f cb 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 umin    z4.d, p7/m, z4.d, z31.d
 // CHECK-INST: umin	z4.d, p7/m, z4.d, z31.d
 // CHECK-ENCODING: [0xe4,0x1f,0xcb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 1f cb 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 umin    z31.b, z31.b, #255
 // CHECK-INST: umin	z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 2b 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uminv.s b/llvm/test/MC/AArch64/SVE/uminv.s
index 6fc8fbc63b1a2..bca8878cb749d 100644
--- a/llvm/test/MC/AArch64/SVE/uminv.s
+++ b/llvm/test/MC/AArch64/SVE/uminv.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,23 +12,23 @@
 uminv b0, p7, z31.b
 // CHECK-INST: uminv	b0, p7, z31.b
 // CHECK-ENCODING: [0xe0,0x3f,0x0b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 0b 04 <unknown>
 
 uminv h0, p7, z31.h
 // CHECK-INST: uminv	h0, p7, z31.h
 // CHECK-ENCODING: [0xe0,0x3f,0x4b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 4b 04 <unknown>
 
 uminv s0, p7, z31.s
 // CHECK-INST: uminv	s0, p7, z31.s
 // CHECK-ENCODING: [0xe0,0x3f,0x8b,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f 8b 04 <unknown>
 
 uminv d0, p7, z31.d
 // CHECK-INST: uminv	d0, p7, z31.d
 // CHECK-ENCODING: [0xe0,0x3f,0xcb,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3f cb 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/umulh.s b/llvm/test/MC/AArch64/SVE/umulh.s
index 2f5f196f8d4ac..db27c8046e88e 100644
--- a/llvm/test/MC/AArch64/SVE/umulh.s
+++ b/llvm/test/MC/AArch64/SVE/umulh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 umulh z0.b, p7/m, z0.b, z31.b
 // CHECK-INST: umulh	z0.b, p7/m, z0.b, z31.b
 // CHECK-ENCODING: [0xe0,0x1f,0x13,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 13 04 <unknown>
 
 umulh z0.h, p7/m, z0.h, z31.h
 // CHECK-INST: umulh	z0.h, p7/m, z0.h, z31.h
 // CHECK-ENCODING: [0xe0,0x1f,0x53,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 53 04 <unknown>
 
 umulh z0.s, p7/m, z0.s, z31.s
 // CHECK-INST: umulh	z0.s, p7/m, z0.s, z31.s
 // CHECK-ENCODING: [0xe0,0x1f,0x93,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f 93 04 <unknown>
 
 umulh z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: umulh	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d3 04 <unknown>
 
 
@@ -38,23 +40,23 @@ umulh z0.d, p7/m, z0.d, z31.d
 movprfx z0.d, p7/z, z7.d
 // CHECK-INST: movprfx	z0.d, p7/z, z7.d
 // CHECK-ENCODING: [0xe0,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 3c d0 04 <unknown>
 
 umulh z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: umulh	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d3 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 umulh z0.d, p7/m, z0.d, z31.d
 // CHECK-INST: umulh	z0.d, p7/m, z0.d, z31.d
 // CHECK-ENCODING: [0xe0,0x1f,0xd3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 1f d3 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqadd.s b/llvm/test/MC/AArch64/SVE/uqadd.s
index 73f7c7754ea41..447aca0409733 100644
--- a/llvm/test/MC/AArch64/SVE/uqadd.s
+++ b/llvm/test/MC/AArch64/SVE/uqadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,109 +13,109 @@
 uqadd     z0.b, z0.b, z0.b
 // CHECK-INST: uqadd z0.b, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x14,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 14 20 04 <unknown>
 
 uqadd     z0.h, z0.h, z0.h
 // CHECK-INST: uqadd z0.h, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x14,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 14 60 04 <unknown>
 
 uqadd     z0.s, z0.s, z0.s
 // CHECK-INST: uqadd z0.s, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x14,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 14 a0 04 <unknown>
 
 uqadd     z0.d, z0.d, z0.d
 // CHECK-INST: uqadd z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x14,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 14 e0 04 <unknown>
 
 uqadd     z0.b, z0.b, #0
 // CHECK-INST: uqadd z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x25,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 25 25 <unknown>
 
 uqadd     z31.b, z31.b, #255
 // CHECK-INST: uqadd z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x25,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 25 25 <unknown>
 
 uqadd     z0.h, z0.h, #0
 // CHECK-INST: uqadd z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0xc0,0x65,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 65 25 <unknown>
 
 uqadd     z0.h, z0.h, #0, lsl #8
 // CHECK-INST: uqadd z0.h, z0.h, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0x65,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 65 25 <unknown>
 
 uqadd     z31.h, z31.h, #255, lsl #8
 // CHECK-INST: uqadd z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x65,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 65 25 <unknown>
 
 uqadd     z31.h, z31.h, #65280
 // CHECK-INST: uqadd z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x65,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 65 25 <unknown>
 
 uqadd     z0.s, z0.s, #0
 // CHECK-INST: uqadd z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0xc0,0xa5,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a5 25 <unknown>
 
 uqadd     z0.s, z0.s, #0, lsl #8
 // CHECK-INST: uqadd z0.s, z0.s, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xa5,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a5 25 <unknown>
 
 uqadd     z31.s, z31.s, #255, lsl #8
 // CHECK-INST: uqadd z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa5,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a5 25 <unknown>
 
 uqadd     z31.s, z31.s, #65280
 // CHECK-INST: uqadd z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa5,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a5 25 <unknown>
 
 uqadd     z0.d, z0.d, #0
 // CHECK-INST: uqadd z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0xc0,0xe5,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e5 25 <unknown>
 
 uqadd     z0.d, z0.d, #0, lsl #8
 // CHECK-INST: uqadd z0.d, z0.d, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xe5,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e5 25 <unknown>
 
 uqadd     z31.d, z31.d, #255, lsl #8
 // CHECK-INST: uqadd z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe5,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e5 25 <unknown>
 
 uqadd     z31.d, z31.d, #65280
 // CHECK-INST: uqadd z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe5,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e5 25 <unknown>
 
 
@@ -123,11 +125,11 @@ uqadd     z31.d, z31.d, #65280
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqadd     z31.d, z31.d, #65280
 // CHECK-INST: uqadd	z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe5,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e5 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqdecb.s b/llvm/test/MC/AArch64/SVE/uqdecb.s
index eba286aa36b39..dc2c09710ba23 100644
--- a/llvm/test/MC/AArch64/SVE/uqdecb.s
+++ b/llvm/test/MC/AArch64/SVE/uqdecb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 uqdecb  x0
 // CHECK-INST: uqdecb  x0
 // CHECK-ENCODING: [0xe0,0xff,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 30 04 <unknown>
 
 uqdecb  x0, all
 // CHECK-INST: uqdecb  x0
 // CHECK-ENCODING: [0xe0,0xff,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 30 04 <unknown>
 
 uqdecb  x0, all, mul #1
 // CHECK-INST: uqdecb  x0
 // CHECK-ENCODING: [0xe0,0xff,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 30 04 <unknown>
 
 uqdecb  x0, all, mul #16
 // CHECK-INST: uqdecb  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xff,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 3f 04 <unknown>
 
 
@@ -43,37 +45,37 @@ uqdecb  x0, all, mul #16
 uqdecb  w0
 // CHECK-INST: uqdecb  w0
 // CHECK-ENCODING: [0xe0,0xff,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 20 04 <unknown>
 
 uqdecb  w0, all
 // CHECK-INST: uqdecb  w0
 // CHECK-ENCODING: [0xe0,0xff,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 20 04 <unknown>
 
 uqdecb  w0, all, mul #1
 // CHECK-INST: uqdecb  w0
 // CHECK-ENCODING: [0xe0,0xff,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 20 04 <unknown>
 
 uqdecb  w0, all, mul #16
 // CHECK-INST: uqdecb  w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xff,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 2f 04 <unknown>
 
 uqdecb  w0, pow2
 // CHECK-INST: uqdecb  w0, pow2
 // CHECK-ENCODING: [0x00,0xfc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc 20 04 <unknown>
 
 uqdecb  w0, pow2, mul #16
 // CHECK-INST: uqdecb  w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xfc,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc 2f 04 <unknown>
 
 
@@ -84,173 +86,173 @@ uqdecb  w0, pow2, mul #16
 uqdecb  x0, pow2
 // CHECK-INST: uqdecb  x0, pow2
 // CHECK-ENCODING: [0x00,0xfc,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc 30 04 <unknown>
 
 uqdecb  x0, vl1
 // CHECK-INST: uqdecb  x0, vl1
 // CHECK-ENCODING: [0x20,0xfc,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc 30 04 <unknown>
 
 uqdecb  x0, vl2
 // CHECK-INST: uqdecb  x0, vl2
 // CHECK-ENCODING: [0x40,0xfc,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fc 30 04 <unknown>
 
 uqdecb  x0, vl3
 // CHECK-INST: uqdecb  x0, vl3
 // CHECK-ENCODING: [0x60,0xfc,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fc 30 04 <unknown>
 
 uqdecb  x0, vl4
 // CHECK-INST: uqdecb  x0, vl4
 // CHECK-ENCODING: [0x80,0xfc,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fc 30 04 <unknown>
 
 uqdecb  x0, vl5
 // CHECK-INST: uqdecb  x0, vl5
 // CHECK-ENCODING: [0xa0,0xfc,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fc 30 04 <unknown>
 
 uqdecb  x0, vl6
 // CHECK-INST: uqdecb  x0, vl6
 // CHECK-ENCODING: [0xc0,0xfc,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fc 30 04 <unknown>
 
 uqdecb  x0, vl7
 // CHECK-INST: uqdecb  x0, vl7
 // CHECK-ENCODING: [0xe0,0xfc,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fc 30 04 <unknown>
 
 uqdecb  x0, vl8
 // CHECK-INST: uqdecb  x0, vl8
 // CHECK-ENCODING: [0x00,0xfd,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fd 30 04 <unknown>
 
 uqdecb  x0, vl16
 // CHECK-INST: uqdecb  x0, vl16
 // CHECK-ENCODING: [0x20,0xfd,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fd 30 04 <unknown>
 
 uqdecb  x0, vl32
 // CHECK-INST: uqdecb  x0, vl32
 // CHECK-ENCODING: [0x40,0xfd,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fd 30 04 <unknown>
 
 uqdecb  x0, vl64
 // CHECK-INST: uqdecb  x0, vl64
 // CHECK-ENCODING: [0x60,0xfd,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fd 30 04 <unknown>
 
 uqdecb  x0, vl128
 // CHECK-INST: uqdecb  x0, vl128
 // CHECK-ENCODING: [0x80,0xfd,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fd 30 04 <unknown>
 
 uqdecb  x0, vl256
 // CHECK-INST: uqdecb  x0, vl256
 // CHECK-ENCODING: [0xa0,0xfd,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fd 30 04 <unknown>
 
 uqdecb  x0, #14
 // CHECK-INST: uqdecb  x0, #14
 // CHECK-ENCODING: [0xc0,0xfd,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fd 30 04 <unknown>
 
 uqdecb  x0, #15
 // CHECK-INST: uqdecb  x0, #15
 // CHECK-ENCODING: [0xe0,0xfd,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fd 30 04 <unknown>
 
 uqdecb  x0, #16
 // CHECK-INST: uqdecb  x0, #16
 // CHECK-ENCODING: [0x00,0xfe,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fe 30 04 <unknown>
 
 uqdecb  x0, #17
 // CHECK-INST: uqdecb  x0, #17
 // CHECK-ENCODING: [0x20,0xfe,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fe 30 04 <unknown>
 
 uqdecb  x0, #18
 // CHECK-INST: uqdecb  x0, #18
 // CHECK-ENCODING: [0x40,0xfe,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fe 30 04 <unknown>
 
 uqdecb  x0, #19
 // CHECK-INST: uqdecb  x0, #19
 // CHECK-ENCODING: [0x60,0xfe,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fe 30 04 <unknown>
 
 uqdecb  x0, #20
 // CHECK-INST: uqdecb  x0, #20
 // CHECK-ENCODING: [0x80,0xfe,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fe 30 04 <unknown>
 
 uqdecb  x0, #21
 // CHECK-INST: uqdecb  x0, #21
 // CHECK-ENCODING: [0xa0,0xfe,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fe 30 04 <unknown>
 
 uqdecb  x0, #22
 // CHECK-INST: uqdecb  x0, #22
 // CHECK-ENCODING: [0xc0,0xfe,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fe 30 04 <unknown>
 
 uqdecb  x0, #23
 // CHECK-INST: uqdecb  x0, #23
 // CHECK-ENCODING: [0xe0,0xfe,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fe 30 04 <unknown>
 
 uqdecb  x0, #24
 // CHECK-INST: uqdecb  x0, #24
 // CHECK-ENCODING: [0x00,0xff,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ff 30 04 <unknown>
 
 uqdecb  x0, #25
 // CHECK-INST: uqdecb  x0, #25
 // CHECK-ENCODING: [0x20,0xff,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ff 30 04 <unknown>
 
 uqdecb  x0, #26
 // CHECK-INST: uqdecb  x0, #26
 // CHECK-ENCODING: [0x40,0xff,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ff 30 04 <unknown>
 
 uqdecb  x0, #27
 // CHECK-INST: uqdecb  x0, #27
 // CHECK-ENCODING: [0x60,0xff,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ff 30 04 <unknown>
 
 uqdecb  x0, #28
 // CHECK-INST: uqdecb  x0, #28
 // CHECK-ENCODING: [0x80,0xff,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ff 30 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqdecd.s b/llvm/test/MC/AArch64/SVE/uqdecd.s
index 62f27f5380749..05341f8ff7ca6 100644
--- a/llvm/test/MC/AArch64/SVE/uqdecd.s
+++ b/llvm/test/MC/AArch64/SVE/uqdecd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 uqdecd  x0
 // CHECK-INST: uqdecd  x0
 // CHECK-ENCODING: [0xe0,0xff,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff f0 04 <unknown>
 
 uqdecd  x0, all
 // CHECK-INST: uqdecd  x0
 // CHECK-ENCODING: [0xe0,0xff,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff f0 04 <unknown>
 
 uqdecd  x0, all, mul #1
 // CHECK-INST: uqdecd  x0
 // CHECK-ENCODING: [0xe0,0xff,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff f0 04 <unknown>
 
 uqdecd  x0, all, mul #16
 // CHECK-INST: uqdecd  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xff,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff ff 04 <unknown>
 
 
@@ -43,37 +45,37 @@ uqdecd  x0, all, mul #16
 uqdecd  w0
 // CHECK-INST: uqdecd  w0
 // CHECK-ENCODING: [0xe0,0xff,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff e0 04 <unknown>
 
 uqdecd  w0, all
 // CHECK-INST: uqdecd  w0
 // CHECK-ENCODING: [0xe0,0xff,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff e0 04 <unknown>
 
 uqdecd  w0, all, mul #1
 // CHECK-INST: uqdecd  w0
 // CHECK-ENCODING: [0xe0,0xff,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff e0 04 <unknown>
 
 uqdecd  w0, all, mul #16
 // CHECK-INST: uqdecd  w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xff,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff ef 04 <unknown>
 
 uqdecd  w0, pow2
 // CHECK-INST: uqdecd  w0, pow2
 // CHECK-ENCODING: [0x00,0xfc,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc e0 04 <unknown>
 
 uqdecd  w0, pow2, mul #16
 // CHECK-INST: uqdecd  w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xfc,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc ef 04 <unknown>
 
 
@@ -83,37 +85,37 @@ uqdecd  w0, pow2, mul #16
 uqdecd  z0.d
 // CHECK-INST: uqdecd  z0.d
 // CHECK-ENCODING: [0xe0,0xcf,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf e0 04 <unknown>
 
 uqdecd  z0.d, all
 // CHECK-INST: uqdecd  z0.d
 // CHECK-ENCODING: [0xe0,0xcf,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf e0 04 <unknown>
 
 uqdecd  z0.d, all, mul #1
 // CHECK-INST: uqdecd  z0.d
 // CHECK-ENCODING: [0xe0,0xcf,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf e0 04 <unknown>
 
 uqdecd  z0.d, all, mul #16
 // CHECK-INST: uqdecd  z0.d, all, mul #16
 // CHECK-ENCODING: [0xe0,0xcf,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf ef 04 <unknown>
 
 uqdecd  z0.d, pow2
 // CHECK-INST: uqdecd  z0.d, pow2
 // CHECK-ENCODING: [0x00,0xcc,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc e0 04 <unknown>
 
 uqdecd  z0.d, pow2, mul #16
 // CHECK-INST: uqdecd  z0.d, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xcc,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc ef 04 <unknown>
 
 
@@ -124,175 +126,175 @@ uqdecd  z0.d, pow2, mul #16
 uqdecd  x0, pow2
 // CHECK-INST: uqdecd  x0, pow2
 // CHECK-ENCODING: [0x00,0xfc,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc f0 04 <unknown>
 
 uqdecd  x0, vl1
 // CHECK-INST: uqdecd  x0, vl1
 // CHECK-ENCODING: [0x20,0xfc,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc f0 04 <unknown>
 
 uqdecd  x0, vl2
 // CHECK-INST: uqdecd  x0, vl2
 // CHECK-ENCODING: [0x40,0xfc,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fc f0 04 <unknown>
 
 uqdecd  x0, vl3
 // CHECK-INST: uqdecd  x0, vl3
 // CHECK-ENCODING: [0x60,0xfc,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fc f0 04 <unknown>
 
 uqdecd  x0, vl4
 // CHECK-INST: uqdecd  x0, vl4
 // CHECK-ENCODING: [0x80,0xfc,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fc f0 04 <unknown>
 
 uqdecd  x0, vl5
 // CHECK-INST: uqdecd  x0, vl5
 // CHECK-ENCODING: [0xa0,0xfc,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fc f0 04 <unknown>
 
 uqdecd  x0, vl6
 // CHECK-INST: uqdecd  x0, vl6
 // CHECK-ENCODING: [0xc0,0xfc,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fc f0 04 <unknown>
 
 uqdecd  x0, vl7
 // CHECK-INST: uqdecd  x0, vl7
 // CHECK-ENCODING: [0xe0,0xfc,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fc f0 04 <unknown>
 
 uqdecd  x0, vl8
 // CHECK-INST: uqdecd  x0, vl8
 // CHECK-ENCODING: [0x00,0xfd,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fd f0 04 <unknown>
 
 uqdecd  x0, vl16
 // CHECK-INST: uqdecd  x0, vl16
 // CHECK-ENCODING: [0x20,0xfd,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fd f0 04 <unknown>
 
 uqdecd  x0, vl32
 // CHECK-INST: uqdecd  x0, vl32
 // CHECK-ENCODING: [0x40,0xfd,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fd f0 04 <unknown>
 
 uqdecd  x0, vl64
 // CHECK-INST: uqdecd  x0, vl64
 // CHECK-ENCODING: [0x60,0xfd,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fd f0 04 <unknown>
 
 uqdecd  x0, vl128
 // CHECK-INST: uqdecd  x0, vl128
 // CHECK-ENCODING: [0x80,0xfd,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fd f0 04 <unknown>
 
 uqdecd  x0, vl256
 // CHECK-INST: uqdecd  x0, vl256
 // CHECK-ENCODING: [0xa0,0xfd,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fd f0 04 <unknown>
 
 uqdecd  x0, #14
 // CHECK-INST: uqdecd  x0, #14
 // CHECK-ENCODING: [0xc0,0xfd,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fd f0 04 <unknown>
 
 uqdecd  x0, #15
 // CHECK-INST: uqdecd  x0, #15
 // CHECK-ENCODING: [0xe0,0xfd,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fd f0 04 <unknown>
 
 uqdecd  x0, #16
 // CHECK-INST: uqdecd  x0, #16
 // CHECK-ENCODING: [0x00,0xfe,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fe f0 04 <unknown>
 
 uqdecd  x0, #17
 // CHECK-INST: uqdecd  x0, #17
 // CHECK-ENCODING: [0x20,0xfe,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fe f0 04 <unknown>
 
 uqdecd  x0, #18
 // CHECK-INST: uqdecd  x0, #18
 // CHECK-ENCODING: [0x40,0xfe,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fe f0 04 <unknown>
 
 uqdecd  x0, #19
 // CHECK-INST: uqdecd  x0, #19
 // CHECK-ENCODING: [0x60,0xfe,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fe f0 04 <unknown>
 
 uqdecd  x0, #20
 // CHECK-INST: uqdecd  x0, #20
 // CHECK-ENCODING: [0x80,0xfe,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fe f0 04 <unknown>
 
 uqdecd  x0, #21
 // CHECK-INST: uqdecd  x0, #21
 // CHECK-ENCODING: [0xa0,0xfe,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fe f0 04 <unknown>
 
 uqdecd  x0, #22
 // CHECK-INST: uqdecd  x0, #22
 // CHECK-ENCODING: [0xc0,0xfe,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fe f0 04 <unknown>
 
 uqdecd  x0, #23
 // CHECK-INST: uqdecd  x0, #23
 // CHECK-ENCODING: [0xe0,0xfe,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fe f0 04 <unknown>
 
 uqdecd  x0, #24
 // CHECK-INST: uqdecd  x0, #24
 // CHECK-ENCODING: [0x00,0xff,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ff f0 04 <unknown>
 
 uqdecd  x0, #25
 // CHECK-INST: uqdecd  x0, #25
 // CHECK-ENCODING: [0x20,0xff,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ff f0 04 <unknown>
 
 uqdecd  x0, #26
 // CHECK-INST: uqdecd  x0, #26
 // CHECK-ENCODING: [0x40,0xff,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ff f0 04 <unknown>
 
 uqdecd  x0, #27
 // CHECK-INST: uqdecd  x0, #27
 // CHECK-ENCODING: [0x60,0xff,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ff f0 04 <unknown>
 
 uqdecd  x0, #28
 // CHECK-INST: uqdecd  x0, #28
 // CHECK-ENCODING: [0x80,0xff,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ff f0 04 <unknown>
 
 
@@ -302,35 +304,35 @@ uqdecd  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdecd  z0.d
 // CHECK-INST: uqdecd	z0.d
 // CHECK-ENCODING: [0xe0,0xcf,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf e0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdecd  z0.d, pow2, mul #16
 // CHECK-INST: uqdecd	z0.d, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xcc,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc ef 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdecd  z0.d, pow2
 // CHECK-INST: uqdecd	z0.d, pow2
 // CHECK-ENCODING: [0x00,0xcc,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc e0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqdech.s b/llvm/test/MC/AArch64/SVE/uqdech.s
index adaa3669f9caa..6e77f1d7a22d5 100644
--- a/llvm/test/MC/AArch64/SVE/uqdech.s
+++ b/llvm/test/MC/AArch64/SVE/uqdech.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 uqdech  x0
 // CHECK-INST: uqdech  x0
 // CHECK-ENCODING: [0xe0,0xff,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 70 04 <unknown>
 
 uqdech  x0, all
 // CHECK-INST: uqdech  x0
 // CHECK-ENCODING: [0xe0,0xff,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 70 04 <unknown>
 
 uqdech  x0, all, mul #1
 // CHECK-INST: uqdech  x0
 // CHECK-ENCODING: [0xe0,0xff,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 70 04 <unknown>
 
 uqdech  x0, all, mul #16
 // CHECK-INST: uqdech  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xff,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 7f 04 <unknown>
 
 
@@ -43,37 +45,37 @@ uqdech  x0, all, mul #16
 uqdech  w0
 // CHECK-INST: uqdech  w0
 // CHECK-ENCODING: [0xe0,0xff,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 60 04 <unknown>
 
 uqdech  w0, all
 // CHECK-INST: uqdech  w0
 // CHECK-ENCODING: [0xe0,0xff,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 60 04 <unknown>
 
 uqdech  w0, all, mul #1
 // CHECK-INST: uqdech  w0
 // CHECK-ENCODING: [0xe0,0xff,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 60 04 <unknown>
 
 uqdech  w0, all, mul #16
 // CHECK-INST: uqdech  w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xff,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff 6f 04 <unknown>
 
 uqdech  w0, pow2
 // CHECK-INST: uqdech  w0, pow2
 // CHECK-ENCODING: [0x00,0xfc,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc 60 04 <unknown>
 
 uqdech  w0, pow2, mul #16
 // CHECK-INST: uqdech  w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xfc,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc 6f 04 <unknown>
 
 
@@ -83,37 +85,37 @@ uqdech  w0, pow2, mul #16
 uqdech  z0.h
 // CHECK-INST: uqdech  z0.h
 // CHECK-ENCODING: [0xe0,0xcf,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf 60 04 <unknown>
 
 uqdech  z0.h, all
 // CHECK-INST: uqdech  z0.h
 // CHECK-ENCODING: [0xe0,0xcf,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf 60 04 <unknown>
 
 uqdech  z0.h, all, mul #1
 // CHECK-INST: uqdech  z0.h
 // CHECK-ENCODING: [0xe0,0xcf,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf 60 04 <unknown>
 
 uqdech  z0.h, all, mul #16
 // CHECK-INST: uqdech  z0.h, all, mul #16
 // CHECK-ENCODING: [0xe0,0xcf,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf 6f 04 <unknown>
 
 uqdech  z0.h, pow2
 // CHECK-INST: uqdech  z0.h, pow2
 // CHECK-ENCODING: [0x00,0xcc,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc 60 04 <unknown>
 
 uqdech  z0.h, pow2, mul #16
 // CHECK-INST: uqdech  z0.h, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xcc,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc 6f 04 <unknown>
 
 
@@ -124,175 +126,175 @@ uqdech  z0.h, pow2, mul #16
 uqdech  x0, pow2
 // CHECK-INST: uqdech  x0, pow2
 // CHECK-ENCODING: [0x00,0xfc,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc 70 04 <unknown>
 
 uqdech  x0, vl1
 // CHECK-INST: uqdech  x0, vl1
 // CHECK-ENCODING: [0x20,0xfc,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc 70 04 <unknown>
 
 uqdech  x0, vl2
 // CHECK-INST: uqdech  x0, vl2
 // CHECK-ENCODING: [0x40,0xfc,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fc 70 04 <unknown>
 
 uqdech  x0, vl3
 // CHECK-INST: uqdech  x0, vl3
 // CHECK-ENCODING: [0x60,0xfc,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fc 70 04 <unknown>
 
 uqdech  x0, vl4
 // CHECK-INST: uqdech  x0, vl4
 // CHECK-ENCODING: [0x80,0xfc,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fc 70 04 <unknown>
 
 uqdech  x0, vl5
 // CHECK-INST: uqdech  x0, vl5
 // CHECK-ENCODING: [0xa0,0xfc,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fc 70 04 <unknown>
 
 uqdech  x0, vl6
 // CHECK-INST: uqdech  x0, vl6
 // CHECK-ENCODING: [0xc0,0xfc,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fc 70 04 <unknown>
 
 uqdech  x0, vl7
 // CHECK-INST: uqdech  x0, vl7
 // CHECK-ENCODING: [0xe0,0xfc,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fc 70 04 <unknown>
 
 uqdech  x0, vl8
 // CHECK-INST: uqdech  x0, vl8
 // CHECK-ENCODING: [0x00,0xfd,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fd 70 04 <unknown>
 
 uqdech  x0, vl16
 // CHECK-INST: uqdech  x0, vl16
 // CHECK-ENCODING: [0x20,0xfd,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fd 70 04 <unknown>
 
 uqdech  x0, vl32
 // CHECK-INST: uqdech  x0, vl32
 // CHECK-ENCODING: [0x40,0xfd,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fd 70 04 <unknown>
 
 uqdech  x0, vl64
 // CHECK-INST: uqdech  x0, vl64
 // CHECK-ENCODING: [0x60,0xfd,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fd 70 04 <unknown>
 
 uqdech  x0, vl128
 // CHECK-INST: uqdech  x0, vl128
 // CHECK-ENCODING: [0x80,0xfd,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fd 70 04 <unknown>
 
 uqdech  x0, vl256
 // CHECK-INST: uqdech  x0, vl256
 // CHECK-ENCODING: [0xa0,0xfd,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fd 70 04 <unknown>
 
 uqdech  x0, #14
 // CHECK-INST: uqdech  x0, #14
 // CHECK-ENCODING: [0xc0,0xfd,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fd 70 04 <unknown>
 
 uqdech  x0, #15
 // CHECK-INST: uqdech  x0, #15
 // CHECK-ENCODING: [0xe0,0xfd,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fd 70 04 <unknown>
 
 uqdech  x0, #16
 // CHECK-INST: uqdech  x0, #16
 // CHECK-ENCODING: [0x00,0xfe,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fe 70 04 <unknown>
 
 uqdech  x0, #17
 // CHECK-INST: uqdech  x0, #17
 // CHECK-ENCODING: [0x20,0xfe,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fe 70 04 <unknown>
 
 uqdech  x0, #18
 // CHECK-INST: uqdech  x0, #18
 // CHECK-ENCODING: [0x40,0xfe,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fe 70 04 <unknown>
 
 uqdech  x0, #19
 // CHECK-INST: uqdech  x0, #19
 // CHECK-ENCODING: [0x60,0xfe,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fe 70 04 <unknown>
 
 uqdech  x0, #20
 // CHECK-INST: uqdech  x0, #20
 // CHECK-ENCODING: [0x80,0xfe,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fe 70 04 <unknown>
 
 uqdech  x0, #21
 // CHECK-INST: uqdech  x0, #21
 // CHECK-ENCODING: [0xa0,0xfe,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fe 70 04 <unknown>
 
 uqdech  x0, #22
 // CHECK-INST: uqdech  x0, #22
 // CHECK-ENCODING: [0xc0,0xfe,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fe 70 04 <unknown>
 
 uqdech  x0, #23
 // CHECK-INST: uqdech  x0, #23
 // CHECK-ENCODING: [0xe0,0xfe,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fe 70 04 <unknown>
 
 uqdech  x0, #24
 // CHECK-INST: uqdech  x0, #24
 // CHECK-ENCODING: [0x00,0xff,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ff 70 04 <unknown>
 
 uqdech  x0, #25
 // CHECK-INST: uqdech  x0, #25
 // CHECK-ENCODING: [0x20,0xff,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ff 70 04 <unknown>
 
 uqdech  x0, #26
 // CHECK-INST: uqdech  x0, #26
 // CHECK-ENCODING: [0x40,0xff,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ff 70 04 <unknown>
 
 uqdech  x0, #27
 // CHECK-INST: uqdech  x0, #27
 // CHECK-ENCODING: [0x60,0xff,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ff 70 04 <unknown>
 
 uqdech  x0, #28
 // CHECK-INST: uqdech  x0, #28
 // CHECK-ENCODING: [0x80,0xff,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ff 70 04 <unknown>
 
 
@@ -302,35 +304,35 @@ uqdech  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdech  z0.h
 // CHECK-INST: uqdech	z0.h
 // CHECK-ENCODING: [0xe0,0xcf,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf 60 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdech  z0.h, pow2, mul #16
 // CHECK-INST: uqdech	z0.h, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xcc,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc 6f 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdech  z0.h, pow2
 // CHECK-INST: uqdech	z0.h, pow2
 // CHECK-ENCODING: [0x00,0xcc,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc 60 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqdecp.s b/llvm/test/MC/AArch64/SVE/uqdecp.s
index 2b15ac1010c75..e5ca1c5fd7e3a 100644
--- a/llvm/test/MC/AArch64/SVE/uqdecp.s
+++ b/llvm/test/MC/AArch64/SVE/uqdecp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,85 +12,85 @@
 uqdecp  x0, p0.b
 // CHECK-INST: uqdecp x0, p0.b
 // CHECK-ENCODING: [0x00,0x8c,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c 2b 25 <unknown>
 
 uqdecp  x0, p0.h
 // CHECK-INST: uqdecp x0, p0.h
 // CHECK-ENCODING: [0x00,0x8c,0x6b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c 6b 25 <unknown>
 
 uqdecp  x0, p0.s
 // CHECK-INST: uqdecp x0, p0.s
 // CHECK-ENCODING: [0x00,0x8c,0xab,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c ab 25 <unknown>
 
 uqdecp  x0, p0.d
 // CHECK-INST: uqdecp x0, p0.d
 // CHECK-ENCODING: [0x00,0x8c,0xeb,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c eb 25 <unknown>
 
 uqdecp  wzr, p15.b
 // CHECK-INST: uqdecp wzr, p15.b
 // CHECK-ENCODING: [0xff,0x89,0x2b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 2b 25 <unknown>
 
 uqdecp  wzr, p15.h
 // CHECK-INST: uqdecp wzr, p15.h
 // CHECK-ENCODING: [0xff,0x89,0x6b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 6b 25 <unknown>
 
 uqdecp  wzr, p15.s
 // CHECK-INST: uqdecp wzr, p15.s
 // CHECK-ENCODING: [0xff,0x89,0xab,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 ab 25 <unknown>
 
 uqdecp  wzr, p15.d
 // CHECK-INST: uqdecp wzr, p15.d
 // CHECK-ENCODING: [0xff,0x89,0xeb,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 eb 25 <unknown>
 
 uqdecp  z0.h, p0
 // CHECK-INST: uqdecp z0.h, p0.h
 // CHECK-ENCODING: [0x00,0x80,0x6b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 6b 25 <unknown>
 
 uqdecp  z0.h, p0.h
 // CHECK-INST: uqdecp z0.h, p0.h
 // CHECK-ENCODING: [0x00,0x80,0x6b,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 6b 25 <unknown>
 
 uqdecp  z0.s, p0
 // CHECK-INST: uqdecp z0.s, p0.s
 // CHECK-ENCODING: [0x00,0x80,0xab,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 ab 25 <unknown>
 
 uqdecp  z0.s, p0.s
 // CHECK-INST: uqdecp z0.s, p0.s
 // CHECK-ENCODING: [0x00,0x80,0xab,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 ab 25 <unknown>
 
 uqdecp  z0.d, p0
 // CHECK-INST: uqdecp z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xeb,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 eb 25 <unknown>
 
 uqdecp  z0.d, p0.d
 // CHECK-INST: uqdecp z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xeb,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 eb 25 <unknown>
 
 
@@ -98,11 +100,11 @@ uqdecp  z0.d, p0.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdecp  z0.d, p0.d
 // CHECK-INST: uqdecp	z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xeb,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 eb 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqdecw.s b/llvm/test/MC/AArch64/SVE/uqdecw.s
index cf80420b6b254..887219ee4d5d7 100644
--- a/llvm/test/MC/AArch64/SVE/uqdecw.s
+++ b/llvm/test/MC/AArch64/SVE/uqdecw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 uqdecw  x0
 // CHECK-INST: uqdecw  x0
 // CHECK-ENCODING: [0xe0,0xff,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff b0 04 <unknown>
 
 uqdecw  x0, all
 // CHECK-INST: uqdecw  x0
 // CHECK-ENCODING: [0xe0,0xff,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff b0 04 <unknown>
 
 uqdecw  x0, all, mul #1
 // CHECK-INST: uqdecw  x0
 // CHECK-ENCODING: [0xe0,0xff,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff b0 04 <unknown>
 
 uqdecw  x0, all, mul #16
 // CHECK-INST: uqdecw  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xff,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff bf 04 <unknown>
 
 
@@ -43,37 +45,37 @@ uqdecw  x0, all, mul #16
 uqdecw  w0
 // CHECK-INST: uqdecw  w0
 // CHECK-ENCODING: [0xe0,0xff,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff a0 04 <unknown>
 
 uqdecw  w0, all
 // CHECK-INST: uqdecw  w0
 // CHECK-ENCODING: [0xe0,0xff,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff a0 04 <unknown>
 
 uqdecw  w0, all, mul #1
 // CHECK-INST: uqdecw  w0
 // CHECK-ENCODING: [0xe0,0xff,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff a0 04 <unknown>
 
 uqdecw  w0, all, mul #16
 // CHECK-INST: uqdecw  w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xff,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 ff af 04 <unknown>
 
 uqdecw  w0, pow2
 // CHECK-INST: uqdecw  w0, pow2
 // CHECK-ENCODING: [0x00,0xfc,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc a0 04 <unknown>
 
 uqdecw  w0, pow2, mul #16
 // CHECK-INST: uqdecw  w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xfc,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc af 04 <unknown>
 
 
@@ -83,37 +85,37 @@ uqdecw  w0, pow2, mul #16
 uqdecw  z0.s
 // CHECK-INST: uqdecw  z0.s
 // CHECK-ENCODING: [0xe0,0xcf,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf a0 04 <unknown>
 
 uqdecw  z0.s, all
 // CHECK-INST: uqdecw  z0.s
 // CHECK-ENCODING: [0xe0,0xcf,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf a0 04 <unknown>
 
 uqdecw  z0.s, all, mul #1
 // CHECK-INST: uqdecw  z0.s
 // CHECK-ENCODING: [0xe0,0xcf,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf a0 04 <unknown>
 
 uqdecw  z0.s, all, mul #16
 // CHECK-INST: uqdecw  z0.s, all, mul #16
 // CHECK-ENCODING: [0xe0,0xcf,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf af 04 <unknown>
 
 uqdecw  z0.s, pow2
 // CHECK-INST: uqdecw  z0.s, pow2
 // CHECK-ENCODING: [0x00,0xcc,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc a0 04 <unknown>
 
 uqdecw  z0.s, pow2, mul #16
 // CHECK-INST: uqdecw  z0.s, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xcc,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc af 04 <unknown>
 
 
@@ -124,175 +126,175 @@ uqdecw  z0.s, pow2, mul #16
 uqdecw  x0, pow2
 // CHECK-INST: uqdecw  x0, pow2
 // CHECK-ENCODING: [0x00,0xfc,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fc b0 04 <unknown>
 
 uqdecw  x0, vl1
 // CHECK-INST: uqdecw  x0, vl1
 // CHECK-ENCODING: [0x20,0xfc,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fc b0 04 <unknown>
 
 uqdecw  x0, vl2
 // CHECK-INST: uqdecw  x0, vl2
 // CHECK-ENCODING: [0x40,0xfc,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fc b0 04 <unknown>
 
 uqdecw  x0, vl3
 // CHECK-INST: uqdecw  x0, vl3
 // CHECK-ENCODING: [0x60,0xfc,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fc b0 04 <unknown>
 
 uqdecw  x0, vl4
 // CHECK-INST: uqdecw  x0, vl4
 // CHECK-ENCODING: [0x80,0xfc,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fc b0 04 <unknown>
 
 uqdecw  x0, vl5
 // CHECK-INST: uqdecw  x0, vl5
 // CHECK-ENCODING: [0xa0,0xfc,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fc b0 04 <unknown>
 
 uqdecw  x0, vl6
 // CHECK-INST: uqdecw  x0, vl6
 // CHECK-ENCODING: [0xc0,0xfc,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fc b0 04 <unknown>
 
 uqdecw  x0, vl7
 // CHECK-INST: uqdecw  x0, vl7
 // CHECK-ENCODING: [0xe0,0xfc,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fc b0 04 <unknown>
 
 uqdecw  x0, vl8
 // CHECK-INST: uqdecw  x0, vl8
 // CHECK-ENCODING: [0x00,0xfd,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fd b0 04 <unknown>
 
 uqdecw  x0, vl16
 // CHECK-INST: uqdecw  x0, vl16
 // CHECK-ENCODING: [0x20,0xfd,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fd b0 04 <unknown>
 
 uqdecw  x0, vl32
 // CHECK-INST: uqdecw  x0, vl32
 // CHECK-ENCODING: [0x40,0xfd,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fd b0 04 <unknown>
 
 uqdecw  x0, vl64
 // CHECK-INST: uqdecw  x0, vl64
 // CHECK-ENCODING: [0x60,0xfd,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fd b0 04 <unknown>
 
 uqdecw  x0, vl128
 // CHECK-INST: uqdecw  x0, vl128
 // CHECK-ENCODING: [0x80,0xfd,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fd b0 04 <unknown>
 
 uqdecw  x0, vl256
 // CHECK-INST: uqdecw  x0, vl256
 // CHECK-ENCODING: [0xa0,0xfd,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fd b0 04 <unknown>
 
 uqdecw  x0, #14
 // CHECK-INST: uqdecw  x0, #14
 // CHECK-ENCODING: [0xc0,0xfd,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fd b0 04 <unknown>
 
 uqdecw  x0, #15
 // CHECK-INST: uqdecw  x0, #15
 // CHECK-ENCODING: [0xe0,0xfd,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fd b0 04 <unknown>
 
 uqdecw  x0, #16
 // CHECK-INST: uqdecw  x0, #16
 // CHECK-ENCODING: [0x00,0xfe,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 fe b0 04 <unknown>
 
 uqdecw  x0, #17
 // CHECK-INST: uqdecw  x0, #17
 // CHECK-ENCODING: [0x20,0xfe,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 fe b0 04 <unknown>
 
 uqdecw  x0, #18
 // CHECK-INST: uqdecw  x0, #18
 // CHECK-ENCODING: [0x40,0xfe,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 fe b0 04 <unknown>
 
 uqdecw  x0, #19
 // CHECK-INST: uqdecw  x0, #19
 // CHECK-ENCODING: [0x60,0xfe,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 fe b0 04 <unknown>
 
 uqdecw  x0, #20
 // CHECK-INST: uqdecw  x0, #20
 // CHECK-ENCODING: [0x80,0xfe,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 fe b0 04 <unknown>
 
 uqdecw  x0, #21
 // CHECK-INST: uqdecw  x0, #21
 // CHECK-ENCODING: [0xa0,0xfe,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 fe b0 04 <unknown>
 
 uqdecw  x0, #22
 // CHECK-INST: uqdecw  x0, #22
 // CHECK-ENCODING: [0xc0,0xfe,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 fe b0 04 <unknown>
 
 uqdecw  x0, #23
 // CHECK-INST: uqdecw  x0, #23
 // CHECK-ENCODING: [0xe0,0xfe,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 fe b0 04 <unknown>
 
 uqdecw  x0, #24
 // CHECK-INST: uqdecw  x0, #24
 // CHECK-ENCODING: [0x00,0xff,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 ff b0 04 <unknown>
 
 uqdecw  x0, #25
 // CHECK-INST: uqdecw  x0, #25
 // CHECK-ENCODING: [0x20,0xff,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 ff b0 04 <unknown>
 
 uqdecw  x0, #26
 // CHECK-INST: uqdecw  x0, #26
 // CHECK-ENCODING: [0x40,0xff,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 ff b0 04 <unknown>
 
 uqdecw  x0, #27
 // CHECK-INST: uqdecw  x0, #27
 // CHECK-ENCODING: [0x60,0xff,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 ff b0 04 <unknown>
 
 uqdecw  x0, #28
 // CHECK-INST: uqdecw  x0, #28
 // CHECK-ENCODING: [0x80,0xff,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 ff b0 04 <unknown>
 
 
@@ -302,35 +304,35 @@ uqdecw  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdecw  z0.s
 // CHECK-INST: uqdecw	z0.s
 // CHECK-ENCODING: [0xe0,0xcf,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 cf a0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdecw  z0.s, pow2, mul #16
 // CHECK-INST: uqdecw	z0.s, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xcc,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc af 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqdecw  z0.s, pow2
 // CHECK-INST: uqdecw	z0.s, pow2
 // CHECK-ENCODING: [0x00,0xcc,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 cc a0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqincb.s b/llvm/test/MC/AArch64/SVE/uqincb.s
index a6f6d2e4a5417..1895ba138a986 100644
--- a/llvm/test/MC/AArch64/SVE/uqincb.s
+++ b/llvm/test/MC/AArch64/SVE/uqincb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 uqincb  x0
 // CHECK-INST: uqincb  x0
 // CHECK-ENCODING: [0xe0,0xf7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 30 04 <unknown>
 
 uqincb  x0, all
 // CHECK-INST: uqincb  x0
 // CHECK-ENCODING: [0xe0,0xf7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 30 04 <unknown>
 
 uqincb  x0, all, mul #1
 // CHECK-INST: uqincb  x0
 // CHECK-ENCODING: [0xe0,0xf7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 30 04 <unknown>
 
 uqincb  x0, all, mul #16
 // CHECK-INST: uqincb  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf7,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 3f 04 <unknown>
 
 
@@ -43,37 +45,37 @@ uqincb  x0, all, mul #16
 uqincb  w0
 // CHECK-INST: uqincb  w0
 // CHECK-ENCODING: [0xe0,0xf7,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 20 04 <unknown>
 
 uqincb  w0, all
 // CHECK-INST: uqincb  w0
 // CHECK-ENCODING: [0xe0,0xf7,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 20 04 <unknown>
 
 uqincb  w0, all, mul #1
 // CHECK-INST: uqincb  w0
 // CHECK-ENCODING: [0xe0,0xf7,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 20 04 <unknown>
 
 uqincb  w0, all, mul #16
 // CHECK-INST: uqincb  w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf7,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 2f 04 <unknown>
 
 uqincb  w0, pow2
 // CHECK-INST: uqincb  w0, pow2
 // CHECK-ENCODING: [0x00,0xf4,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 20 04 <unknown>
 
 uqincb  w0, pow2, mul #16
 // CHECK-INST: uqincb  w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf4,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 2f 04 <unknown>
 
 
@@ -84,173 +86,173 @@ uqincb  w0, pow2, mul #16
 uqincb  x0, pow2
 // CHECK-INST: uqincb  x0, pow2
 // CHECK-ENCODING: [0x00,0xf4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 30 04 <unknown>
 
 uqincb  x0, vl1
 // CHECK-INST: uqincb  x0, vl1
 // CHECK-ENCODING: [0x20,0xf4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f4 30 04 <unknown>
 
 uqincb  x0, vl2
 // CHECK-INST: uqincb  x0, vl2
 // CHECK-ENCODING: [0x40,0xf4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f4 30 04 <unknown>
 
 uqincb  x0, vl3
 // CHECK-INST: uqincb  x0, vl3
 // CHECK-ENCODING: [0x60,0xf4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f4 30 04 <unknown>
 
 uqincb  x0, vl4
 // CHECK-INST: uqincb  x0, vl4
 // CHECK-ENCODING: [0x80,0xf4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f4 30 04 <unknown>
 
 uqincb  x0, vl5
 // CHECK-INST: uqincb  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f4 30 04 <unknown>
 
 uqincb  x0, vl6
 // CHECK-INST: uqincb  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f4 30 04 <unknown>
 
 uqincb  x0, vl7
 // CHECK-INST: uqincb  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf4,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f4 30 04 <unknown>
 
 uqincb  x0, vl8
 // CHECK-INST: uqincb  x0, vl8
 // CHECK-ENCODING: [0x00,0xf5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f5 30 04 <unknown>
 
 uqincb  x0, vl16
 // CHECK-INST: uqincb  x0, vl16
 // CHECK-ENCODING: [0x20,0xf5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f5 30 04 <unknown>
 
 uqincb  x0, vl32
 // CHECK-INST: uqincb  x0, vl32
 // CHECK-ENCODING: [0x40,0xf5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f5 30 04 <unknown>
 
 uqincb  x0, vl64
 // CHECK-INST: uqincb  x0, vl64
 // CHECK-ENCODING: [0x60,0xf5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f5 30 04 <unknown>
 
 uqincb  x0, vl128
 // CHECK-INST: uqincb  x0, vl128
 // CHECK-ENCODING: [0x80,0xf5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f5 30 04 <unknown>
 
 uqincb  x0, vl256
 // CHECK-INST: uqincb  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f5 30 04 <unknown>
 
 uqincb  x0, #14
 // CHECK-INST: uqincb  x0, #14
 // CHECK-ENCODING: [0xc0,0xf5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f5 30 04 <unknown>
 
 uqincb  x0, #15
 // CHECK-INST: uqincb  x0, #15
 // CHECK-ENCODING: [0xe0,0xf5,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f5 30 04 <unknown>
 
 uqincb  x0, #16
 // CHECK-INST: uqincb  x0, #16
 // CHECK-ENCODING: [0x00,0xf6,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f6 30 04 <unknown>
 
 uqincb  x0, #17
 // CHECK-INST: uqincb  x0, #17
 // CHECK-ENCODING: [0x20,0xf6,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f6 30 04 <unknown>
 
 uqincb  x0, #18
 // CHECK-INST: uqincb  x0, #18
 // CHECK-ENCODING: [0x40,0xf6,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f6 30 04 <unknown>
 
 uqincb  x0, #19
 // CHECK-INST: uqincb  x0, #19
 // CHECK-ENCODING: [0x60,0xf6,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f6 30 04 <unknown>
 
 uqincb  x0, #20
 // CHECK-INST: uqincb  x0, #20
 // CHECK-ENCODING: [0x80,0xf6,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f6 30 04 <unknown>
 
 uqincb  x0, #21
 // CHECK-INST: uqincb  x0, #21
 // CHECK-ENCODING: [0xa0,0xf6,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f6 30 04 <unknown>
 
 uqincb  x0, #22
 // CHECK-INST: uqincb  x0, #22
 // CHECK-ENCODING: [0xc0,0xf6,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f6 30 04 <unknown>
 
 uqincb  x0, #23
 // CHECK-INST: uqincb  x0, #23
 // CHECK-ENCODING: [0xe0,0xf6,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f6 30 04 <unknown>
 
 uqincb  x0, #24
 // CHECK-INST: uqincb  x0, #24
 // CHECK-ENCODING: [0x00,0xf7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f7 30 04 <unknown>
 
 uqincb  x0, #25
 // CHECK-INST: uqincb  x0, #25
 // CHECK-ENCODING: [0x20,0xf7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f7 30 04 <unknown>
 
 uqincb  x0, #26
 // CHECK-INST: uqincb  x0, #26
 // CHECK-ENCODING: [0x40,0xf7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f7 30 04 <unknown>
 
 uqincb  x0, #27
 // CHECK-INST: uqincb  x0, #27
 // CHECK-ENCODING: [0x60,0xf7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f7 30 04 <unknown>
 
 uqincb  x0, #28
 // CHECK-INST: uqincb  x0, #28
 // CHECK-ENCODING: [0x80,0xf7,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f7 30 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqincd.s b/llvm/test/MC/AArch64/SVE/uqincd.s
index 53d5fb7b19f95..b585a7c58fe8e 100644
--- a/llvm/test/MC/AArch64/SVE/uqincd.s
+++ b/llvm/test/MC/AArch64/SVE/uqincd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 uqincd  x0
 // CHECK-INST: uqincd  x0
 // CHECK-ENCODING: [0xe0,0xf7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 f0 04 <unknown>
 
 uqincd  x0, all
 // CHECK-INST: uqincd  x0
 // CHECK-ENCODING: [0xe0,0xf7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 f0 04 <unknown>
 
 uqincd  x0, all, mul #1
 // CHECK-INST: uqincd  x0
 // CHECK-ENCODING: [0xe0,0xf7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 f0 04 <unknown>
 
 uqincd  x0, all, mul #16
 // CHECK-INST: uqincd  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf7,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 ff 04 <unknown>
 
 
@@ -43,37 +45,37 @@ uqincd  x0, all, mul #16
 uqincd  w0
 // CHECK-INST: uqincd  w0
 // CHECK-ENCODING: [0xe0,0xf7,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 e0 04 <unknown>
 
 uqincd  w0, all
 // CHECK-INST: uqincd  w0
 // CHECK-ENCODING: [0xe0,0xf7,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 e0 04 <unknown>
 
 uqincd  w0, all, mul #1
 // CHECK-INST: uqincd  w0
 // CHECK-ENCODING: [0xe0,0xf7,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 e0 04 <unknown>
 
 uqincd  w0, all, mul #16
 // CHECK-INST: uqincd  w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf7,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 ef 04 <unknown>
 
 uqincd  w0, pow2
 // CHECK-INST: uqincd  w0, pow2
 // CHECK-ENCODING: [0x00,0xf4,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 e0 04 <unknown>
 
 uqincd  w0, pow2, mul #16
 // CHECK-INST: uqincd  w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf4,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 ef 04 <unknown>
 
 
@@ -83,37 +85,37 @@ uqincd  w0, pow2, mul #16
 uqincd  z0.d
 // CHECK-INST: uqincd  z0.d
 // CHECK-ENCODING: [0xe0,0xc7,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 e0 04 <unknown>
 
 uqincd  z0.d, all
 // CHECK-INST: uqincd  z0.d
 // CHECK-ENCODING: [0xe0,0xc7,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 e0 04 <unknown>
 
 uqincd  z0.d, all, mul #1
 // CHECK-INST: uqincd  z0.d
 // CHECK-ENCODING: [0xe0,0xc7,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 e0 04 <unknown>
 
 uqincd  z0.d, all, mul #16
 // CHECK-INST: uqincd  z0.d, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc7,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 ef 04 <unknown>
 
 uqincd  z0.d, pow2
 // CHECK-INST: uqincd  z0.d, pow2
 // CHECK-ENCODING: [0x00,0xc4,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 e0 04 <unknown>
 
 uqincd  z0.d, pow2, mul #16
 // CHECK-INST: uqincd  z0.d, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc4,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 ef 04 <unknown>
 
 
@@ -124,175 +126,175 @@ uqincd  z0.d, pow2, mul #16
 uqincd  x0, pow2
 // CHECK-INST: uqincd  x0, pow2
 // CHECK-ENCODING: [0x00,0xf4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 f0 04 <unknown>
 
 uqincd  x0, vl1
 // CHECK-INST: uqincd  x0, vl1
 // CHECK-ENCODING: [0x20,0xf4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f4 f0 04 <unknown>
 
 uqincd  x0, vl2
 // CHECK-INST: uqincd  x0, vl2
 // CHECK-ENCODING: [0x40,0xf4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f4 f0 04 <unknown>
 
 uqincd  x0, vl3
 // CHECK-INST: uqincd  x0, vl3
 // CHECK-ENCODING: [0x60,0xf4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f4 f0 04 <unknown>
 
 uqincd  x0, vl4
 // CHECK-INST: uqincd  x0, vl4
 // CHECK-ENCODING: [0x80,0xf4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f4 f0 04 <unknown>
 
 uqincd  x0, vl5
 // CHECK-INST: uqincd  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f4 f0 04 <unknown>
 
 uqincd  x0, vl6
 // CHECK-INST: uqincd  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f4 f0 04 <unknown>
 
 uqincd  x0, vl7
 // CHECK-INST: uqincd  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf4,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f4 f0 04 <unknown>
 
 uqincd  x0, vl8
 // CHECK-INST: uqincd  x0, vl8
 // CHECK-ENCODING: [0x00,0xf5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f5 f0 04 <unknown>
 
 uqincd  x0, vl16
 // CHECK-INST: uqincd  x0, vl16
 // CHECK-ENCODING: [0x20,0xf5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f5 f0 04 <unknown>
 
 uqincd  x0, vl32
 // CHECK-INST: uqincd  x0, vl32
 // CHECK-ENCODING: [0x40,0xf5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f5 f0 04 <unknown>
 
 uqincd  x0, vl64
 // CHECK-INST: uqincd  x0, vl64
 // CHECK-ENCODING: [0x60,0xf5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f5 f0 04 <unknown>
 
 uqincd  x0, vl128
 // CHECK-INST: uqincd  x0, vl128
 // CHECK-ENCODING: [0x80,0xf5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f5 f0 04 <unknown>
 
 uqincd  x0, vl256
 // CHECK-INST: uqincd  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f5 f0 04 <unknown>
 
 uqincd  x0, #14
 // CHECK-INST: uqincd  x0, #14
 // CHECK-ENCODING: [0xc0,0xf5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f5 f0 04 <unknown>
 
 uqincd  x0, #15
 // CHECK-INST: uqincd  x0, #15
 // CHECK-ENCODING: [0xe0,0xf5,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f5 f0 04 <unknown>
 
 uqincd  x0, #16
 // CHECK-INST: uqincd  x0, #16
 // CHECK-ENCODING: [0x00,0xf6,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f6 f0 04 <unknown>
 
 uqincd  x0, #17
 // CHECK-INST: uqincd  x0, #17
 // CHECK-ENCODING: [0x20,0xf6,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f6 f0 04 <unknown>
 
 uqincd  x0, #18
 // CHECK-INST: uqincd  x0, #18
 // CHECK-ENCODING: [0x40,0xf6,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f6 f0 04 <unknown>
 
 uqincd  x0, #19
 // CHECK-INST: uqincd  x0, #19
 // CHECK-ENCODING: [0x60,0xf6,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f6 f0 04 <unknown>
 
 uqincd  x0, #20
 // CHECK-INST: uqincd  x0, #20
 // CHECK-ENCODING: [0x80,0xf6,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f6 f0 04 <unknown>
 
 uqincd  x0, #21
 // CHECK-INST: uqincd  x0, #21
 // CHECK-ENCODING: [0xa0,0xf6,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f6 f0 04 <unknown>
 
 uqincd  x0, #22
 // CHECK-INST: uqincd  x0, #22
 // CHECK-ENCODING: [0xc0,0xf6,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f6 f0 04 <unknown>
 
 uqincd  x0, #23
 // CHECK-INST: uqincd  x0, #23
 // CHECK-ENCODING: [0xe0,0xf6,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f6 f0 04 <unknown>
 
 uqincd  x0, #24
 // CHECK-INST: uqincd  x0, #24
 // CHECK-ENCODING: [0x00,0xf7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f7 f0 04 <unknown>
 
 uqincd  x0, #25
 // CHECK-INST: uqincd  x0, #25
 // CHECK-ENCODING: [0x20,0xf7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f7 f0 04 <unknown>
 
 uqincd  x0, #26
 // CHECK-INST: uqincd  x0, #26
 // CHECK-ENCODING: [0x40,0xf7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f7 f0 04 <unknown>
 
 uqincd  x0, #27
 // CHECK-INST: uqincd  x0, #27
 // CHECK-ENCODING: [0x60,0xf7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f7 f0 04 <unknown>
 
 uqincd  x0, #28
 // CHECK-INST: uqincd  x0, #28
 // CHECK-ENCODING: [0x80,0xf7,0xf0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f7 f0 04 <unknown>
 
 
@@ -302,35 +304,35 @@ uqincd  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqincd  z0.d
 // CHECK-INST: uqincd	z0.d
 // CHECK-ENCODING: [0xe0,0xc7,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 e0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqincd  z0.d, pow2, mul #16
 // CHECK-INST: uqincd	z0.d, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc4,0xef,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 ef 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqincd  z0.d, pow2
 // CHECK-INST: uqincd	z0.d, pow2
 // CHECK-ENCODING: [0x00,0xc4,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 e0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqinch.s b/llvm/test/MC/AArch64/SVE/uqinch.s
index 91d035ac88fb6..c38656ba7edab 100644
--- a/llvm/test/MC/AArch64/SVE/uqinch.s
+++ b/llvm/test/MC/AArch64/SVE/uqinch.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -15,25 +17,25 @@
 uqinch  x0
 // CHECK-INST: uqinch  x0
 // CHECK-ENCODING: [0xe0,0xf7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 70 04 <unknown>
 
 uqinch  x0, all
 // CHECK-INST: uqinch  x0
 // CHECK-ENCODING: [0xe0,0xf7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 70 04 <unknown>
 
 uqinch  x0, all, mul #1
 // CHECK-INST: uqinch  x0
 // CHECK-ENCODING: [0xe0,0xf7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 70 04 <unknown>
 
 uqinch  x0, all, mul #16
 // CHECK-INST: uqinch  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf7,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 7f 04 <unknown>
 
 
@@ -44,37 +46,37 @@ uqinch  x0, all, mul #16
 uqinch  w0
 // CHECK-INST: uqinch  w0
 // CHECK-ENCODING: [0xe0,0xf7,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 60 04 <unknown>
 
 uqinch  w0, all
 // CHECK-INST: uqinch  w0
 // CHECK-ENCODING: [0xe0,0xf7,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 60 04 <unknown>
 
 uqinch  w0, all, mul #1
 // CHECK-INST: uqinch  w0
 // CHECK-ENCODING: [0xe0,0xf7,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 60 04 <unknown>
 
 uqinch  w0, all, mul #16
 // CHECK-INST: uqinch  w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf7,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 6f 04 <unknown>
 
 uqinch  w0, pow2
 // CHECK-INST: uqinch  w0, pow2
 // CHECK-ENCODING: [0x00,0xf4,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 60 04 <unknown>
 
 uqinch  w0, pow2, mul #16
 // CHECK-INST: uqinch  w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf4,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 6f 04 <unknown>
 
 
@@ -85,37 +87,37 @@ uqinch  w0, pow2, mul #16
 uqinch  z0.h
 // CHECK-INST: uqinch  z0.h
 // CHECK-ENCODING: [0xe0,0xc7,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 60 04 <unknown>
 
 uqinch  z0.h, all
 // CHECK-INST: uqinch  z0.h
 // CHECK-ENCODING: [0xe0,0xc7,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 60 04 <unknown>
 
 uqinch  z0.h, all, mul #1
 // CHECK-INST: uqinch  z0.h
 // CHECK-ENCODING: [0xe0,0xc7,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 60 04 <unknown>
 
 uqinch  z0.h, all, mul #16
 // CHECK-INST: uqinch  z0.h, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc7,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 6f 04 <unknown>
 
 uqinch  z0.h, pow2
 // CHECK-INST: uqinch  z0.h, pow2
 // CHECK-ENCODING: [0x00,0xc4,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 60 04 <unknown>
 
 uqinch  z0.h, pow2, mul #16
 // CHECK-INST: uqinch  z0.h, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc4,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 6f 04 <unknown>
 
 
@@ -126,175 +128,175 @@ uqinch  z0.h, pow2, mul #16
 uqinch  x0, pow2
 // CHECK-INST: uqinch  x0, pow2
 // CHECK-ENCODING: [0x00,0xf4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 70 04 <unknown>
 
 uqinch  x0, vl1
 // CHECK-INST: uqinch  x0, vl1
 // CHECK-ENCODING: [0x20,0xf4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f4 70 04 <unknown>
 
 uqinch  x0, vl2
 // CHECK-INST: uqinch  x0, vl2
 // CHECK-ENCODING: [0x40,0xf4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f4 70 04 <unknown>
 
 uqinch  x0, vl3
 // CHECK-INST: uqinch  x0, vl3
 // CHECK-ENCODING: [0x60,0xf4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f4 70 04 <unknown>
 
 uqinch  x0, vl4
 // CHECK-INST: uqinch  x0, vl4
 // CHECK-ENCODING: [0x80,0xf4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f4 70 04 <unknown>
 
 uqinch  x0, vl5
 // CHECK-INST: uqinch  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f4 70 04 <unknown>
 
 uqinch  x0, vl6
 // CHECK-INST: uqinch  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f4 70 04 <unknown>
 
 uqinch  x0, vl7
 // CHECK-INST: uqinch  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf4,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f4 70 04 <unknown>
 
 uqinch  x0, vl8
 // CHECK-INST: uqinch  x0, vl8
 // CHECK-ENCODING: [0x00,0xf5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f5 70 04 <unknown>
 
 uqinch  x0, vl16
 // CHECK-INST: uqinch  x0, vl16
 // CHECK-ENCODING: [0x20,0xf5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f5 70 04 <unknown>
 
 uqinch  x0, vl32
 // CHECK-INST: uqinch  x0, vl32
 // CHECK-ENCODING: [0x40,0xf5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f5 70 04 <unknown>
 
 uqinch  x0, vl64
 // CHECK-INST: uqinch  x0, vl64
 // CHECK-ENCODING: [0x60,0xf5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f5 70 04 <unknown>
 
 uqinch  x0, vl128
 // CHECK-INST: uqinch  x0, vl128
 // CHECK-ENCODING: [0x80,0xf5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f5 70 04 <unknown>
 
 uqinch  x0, vl256
 // CHECK-INST: uqinch  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f5 70 04 <unknown>
 
 uqinch  x0, #14
 // CHECK-INST: uqinch  x0, #14
 // CHECK-ENCODING: [0xc0,0xf5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f5 70 04 <unknown>
 
 uqinch  x0, #15
 // CHECK-INST: uqinch  x0, #15
 // CHECK-ENCODING: [0xe0,0xf5,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f5 70 04 <unknown>
 
 uqinch  x0, #16
 // CHECK-INST: uqinch  x0, #16
 // CHECK-ENCODING: [0x00,0xf6,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f6 70 04 <unknown>
 
 uqinch  x0, #17
 // CHECK-INST: uqinch  x0, #17
 // CHECK-ENCODING: [0x20,0xf6,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f6 70 04 <unknown>
 
 uqinch  x0, #18
 // CHECK-INST: uqinch  x0, #18
 // CHECK-ENCODING: [0x40,0xf6,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f6 70 04 <unknown>
 
 uqinch  x0, #19
 // CHECK-INST: uqinch  x0, #19
 // CHECK-ENCODING: [0x60,0xf6,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f6 70 04 <unknown>
 
 uqinch  x0, #20
 // CHECK-INST: uqinch  x0, #20
 // CHECK-ENCODING: [0x80,0xf6,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f6 70 04 <unknown>
 
 uqinch  x0, #21
 // CHECK-INST: uqinch  x0, #21
 // CHECK-ENCODING: [0xa0,0xf6,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f6 70 04 <unknown>
 
 uqinch  x0, #22
 // CHECK-INST: uqinch  x0, #22
 // CHECK-ENCODING: [0xc0,0xf6,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f6 70 04 <unknown>
 
 uqinch  x0, #23
 // CHECK-INST: uqinch  x0, #23
 // CHECK-ENCODING: [0xe0,0xf6,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f6 70 04 <unknown>
 
 uqinch  x0, #24
 // CHECK-INST: uqinch  x0, #24
 // CHECK-ENCODING: [0x00,0xf7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f7 70 04 <unknown>
 
 uqinch  x0, #25
 // CHECK-INST: uqinch  x0, #25
 // CHECK-ENCODING: [0x20,0xf7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f7 70 04 <unknown>
 
 uqinch  x0, #26
 // CHECK-INST: uqinch  x0, #26
 // CHECK-ENCODING: [0x40,0xf7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f7 70 04 <unknown>
 
 uqinch  x0, #27
 // CHECK-INST: uqinch  x0, #27
 // CHECK-ENCODING: [0x60,0xf7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f7 70 04 <unknown>
 
 uqinch  x0, #28
 // CHECK-INST: uqinch  x0, #28
 // CHECK-ENCODING: [0x80,0xf7,0x70,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f7 70 04 <unknown>
 
 
@@ -304,35 +306,35 @@ uqinch  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqinch  z0.h
 // CHECK-INST: uqinch	z0.h
 // CHECK-ENCODING: [0xe0,0xc7,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 60 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqinch  z0.h, pow2, mul #16
 // CHECK-INST: uqinch	z0.h, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc4,0x6f,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 6f 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqinch  z0.h, pow2
 // CHECK-INST: uqinch	z0.h, pow2
 // CHECK-ENCODING: [0x00,0xc4,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 60 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqincp.s b/llvm/test/MC/AArch64/SVE/uqincp.s
index f5791c6d2fb36..28e076f86b4a5 100644
--- a/llvm/test/MC/AArch64/SVE/uqincp.s
+++ b/llvm/test/MC/AArch64/SVE/uqincp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,85 +12,85 @@
 uqincp  x0, p0.b
 // CHECK-INST: uqincp  x0, p0.b
 // CHECK-ENCODING: [0x00,0x8c,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c 29 25 <unknown>
 
 uqincp  x0, p0.h
 // CHECK-INST: uqincp  x0, p0.h
 // CHECK-ENCODING: [0x00,0x8c,0x69,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c 69 25 <unknown>
 
 uqincp  x0, p0.s
 // CHECK-INST: uqincp  x0, p0.s
 // CHECK-ENCODING: [0x00,0x8c,0xa9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c a9 25 <unknown>
 
 uqincp  x0, p0.d
 // CHECK-INST: uqincp  x0, p0.d
 // CHECK-ENCODING: [0x00,0x8c,0xe9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 8c e9 25 <unknown>
 
 uqincp  wzr, p15.b
 // CHECK-INST: uqincp  wzr, p15.b
 // CHECK-ENCODING: [0xff,0x89,0x29,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 29 25 <unknown>
 
 uqincp  wzr, p15.h
 // CHECK-INST: uqincp  wzr, p15.h
 // CHECK-ENCODING: [0xff,0x89,0x69,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 69 25 <unknown>
 
 uqincp  wzr, p15.s
 // CHECK-INST: uqincp  wzr, p15.s
 // CHECK-ENCODING: [0xff,0x89,0xa9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 a9 25 <unknown>
 
 uqincp  wzr, p15.d
 // CHECK-INST: uqincp  wzr, p15.d
 // CHECK-ENCODING: [0xff,0x89,0xe9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 89 e9 25 <unknown>
 
 uqincp  z0.h, p0
 // CHECK-INST: uqincp  z0.h, p0.h
 // CHECK-ENCODING: [0x00,0x80,0x69,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 69 25 <unknown>
 
 uqincp  z0.h, p0.h
 // CHECK-INST: uqincp  z0.h, p0.h
 // CHECK-ENCODING: [0x00,0x80,0x69,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 69 25 <unknown>
 
 uqincp  z0.s, p0
 // CHECK-INST: uqincp  z0.s, p0.s
 // CHECK-ENCODING: [0x00,0x80,0xa9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 a9 25 <unknown>
 
 uqincp  z0.s, p0.s
 // CHECK-INST: uqincp  z0.s, p0.s
 // CHECK-ENCODING: [0x00,0x80,0xa9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 a9 25 <unknown>
 
 uqincp  z0.d, p0
 // CHECK-INST: uqincp  z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xe9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 e9 25 <unknown>
 
 uqincp  z0.d, p0.d
 // CHECK-INST: uqincp  z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xe9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 e9 25 <unknown>
 
 
@@ -98,11 +100,11 @@ uqincp  z0.d, p0.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqincp  z0.d, p0.d
 // CHECK-INST: uqincp	z0.d, p0.d
 // CHECK-ENCODING: [0x00,0x80,0xe9,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 80 e9 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqincw.s b/llvm/test/MC/AArch64/SVE/uqincw.s
index 7e0c49714d9e5..c644db8c7f3bb 100644
--- a/llvm/test/MC/AArch64/SVE/uqincw.s
+++ b/llvm/test/MC/AArch64/SVE/uqincw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -14,25 +16,25 @@
 uqincw  x0
 // CHECK-INST: uqincw  x0
 // CHECK-ENCODING: [0xe0,0xf7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 b0 04 <unknown>
 
 uqincw  x0, all
 // CHECK-INST: uqincw  x0
 // CHECK-ENCODING: [0xe0,0xf7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 b0 04 <unknown>
 
 uqincw  x0, all, mul #1
 // CHECK-INST: uqincw  x0
 // CHECK-ENCODING: [0xe0,0xf7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 b0 04 <unknown>
 
 uqincw  x0, all, mul #16
 // CHECK-INST: uqincw  x0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf7,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 bf 04 <unknown>
 
 
@@ -43,37 +45,37 @@ uqincw  x0, all, mul #16
 uqincw  w0
 // CHECK-INST: uqincw  w0
 // CHECK-ENCODING: [0xe0,0xf7,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 a0 04 <unknown>
 
 uqincw  w0, all
 // CHECK-INST: uqincw  w0
 // CHECK-ENCODING: [0xe0,0xf7,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 a0 04 <unknown>
 
 uqincw  w0, all, mul #1
 // CHECK-INST: uqincw  w0
 // CHECK-ENCODING: [0xe0,0xf7,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 a0 04 <unknown>
 
 uqincw  w0, all, mul #16
 // CHECK-INST: uqincw  w0, all, mul #16
 // CHECK-ENCODING: [0xe0,0xf7,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f7 af 04 <unknown>
 
 uqincw  w0, pow2
 // CHECK-INST: uqincw  w0, pow2
 // CHECK-ENCODING: [0x00,0xf4,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 a0 04 <unknown>
 
 uqincw  w0, pow2, mul #16
 // CHECK-INST: uqincw  w0, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xf4,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 af 04 <unknown>
 
 
@@ -83,37 +85,37 @@ uqincw  w0, pow2, mul #16
 uqincw  z0.s
 // CHECK-INST: uqincw  z0.s
 // CHECK-ENCODING: [0xe0,0xc7,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 a0 04 <unknown>
 
 uqincw  z0.s, all
 // CHECK-INST: uqincw  z0.s
 // CHECK-ENCODING: [0xe0,0xc7,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 a0 04 <unknown>
 
 uqincw  z0.s, all, mul #1
 // CHECK-INST: uqincw  z0.s
 // CHECK-ENCODING: [0xe0,0xc7,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 a0 04 <unknown>
 
 uqincw  z0.s, all, mul #16
 // CHECK-INST: uqincw  z0.s, all, mul #16
 // CHECK-ENCODING: [0xe0,0xc7,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 af 04 <unknown>
 
 uqincw  z0.s, pow2
 // CHECK-INST: uqincw  z0.s, pow2
 // CHECK-ENCODING: [0x00,0xc4,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 a0 04 <unknown>
 
 uqincw  z0.s, pow2, mul #16
 // CHECK-INST: uqincw  z0.s, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc4,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 af 04 <unknown>
 
 
@@ -124,175 +126,175 @@ uqincw  z0.s, pow2, mul #16
 uqincw  x0, pow2
 // CHECK-INST: uqincw  x0, pow2
 // CHECK-ENCODING: [0x00,0xf4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f4 b0 04 <unknown>
 
 uqincw  x0, vl1
 // CHECK-INST: uqincw  x0, vl1
 // CHECK-ENCODING: [0x20,0xf4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f4 b0 04 <unknown>
 
 uqincw  x0, vl2
 // CHECK-INST: uqincw  x0, vl2
 // CHECK-ENCODING: [0x40,0xf4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f4 b0 04 <unknown>
 
 uqincw  x0, vl3
 // CHECK-INST: uqincw  x0, vl3
 // CHECK-ENCODING: [0x60,0xf4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f4 b0 04 <unknown>
 
 uqincw  x0, vl4
 // CHECK-INST: uqincw  x0, vl4
 // CHECK-ENCODING: [0x80,0xf4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f4 b0 04 <unknown>
 
 uqincw  x0, vl5
 // CHECK-INST: uqincw  x0, vl5
 // CHECK-ENCODING: [0xa0,0xf4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f4 b0 04 <unknown>
 
 uqincw  x0, vl6
 // CHECK-INST: uqincw  x0, vl6
 // CHECK-ENCODING: [0xc0,0xf4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f4 b0 04 <unknown>
 
 uqincw  x0, vl7
 // CHECK-INST: uqincw  x0, vl7
 // CHECK-ENCODING: [0xe0,0xf4,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f4 b0 04 <unknown>
 
 uqincw  x0, vl8
 // CHECK-INST: uqincw  x0, vl8
 // CHECK-ENCODING: [0x00,0xf5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f5 b0 04 <unknown>
 
 uqincw  x0, vl16
 // CHECK-INST: uqincw  x0, vl16
 // CHECK-ENCODING: [0x20,0xf5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f5 b0 04 <unknown>
 
 uqincw  x0, vl32
 // CHECK-INST: uqincw  x0, vl32
 // CHECK-ENCODING: [0x40,0xf5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f5 b0 04 <unknown>
 
 uqincw  x0, vl64
 // CHECK-INST: uqincw  x0, vl64
 // CHECK-ENCODING: [0x60,0xf5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f5 b0 04 <unknown>
 
 uqincw  x0, vl128
 // CHECK-INST: uqincw  x0, vl128
 // CHECK-ENCODING: [0x80,0xf5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f5 b0 04 <unknown>
 
 uqincw  x0, vl256
 // CHECK-INST: uqincw  x0, vl256
 // CHECK-ENCODING: [0xa0,0xf5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f5 b0 04 <unknown>
 
 uqincw  x0, #14
 // CHECK-INST: uqincw  x0, #14
 // CHECK-ENCODING: [0xc0,0xf5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f5 b0 04 <unknown>
 
 uqincw  x0, #15
 // CHECK-INST: uqincw  x0, #15
 // CHECK-ENCODING: [0xe0,0xf5,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f5 b0 04 <unknown>
 
 uqincw  x0, #16
 // CHECK-INST: uqincw  x0, #16
 // CHECK-ENCODING: [0x00,0xf6,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f6 b0 04 <unknown>
 
 uqincw  x0, #17
 // CHECK-INST: uqincw  x0, #17
 // CHECK-ENCODING: [0x20,0xf6,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f6 b0 04 <unknown>
 
 uqincw  x0, #18
 // CHECK-INST: uqincw  x0, #18
 // CHECK-ENCODING: [0x40,0xf6,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f6 b0 04 <unknown>
 
 uqincw  x0, #19
 // CHECK-INST: uqincw  x0, #19
 // CHECK-ENCODING: [0x60,0xf6,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f6 b0 04 <unknown>
 
 uqincw  x0, #20
 // CHECK-INST: uqincw  x0, #20
 // CHECK-ENCODING: [0x80,0xf6,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f6 b0 04 <unknown>
 
 uqincw  x0, #21
 // CHECK-INST: uqincw  x0, #21
 // CHECK-ENCODING: [0xa0,0xf6,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: a0 f6 b0 04 <unknown>
 
 uqincw  x0, #22
 // CHECK-INST: uqincw  x0, #22
 // CHECK-ENCODING: [0xc0,0xf6,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c0 f6 b0 04 <unknown>
 
 uqincw  x0, #23
 // CHECK-INST: uqincw  x0, #23
 // CHECK-ENCODING: [0xe0,0xf6,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 f6 b0 04 <unknown>
 
 uqincw  x0, #24
 // CHECK-INST: uqincw  x0, #24
 // CHECK-ENCODING: [0x00,0xf7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 f7 b0 04 <unknown>
 
 uqincw  x0, #25
 // CHECK-INST: uqincw  x0, #25
 // CHECK-ENCODING: [0x20,0xf7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 20 f7 b0 04 <unknown>
 
 uqincw  x0, #26
 // CHECK-INST: uqincw  x0, #26
 // CHECK-ENCODING: [0x40,0xf7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 40 f7 b0 04 <unknown>
 
 uqincw  x0, #27
 // CHECK-INST: uqincw  x0, #27
 // CHECK-ENCODING: [0x60,0xf7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 60 f7 b0 04 <unknown>
 
 uqincw  x0, #28
 // CHECK-INST: uqincw  x0, #28
 // CHECK-ENCODING: [0x80,0xf7,0xb0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 80 f7 b0 04 <unknown>
 
 
@@ -302,35 +304,35 @@ uqincw  x0, #28
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqincw  z0.s
 // CHECK-INST: uqincw	z0.s
 // CHECK-ENCODING: [0xe0,0xc7,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 c7 a0 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqincw  z0.s, pow2, mul #16
 // CHECK-INST: uqincw	z0.s, pow2, mul #16
 // CHECK-ENCODING: [0x00,0xc4,0xaf,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 af 04 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uqincw  z0.s, pow2
 // CHECK-INST: uqincw	z0.s, pow2
 // CHECK-ENCODING: [0x00,0xc4,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c4 a0 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uqsub.s b/llvm/test/MC/AArch64/SVE/uqsub.s
index 90ee664fdbedd..af44866001758 100644
--- a/llvm/test/MC/AArch64/SVE/uqsub.s
+++ b/llvm/test/MC/AArch64/SVE/uqsub.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -11,109 +13,109 @@
 uqsub     z0.b, z0.b, z0.b
 // CHECK-INST: uqsub z0.b, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x1c,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 1c 20 04 <unknown>
 
 uqsub     z0.h, z0.h, z0.h
 // CHECK-INST: uqsub z0.h, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x1c,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 1c 60 04 <unknown>
 
 uqsub     z0.s, z0.s, z0.s
 // CHECK-INST: uqsub z0.s, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x1c,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 1c a0 04 <unknown>
 
 uqsub     z0.d, z0.d, z0.d
 // CHECK-INST: uqsub z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x1c,0xe0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 1c e0 04 <unknown>
 
 uqsub     z0.b, z0.b, #0
 // CHECK-INST: uqsub z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xc0,0x27,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 27 25 <unknown>
 
 uqsub     z31.b, z31.b, #255
 // CHECK-INST: uqsub z31.b, z31.b, #255
 // CHECK-ENCODING: [0xff,0xdf,0x27,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff df 27 25 <unknown>
 
 uqsub     z0.h, z0.h, #0
 // CHECK-INST: uqsub z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0xc0,0x67,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 67 25 <unknown>
 
 uqsub     z0.h, z0.h, #0, lsl #8
 // CHECK-INST: uqsub z0.h, z0.h, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0x67,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 67 25 <unknown>
 
 uqsub     z31.h, z31.h, #255, lsl #8
 // CHECK-INST: uqsub z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x67,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 67 25 <unknown>
 
 uqsub     z31.h, z31.h, #65280
 // CHECK-INST: uqsub z31.h, z31.h, #65280
 // CHECK-ENCODING: [0xff,0xff,0x67,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff 67 25 <unknown>
 
 uqsub     z0.s, z0.s, #0
 // CHECK-INST: uqsub z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0xc0,0xa7,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 a7 25 <unknown>
 
 uqsub     z0.s, z0.s, #0, lsl #8
 // CHECK-INST: uqsub z0.s, z0.s, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xa7,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 a7 25 <unknown>
 
 uqsub     z31.s, z31.s, #255, lsl #8
 // CHECK-INST: uqsub z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa7,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a7 25 <unknown>
 
 uqsub     z31.s, z31.s, #65280
 // CHECK-INST: uqsub z31.s, z31.s, #65280
 // CHECK-ENCODING: [0xff,0xff,0xa7,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff a7 25 <unknown>
 
 uqsub     z0.d, z0.d, #0
 // CHECK-INST: uqsub z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0xc0,0xe7,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 c0 e7 25 <unknown>
 
 uqsub     z0.d, z0.d, #0, lsl #8
 // CHECK-INST: uqsub z0.d, z0.d, #0, lsl #8
 // CHECK-ENCODING: [0x00,0xe0,0xe7,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 e0 e7 25 <unknown>
 
 uqsub     z31.d, z31.d, #255, lsl #8
 // CHECK-INST: uqsub z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe7,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e7 25 <unknown>
 
 uqsub     z31.d, z31.d, #65280
 // CHECK-INST: uqsub z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe7,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e7 25 <unknown>
 
 
@@ -123,11 +125,11 @@ uqsub     z31.d, z31.d, #65280
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqsub     z31.d, z31.d, #65280
 // CHECK-INST: uqsub	z31.d, z31.d, #65280
 // CHECK-ENCODING: [0xff,0xff,0xe7,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff ff e7 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uunpkhi.s b/llvm/test/MC/AArch64/SVE/uunpkhi.s
index 1e31b07a4bf99..d1680973aabb0 100644
--- a/llvm/test/MC/AArch64/SVE/uunpkhi.s
+++ b/llvm/test/MC/AArch64/SVE/uunpkhi.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 uunpkhi z31.h, z31.b
 // CHECK-INST: uunpkhi	z31.h, z31.b
 // CHECK-ENCODING: [0xff,0x3b,0x73,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 73 05 <unknown>
 
 uunpkhi z31.s, z31.h
 // CHECK-INST: uunpkhi	z31.s, z31.h
 // CHECK-ENCODING: [0xff,0x3b,0xb3,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b b3 05 <unknown>
 
 uunpkhi z31.d, z31.s
 // CHECK-INST: uunpkhi	z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x3b,0xf3,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b f3 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uunpklo.s b/llvm/test/MC/AArch64/SVE/uunpklo.s
index 6ca6c825b1586..bdd69a35cdf8d 100644
--- a/llvm/test/MC/AArch64/SVE/uunpklo.s
+++ b/llvm/test/MC/AArch64/SVE/uunpklo.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,17 +12,17 @@
 uunpklo z31.h, z31.b
 // CHECK-INST: uunpklo	z31.h, z31.b
 // CHECK-ENCODING: [0xff,0x3b,0x72,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b 72 05 <unknown>
 
 uunpklo z31.s, z31.h
 // CHECK-INST: uunpklo	z31.s, z31.h
 // CHECK-ENCODING: [0xff,0x3b,0xb2,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b b2 05 <unknown>
 
 uunpklo z31.d, z31.s
 // CHECK-INST: uunpklo	z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x3b,0xf2,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 3b f2 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uxtb.s b/llvm/test/MC/AArch64/SVE/uxtb.s
index c7c17877b9797..f4fdd6635673e 100644
--- a/llvm/test/MC/AArch64/SVE/uxtb.s
+++ b/llvm/test/MC/AArch64/SVE/uxtb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,37 +12,37 @@
 uxtb    z0.h, p0/m, z0.h
 // CHECK-INST: uxtb    z0.h, p0/m, z0.h
 // CHECK-ENCODING: [0x00,0xa0,0x51,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 51 04 <unknown>
 
 uxtb    z0.s, p0/m, z0.s
 // CHECK-INST: uxtb    z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x91,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 91 04 <unknown>
 
 uxtb    z0.d, p0/m, z0.d
 // CHECK-INST: uxtb    z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d1 04 <unknown>
 
 uxtb    z31.h, p7/m, z31.h
 // CHECK-INST: uxtb    z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x51,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 51 04 <unknown>
 
 uxtb    z31.s, p7/m, z31.s
 // CHECK-INST: uxtb    z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x91,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 91 04 <unknown>
 
 uxtb    z31.d, p7/m, z31.d
 // CHECK-INST: uxtb    z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d1 04 <unknown>
 
 
@@ -50,23 +52,23 @@ uxtb    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 uxtb    z4.d, p7/m, z31.d
 // CHECK-INST: uxtb	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d1 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 uxtb    z4.d, p7/m, z31.d
 // CHECK-INST: uxtb	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd1,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d1 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uxth.s b/llvm/test/MC/AArch64/SVE/uxth.s
index 5bbbc6e4c5480..8ad1c4ce93ace 100644
--- a/llvm/test/MC/AArch64/SVE/uxth.s
+++ b/llvm/test/MC/AArch64/SVE/uxth.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,25 +12,25 @@
 uxth    z0.s, p0/m, z0.s
 // CHECK-INST: uxth    z0.s, p0/m, z0.s
 // CHECK-ENCODING: [0x00,0xa0,0x93,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 93 04 <unknown>
 
 uxth    z0.d, p0/m, z0.d
 // CHECK-INST: uxth    z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d3 04 <unknown>
 
 uxth    z31.s, p7/m, z31.s
 // CHECK-INST: uxth    z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x93,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf 93 04 <unknown>
 
 uxth    z31.d, p7/m, z31.d
 // CHECK-INST: uxth    z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d3 04 <unknown>
 
 
@@ -38,23 +40,23 @@ uxth    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 uxth    z4.d, p7/m, z31.d
 // CHECK-INST: uxth	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d3 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 uxth    z4.d, p7/m, z31.d
 // CHECK-INST: uxth	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd3,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d3 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uxtw.s b/llvm/test/MC/AArch64/SVE/uxtw.s
index 9733c0ff0cf4e..63b30f237d907 100644
--- a/llvm/test/MC/AArch64/SVE/uxtw.s
+++ b/llvm/test/MC/AArch64/SVE/uxtw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,13 +12,13 @@
 uxtw    z0.d, p0/m, z0.d
 // CHECK-INST: uxtw    z0.d, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 a0 d5 04 <unknown>
 
 uxtw    z31.d, p7/m, z31.d
 // CHECK-INST: uxtw    z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bf d5 04 <unknown>
 
 
@@ -26,23 +28,23 @@ uxtw    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 uxtw    z4.d, p7/m, z31.d
 // CHECK-INST: uxtw	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d5 04 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 uxtw    z4.d, p7/m, z31.d
 // CHECK-INST: uxtw	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0xd5,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e4 bf d5 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uzp1.s b/llvm/test/MC/AArch64/SVE/uzp1.s
index aced50d4983cb..f94f0629614d7 100644
--- a/llvm/test/MC/AArch64/SVE/uzp1.s
+++ b/llvm/test/MC/AArch64/SVE/uzp1.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,47 +12,47 @@
 uzp1    z31.b, z31.b, z31.b
 // CHECK-INST: uzp1	z31.b, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x6b,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 6b 3f 05 <unknown>
 
 uzp1    z31.h, z31.h, z31.h
 // CHECK-INST: uzp1	z31.h, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x6b,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 6b 7f 05 <unknown>
 
 uzp1    z31.s, z31.s, z31.s
 // CHECK-INST: uzp1	z31.s, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x6b,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 6b bf 05 <unknown>
 
 uzp1    z31.d, z31.d, z31.d
 // CHECK-INST: uzp1	z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x6b,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 6b ff 05 <unknown>
 
 uzp1    p15.b, p15.b, p15.b
 // CHECK-INST: uzp1	p15.b, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x49,0x2f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 49 2f 05 <unknown>
 
 uzp1    p15.s, p15.s, p15.s
 // CHECK-INST: uzp1	p15.s, p15.s, p15.s
 // CHECK-ENCODING: [0xef,0x49,0xaf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 49 af 05 <unknown>
 
 uzp1    p15.h, p15.h, p15.h
 // CHECK-INST: uzp1	p15.h, p15.h, p15.h
 // CHECK-ENCODING: [0xef,0x49,0x6f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 49 6f 05 <unknown>
 
 uzp1    p15.d, p15.d, p15.d
 // CHECK-INST: uzp1	p15.d, p15.d, p15.d
 // CHECK-ENCODING: [0xef,0x49,0xef,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 49 ef 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/uzp2.s b/llvm/test/MC/AArch64/SVE/uzp2.s
index d60aca0c59a73..c8ccacc5b7779 100644
--- a/llvm/test/MC/AArch64/SVE/uzp2.s
+++ b/llvm/test/MC/AArch64/SVE/uzp2.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,47 +12,47 @@
 uzp2    z31.b, z31.b, z31.b
 // CHECK-INST: uzp2	z31.b, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x6f,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 6f 3f 05 <unknown>
 
 uzp2    z31.h, z31.h, z31.h
 // CHECK-INST: uzp2	z31.h, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x6f,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 6f 7f 05 <unknown>
 
 uzp2    z31.s, z31.s, z31.s
 // CHECK-INST: uzp2	z31.s, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x6f,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 6f bf 05 <unknown>
 
 uzp2    z31.d, z31.d, z31.d
 // CHECK-INST: uzp2	z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x6f,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 6f ff 05 <unknown>
 
 uzp2    p15.b, p15.b, p15.b
 // CHECK-INST: uzp2	p15.b, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x4d,0x2f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 4d 2f 05 <unknown>
 
 uzp2    p15.s, p15.s, p15.s
 // CHECK-INST: uzp2	p15.s, p15.s, p15.s
 // CHECK-ENCODING: [0xef,0x4d,0xaf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 4d af 05 <unknown>
 
 uzp2    p15.h, p15.h, p15.h
 // CHECK-INST: uzp2	p15.h, p15.h, p15.h
 // CHECK-ENCODING: [0xef,0x4d,0x6f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 4d 6f 05 <unknown>
 
 uzp2    p15.d, p15.d, p15.d
 // CHECK-INST: uzp2	p15.d, p15.d, p15.d
 // CHECK-ENCODING: [0xef,0x4d,0xef,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 4d ef 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/whilele.s b/llvm/test/MC/AArch64/SVE/whilele.s
index 477d3e1bd9615..6f1d519aa1bcd 100644
--- a/llvm/test/MC/AArch64/SVE/whilele.s
+++ b/llvm/test/MC/AArch64/SVE/whilele.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,59 +12,59 @@
 whilele  p15.b, xzr, x0
 // CHECK-INST: whilele	p15.b, xzr, x0
 // CHECK-ENCODING: [0xff,0x17,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 17 20 25 <unknown>
 
 whilele  p15.b, x0, xzr
 // CHECK-INST: whilele	p15.b, x0, xzr
 // CHECK-ENCODING: [0x1f,0x14,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 14 3f 25 <unknown>
 
 whilele  p15.b, wzr, w0
 // CHECK-INST: whilele	p15.b, wzr, w0
 // CHECK-ENCODING: [0xff,0x07,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 07 20 25 <unknown>
 
 whilele  p15.b, w0, wzr
 // CHECK-INST: whilele	p15.b, w0, wzr
 // CHECK-ENCODING: [0x1f,0x04,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 04 3f 25 <unknown>
 
 whilele  p15.h, x0, xzr
 // CHECK-INST: whilele	p15.h, x0, xzr
 // CHECK-ENCODING: [0x1f,0x14,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 14 7f 25 <unknown>
 
 whilele  p15.h, w0, wzr
 // CHECK-INST: whilele	p15.h, w0, wzr
 // CHECK-ENCODING: [0x1f,0x04,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 04 7f 25 <unknown>
 
 whilele  p15.s, x0, xzr
 // CHECK-INST: whilele	p15.s, x0, xzr
 // CHECK-ENCODING: [0x1f,0x14,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 14 bf 25 <unknown>
 
 whilele  p15.s, w0, wzr
 // CHECK-INST: whilele	p15.s, w0, wzr
 // CHECK-ENCODING: [0x1f,0x04,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 04 bf 25 <unknown>
 
 whilele  p15.d, w0, wzr
 // CHECK-INST: whilele	p15.d, w0, wzr
 // CHECK-ENCODING: [0x1f,0x04,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 04 ff 25 <unknown>
 
 whilele  p15.d, x0, xzr
 // CHECK-INST: whilele	p15.d, x0, xzr
 // CHECK-ENCODING: [0x1f,0x14,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 14 ff 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/whilelo.s b/llvm/test/MC/AArch64/SVE/whilelo.s
index 1f8dfaf33c2fd..0246b0f4c3917 100644
--- a/llvm/test/MC/AArch64/SVE/whilelo.s
+++ b/llvm/test/MC/AArch64/SVE/whilelo.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,59 +12,59 @@
 whilelo  p15.b, xzr, x0
 // CHECK-INST: whilelo	p15.b, xzr, x0
 // CHECK-ENCODING: [0xef,0x1f,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 1f 20 25 <unknown>
 
 whilelo  p15.b, x0, xzr
 // CHECK-INST: whilelo	p15.b, x0, xzr
 // CHECK-ENCODING: [0x0f,0x1c,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 1c 3f 25 <unknown>
 
 whilelo  p15.b, wzr, w0
 // CHECK-INST: whilelo	p15.b, wzr, w0
 // CHECK-ENCODING: [0xef,0x0f,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 0f 20 25 <unknown>
 
 whilelo  p15.b, w0, wzr
 // CHECK-INST: whilelo	p15.b, w0, wzr
 // CHECK-ENCODING: [0x0f,0x0c,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 0c 3f 25 <unknown>
 
 whilelo  p15.h, x0, xzr
 // CHECK-INST: whilelo	p15.h, x0, xzr
 // CHECK-ENCODING: [0x0f,0x1c,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 1c 7f 25 <unknown>
 
 whilelo  p15.h, w0, wzr
 // CHECK-INST: whilelo	p15.h, w0, wzr
 // CHECK-ENCODING: [0x0f,0x0c,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 0c 7f 25 <unknown>
 
 whilelo  p15.s, x0, xzr
 // CHECK-INST: whilelo	p15.s, x0, xzr
 // CHECK-ENCODING: [0x0f,0x1c,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 1c bf 25 <unknown>
 
 whilelo  p15.s, w0, wzr
 // CHECK-INST: whilelo	p15.s, w0, wzr
 // CHECK-ENCODING: [0x0f,0x0c,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 0c bf 25 <unknown>
 
 whilelo  p15.d, w0, wzr
 // CHECK-INST: whilelo	p15.d, w0, wzr
 // CHECK-ENCODING: [0x0f,0x0c,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 0c ff 25 <unknown>
 
 whilelo  p15.d, x0, xzr
 // CHECK-INST: whilelo	p15.d, x0, xzr
 // CHECK-ENCODING: [0x0f,0x1c,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 1c ff 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/whilels.s b/llvm/test/MC/AArch64/SVE/whilels.s
index 1b1221b2950b6..39342d72d3d5a 100644
--- a/llvm/test/MC/AArch64/SVE/whilels.s
+++ b/llvm/test/MC/AArch64/SVE/whilels.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,59 +12,59 @@
 whilels  p15.b, xzr, x0
 // CHECK-INST: whilels	p15.b, xzr, x0
 // CHECK-ENCODING: [0xff,0x1f,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 1f 20 25 <unknown>
 
 whilels  p15.b, x0, xzr
 // CHECK-INST: whilels	p15.b, x0, xzr
 // CHECK-ENCODING: [0x1f,0x1c,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 1c 3f 25 <unknown>
 
 whilels  p15.b, wzr, w0
 // CHECK-INST: whilels	p15.b, wzr, w0
 // CHECK-ENCODING: [0xff,0x0f,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 0f 20 25 <unknown>
 
 whilels  p15.b, w0, wzr
 // CHECK-INST: whilels	p15.b, w0, wzr
 // CHECK-ENCODING: [0x1f,0x0c,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 0c 3f 25 <unknown>
 
 whilels  p15.h, x0, xzr
 // CHECK-INST: whilels	p15.h, x0, xzr
 // CHECK-ENCODING: [0x1f,0x1c,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 1c 7f 25 <unknown>
 
 whilels  p15.h, w0, wzr
 // CHECK-INST: whilels	p15.h, w0, wzr
 // CHECK-ENCODING: [0x1f,0x0c,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 0c 7f 25 <unknown>
 
 whilels  p15.s, x0, xzr
 // CHECK-INST: whilels	p15.s, x0, xzr
 // CHECK-ENCODING: [0x1f,0x1c,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 1c bf 25 <unknown>
 
 whilels  p15.s, w0, wzr
 // CHECK-INST: whilels	p15.s, w0, wzr
 // CHECK-ENCODING: [0x1f,0x0c,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 0c bf 25 <unknown>
 
 whilels  p15.d, w0, wzr
 // CHECK-INST: whilels	p15.d, w0, wzr
 // CHECK-ENCODING: [0x1f,0x0c,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 0c ff 25 <unknown>
 
 whilels  p15.d, x0, xzr
 // CHECK-INST: whilels	p15.d, x0, xzr
 // CHECK-ENCODING: [0x1f,0x1c,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 1f 1c ff 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/whilelt.s b/llvm/test/MC/AArch64/SVE/whilelt.s
index f0fa31c6e6e3d..4c915305b1d3b 100644
--- a/llvm/test/MC/AArch64/SVE/whilelt.s
+++ b/llvm/test/MC/AArch64/SVE/whilelt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,59 +12,59 @@
 whilelt  p15.b, xzr, x0
 // CHECK-INST: whilelt	p15.b, xzr, x0
 // CHECK-ENCODING: [0xef,0x17,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 17 20 25 <unknown>
 
 whilelt  p15.b, x0, xzr
 // CHECK-INST: whilelt	p15.b, x0, xzr
 // CHECK-ENCODING: [0x0f,0x14,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 14 3f 25 <unknown>
 
 whilelt  p15.b, wzr, w0
 // CHECK-INST: whilelt	p15.b, wzr, w0
 // CHECK-ENCODING: [0xef,0x07,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 07 20 25 <unknown>
 
 whilelt  p15.b, w0, wzr
 // CHECK-INST: whilelt	p15.b, w0, wzr
 // CHECK-ENCODING: [0x0f,0x04,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 04 3f 25 <unknown>
 
 whilelt  p15.h, x0, xzr
 // CHECK-INST: whilelt	p15.h, x0, xzr
 // CHECK-ENCODING: [0x0f,0x14,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 14 7f 25 <unknown>
 
 whilelt  p15.h, w0, wzr
 // CHECK-INST: whilelt	p15.h, w0, wzr
 // CHECK-ENCODING: [0x0f,0x04,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 04 7f 25 <unknown>
 
 whilelt  p15.s, x0, xzr
 // CHECK-INST: whilelt	p15.s, x0, xzr
 // CHECK-ENCODING: [0x0f,0x14,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 14 bf 25 <unknown>
 
 whilelt  p15.s, w0, wzr
 // CHECK-INST: whilelt	p15.s, w0, wzr
 // CHECK-ENCODING: [0x0f,0x04,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 04 bf 25 <unknown>
 
 whilelt  p15.d, w0, wzr
 // CHECK-INST: whilelt	p15.d, w0, wzr
 // CHECK-ENCODING: [0x0f,0x04,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 04 ff 25 <unknown>
 
 whilelt  p15.d, x0, xzr
 // CHECK-INST: whilelt	p15.d, x0, xzr
 // CHECK-ENCODING: [0x0f,0x14,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 0f 14 ff 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/wrffr.s b/llvm/test/MC/AArch64/SVE/wrffr.s
index 23cca9c1fabcd..197dce74aa82b 100644
--- a/llvm/test/MC/AArch64/SVE/wrffr.s
+++ b/llvm/test/MC/AArch64/SVE/wrffr.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \

diff  --git a/llvm/test/MC/AArch64/SVE/zip1.s b/llvm/test/MC/AArch64/SVE/zip1.s
index 9c5d658e67e7f..bacef95cdf81f 100644
--- a/llvm/test/MC/AArch64/SVE/zip1.s
+++ b/llvm/test/MC/AArch64/SVE/zip1.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,95 +12,95 @@
 zip1    z0.b, z0.b, z0.b
 // CHECK-INST: zip1    z0.b, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x60,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 20 05 <unknown>
 
 zip1    z0.h, z0.h, z0.h
 // CHECK-INST: zip1    z0.h, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x60,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 60 05 <unknown>
 
 zip1    z0.s, z0.s, z0.s
 // CHECK-INST: zip1    z0.s, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x60,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 a0 05 <unknown>
 
 zip1    z0.d, z0.d, z0.d
 // CHECK-INST: zip1    z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x60,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 60 e0 05 <unknown>
 
 zip1    z31.b, z31.b, z31.b
 // CHECK-INST: zip1    z31.b, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x63,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 63 3f 05 <unknown>
 
 zip1    z31.h, z31.h, z31.h
 // CHECK-INST: zip1    z31.h, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x63,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 63 7f 05 <unknown>
 
 zip1    z31.s, z31.s, z31.s
 // CHECK-INST: zip1    z31.s, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x63,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 63 bf 05 <unknown>
 
 zip1    z31.d, z31.d, z31.d
 // CHECK-INST: zip1    z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x63,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 63 ff 05 <unknown>
 
 zip1    p0.b, p0.b, p0.b
 // CHECK-INST: zip1    p0.b, p0.b, p0.b
 // CHECK-ENCODING: [0x00,0x40,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 20 05 <unknown>
 
 zip1    p0.h, p0.h, p0.h
 // CHECK-INST: zip1    p0.h, p0.h, p0.h
 // CHECK-ENCODING: [0x00,0x40,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 60 05 <unknown>
 
 zip1    p0.s, p0.s, p0.s
 // CHECK-INST: zip1    p0.s, p0.s, p0.s
 // CHECK-ENCODING: [0x00,0x40,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 a0 05 <unknown>
 
 zip1    p0.d, p0.d, p0.d
 // CHECK-INST: zip1    p0.d, p0.d, p0.d
 // CHECK-ENCODING: [0x00,0x40,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 40 e0 05 <unknown>
 
 zip1    p15.b, p15.b, p15.b
 // CHECK-INST: zip1    p15.b, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x41,0x2f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 41 2f 05 <unknown>
 
 zip1    p15.s, p15.s, p15.s
 // CHECK-INST: zip1    p15.s, p15.s, p15.s
 // CHECK-ENCODING: [0xef,0x41,0xaf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 41 af 05 <unknown>
 
 zip1    p15.h, p15.h, p15.h
 // CHECK-INST: zip1    p15.h, p15.h, p15.h
 // CHECK-ENCODING: [0xef,0x41,0x6f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 41 6f 05 <unknown>
 
 zip1    p15.d, p15.d, p15.d
 // CHECK-INST: zip1    p15.d, p15.d, p15.d
 // CHECK-ENCODING: [0xef,0x41,0xef,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 41 ef 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE/zip2.s b/llvm/test/MC/AArch64/SVE/zip2.s
index c91a0dd620aa2..56eb686079659 100644
--- a/llvm/test/MC/AArch64/SVE/zip2.s
+++ b/llvm/test/MC/AArch64/SVE/zip2.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
@@ -10,95 +12,95 @@
 zip2    z0.b, z0.b, z0.b
 // CHECK-INST: zip2    z0.b, z0.b, z0.b
 // CHECK-ENCODING: [0x00,0x64,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 64 20 05 <unknown>
 
 zip2    z0.h, z0.h, z0.h
 // CHECK-INST: zip2    z0.h, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x64,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 64 60 05 <unknown>
 
 zip2    z0.s, z0.s, z0.s
 // CHECK-INST: zip2    z0.s, z0.s, z0.s
 // CHECK-ENCODING: [0x00,0x64,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 64 a0 05 <unknown>
 
 zip2    z0.d, z0.d, z0.d
 // CHECK-INST: zip2    z0.d, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x64,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 64 e0 05 <unknown>
 
 zip2    z31.b, z31.b, z31.b
 // CHECK-INST: zip2    z31.b, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x67,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 67 3f 05 <unknown>
 
 zip2    z31.h, z31.h, z31.h
 // CHECK-INST: zip2    z31.h, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x67,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 67 7f 05 <unknown>
 
 zip2    z31.s, z31.s, z31.s
 // CHECK-INST: zip2    z31.s, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x67,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 67 bf 05 <unknown>
 
 zip2    z31.d, z31.d, z31.d
 // CHECK-INST: zip2    z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x67,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff 67 ff 05 <unknown>
 
 zip2    p0.b, p0.b, p0.b
 // CHECK-INST: zip2    p0.b, p0.b, p0.b
 // CHECK-ENCODING: [0x00,0x44,0x20,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 44 20 05 <unknown>
 
 zip2    p0.h, p0.h, p0.h
 // CHECK-INST: zip2    p0.h, p0.h, p0.h
 // CHECK-ENCODING: [0x00,0x44,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 44 60 05 <unknown>
 
 zip2    p0.s, p0.s, p0.s
 // CHECK-INST: zip2    p0.s, p0.s, p0.s
 // CHECK-ENCODING: [0x00,0x44,0xa0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 44 a0 05 <unknown>
 
 zip2    p0.d, p0.d, p0.d
 // CHECK-INST: zip2    p0.d, p0.d, p0.d
 // CHECK-ENCODING: [0x00,0x44,0xe0,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 00 44 e0 05 <unknown>
 
 zip2    p15.b, p15.b, p15.b
 // CHECK-INST: zip2    p15.b, p15.b, p15.b
 // CHECK-ENCODING: [0xef,0x45,0x2f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 45 2f 05 <unknown>
 
 zip2    p15.h, p15.h, p15.h
 // CHECK-INST: zip2    p15.h, p15.h, p15.h
 // CHECK-ENCODING: [0xef,0x45,0x6f,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 45 6f 05 <unknown>
 
 zip2    p15.s, p15.s, p15.s
 // CHECK-INST: zip2    p15.s, p15.s, p15.s
 // CHECK-ENCODING: [0xef,0x45,0xaf,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 45 af 05 <unknown>
 
 zip2    p15.d, p15.d, p15.d
 // CHECK-INST: zip2    p15.d, p15.d, p15.d
 // CHECK-ENCODING: [0xef,0x45,0xef,0x05]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ef 45 ef 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/adclb.s b/llvm/test/MC/AArch64/SVE2/adclb.s
index 4f5c2bc5fea9c..4903e4fbe966e 100644
--- a/llvm/test/MC/AArch64/SVE2/adclb.s
+++ b/llvm/test/MC/AArch64/SVE2/adclb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,13 +12,13 @@
 adclb z0.s, z1.s, z31.s
 // CHECK-INST: adclb z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xd0,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d0 1f 45 <unknown>
 
 adclb z0.d, z1.d, z31.d
 // CHECK-INST: adclb z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xd0,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d0 5f 45 <unknown>
 
 
@@ -26,11 +28,11 @@ adclb z0.d, z1.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 adclb z0.d, z1.d, z31.d
 // CHECK-INST: adclb z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xd0,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d0 5f 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/adclt.s b/llvm/test/MC/AArch64/SVE2/adclt.s
index ab2798d2f0b81..97f812875a0bf 100644
--- a/llvm/test/MC/AArch64/SVE2/adclt.s
+++ b/llvm/test/MC/AArch64/SVE2/adclt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,13 +12,13 @@
 adclt z0.s, z1.s, z31.s
 // CHECK-INST: adclt z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xd4,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d4 1f 45 <unknown>
 
 adclt z0.d, z1.d, z31.d
 // CHECK-INST: adclt z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xd4,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d4 5f 45 <unknown>
 
 
@@ -26,11 +28,11 @@ adclt z0.d, z1.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 adclt z0.d, z1.d, z31.d
 // CHECK-INST: adclt z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xd4,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d4 5f 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/addhnb.s b/llvm/test/MC/AArch64/SVE2/addhnb.s
index 8b479298421ca..734da7ac3a039 100644
--- a/llvm/test/MC/AArch64/SVE2/addhnb.s
+++ b/llvm/test/MC/AArch64/SVE2/addhnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 addhnb z0.b, z1.h, z31.h
 // CHECK-INST: addhnb	z0.b, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x60,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 7f 45 <unknown>
 
 addhnb z0.h, z1.s, z31.s
 // CHECK-INST: addhnb	z0.h, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x60,0xbf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 bf 45 <unknown>
 
 addhnb z0.s, z1.d, z31.d
 // CHECK-INST: addhnb	z0.s, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x60,0xff,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 ff 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/addhnt.s b/llvm/test/MC/AArch64/SVE2/addhnt.s
index 3ca3320b852fa..120a218a41168 100644
--- a/llvm/test/MC/AArch64/SVE2/addhnt.s
+++ b/llvm/test/MC/AArch64/SVE2/addhnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 addhnt z0.b, z1.h, z31.h
 // CHECK-INST: addhnt	z0.b, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x64,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 64 7f 45 <unknown>
 
 addhnt z0.h, z1.s, z31.s
 // CHECK-INST: addhnt	z0.h, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x64,0xbf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 64 bf 45 <unknown>
 
 addhnt z0.s, z1.d, z31.d
 // CHECK-INST: addhnt	z0.s, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x64,0xff,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 64 ff 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/addp.s b/llvm/test/MC/AArch64/SVE2/addp.s
index 0ea7375c4d965..4147f9c259194 100644
--- a/llvm/test/MC/AArch64/SVE2/addp.s
+++ b/llvm/test/MC/AArch64/SVE2/addp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 addp z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: addp z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0xa0,0x11,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 11 44 <unknown>
 
 addp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: addp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0xa0,0x51,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 51 44 <unknown>
 
 addp z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: addp z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0xbf,0x91,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd bf 91 44 <unknown>
 
 addp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: addp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd1,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d1 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ addp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 addp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: addp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xa3,0xd1,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df a3 d1 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 addp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: addp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd1,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d1 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/aesd.s b/llvm/test/MC/AArch64/SVE2/aesd.s
index db78ad5f038f3..9d108136ae76e 100644
--- a/llvm/test/MC/AArch64/SVE2/aesd.s
+++ b/llvm/test/MC/AArch64/SVE2/aesd.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-aes - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/aese.s b/llvm/test/MC/AArch64/SVE2/aese.s
index f013105ca83c0..b435d3378f0dc 100644
--- a/llvm/test/MC/AArch64/SVE2/aese.s
+++ b/llvm/test/MC/AArch64/SVE2/aese.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-aes - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/aesimc.s b/llvm/test/MC/AArch64/SVE2/aesimc.s
index 932ee55f89602..32862590d5633 100644
--- a/llvm/test/MC/AArch64/SVE2/aesimc.s
+++ b/llvm/test/MC/AArch64/SVE2/aesimc.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-aes - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/aesmc.s b/llvm/test/MC/AArch64/SVE2/aesmc.s
index 9cacf97e1eaf7..d9cb9525fc57f 100644
--- a/llvm/test/MC/AArch64/SVE2/aesmc.s
+++ b/llvm/test/MC/AArch64/SVE2/aesmc.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-aes - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/bcax.s b/llvm/test/MC/AArch64/SVE2/bcax.s
index 55448fb69c718..5c23d7fbe3c98 100644
--- a/llvm/test/MC/AArch64/SVE2/bcax.s
+++ b/llvm/test/MC/AArch64/SVE2/bcax.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,7 +12,7 @@
 bcax z29.d, z29.d, z30.d, z31.d
 // CHECK-INST: bcax z29.d, z29.d, z30.d, z31.d
 // CHECK-ENCODING: [0xfd,0x3b,0x7e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fd 3b 7e 04 <unknown>
 
 
@@ -20,19 +22,19 @@ bcax z29.d, z29.d, z30.d, z31.d
 bcax z29.b, z29.b, z30.b, z31.b
 // CHECK-INST: bcax z29.d, z29.d, z30.d, z31.d
 // CHECK-ENCODING: [0xfd,0x3b,0x7e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fd 3b 7e 04 <unknown>
 
 bcax z29.h, z29.h, z30.h, z31.h
 // CHECK-INST: bcax z29.d, z29.d, z30.d, z31.d
 // CHECK-ENCODING: [0xfd,0x3b,0x7e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fd 3b 7e 04 <unknown>
 
 bcax z29.s, z29.s, z30.s, z31.s
 // CHECK-INST: bcax z29.d, z29.d, z30.d, z31.d
 // CHECK-ENCODING: [0xfd,0x3b,0x7e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fd 3b 7e 04 <unknown>
 
 
@@ -42,11 +44,11 @@ bcax z29.s, z29.s, z30.s, z31.s
 movprfx z31, z7
 // CHECK-INST: movprfx z31, z7
 // CHECK-ENCODING: [0xff,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bc 20 04 <unknown>
 
 bcax z31.d, z31.d, z30.d, z29.d
 // CHECK-INST: bcax z31.d, z31.d, z30.d, z29.d
 // CHECK-ENCODING: [0xbf,0x3b,0x7e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bf 3b 7e 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/bdep.s b/llvm/test/MC/AArch64/SVE2/bdep.s
index 26d28f1ce75fb..c8388baf9de8c 100644
--- a/llvm/test/MC/AArch64/SVE2/bdep.s
+++ b/llvm/test/MC/AArch64/SVE2/bdep.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-bitperm < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-bitperm - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-bitperm < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/bext.s b/llvm/test/MC/AArch64/SVE2/bext.s
index b11d57c532215..a9e7b3dbbc935 100644
--- a/llvm/test/MC/AArch64/SVE2/bext.s
+++ b/llvm/test/MC/AArch64/SVE2/bext.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-bitperm < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-bitperm - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-bitperm < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/bgrp.s b/llvm/test/MC/AArch64/SVE2/bgrp.s
index 5b671c589b839..d73c925c16ce7 100644
--- a/llvm/test/MC/AArch64/SVE2/bgrp.s
+++ b/llvm/test/MC/AArch64/SVE2/bgrp.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-bitperm < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-bitperm - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-bitperm < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/bsl.s b/llvm/test/MC/AArch64/SVE2/bsl.s
index e19fe7a989003..7a7172a885223 100644
--- a/llvm/test/MC/AArch64/SVE2/bsl.s
+++ b/llvm/test/MC/AArch64/SVE2/bsl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,7 +12,7 @@
 bsl z0.d, z0.d, z1.d, z2.d
 // CHECK-INST: bsl z0.d, z0.d, z1.d, z2.d
 // CHECK-ENCODING: [0x40,0x3c,0x21,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 40 3c 21 04 <unknown>
 
 
@@ -20,11 +22,11 @@ bsl z0.d, z0.d, z1.d, z2.d
 movprfx z31, z7
 // CHECK-INST: movprfx z31, z7
 // CHECK-ENCODING: [0xff,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bc 20 04 <unknown>
 
 bsl z31.d, z31.d, z30.d, z29.d
 // CHECK-INST: bsl z31.d, z31.d, z30.d, z29.d
 // CHECK-ENCODING: [0xbf,0x3f,0x3e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bf 3f 3e 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/bsl1n.s b/llvm/test/MC/AArch64/SVE2/bsl1n.s
index 8edefc197ddee..49d1a7e5afbbb 100644
--- a/llvm/test/MC/AArch64/SVE2/bsl1n.s
+++ b/llvm/test/MC/AArch64/SVE2/bsl1n.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,7 +12,7 @@
 bsl1n z0.d, z0.d, z1.d, z2.d
 // CHECK-INST: bsl1n z0.d, z0.d, z1.d, z2.d
 // CHECK-ENCODING: [0x40,0x3c,0x61,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 40 3c 61 04 <unknown>
 
 
@@ -20,11 +22,11 @@ bsl1n z0.d, z0.d, z1.d, z2.d
 movprfx z31, z7
 // CHECK-INST: movprfx z31, z7
 // CHECK-ENCODING: [0xff,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bc 20 04 <unknown>
 
 bsl1n z31.d, z31.d, z30.d, z29.d
 // CHECK-INST: bsl1n z31.d, z31.d, z30.d, z29.d
 // CHECK-ENCODING: [0xbf,0x3f,0x7e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bf 3f 7e 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/bsl2n.s b/llvm/test/MC/AArch64/SVE2/bsl2n.s
index e01e6c88ecd59..77d5221053672 100644
--- a/llvm/test/MC/AArch64/SVE2/bsl2n.s
+++ b/llvm/test/MC/AArch64/SVE2/bsl2n.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,7 +12,7 @@
 bsl2n z0.d, z0.d, z1.d, z2.d
 // CHECK-INST: bsl2n z0.d, z0.d, z1.d, z2.d
 // CHECK-ENCODING: [0x40,0x3c,0xa1,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 40 3c a1 04 <unknown>
 
 
@@ -20,11 +22,11 @@ bsl2n z0.d, z0.d, z1.d, z2.d
 movprfx z31, z7
 // CHECK-INST: movprfx z31, z7
 // CHECK-ENCODING: [0xff,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bc 20 04 <unknown>
 
 bsl2n z31.d, z31.d, z30.d, z29.d
 // CHECK-INST: bsl2n z31.d, z31.d, z30.d, z29.d
 // CHECK-ENCODING: [0xbf,0x3f,0xbe,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bf 3f be 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/cadd.s b/llvm/test/MC/AArch64/SVE2/cadd.s
index 6df6a7b4233ea..c4e4b9f0a4b2d 100644
--- a/llvm/test/MC/AArch64/SVE2/cadd.s
+++ b/llvm/test/MC/AArch64/SVE2/cadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 cadd   z0.b, z0.b, z0.b, #90
 // CHECK-INST: cadd   z0.b, z0.b, z0.b, #90
 // CHECK-ENCODING: [0x00,0xd8,0x00,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 d8 00 45 <unknown>
 
 cadd   z0.h, z0.h, z0.h, #90
 // CHECK-INST: cadd   z0.h, z0.h, z0.h, #90
 // CHECK-ENCODING: [0x00,0xd8,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 d8 40 45 <unknown>
 
 cadd   z0.s, z0.s, z0.s, #90
 // CHECK-INST: cadd   z0.s, z0.s, z0.s, #90
 // CHECK-ENCODING: [0x00,0xd8,0x80,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 d8 80 45 <unknown>
 
 cadd   z0.d, z0.d, z0.d, #90
 // CHECK-INST: cadd   z0.d, z0.d, z0.d, #90
 // CHECK-ENCODING: [0x00,0xd8,0xc0,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 d8 c0 45 <unknown>
 
 cadd   z31.b, z31.b, z31.b, #270
 // CHECK-INST: cadd   z31.b, z31.b, z31.b, #270
 // CHECK-ENCODING: [0xff,0xdf,0x00,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff df 00 45 <unknown>
 
 cadd   z31.h, z31.h, z31.h, #270
 // CHECK-INST: cadd   z31.h, z31.h, z31.h, #270
 // CHECK-ENCODING: [0xff,0xdf,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff df 40 45 <unknown>
 
 cadd   z31.s, z31.s, z31.s, #270
 // CHECK-INST: cadd   z31.s, z31.s, z31.s, #270
 // CHECK-ENCODING: [0xff,0xdf,0x80,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff df 80 45 <unknown>
 
 cadd   z31.d, z31.d, z31.d, #270
 // CHECK-INST: cadd   z31.d, z31.d, z31.d, #270
 // CHECK-ENCODING: [0xff,0xdf,0xc0,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff df c0 45 <unknown>
 
 
@@ -62,11 +64,11 @@ cadd   z31.d, z31.d, z31.d, #270
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 cadd   z4.d, z4.d, z31.d, #270
 // CHECK-INST: cadd	z4.d, z4.d, z31.d, #270
 // CHECK-ENCODING: [0xe4,0xdf,0xc0,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 df c0 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/cdot.s b/llvm/test/MC/AArch64/SVE2/cdot.s
index dd0da23a1f119..8e83f2f8ba435 100644
--- a/llvm/test/MC/AArch64/SVE2/cdot.s
+++ b/llvm/test/MC/AArch64/SVE2/cdot.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,61 +12,61 @@
 cdot  z0.s, z1.b, z31.b, #0
 // CHECK-INST: cdot	z0.s, z1.b, z31.b, #0
 // CHECK-ENCODING: [0x20,0x10,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 10 9f 44 <unknown>
 
 cdot  z0.d, z1.h, z31.h, #0
 // CHECK-INST: cdot	z0.d, z1.h, z31.h, #0
 // CHECK-ENCODING: [0x20,0x10,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 10 df 44 <unknown>
 
 cdot  z0.d, z1.h, z31.h, #90
 // CHECK-INST: cdot	z0.d, z1.h, z31.h, #90
 // CHECK-ENCODING: [0x20,0x14,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 14 df 44 <unknown>
 
 cdot  z0.d, z1.h, z31.h, #180
 // CHECK-INST: cdot	z0.d, z1.h, z31.h, #180
 // CHECK-ENCODING: [0x20,0x18,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 18 df 44 <unknown>
 
 cdot  z0.d, z1.h, z31.h, #270
 // CHECK-INST: cdot	z0.d, z1.h, z31.h, #270
 // CHECK-ENCODING: [0x20,0x1c,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 1c df 44 <unknown>
 
 cdot  z0.s, z1.b, z7.b[3], #0
 // CHECK-INST: cdot	z0.s, z1.b, z7.b[3], #0
 // CHECK-ENCODING: [0x20,0x40,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 40 bf 44 <unknown>
 
 cdot  z0.d, z1.h, z15.h[1], #0
 // CHECK-INST: cdot	z0.d, z1.h, z15.h[1], #0
 // CHECK-ENCODING: [0x20,0x40,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 40 ff 44 <unknown>
 
 cdot  z5.d, z6.h, z3.h[0], #90
 // CHECK-INST: cdot	z5.d, z6.h, z3.h[0], #90
 // CHECK-ENCODING: [0xc5,0x44,0xe3,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: c5 44 e3 44 <unknown>
 
 cdot  z29.d, z30.h, z0.h[0], #180
 // CHECK-INST: cdot z29.d, z30.h, z0.h[0], #180
 // CHECK-ENCODING: [0xdd,0x4b,0xe0,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 4b e0 44 <unknown>
 
 cdot  z31.d, z30.h, z7.h[1], #270
 // CHECK-INST: cdot z31.d, z30.h, z7.h[1], #270
 // CHECK-ENCODING: [0xdf,0x4f,0xf7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 4f f7 44 <unknown>
 
 
@@ -74,23 +76,23 @@ cdot  z31.d, z30.h, z7.h[1], #270
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 cdot  z0.d, z1.h, z31.h, #0
 // CHECK-INST: cdot	z0.d, z1.h, z31.h, #0
 // CHECK-ENCODING: [0x20,0x10,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 10 df 44 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 cdot  z0.d, z1.h, z15.h[1], #0
 // CHECK-INST: cdot z0.d, z1.h, z15.h[1], #0
 // CHECK-ENCODING: [0x20,0x40,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 40 ff 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/cmla.s b/llvm/test/MC/AArch64/SVE2/cmla.s
index 6c15b40e52e21..b65555bb7fa19 100644
--- a/llvm/test/MC/AArch64/SVE2/cmla.s
+++ b/llvm/test/MC/AArch64/SVE2/cmla.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,121 +12,121 @@
 cmla   z0.b, z1.b, z2.b, #0
 // CHECK-INST: cmla   z0.b, z1.b, z2.b, #0
 // CHECK-ENCODING: [0x20,0x20,0x02,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 20 02 44 <unknown>
 
 cmla   z0.h, z1.h, z2.h, #0
 // CHECK-INST: cmla   z0.h, z1.h, z2.h, #0
 // CHECK-ENCODING: [0x20,0x20,0x42,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 20 42 44 <unknown>
 
 cmla   z0.s, z1.s, z2.s, #0
 // CHECK-INST: cmla   z0.s, z1.s, z2.s, #0
 // CHECK-ENCODING: [0x20,0x20,0x82,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 20 82 44 <unknown>
 
 cmla   z0.d, z1.d, z2.d, #0
 // CHECK-INST: cmla   z0.d, z1.d, z2.d, #0
 // CHECK-ENCODING: [0x20,0x20,0xc2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 20 c2 44 <unknown>
 
 cmla   z29.b, z30.b, z31.b, #90
 // CHECK-INST: cmla   z29.b, z30.b, z31.b, #90
 // CHECK-ENCODING: [0xdd,0x27,0x1f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 27 1f 44 <unknown>
 
 cmla   z29.h, z30.h, z31.h, #90
 // CHECK-INST: cmla   z29.h, z30.h, z31.h, #90
 // CHECK-ENCODING: [0xdd,0x27,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 27 5f 44 <unknown>
 
 cmla   z29.s, z30.s, z31.s, #90
 // CHECK-INST: cmla   z29.s, z30.s, z31.s, #90
 // CHECK-ENCODING: [0xdd,0x27,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 27 9f 44 <unknown>
 
 cmla   z29.d, z30.d, z31.d, #90
 // CHECK-INST: cmla   z29.d, z30.d, z31.d, #90
 // CHECK-ENCODING: [0xdd,0x27,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 27 df 44 <unknown>
 
 cmla   z31.b, z31.b, z31.b, #180
 // CHECK-INST: cmla   z31.b, z31.b, z31.b, #180
 // CHECK-ENCODING: [0xff,0x2b,0x1f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2b 1f 44 <unknown>
 
 cmla   z31.h, z31.h, z31.h, #180
 // CHECK-INST: cmla   z31.h, z31.h, z31.h, #180
 // CHECK-ENCODING: [0xff,0x2b,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2b 5f 44 <unknown>
 
 cmla   z31.s, z31.s, z31.s, #180
 // CHECK-INST: cmla   z31.s, z31.s, z31.s, #180
 // CHECK-ENCODING: [0xff,0x2b,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2b 9f 44 <unknown>
 
 cmla   z31.d, z31.d, z31.d, #180
 // CHECK-INST: cmla   z31.d, z31.d, z31.d, #180
 // CHECK-ENCODING: [0xff,0x2b,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2b df 44 <unknown>
 
 cmla   z15.b, z16.b, z17.b, #270
 // CHECK-INST: cmla   z15.b, z16.b, z17.b, #270
 // CHECK-ENCODING: [0x0f,0x2e,0x11,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 2e 11 44 <unknown>
 
 cmla   z15.h, z16.h, z17.h, #270
 // CHECK-INST: cmla   z15.h, z16.h, z17.h, #270
 // CHECK-ENCODING: [0x0f,0x2e,0x51,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 2e 51 44 <unknown>
 
 cmla   z15.s, z16.s, z17.s, #270
 // CHECK-INST: cmla   z15.s, z16.s, z17.s, #270
 // CHECK-ENCODING: [0x0f,0x2e,0x91,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 2e 91 44 <unknown>
 
 cmla   z15.d, z16.d, z17.d, #270
 // CHECK-INST: cmla   z15.d, z16.d, z17.d, #270
 // CHECK-ENCODING: [0x0f,0x2e,0xd1,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 2e d1 44 <unknown>
 
 cmla   z0.h, z1.h, z2.h[0], #0
 // CHECK-INST: cmla   z0.h, z1.h, z2.h[0], #0
 // CHECK-ENCODING: [0x20,0x60,0xa2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 a2 44 <unknown>
 
 cmla   z0.s, z1.s, z2.s[0], #0
 // CHECK-INST: cmla   z0.s, z1.s, z2.s[0], #0
 // CHECK-ENCODING: [0x20,0x60,0xe2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 e2 44 <unknown>
 
 cmla   z31.h, z30.h, z7.h[0], #180
 // CHECK-INST: cmla   z31.h, z30.h, z7.h[0], #180
 // CHECK-ENCODING: [0xdf,0x6b,0xa7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 6b a7 44 <unknown>
 
 cmla   z31.s, z30.s, z7.s[0], #180
 // CHECK-INST: cmla   z31.s, z30.s, z7.s[0], #180
 // CHECK-ENCODING: [0xdf,0x6b,0xe7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 6b e7 44 <unknown>
 
 
@@ -134,23 +136,23 @@ cmla   z31.s, z30.s, z7.s[0], #180
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 cmla   z4.d, z31.d, z31.d, #270
 // CHECK-INST: cmla   z4.d, z31.d, z31.d, #270
 // CHECK-ENCODING: [0xe4,0x2f,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 2f df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 cmla   z21.s, z10.s, z5.s[1], #90
 // CHECK-INST: cmla	z21.s, z10.s, z5.s[1], #90
 // CHECK-ENCODING: [0x55,0x65,0xf5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 65 f5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/directive-arch-negative.s b/llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
index 51775ee5379b4..645c21e65ee6d 100644
--- a/llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
+++ b/llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
@@ -3,7 +3,7 @@
 .arch armv8-a+sve2
 .arch armv8-a+nosve2
 tbx z0.b, z1.b, z2.b
-// CHECK: error: instruction requires: sve2
+// CHECK: error: instruction requires: streaming-sve or sve2
 // CHECK-NEXT: tbx z0.b, z1.b, z2.b
 
 .arch armv8-a+sve2-aes

diff  --git a/llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s b/llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
index 1a1f81ae7ffb8..764531714e43f 100644
--- a/llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
+++ b/llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
@@ -3,7 +3,7 @@
 .arch_extension sve2
 .arch_extension nosve2
 tbx z0.b, z1.b, z2.b
-// CHECK: error: instruction requires: sve2
+// CHECK: error: instruction requires: streaming-sve or sve2
 // CHECK-NEXT: tbx z0.b, z1.b, z2.b
 
 .arch_extension sve2-aes

diff  --git a/llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s b/llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
index 97d4c3d1ca6d3..79a28fc6e814e 100644
--- a/llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
+++ b/llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
@@ -3,7 +3,7 @@
 .cpu generic+sve2
 .cpu generic+nosve2
 tbx z0.b, z1.b, z2.b
-// CHECK: error: instruction requires: sve2
+// CHECK: error: instruction requires: streaming-sve or sve2
 // CHECK-NEXT: tbx z0.b, z1.b, z2.b
 
 .cpu generic+sve2-aes

diff  --git a/llvm/test/MC/AArch64/SVE2/eor3.s b/llvm/test/MC/AArch64/SVE2/eor3.s
index ac2f02389979d..757ebd7c6a7c4 100644
--- a/llvm/test/MC/AArch64/SVE2/eor3.s
+++ b/llvm/test/MC/AArch64/SVE2/eor3.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,7 +12,7 @@
 eor3 z29.d, z29.d, z30.d, z31.d
 // CHECK-INST: eor3 z29.d, z29.d, z30.d, z31.d
 // CHECK-ENCODING: [0xfd,0x3b,0x3e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fd 3b 3e 04 <unknown>
 
 
@@ -20,19 +22,19 @@ eor3 z29.d, z29.d, z30.d, z31.d
 eor3 z29.b, z29.b, z30.b, z31.b
 // CHECK-INST: eor3 z29.d, z29.d, z30.d, z31.d
 // CHECK-ENCODING: [0xfd,0x3b,0x3e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fd 3b 3e 04 <unknown>
 
 eor3 z29.h, z29.h, z30.h, z31.h
 // CHECK-INST: eor3 z29.d, z29.d, z30.d, z31.d
 // CHECK-ENCODING: [0xfd,0x3b,0x3e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fd 3b 3e 04 <unknown>
 
 eor3 z29.s, z29.s, z30.s, z31.s
 // CHECK-INST: eor3 z29.d, z29.d, z30.d, z31.d
 // CHECK-ENCODING: [0xfd,0x3b,0x3e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fd 3b 3e 04 <unknown>
 
 
@@ -42,11 +44,11 @@ eor3 z29.s, z29.s, z30.s, z31.s
 movprfx z31, z7
 // CHECK-INST: movprfx z31, z7
 // CHECK-ENCODING: [0xff,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bc 20 04 <unknown>
 
 eor3 z31.d, z31.d, z30.d, z29.d
 // CHECK-INST: eor3 z31.d, z31.d, z30.d, z29.d
 // CHECK-ENCODING: [0xbf,0x3b,0x3e,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bf 3b 3e 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/eorbt.s b/llvm/test/MC/AArch64/SVE2/eorbt.s
index 966417f442809..a949e022095b8 100644
--- a/llvm/test/MC/AArch64/SVE2/eorbt.s
+++ b/llvm/test/MC/AArch64/SVE2/eorbt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 eorbt z0.b, z1.b, z31.b
 // CHECK-INST: eorbt z0.b, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x90,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 90 1f 45 <unknown>
 
 eorbt z0.h, z1.h, z31.h
 // CHECK-INST: eorbt z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x90,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 90 5f 45 <unknown>
 
 eorbt z0.s, z1.s, z31.s
 // CHECK-INST: eorbt z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x90,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 90 9f 45 <unknown>
 
 eorbt z0.d, z1.d, z31.d
 // CHECK-INST: eorbt z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x90,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 90 df 45 <unknown>
 
 
@@ -38,11 +40,11 @@ eorbt z0.d, z1.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 eorbt z0.d, z1.d, z31.d
 // CHECK-INST: eorbt z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x90,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 90 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/eortb.s b/llvm/test/MC/AArch64/SVE2/eortb.s
index 895ba1829eedc..304ac1302f4b6 100644
--- a/llvm/test/MC/AArch64/SVE2/eortb.s
+++ b/llvm/test/MC/AArch64/SVE2/eortb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 eortb z0.b, z1.b, z31.b
 // CHECK-INST: eortb z0.b, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x94,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 94 1f 45 <unknown>
 
 eortb z0.h, z1.h, z31.h
 // CHECK-INST: eortb z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x94,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 94 5f 45 <unknown>
 
 eortb z0.s, z1.s, z31.s
 // CHECK-INST: eortb z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x94,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 94 9f 45 <unknown>
 
 eortb z0.d, z1.d, z31.d
 // CHECK-INST: eortb z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x94,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 94 df 45 <unknown>
 
 
@@ -38,11 +40,11 @@ eortb z0.d, z1.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 eortb z0.d, z1.d, z31.d
 // CHECK-INST: eortb z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x94,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 94 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ext.s b/llvm/test/MC/AArch64/SVE2/ext.s
index 146b2a2f64420..3f1537f124bc4 100644
--- a/llvm/test/MC/AArch64/SVE2/ext.s
+++ b/llvm/test/MC/AArch64/SVE2/ext.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,11 +12,11 @@
 ext z0.b, { z1.b, z2.b }, #0
 // CHECK-INST: ext z0.b, { z1.b, z2.b }, #0
 // CHECK-ENCODING: [0x20,0x00,0x60,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 00 60 05 <unknown>
 
 ext z31.b, { z30.b, z31.b }, #255
 // CHECK-INST: ext z31.b, { z30.b, z31.b }, #255
 // CHECK-ENCODING: [0xdf,0x1f,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 1f 7f 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/faddp.s b/llvm/test/MC/AArch64/SVE2/faddp.s
index bdc5309271c01..53a6510d1a45e 100644
--- a/llvm/test/MC/AArch64/SVE2/faddp.s
+++ b/llvm/test/MC/AArch64/SVE2/faddp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 faddp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: faddp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x50,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 50 64 <unknown>
 
 faddp z29.s, p3/m, z29.s, z30.s
 // CHECK-INST: faddp z29.s, p3/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x8f,0x90,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 8f 90 64 <unknown>
 
 faddp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: faddp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd0,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d0 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -31,23 +33,23 @@ faddp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 faddp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: faddp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd0,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d0 64 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 faddp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: faddp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd0,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d0 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fcvtlt.s b/llvm/test/MC/AArch64/SVE2/fcvtlt.s
index e437526264031..521de9ff80e56 100644
--- a/llvm/test/MC/AArch64/SVE2/fcvtlt.s
+++ b/llvm/test/MC/AArch64/SVE2/fcvtlt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,11 +13,11 @@
 fcvtlt z0.s, p0/m, z1.h
 // CHECK-INST: fcvtlt z0.s, p0/m, z1.h
 // CHECK-ENCODING: [0x20,0xa0,0x89,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 89 64 <unknown>
 
 fcvtlt z30.d, p7/m, z31.s
 // CHECK-INST: fcvtlt z30.d, p7/m, z31.s
 // CHECK-ENCODING: [0xfe,0xbf,0xcb,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe bf cb 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fcvtnt.s b/llvm/test/MC/AArch64/SVE2/fcvtnt.s
index 1d6b38862e7a4..04a2b1db7c0c3 100644
--- a/llvm/test/MC/AArch64/SVE2/fcvtnt.s
+++ b/llvm/test/MC/AArch64/SVE2/fcvtnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,11 +13,11 @@
 fcvtnt z0.h, p0/m, z1.s
 // CHECK-INST: fcvtnt z0.h, p0/m, z1.s
 // CHECK-ENCODING: [0x20,0xa0,0x88,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 88 64 <unknown>
 
 fcvtnt z30.s, p7/m, z31.d
 // CHECK-INST: fcvtnt z30.s, p7/m, z31.d
 // CHECK-ENCODING: [0xfe,0xbf,0xca,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe bf ca 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fcvtx.s b/llvm/test/MC/AArch64/SVE2/fcvtx.s
index 7d0d587bc6c04..c1a10a9227429 100644
--- a/llvm/test/MC/AArch64/SVE2/fcvtx.s
+++ b/llvm/test/MC/AArch64/SVE2/fcvtx.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,13 +13,13 @@
 fcvtx    z0.s, p0/m, z0.d
 // CHECK-INST: fcvtx    z0.s, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0xa0,0x0a,0x65]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a0 0a 65 <unknown>
 
 fcvtx    z30.s, p7/m, z31.d
 // CHECK-INST: fcvtx    z30.s, p7/m, z31.d
 // CHECK-ENCODING: [0xfe,0xbf,0x0a,0x65]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe bf 0a 65 <unknown>
 
 
@@ -28,23 +30,23 @@ fcvtx    z30.s, p7/m, z31.d
 movprfx z5.d, p0/z, z7.d
 // CHECK-INST: movprfx	z5.d, p0/z, z7.d
 // CHECK-ENCODING: [0xe5,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 20 d0 04 <unknown>
 
 fcvtx    z5.s, p0/m, z0.d
 // CHECK-INST: fcvtx	z5.s, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0x0a,0x65]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 05 a0 0a 65 <unknown>
 
 movprfx z5, z7
 // CHECK-INST: movprfx	z5, z7
 // CHECK-ENCODING: [0xe5,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e5 bc 20 04 <unknown>
 
 fcvtx    z5.s, p0/m, z0.d
 // CHECK-INST: fcvtx	z5.s, p0/m, z0.d
 // CHECK-ENCODING: [0x05,0xa0,0x0a,0x65]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 05 a0 0a 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fcvtxnt.s b/llvm/test/MC/AArch64/SVE2/fcvtxnt.s
index 32df6a2087142..9c77c11757535 100644
--- a/llvm/test/MC/AArch64/SVE2/fcvtxnt.s
+++ b/llvm/test/MC/AArch64/SVE2/fcvtxnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,11 +13,11 @@
 fcvtxnt z0.s, p0/m, z1.d
 // CHECK-INST: fcvtxnt z0.s, p0/m, z1.d
 // CHECK-ENCODING: [0x20,0xa0,0x0a,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 0a 64 <unknown>
 
 fcvtxnt z30.s, p7/m, z31.d
 // CHECK-INST: fcvtxnt z30.s, p7/m, z31.d
 // CHECK-ENCODING: [0xfe,0xbf,0x0a,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe bf 0a 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/flogb.s b/llvm/test/MC/AArch64/SVE2/flogb.s
index 4668ed1766bb3..0da0f63112030 100644
--- a/llvm/test/MC/AArch64/SVE2/flogb.s
+++ b/llvm/test/MC/AArch64/SVE2/flogb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 flogb    z31.h, p7/m, z31.h
 // CHECK-INST: flogb	z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x1a,0x65]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 1a 65 <unknown>
 
 flogb    z31.s, p7/m, z31.s
 // CHECK-INST: flogb	z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x1c,0x65]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 1c 65 <unknown>
 
 flogb    z31.d, p7/m, z31.d
 // CHECK-INST: flogb	z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0x1e,0x65]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 1e 65 <unknown>
 
 
@@ -32,23 +34,23 @@ flogb    z31.d, p7/m, z31.d
 movprfx z4.d, p7/z, z6.d
 // CHECK-INST: movprfx	z4.d, p7/z, z6.d
 // CHECK-ENCODING: [0xc4,0x3c,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c d0 04 <unknown>
 
 flogb    z4.d, p7/m, z31.d
 // CHECK-INST: flogb	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0x1e,0x65]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 1e 65 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 flogb    z4.d, p7/m, z31.d
 // CHECK-INST: flogb	z4.d, p7/m, z31.d
 // CHECK-ENCODING: [0xe4,0xbf,0x1e,0x65]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 1e 65 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fmaxnmp.s b/llvm/test/MC/AArch64/SVE2/fmaxnmp.s
index 1f143adceecc5..e79fa1d782a88 100644
--- a/llvm/test/MC/AArch64/SVE2/fmaxnmp.s
+++ b/llvm/test/MC/AArch64/SVE2/fmaxnmp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 fmaxnmp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: fmaxnmp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x54,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 54 64 <unknown>
 
 fmaxnmp z29.s, p3/m, z29.s, z30.s
 // CHECK-INST: fmaxnmp z29.s, p3/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x8f,0x94,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 8f 94 64 <unknown>
 
 fmaxnmp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: fmaxnmp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd4,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d4 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -31,23 +33,23 @@ fmaxnmp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 fmaxnmp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: fmaxnmp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd4,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d4 64 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fmaxnmp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: fmaxnmp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd4,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d4 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fmaxp.s b/llvm/test/MC/AArch64/SVE2/fmaxp.s
index 5d4b293c4e4b5..c3a2286a32184 100644
--- a/llvm/test/MC/AArch64/SVE2/fmaxp.s
+++ b/llvm/test/MC/AArch64/SVE2/fmaxp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 fmaxp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: fmaxp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x56,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 56 64 <unknown>
 
 fmaxp z29.s, p3/m, z29.s, z30.s
 // CHECK-INST: fmaxp z29.s, p3/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x8f,0x96,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 8f 96 64 <unknown>
 
 fmaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: fmaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd6,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d6 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -31,23 +33,23 @@ fmaxp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 fmaxp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: fmaxp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd6,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d6 64 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fmaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: fmaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd6,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d6 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fminnmp.s b/llvm/test/MC/AArch64/SVE2/fminnmp.s
index 4afedb17e28ae..e4d2d12a7a15d 100644
--- a/llvm/test/MC/AArch64/SVE2/fminnmp.s
+++ b/llvm/test/MC/AArch64/SVE2/fminnmp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 fminnmp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: fminnmp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x55,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 55 64 <unknown>
 
 fminnmp z29.s, p3/m, z29.s, z30.s
 // CHECK-INST: fminnmp z29.s, p3/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x8f,0x95,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 8f 95 64 <unknown>
 
 fminnmp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: fminnmp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd5,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d5 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -31,23 +33,23 @@ fminnmp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 fminnmp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: fminnmp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd5,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d5 64 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fminnmp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: fminnmp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd5,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d5 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fminp.s b/llvm/test/MC/AArch64/SVE2/fminp.s
index b533f085d6882..2d8712ded0377 100644
--- a/llvm/test/MC/AArch64/SVE2/fminp.s
+++ b/llvm/test/MC/AArch64/SVE2/fminp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 fminp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: fminp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x57,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 57 64 <unknown>
 
 fminp z29.s, p3/m, z29.s, z30.s
 // CHECK-INST: fminp z29.s, p3/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x8f,0x97,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 8f 97 64 <unknown>
 
 fminp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: fminp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd7,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d7 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -31,23 +33,23 @@ fminp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 fminp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: fminp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd7,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d7 64 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 fminp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: fminp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd7,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d7 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fmlalb.s b/llvm/test/MC/AArch64/SVE2/fmlalb.s
index 9cd315efa1144..e926ce0c8d487 100644
--- a/llvm/test/MC/AArch64/SVE2/fmlalb.s
+++ b/llvm/test/MC/AArch64/SVE2/fmlalb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 fmlalb z29.s, z30.h, z31.h
 // CHECK-INST: fmlalb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x83,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 83 bf 64 <unknown>
 
 fmlalb z0.s, z1.h, z7.h[0]
 // CHECK-INST: fmlalb	z0.s, z1.h, z7.h[0]
 // CHECK-ENCODING: [0x20,0x40,0xa7,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 40 a7 64 <unknown>
 
 fmlalb z30.s, z31.h, z7.h[7]
 // CHECK-INST: fmlalb z30.s, z31.h, z7.h[7]
 // CHECK-ENCODING: [0xfe,0x4b,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe 4b bf 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -32,23 +34,23 @@ fmlalb z30.s, z31.h, z7.h[7]
 movprfx z29, z28
 // CHECK-INST: movprfx	z29, z28
 // CHECK-ENCODING: [0x9d,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 9d bf 20 04 <unknown>
 
 fmlalb z29.s, z30.h, z31.h
 // CHECK-INST: fmlalb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x83,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 83 bf 64 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 fmlalb z21.s, z1.h, z7.h[7]
 // CHECK-INST: fmlalb	z21.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x35,0x48,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 48 bf 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fmlalt.s b/llvm/test/MC/AArch64/SVE2/fmlalt.s
index fcafb33dfd9ae..e13dcf13e8410 100644
--- a/llvm/test/MC/AArch64/SVE2/fmlalt.s
+++ b/llvm/test/MC/AArch64/SVE2/fmlalt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 fmlalt z29.s, z30.h, z31.h
 // CHECK-INST: fmlalt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x87,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 87 bf 64 <unknown>
 
 fmlalt z0.s, z1.h, z7.h[0]
 // CHECK-INST: fmlalt	z0.s, z1.h, z7.h[0]
 // CHECK-ENCODING: [0x20,0x44,0xa7,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 44 a7 64 <unknown>
 
 fmlalt z30.s, z31.h, z7.h[7]
 // CHECK-INST: fmlalt z30.s, z31.h, z7.h[7]
 // CHECK-ENCODING: [0xfe,0x4f,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe 4f bf 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -32,23 +34,23 @@ fmlalt z30.s, z31.h, z7.h[7]
 movprfx z29, z28
 // CHECK-INST: movprfx	z29, z28
 // CHECK-ENCODING: [0x9d,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 9d bf 20 04 <unknown>
 
 fmlalt z29.s, z30.h, z31.h
 // CHECK-INST: fmlalt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x87,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 87 bf 64 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 fmlalt z21.s, z1.h, z7.h[7]
 // CHECK-INST: fmlalt	z21.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x35,0x4c,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 4c bf 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fmlslb.s b/llvm/test/MC/AArch64/SVE2/fmlslb.s
index b56e9e59308de..38f8db0b81b9a 100644
--- a/llvm/test/MC/AArch64/SVE2/fmlslb.s
+++ b/llvm/test/MC/AArch64/SVE2/fmlslb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 fmlslb z29.s, z30.h, z31.h
 // CHECK-INST: fmlslb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0xa3,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd a3 bf 64 <unknown>
 
 fmlslb z0.s, z1.h, z7.h[0]
 // CHECK-INST: fmlslb	z0.s, z1.h, z7.h[0]
 // CHECK-ENCODING: [0x20,0x60,0xa7,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 a7 64 <unknown>
 
 fmlslb z30.s, z31.h, z7.h[7]
 // CHECK-INST: fmlslb z30.s, z31.h, z7.h[7]
 // CHECK-ENCODING: [0xfe,0x6b,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe 6b bf 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -32,23 +34,23 @@ fmlslb z30.s, z31.h, z7.h[7]
 movprfx z29, z28
 // CHECK-INST: movprfx	z29, z28
 // CHECK-ENCODING: [0x9d,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 9d bf 20 04 <unknown>
 
 fmlslb z29.s, z30.h, z31.h
 // CHECK-INST: fmlslb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0xa3,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd a3 bf 64 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 fmlslb z21.s, z1.h, z7.h[7]
 // CHECK-INST: fmlslb	z21.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x35,0x68,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 68 bf 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/fmlslt.s b/llvm/test/MC/AArch64/SVE2/fmlslt.s
index c9e4f6f725255..3f994c3a80998 100644
--- a/llvm/test/MC/AArch64/SVE2/fmlslt.s
+++ b/llvm/test/MC/AArch64/SVE2/fmlslt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 fmlslt z29.s, z30.h, z31.h
 // CHECK-INST: fmlslt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0xa7,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd a7 bf 64 <unknown>
 
 fmlslt z0.s, z1.h, z7.h[0]
 // CHECK-INST: fmlslt	z0.s, z1.h, z7.h[0]
 // CHECK-ENCODING: [0x20,0x64,0xa7,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 64 a7 64 <unknown>
 
 fmlslt z30.s, z31.h, z7.h[7]
 // CHECK-INST: fmlslt z30.s, z31.h, z7.h[7]
 // CHECK-ENCODING: [0xfe,0x6f,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe 6f bf 64 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -32,23 +34,23 @@ fmlslt z30.s, z31.h, z7.h[7]
 movprfx z29, z28
 // CHECK-INST: movprfx	z29, z28
 // CHECK-ENCODING: [0x9d,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 9d bf 20 04 <unknown>
 
 fmlslt z29.s, z30.h, z31.h
 // CHECK-INST: fmlslt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0xa7,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd a7 bf 64 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 fmlslt z21.s, z1.h, z7.h[7]
 // CHECK-INST: fmlslt	z21.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x35,0x6c,0xbf,0x64]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 6c bf 64 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/histcnt.s b/llvm/test/MC/AArch64/SVE2/histcnt.s
index ec004229282d9..ab2fc87f5821b 100644
--- a/llvm/test/MC/AArch64/SVE2/histcnt.s
+++ b/llvm/test/MC/AArch64/SVE2/histcnt.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/histseg.s b/llvm/test/MC/AArch64/SVE2/histseg.s
index 9e11d9a90bb1b..514d708321aa5 100644
--- a/llvm/test/MC/AArch64/SVE2/histseg.s
+++ b/llvm/test/MC/AArch64/SVE2/histseg.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/ldnt1b.s b/llvm/test/MC/AArch64/SVE2/ldnt1b.s
index c64b8e4b5d7bb..cbfceaddfc9a6 100644
--- a/llvm/test/MC/AArch64/SVE2/ldnt1b.s
+++ b/llvm/test/MC/AArch64/SVE2/ldnt1b.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/ldnt1d.s b/llvm/test/MC/AArch64/SVE2/ldnt1d.s
index 71c489e44d833..8c125773265dc 100644
--- a/llvm/test/MC/AArch64/SVE2/ldnt1d.s
+++ b/llvm/test/MC/AArch64/SVE2/ldnt1d.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/ldnt1h.s b/llvm/test/MC/AArch64/SVE2/ldnt1h.s
index abf046fc9d300..253c8895e90e8 100644
--- a/llvm/test/MC/AArch64/SVE2/ldnt1h.s
+++ b/llvm/test/MC/AArch64/SVE2/ldnt1h.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/ldnt1sb.s b/llvm/test/MC/AArch64/SVE2/ldnt1sb.s
index 7a2bd31248352..8d7464391f547 100644
--- a/llvm/test/MC/AArch64/SVE2/ldnt1sb.s
+++ b/llvm/test/MC/AArch64/SVE2/ldnt1sb.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/ldnt1sh.s b/llvm/test/MC/AArch64/SVE2/ldnt1sh.s
index 3f2563b642c48..b487d841e4c4b 100644
--- a/llvm/test/MC/AArch64/SVE2/ldnt1sh.s
+++ b/llvm/test/MC/AArch64/SVE2/ldnt1sh.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/ldnt1sw.s b/llvm/test/MC/AArch64/SVE2/ldnt1sw.s
index fabc0668d67d4..aa94ca3adca2f 100644
--- a/llvm/test/MC/AArch64/SVE2/ldnt1sw.s
+++ b/llvm/test/MC/AArch64/SVE2/ldnt1sw.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/ldnt1w.s b/llvm/test/MC/AArch64/SVE2/ldnt1w.s
index 0a4210ba3d8a9..a43e0b9ee5a66 100644
--- a/llvm/test/MC/AArch64/SVE2/ldnt1w.s
+++ b/llvm/test/MC/AArch64/SVE2/ldnt1w.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/match.s b/llvm/test/MC/AArch64/SVE2/match.s
index cbb94adec021c..5289e180f75f1 100644
--- a/llvm/test/MC/AArch64/SVE2/match.s
+++ b/llvm/test/MC/AArch64/SVE2/match.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/mla.s b/llvm/test/MC/AArch64/SVE2/mla.s
index bd06840af4892..3224f20cb4207 100644
--- a/llvm/test/MC/AArch64/SVE2/mla.s
+++ b/llvm/test/MC/AArch64/SVE2/mla.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 mla z0.h, z1.h, z7.h[7]
 // CHECK-INST: mla	z0.h, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x08,0x7f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 08 7f 44 <unknown>
 
 mla z0.s, z1.s, z7.s[3]
 // CHECK-INST: mla	z0.s, z1.s, z7.s[3]
 // CHECK-ENCODING: [0x20,0x08,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 08 bf 44 <unknown>
 
 mla z0.d, z1.d, z7.d[1]
 // CHECK-INST: mla	z0.d, z1.d, z7.d[1]
 // CHECK-ENCODING: [0x20,0x08,0xf7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 08 f7 44 <unknown>
 
 
@@ -32,11 +34,11 @@ mla z0.d, z1.d, z7.d[1]
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 mla z0.d, z1.d, z7.d[1]
 // CHECK-INST: mla	z0.d, z1.d, z7.d[1]
 // CHECK-ENCODING: [0x20,0x08,0xf7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 08 f7 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/mls.s b/llvm/test/MC/AArch64/SVE2/mls.s
index 239ef20cf45c9..15bd01cdfb843 100644
--- a/llvm/test/MC/AArch64/SVE2/mls.s
+++ b/llvm/test/MC/AArch64/SVE2/mls.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 mls z0.h, z1.h, z7.h[7]
 // CHECK-INST: mls	z0.h, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x0c,0x7f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 0c 7f 44 <unknown>
 
 mls z0.s, z1.s, z7.s[3]
 // CHECK-INST: mls	z0.s, z1.s, z7.s[3]
 // CHECK-ENCODING: [0x20,0x0c,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 0c bf 44 <unknown>
 
 mls z0.d, z1.d, z7.d[1]
 // CHECK-INST: mls	z0.d, z1.d, z7.d[1]
 // CHECK-ENCODING: [0x20,0x0c,0xf7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 0c f7 44 <unknown>
 
 
@@ -32,11 +34,11 @@ mls z0.d, z1.d, z7.d[1]
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 mls z0.d, z1.d, z7.d[1]
 // CHECK-INST: mls	z0.d, z1.d, z7.d[1]
 // CHECK-ENCODING: [0x20,0x0c,0xf7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 0c f7 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/mul.s b/llvm/test/MC/AArch64/SVE2/mul.s
index 1a54715f18e6d..ec9b0c9b9b1f3 100644
--- a/llvm/test/MC/AArch64/SVE2/mul.s
+++ b/llvm/test/MC/AArch64/SVE2/mul.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,41 +12,41 @@
 mul z0.b, z1.b, z2.b
 // CHECK-INST: mul z0.b, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x60,0x22,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 22 04 <unknown>
 
 mul z0.h, z1.h, z2.h
 // CHECK-INST: mul z0.h, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x60,0x62,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 62 04 <unknown>
 
 mul z29.s, z30.s, z31.s
 // CHECK-INST: mul z29.s, z30.s, z31.s
 // CHECK-ENCODING: [0xdd,0x63,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 63 bf 04 <unknown>
 
 mul z31.d, z31.d, z31.d
 // CHECK-INST: mul z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x63,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 63 ff 04 <unknown>
 
 mul z0.h, z1.h, z7.h[7]
 // CHECK-INST: mul	z0.h, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xf8,0x7f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f8 7f 44 <unknown>
 
 mul z0.s, z1.s, z7.s[3]
 // CHECK-INST: mul	z0.s, z1.s, z7.s[3]
 // CHECK-ENCODING: [0x20,0xf8,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f8 bf 44 <unknown>
 
 mul z0.d, z1.d, z15.d[1]
 // CHECK-INST: mul	z0.d, z1.d, z15.d[1]
 // CHECK-ENCODING: [0x20,0xf8,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f8 ff 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/nbsl.s b/llvm/test/MC/AArch64/SVE2/nbsl.s
index dafb6fe4bdfae..937390ce35654 100644
--- a/llvm/test/MC/AArch64/SVE2/nbsl.s
+++ b/llvm/test/MC/AArch64/SVE2/nbsl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,7 +12,7 @@
 nbsl z0.d, z0.d, z1.d, z2.d
 // CHECK-INST: nbsl z0.d, z0.d, z1.d, z2.d
 // CHECK-ENCODING: [0x40,0x3c,0xe1,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 40 3c e1 04 <unknown>
 
 
@@ -20,11 +22,11 @@ nbsl z0.d, z0.d, z1.d, z2.d
 movprfx z31, z7
 // CHECK-INST: movprfx z31, z7
 // CHECK-ENCODING: [0xff,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bc 20 04 <unknown>
 
 nbsl z31.d, z31.d, z30.d, z29.d
 // CHECK-INST: nbsl z31.d, z31.d, z30.d, z29.d
 // CHECK-ENCODING: [0xbf,0x3f,0xfe,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bf 3f fe 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/nmatch.s b/llvm/test/MC/AArch64/SVE2/nmatch.s
index 5e1fe14f5e264..11cafbac73f6b 100644
--- a/llvm/test/MC/AArch64/SVE2/nmatch.s
+++ b/llvm/test/MC/AArch64/SVE2/nmatch.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/pmul.s b/llvm/test/MC/AArch64/SVE2/pmul.s
index e42a388ed96b6..69d736ac44f86 100644
--- a/llvm/test/MC/AArch64/SVE2/pmul.s
+++ b/llvm/test/MC/AArch64/SVE2/pmul.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,11 +12,11 @@
 pmul z0.b, z1.b, z2.b
 // CHECK-INST: pmul z0.b, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x64,0x22,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 64 22 04 <unknown>
 
 pmul z29.b, z30.b, z31.b
 // CHECK-INST: pmul z29.b, z30.b, z31.b
 // CHECK-ENCODING: [0xdd,0x67,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 67 3f 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/pmullb-128.s b/llvm/test/MC/AArch64/SVE2/pmullb-128.s
index 119b391289213..0db1b73561200 100644
--- a/llvm/test/MC/AArch64/SVE2/pmullb-128.s
+++ b/llvm/test/MC/AArch64/SVE2/pmullb-128.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-aes - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/pmullb.s b/llvm/test/MC/AArch64/SVE2/pmullb.s
index b906ddb0f1d8d..846e6851f2fea 100644
--- a/llvm/test/MC/AArch64/SVE2/pmullb.s
+++ b/llvm/test/MC/AArch64/SVE2/pmullb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,11 +13,11 @@
 pmullb z0.h, z1.b, z2.b
 // CHECK-INST: pmullb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x68,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 68 42 45 <unknown>
 
 pmullb z31.d, z31.s, z31.s
 // CHECK-INST: pmullb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x6b,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 6b df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/pmullt-128.s b/llvm/test/MC/AArch64/SVE2/pmullt-128.s
index a55dafda4deac..68da4f2c81fe9 100644
--- a/llvm/test/MC/AArch64/SVE2/pmullt-128.s
+++ b/llvm/test/MC/AArch64/SVE2/pmullt-128.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-aes - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-aes < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/pmullt.s b/llvm/test/MC/AArch64/SVE2/pmullt.s
index 601234c9cd90e..0b3758f0ca1dc 100644
--- a/llvm/test/MC/AArch64/SVE2/pmullt.s
+++ b/llvm/test/MC/AArch64/SVE2/pmullt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,11 +13,11 @@
 pmullt z0.h, z1.b, z2.b
 // CHECK-INST: pmullt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x6c,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 6c 42 45 <unknown>
 
 pmullt z31.d, z31.s, z31.s
 // CHECK-INST: pmullt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x6f,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 6f df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/raddhnb.s b/llvm/test/MC/AArch64/SVE2/raddhnb.s
index a0069f076417a..871ba909d755f 100644
--- a/llvm/test/MC/AArch64/SVE2/raddhnb.s
+++ b/llvm/test/MC/AArch64/SVE2/raddhnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 raddhnb z0.b, z1.h, z31.h
 // CHECK-INST: raddhnb	z0.b, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x68,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 68 7f 45 <unknown>
 
 raddhnb z0.h, z1.s, z31.s
 // CHECK-INST: raddhnb	z0.h, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x68,0xbf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 68 bf 45 <unknown>
 
 raddhnb z0.s, z1.d, z31.d
 // CHECK-INST: raddhnb	z0.s, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x68,0xff,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 68 ff 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/raddhnt.s b/llvm/test/MC/AArch64/SVE2/raddhnt.s
index 8d85ca19d6699..d5648a6ff39c3 100644
--- a/llvm/test/MC/AArch64/SVE2/raddhnt.s
+++ b/llvm/test/MC/AArch64/SVE2/raddhnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 raddhnt z0.b, z1.h, z31.h
 // CHECK-INST: raddhnt	z0.b, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x6c,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 6c 7f 45 <unknown>
 
 raddhnt z0.h, z1.s, z31.s
 // CHECK-INST: raddhnt	z0.h, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x6c,0xbf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 6c bf 45 <unknown>
 
 raddhnt z0.s, z1.d, z31.d
 // CHECK-INST: raddhnt	z0.s, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x6c,0xff,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 6c ff 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/rax1.s b/llvm/test/MC/AArch64/SVE2/rax1.s
index 7cfb0327f2603..6481f465fa295 100644
--- a/llvm/test/MC/AArch64/SVE2/rax1.s
+++ b/llvm/test/MC/AArch64/SVE2/rax1.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-sha3 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-sha3 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-sha3 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/rshrnb.s b/llvm/test/MC/AArch64/SVE2/rshrnb.s
index 93d98eeab8885..203e6e7ece149 100644
--- a/llvm/test/MC/AArch64/SVE2/rshrnb.s
+++ b/llvm/test/MC/AArch64/SVE2/rshrnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 rshrnb     z0.b, z0.h, #1
 // CHECK-INST: rshrnb	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x18,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 18 2f 45 <unknown>
 
 rshrnb     z31.b, z31.h, #8
 // CHECK-INST: rshrnb	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x1b,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 1b 28 45 <unknown>
 
 rshrnb     z0.h, z0.s, #1
 // CHECK-INST: rshrnb	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x18,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 18 3f 45 <unknown>
 
 rshrnb     z31.h, z31.s, #16
 // CHECK-INST: rshrnb	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x1b,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 1b 30 45 <unknown>
 
 rshrnb     z0.s, z0.d, #1
 // CHECK-INST: rshrnb	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x18,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 18 7f 45 <unknown>
 
 rshrnb     z31.s, z31.d, #32
 // CHECK-INST: rshrnb	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x1b,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 1b 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/rshrnt.s b/llvm/test/MC/AArch64/SVE2/rshrnt.s
index eeee12dad5b5a..5a52e6be22678 100644
--- a/llvm/test/MC/AArch64/SVE2/rshrnt.s
+++ b/llvm/test/MC/AArch64/SVE2/rshrnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 rshrnt     z0.b, z0.h, #1
 // CHECK-INST: rshrnt	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x1c,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 1c 2f 45 <unknown>
 
 rshrnt     z31.b, z31.h, #8
 // CHECK-INST: rshrnt	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x1f,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 1f 28 45 <unknown>
 
 rshrnt     z0.h, z0.s, #1
 // CHECK-INST: rshrnt	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x1c,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 1c 3f 45 <unknown>
 
 rshrnt     z31.h, z31.s, #16
 // CHECK-INST: rshrnt	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x1f,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 1f 30 45 <unknown>
 
 rshrnt     z0.s, z0.d, #1
 // CHECK-INST: rshrnt	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x1c,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 1c 7f 45 <unknown>
 
 rshrnt     z31.s, z31.d, #32
 // CHECK-INST: rshrnt	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x1f,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 1f 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/rsubhnb.s b/llvm/test/MC/AArch64/SVE2/rsubhnb.s
index e929217e01a04..c9f4c3fdcdd0b 100644
--- a/llvm/test/MC/AArch64/SVE2/rsubhnb.s
+++ b/llvm/test/MC/AArch64/SVE2/rsubhnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 rsubhnb z0.b, z1.h, z31.h
 // CHECK-INST: rsubhnb	z0.b, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x78,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 78 7f 45 <unknown>
 
 rsubhnb z0.h, z1.s, z31.s
 // CHECK-INST: rsubhnb	z0.h, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x78,0xbf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 78 bf 45 <unknown>
 
 rsubhnb z0.s, z1.d, z31.d
 // CHECK-INST: rsubhnb	z0.s, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x78,0xff,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 78 ff 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/rsubhnt.s b/llvm/test/MC/AArch64/SVE2/rsubhnt.s
index 76395deb85854..7c1c546c3a38c 100644
--- a/llvm/test/MC/AArch64/SVE2/rsubhnt.s
+++ b/llvm/test/MC/AArch64/SVE2/rsubhnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 rsubhnt z0.b, z1.h, z31.h
 // CHECK-INST: rsubhnt	z0.b, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x7c,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 7c 7f 45 <unknown>
 
 rsubhnt z0.h, z1.s, z31.s
 // CHECK-INST: rsubhnt	z0.h, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x7c,0xbf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 7c bf 45 <unknown>
 
 rsubhnt z0.s, z1.d, z31.d
 // CHECK-INST: rsubhnt	z0.s, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x7c,0xff,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 7c ff 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/saba.s b/llvm/test/MC/AArch64/SVE2/saba.s
index 1df4d662b21e1..b03087b0660f2 100644
--- a/llvm/test/MC/AArch64/SVE2/saba.s
+++ b/llvm/test/MC/AArch64/SVE2/saba.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 saba z0.b, z1.b, z31.b
 // CHECK-INST: saba z0.b, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0xf8,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f8 1f 45 <unknown>
 
 saba z0.h, z1.h, z31.h
 // CHECK-INST: saba z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0xf8,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f8 5f 45 <unknown>
 
 saba z0.s, z1.s, z31.s
 // CHECK-INST: saba z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xf8,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f8 9f 45 <unknown>
 
 saba z0.d, z1.d, z31.d
 // CHECK-INST: saba z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xf8,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f8 df 45 <unknown>
 
 
@@ -38,11 +40,11 @@ saba z0.d, z1.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 saba z0.d, z1.d, z31.d
 // CHECK-INST: saba z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xf8,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f8 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sabalb.s b/llvm/test/MC/AArch64/SVE2/sabalb.s
index f393cd3cf5139..e8cf4cec3f610 100644
--- a/llvm/test/MC/AArch64/SVE2/sabalb.s
+++ b/llvm/test/MC/AArch64/SVE2/sabalb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 sabalb z0.h, z1.b, z31.b
 // CHECK-INST: sabalb	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0xc0,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c0 5f 45 <unknown>
 
 sabalb z0.s, z1.h, z31.h
 // CHECK-INST: sabalb	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0xc0,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c0 9f 45 <unknown>
 
 sabalb z0.d, z1.s, z31.s
 // CHECK-INST: sabalb	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xc0,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c0 df 45 <unknown>
 
 
@@ -33,11 +35,11 @@ sabalb z0.d, z1.s, z31.s
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sabalb z21.d, z1.s, z31.s
 // CHECK-INST: sabalb	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0xc0,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 c0 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sabalt.s b/llvm/test/MC/AArch64/SVE2/sabalt.s
index 00aca2d5b631b..042b66a4311f6 100644
--- a/llvm/test/MC/AArch64/SVE2/sabalt.s
+++ b/llvm/test/MC/AArch64/SVE2/sabalt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 sabalt z0.h, z1.b, z31.b
 // CHECK-INST: sabalt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0xc4,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c4 5f 45 <unknown>
 
 sabalt z0.s, z1.h, z31.h
 // CHECK-INST: sabalt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0xc4,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c4 9f 45 <unknown>
 
 sabalt z0.d, z1.s, z31.s
 // CHECK-INST: sabalt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xc4,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c4 df 45 <unknown>
 
 
@@ -33,11 +35,11 @@ sabalt z0.d, z1.s, z31.s
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sabalt z21.d, z1.s, z31.s
 // CHECK-INST: sabalt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0xc4,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 c4 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sabdlb.s b/llvm/test/MC/AArch64/SVE2/sabdlb.s
index f56fad5ed6d3c..5750e11017bba 100644
--- a/llvm/test/MC/AArch64/SVE2/sabdlb.s
+++ b/llvm/test/MC/AArch64/SVE2/sabdlb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 sabdlb z0.h, z1.b, z2.b
 // CHECK-INST: sabdlb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x30,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 30 42 45 <unknown>
 
 sabdlb z29.s, z30.h, z31.h
 // CHECK-INST: sabdlb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x33,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 33 9f 45 <unknown>
 
 sabdlb z31.d, z31.s, z31.s
 // CHECK-INST: sabdlb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x33,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 33 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sabdlt.s b/llvm/test/MC/AArch64/SVE2/sabdlt.s
index 0a8c69d93017d..e802a4692b16d 100644
--- a/llvm/test/MC/AArch64/SVE2/sabdlt.s
+++ b/llvm/test/MC/AArch64/SVE2/sabdlt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 sabdlt z0.h, z1.b, z2.b
 // CHECK-INST: sabdlt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x34,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 34 42 45 <unknown>
 
 sabdlt z29.s, z30.h, z31.h
 // CHECK-INST: sabdlt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x37,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 37 9f 45 <unknown>
 
 sabdlt z31.d, z31.s, z31.s
 // CHECK-INST: sabdlt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x37,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 37 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sadalp.s b/llvm/test/MC/AArch64/SVE2/sadalp.s
index 94ab1d60a1cae..cd6e7325cd8f4 100644
--- a/llvm/test/MC/AArch64/SVE2/sadalp.s
+++ b/llvm/test/MC/AArch64/SVE2/sadalp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 sadalp z0.h, p0/m, z1.b
 // CHECK-INST: sadalp z0.h, p0/m, z1.b
 // CHECK-ENCODING: [0x20,0xa0,0x44,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 44 44 <unknown>
 
 sadalp z29.s, p0/m, z30.h
 // CHECK-INST: sadalp z29.s, p0/m, z30.h
 // CHECK-ENCODING: [0xdd,0xa3,0x84,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd a3 84 44 <unknown>
 
 sadalp z30.d, p7/m, z31.s
 // CHECK-INST: sadalp z30.d, p7/m, z31.s
 // CHECK-ENCODING: [0xfe,0xbf,0xc4,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe bf c4 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -31,23 +33,23 @@ sadalp z30.d, p7/m, z31.s
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sadalp z31.d, p0/m, z30.s
 // CHECK-INST: sadalp z31.d, p0/m, z30.s
 // CHECK-ENCODING: [0xdf,0xa3,0xc4,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df a3 c4 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sadalp z31.d, p0/m, z30.s
 // CHECK-INST: sadalp z31.d, p0/m, z30.s
 // CHECK-ENCODING: [0xdf,0xa3,0xc4,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df a3 c4 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/saddlb.s b/llvm/test/MC/AArch64/SVE2/saddlb.s
index 3e883ab2f356b..e21be54cee0b3 100644
--- a/llvm/test/MC/AArch64/SVE2/saddlb.s
+++ b/llvm/test/MC/AArch64/SVE2/saddlb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 saddlb z0.h, z1.b, z2.b
 // CHECK-INST: saddlb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x00,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 00 42 45 <unknown>
 
 saddlb z29.s, z30.h, z31.h
 // CHECK-INST: saddlb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x03,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 03 9f 45 <unknown>
 
 saddlb z31.d, z31.s, z31.s
 // CHECK-INST: saddlb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x03,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 03 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/saddlbt.s b/llvm/test/MC/AArch64/SVE2/saddlbt.s
index a4e53cd39a455..5734fb9ed189d 100644
--- a/llvm/test/MC/AArch64/SVE2/saddlbt.s
+++ b/llvm/test/MC/AArch64/SVE2/saddlbt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 saddlbt z0.h, z1.b, z31.b
 // CHECK-INST: saddlbt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x80,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 5f 45 <unknown>
 
 saddlbt z0.s, z1.h, z31.h
 // CHECK-INST: saddlbt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x80,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 9f 45 <unknown>
 
 saddlbt z0.d, z1.s, z31.s
 // CHECK-INST: saddlbt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x80,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/saddlt.s b/llvm/test/MC/AArch64/SVE2/saddlt.s
index 03387961f9aa7..fc4981b640d39 100644
--- a/llvm/test/MC/AArch64/SVE2/saddlt.s
+++ b/llvm/test/MC/AArch64/SVE2/saddlt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 saddlt z0.h, z1.b, z2.b
 // CHECK-INST: saddlt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x04,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 04 42 45 <unknown>
 
 saddlt z29.s, z30.h, z31.h
 // CHECK-INST: saddlt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x07,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 07 9f 45 <unknown>
 
 saddlt z31.d, z31.s, z31.s
 // CHECK-INST: saddlt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x07,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 07 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/saddwb.s b/llvm/test/MC/AArch64/SVE2/saddwb.s
index 55a81d968884c..8484c93d0e687 100644
--- a/llvm/test/MC/AArch64/SVE2/saddwb.s
+++ b/llvm/test/MC/AArch64/SVE2/saddwb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 saddwb z0.h, z1.h, z2.b
 // CHECK-INST: saddwb z0.h, z1.h, z2.b
 // CHECK-ENCODING: [0x20,0x40,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 40 42 45 <unknown>
 
 saddwb z29.s, z30.s, z31.h
 // CHECK-INST: saddwb z29.s, z30.s, z31.h
 // CHECK-ENCODING: [0xdd,0x43,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 43 9f 45 <unknown>
 
 saddwb z31.d, z31.d, z31.s
 // CHECK-INST: saddwb z31.d, z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x43,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 43 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/saddwt.s b/llvm/test/MC/AArch64/SVE2/saddwt.s
index 72c57f38bee03..393aa006945aa 100644
--- a/llvm/test/MC/AArch64/SVE2/saddwt.s
+++ b/llvm/test/MC/AArch64/SVE2/saddwt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 saddwt z0.h, z1.h, z2.b
 // CHECK-INST: saddwt z0.h, z1.h, z2.b
 // CHECK-ENCODING: [0x20,0x44,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 44 42 45 <unknown>
 
 saddwt z29.s, z30.s, z31.h
 // CHECK-INST: saddwt z29.s, z30.s, z31.h
 // CHECK-ENCODING: [0xdd,0x47,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 47 9f 45 <unknown>
 
 saddwt z31.d, z31.d, z31.s
 // CHECK-INST: saddwt z31.d, z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x47,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 47 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sbclb.s b/llvm/test/MC/AArch64/SVE2/sbclb.s
index fd385ebde8f2a..1cc3729f4d4ad 100644
--- a/llvm/test/MC/AArch64/SVE2/sbclb.s
+++ b/llvm/test/MC/AArch64/SVE2/sbclb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,13 +12,13 @@
 sbclb z0.s, z1.s, z31.s
 // CHECK-INST: sbclb z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xd0,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d0 9f 45 <unknown>
 
 sbclb z0.d, z1.d, z31.d
 // CHECK-INST: sbclb z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xd0,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d0 df 45 <unknown>
 
 
@@ -26,11 +28,11 @@ sbclb z0.d, z1.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sbclb z0.d, z1.d, z31.d
 // CHECK-INST: sbclb z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xd0,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d0 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sbclt.s b/llvm/test/MC/AArch64/SVE2/sbclt.s
index 79e613cc743b9..7acc604f699aa 100644
--- a/llvm/test/MC/AArch64/SVE2/sbclt.s
+++ b/llvm/test/MC/AArch64/SVE2/sbclt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,13 +12,13 @@
 sbclt z0.s, z1.s, z31.s
 // CHECK-INST: sbclt z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xd4,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d4 9f 45 <unknown>
 
 sbclt z0.d, z1.d, z31.d
 // CHECK-INST: sbclt z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xd4,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d4 df 45 <unknown>
 
 
@@ -26,11 +28,11 @@ sbclt z0.d, z1.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sbclt z0.d, z1.d, z31.d
 // CHECK-INST: sbclt z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xd4,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d4 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/shadd.s b/llvm/test/MC/AArch64/SVE2/shadd.s
index f2d3aa1350d39..edbd9275302e0 100644
--- a/llvm/test/MC/AArch64/SVE2/shadd.s
+++ b/llvm/test/MC/AArch64/SVE2/shadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 shadd z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: shadd z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x10,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 10 44 <unknown>
 
 shadd z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: shadd z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x50,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 50 44 <unknown>
 
 shadd z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: shadd z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x90,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 90 44 <unknown>
 
 shadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: shadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd0,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d0 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ shadd z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 shadd z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: shadd z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd0,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d0 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 shadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: shadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd0,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d0 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/shrnb.s b/llvm/test/MC/AArch64/SVE2/shrnb.s
index 5aae42ed5eb1b..87057bd76df8f 100644
--- a/llvm/test/MC/AArch64/SVE2/shrnb.s
+++ b/llvm/test/MC/AArch64/SVE2/shrnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 shrnb     z0.b, z0.h, #1
 // CHECK-INST: shrnb	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x10,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 10 2f 45 <unknown>
 
 shrnb     z31.b, z31.h, #8
 // CHECK-INST: shrnb	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x13,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 13 28 45 <unknown>
 
 shrnb     z0.h, z0.s, #1
 // CHECK-INST: shrnb	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x10,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 10 3f 45 <unknown>
 
 shrnb     z31.h, z31.s, #16
 // CHECK-INST: shrnb	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x13,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 13 30 45 <unknown>
 
 shrnb     z0.s, z0.d, #1
 // CHECK-INST: shrnb	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x10,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 10 7f 45 <unknown>
 
 shrnb     z31.s, z31.d, #32
 // CHECK-INST: shrnb	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x13,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 13 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/shrnt.s b/llvm/test/MC/AArch64/SVE2/shrnt.s
index 3cdc7c97829f0..e5b5331e5276b 100644
--- a/llvm/test/MC/AArch64/SVE2/shrnt.s
+++ b/llvm/test/MC/AArch64/SVE2/shrnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 shrnt     z0.b, z0.h, #1
 // CHECK-INST: shrnt	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x14,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 14 2f 45 <unknown>
 
 shrnt     z31.b, z31.h, #8
 // CHECK-INST: shrnt	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x17,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 17 28 45 <unknown>
 
 shrnt     z0.h, z0.s, #1
 // CHECK-INST: shrnt	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x14,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 14 3f 45 <unknown>
 
 shrnt     z31.h, z31.s, #16
 // CHECK-INST: shrnt	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x17,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 17 30 45 <unknown>
 
 shrnt     z0.s, z0.d, #1
 // CHECK-INST: shrnt	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x14,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 14 7f 45 <unknown>
 
 shrnt     z31.s, z31.d, #32
 // CHECK-INST: shrnt	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x17,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 17 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/shsub.s b/llvm/test/MC/AArch64/SVE2/shsub.s
index 57b85f98cfc50..ed6b7e927a41b 100644
--- a/llvm/test/MC/AArch64/SVE2/shsub.s
+++ b/llvm/test/MC/AArch64/SVE2/shsub.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 shsub z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: shsub z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x12,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 12 44 <unknown>
 
 shsub z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: shsub z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x52,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 52 44 <unknown>
 
 shsub z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: shsub z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x92,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 92 44 <unknown>
 
 shsub z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: shsub z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d2 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ shsub z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 shsub z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: shsub z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d2 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 shsub z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: shsub z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d2 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/shsubr.s b/llvm/test/MC/AArch64/SVE2/shsubr.s
index 34e7ec00afc47..3d4b5b612133f 100644
--- a/llvm/test/MC/AArch64/SVE2/shsubr.s
+++ b/llvm/test/MC/AArch64/SVE2/shsubr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 shsubr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: shsubr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x16,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 16 44 <unknown>
 
 shsubr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: shsubr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x56,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 56 44 <unknown>
 
 shsubr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: shsubr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x96,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 96 44 <unknown>
 
 shsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: shsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd6,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d6 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ shsubr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 shsubr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: shsubr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd6,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d6 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 shsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: shsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd6,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d6 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sli.s b/llvm/test/MC/AArch64/SVE2/sli.s
index 9a5e10dd4d80d..7a90116d8f992 100644
--- a/llvm/test/MC/AArch64/SVE2/sli.s
+++ b/llvm/test/MC/AArch64/SVE2/sli.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,47 +12,47 @@
 sli     z0.b, z0.b, #0
 // CHECK-INST: sli	z0.b, z0.b, #0
 // CHECK-ENCODING: [0x00,0xf4,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 f4 08 45 <unknown>
 
 sli     z31.b, z31.b, #7
 // CHECK-INST: sli	z31.b, z31.b, #7
 // CHECK-ENCODING: [0xff,0xf7,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff f7 0f 45 <unknown>
 
 sli     z0.h, z0.h, #0
 // CHECK-INST: sli	z0.h, z0.h, #0
 // CHECK-ENCODING: [0x00,0xf4,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 f4 10 45 <unknown>
 
 sli     z31.h, z31.h, #15
 // CHECK-INST: sli	z31.h, z31.h, #15
 // CHECK-ENCODING: [0xff,0xf7,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff f7 1f 45 <unknown>
 
 sli     z0.s, z0.s, #0
 // CHECK-INST: sli	z0.s, z0.s, #0
 // CHECK-ENCODING: [0x00,0xf4,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 f4 40 45 <unknown>
 
 sli     z31.s, z31.s, #31
 // CHECK-INST: sli	z31.s, z31.s, #31
 // CHECK-ENCODING: [0xff,0xf7,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff f7 5f 45 <unknown>
 
 sli     z0.d, z0.d, #0
 // CHECK-INST: sli	z0.d, z0.d, #0
 // CHECK-ENCODING: [0x00,0xf4,0x80,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 f4 80 45 <unknown>
 
 sli     z31.d, z31.d, #63
 // CHECK-INST: sli	z31.d, z31.d, #63
 // CHECK-ENCODING: [0xff,0xf7,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff f7 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sm4e.s b/llvm/test/MC/AArch64/SVE2/sm4e.s
index 7a4d29d3e7de3..5d252ec200811 100644
--- a/llvm/test/MC/AArch64/SVE2/sm4e.s
+++ b/llvm/test/MC/AArch64/SVE2/sm4e.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-sm4 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-sm4 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-sm4 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/sm4ekey.s b/llvm/test/MC/AArch64/SVE2/sm4ekey.s
index b9d51fd52bbe7..254539a11ed8c 100644
--- a/llvm/test/MC/AArch64/SVE2/sm4ekey.s
+++ b/llvm/test/MC/AArch64/SVE2/sm4ekey.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-sm4 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2-sm4 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2-sm4 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/smaxp.s b/llvm/test/MC/AArch64/SVE2/smaxp.s
index d9b324545ebf5..80f7e2bd91a40 100644
--- a/llvm/test/MC/AArch64/SVE2/smaxp.s
+++ b/llvm/test/MC/AArch64/SVE2/smaxp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 smaxp z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: smaxp z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0xa0,0x14,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 14 44 <unknown>
 
 smaxp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: smaxp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0xa0,0x54,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 54 44 <unknown>
 
 smaxp z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: smaxp z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0xbf,0x94,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd bf 94 44 <unknown>
 
 smaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: smaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd4,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d4 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ smaxp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 smaxp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: smaxp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xa3,0xd4,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df a3 d4 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 smaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: smaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd4,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d4 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sminp.s b/llvm/test/MC/AArch64/SVE2/sminp.s
index e776fb0041af4..ba837b94c2f5b 100644
--- a/llvm/test/MC/AArch64/SVE2/sminp.s
+++ b/llvm/test/MC/AArch64/SVE2/sminp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 sminp z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: sminp z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0xa0,0x16,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 16 44 <unknown>
 
 sminp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: sminp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0xa0,0x56,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 56 44 <unknown>
 
 sminp z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: sminp z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0xbf,0x96,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd bf 96 44 <unknown>
 
 sminp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sminp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd6,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d6 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ sminp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sminp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: sminp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xa3,0xd6,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df a3 d6 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sminp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sminp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd6,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d6 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/smlalb.s b/llvm/test/MC/AArch64/SVE2/smlalb.s
index fde3579313596..142f104849609 100644
--- a/llvm/test/MC/AArch64/SVE2/smlalb.s
+++ b/llvm/test/MC/AArch64/SVE2/smlalb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 smlalb z0.h, z1.b, z31.b
 // CHECK-INST: smlalb	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x40,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 40 5f 44 <unknown>
 
 smlalb z0.s, z1.h, z31.h
 // CHECK-INST: smlalb	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x40,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 40 9f 44 <unknown>
 
 smlalb z0.d, z1.s, z31.s
 // CHECK-INST: smlalb	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x40,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 40 df 44 <unknown>
 
 smlalb z0.s, z1.h, z7.h[7]
 // CHECK-INST: smlalb	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x88,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 88 bf 44 <unknown>
 
 smlalb z0.d, z1.s, z15.s[1]
 // CHECK-INST: smlalb	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0x88,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 88 ef 44 <unknown>
 
 
@@ -45,23 +47,23 @@ smlalb z0.d, z1.s, z15.s[1]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 smlalb z21.d, z1.s, z31.s
 // CHECK-INST: smlalb	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x40,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 40 df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 smlalb   z21.d, z10.s, z5.s[1]
 // CHECK-INST: smlalb   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0x89,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 89 e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/smlalt.s b/llvm/test/MC/AArch64/SVE2/smlalt.s
index 51a397c182b11..767c357d61aac 100644
--- a/llvm/test/MC/AArch64/SVE2/smlalt.s
+++ b/llvm/test/MC/AArch64/SVE2/smlalt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 smlalt z0.h, z1.b, z31.b
 // CHECK-INST: smlalt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x44,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 44 5f 44 <unknown>
 
 smlalt z0.s, z1.h, z31.h
 // CHECK-INST: smlalt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x44,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 44 9f 44 <unknown>
 
 smlalt z0.d, z1.s, z31.s
 // CHECK-INST: smlalt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x44,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 44 df 44 <unknown>
 
 smlalt z0.s, z1.h, z7.h[7]
 // CHECK-INST: smlalt	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x8c,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 8c bf 44 <unknown>
 
 smlalt z0.d, z1.s, z15.s[1]
 // CHECK-INST: smlalt	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0x8c,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 8c ef 44 <unknown>
 
 
@@ -45,23 +47,23 @@ smlalt z0.d, z1.s, z15.s[1]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 smlalt z21.d, z1.s, z31.s
 // CHECK-INST: smlalt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x44,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 44 df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 smlalt   z21.d, z10.s, z5.s[1]
 // CHECK-INST: smlalt   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0x8d,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 8d e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/smlslb.s b/llvm/test/MC/AArch64/SVE2/smlslb.s
index 78ee12a38931e..befd21b879c55 100644
--- a/llvm/test/MC/AArch64/SVE2/smlslb.s
+++ b/llvm/test/MC/AArch64/SVE2/smlslb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 smlslb z0.h, z1.b, z31.b
 // CHECK-INST: smlslb	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x50,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 50 5f 44 <unknown>
 
 smlslb z0.s, z1.h, z31.h
 // CHECK-INST: smlslb	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x50,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 50 9f 44 <unknown>
 
 smlslb z0.d, z1.s, z31.s
 // CHECK-INST: smlslb	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x50,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 50 df 44 <unknown>
 
 smlslb z0.s, z1.h, z7.h[7]
 // CHECK-INST: smlslb	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xa8,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a8 bf 44 <unknown>
 
 smlslb z0.d, z1.s, z15.s[1]
 // CHECK-INST: smlslb	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xa8,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a8 ef 44 <unknown>
 
 
@@ -45,23 +47,23 @@ smlslb z0.d, z1.s, z15.s[1]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 smlslb z21.d, z1.s, z31.s
 // CHECK-INST: smlslb	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x50,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 50 df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 smlslb   z21.d, z10.s, z5.s[1]
 // CHECK-INST: smlslb   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0xa9,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 a9 e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/smlslt.s b/llvm/test/MC/AArch64/SVE2/smlslt.s
index c2b6a6f4eb933..e66b1b574fbb3 100644
--- a/llvm/test/MC/AArch64/SVE2/smlslt.s
+++ b/llvm/test/MC/AArch64/SVE2/smlslt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 smlslt z0.h, z1.b, z31.b
 // CHECK-INST: smlslt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x54,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 54 5f 44 <unknown>
 
 smlslt z0.s, z1.h, z31.h
 // CHECK-INST: smlslt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x54,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 54 9f 44 <unknown>
 
 smlslt z0.d, z1.s, z31.s
 // CHECK-INST: smlslt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x54,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 54 df 44 <unknown>
 
 smlslt z0.s, z1.h, z7.h[7]
 // CHECK-INST: smlslt	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xac,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 ac bf 44 <unknown>
 
 smlslt z0.d, z1.s, z15.s[1]
 // CHECK-INST: smlslt	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xac,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 ac ef 44 <unknown>
 
 
@@ -45,23 +47,23 @@ smlslt z0.d, z1.s, z15.s[1]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 smlslt z21.d, z1.s, z31.s
 // CHECK-INST: smlslt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x54,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 54 df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 smlslt   z21.d, z10.s, z5.s[1]
 // CHECK-INST: smlslt   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0xad,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 ad e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/smulh.s b/llvm/test/MC/AArch64/SVE2/smulh.s
index 4fa9a15e60e86..2b08ba73f1b13 100644
--- a/llvm/test/MC/AArch64/SVE2/smulh.s
+++ b/llvm/test/MC/AArch64/SVE2/smulh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,23 +12,23 @@
 smulh z0.b, z1.b, z2.b
 // CHECK-INST: smulh z0.b, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x68,0x22,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 68 22 04 <unknown>
 
 smulh z0.h, z1.h, z2.h
 // CHECK-INST: smulh z0.h, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x68,0x62,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 68 62 04 <unknown>
 
 smulh z29.s, z30.s, z31.s
 // CHECK-INST: smulh z29.s, z30.s, z31.s
 // CHECK-ENCODING: [0xdd,0x6b,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 6b bf 04 <unknown>
 
 smulh z31.d, z31.d, z31.d
 // CHECK-INST: smulh z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x6b,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 6b ff 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/smullb.s b/llvm/test/MC/AArch64/SVE2/smullb.s
index a8f693a25c34b..f134660350c0b 100644
--- a/llvm/test/MC/AArch64/SVE2/smullb.s
+++ b/llvm/test/MC/AArch64/SVE2/smullb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,29 +13,29 @@
 smullb z0.h, z1.b, z2.b
 // CHECK-INST: smullb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x70,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 42 45 <unknown>
 
 smullb z29.s, z30.h, z31.h
 // CHECK-INST: smullb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x73,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 73 9f 45 <unknown>
 
 smullb z31.d, z31.s, z31.s
 // CHECK-INST: smullb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x73,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 73 df 45 <unknown>
 
 smullb z0.s, z1.h, z7.h[7]
 // CHECK-INST: smullb	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xc8,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c8 bf 44 <unknown>
 
 smullb z0.d, z1.s, z15.s[1]
 // CHECK-INST: smullb	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xc8,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c8 ef 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/smullt.s b/llvm/test/MC/AArch64/SVE2/smullt.s
index 63dbe1b38455b..8e03697a40269 100644
--- a/llvm/test/MC/AArch64/SVE2/smullt.s
+++ b/llvm/test/MC/AArch64/SVE2/smullt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,29 +13,29 @@
 smullt z0.h, z1.b, z2.b
 // CHECK-INST: smullt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x74,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 42 45 <unknown>
 
 smullt z29.s, z30.h, z31.h
 // CHECK-INST: smullt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x77,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 77 9f 45 <unknown>
 
 smullt z31.d, z31.s, z31.s
 // CHECK-INST: smullt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x77,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 77 df 45 <unknown>
 
 smullt z0.s, z1.h, z7.h[7]
 // CHECK-INST: smullt	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xcc,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 cc bf 44 <unknown>
 
 smullt z0.d, z1.s, z15.s[1]
 // CHECK-INST: smullt	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xcc,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 cc ef 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/splice.s b/llvm/test/MC/AArch64/SVE2/splice.s
index 6ddd646147be5..3ce958276f871 100644
--- a/llvm/test/MC/AArch64/SVE2/splice.s
+++ b/llvm/test/MC/AArch64/SVE2/splice.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,23 +12,23 @@
 splice  z29.b, p7, { z30.b, z31.b }
 // CHECK-INST: splice  z29.b, p7, { z30.b, z31.b }
 // CHECK-ENCODING: [0xdd,0x9f,0x2d,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 2d 05 <unknown>
 
 splice  z29.h, p7, { z30.h, z31.h }
 // CHECK-INST: splice  z29.h, p7, { z30.h, z31.h }
 // CHECK-ENCODING: [0xdd,0x9f,0x6d,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 6d 05 <unknown>
 
 splice  z29.s, p7, { z30.s, z31.s }
 // CHECK-INST: splice  z29.s, p7, { z30.s, z31.s }
 // CHECK-ENCODING: [0xdd,0x9f,0xad,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f ad 05 <unknown>
 
 splice  z29.d, p7, { z30.d, z31.d }
 // CHECK-INST: splice  z29.d, p7, { z30.d, z31.d }
 // CHECK-ENCODING: [0xdd,0x9f,0xed,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f ed 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqabs.s b/llvm/test/MC/AArch64/SVE2/sqabs.s
index 8c3cd8adb1b75..d3a004407bfa3 100644
--- a/llvm/test/MC/AArch64/SVE2/sqabs.s
+++ b/llvm/test/MC/AArch64/SVE2/sqabs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 sqabs z31.b, p7/m, z31.b
 // CHECK-INST: sqabs z31.b, p7/m, z31.b
 // CHECK-ENCODING: [0xff,0xbf,0x08,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 08 44 <unknown>
 
 sqabs z31.h, p7/m, z31.h
 // CHECK-INST: sqabs z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x48,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 48 44 <unknown>
 
 sqabs z31.s, p7/m, z31.s
 // CHECK-INST: sqabs z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x88,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 88 44 <unknown>
 
 sqabs z31.d, p7/m, z31.d
 // CHECK-INST: sqabs z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xc8,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf c8 44 <unknown>
 
 
@@ -38,23 +40,23 @@ sqabs z31.d, p7/m, z31.d
 movprfx z4.s, p7/z, z6.s
 // CHECK-INST: movprfx	z4.s, p7/z, z6.s
 // CHECK-ENCODING: [0xc4,0x3c,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c 90 04 <unknown>
 
 sqabs z4.s, p7/m, z31.s
 // CHECK-INST: sqabs z4.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe4,0xbf,0x88,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 88 44 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 sqabs z4.s, p7/m, z31.s
 // CHECK-INST: sqabs z4.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe4,0xbf,0x88,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 88 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqadd.s b/llvm/test/MC/AArch64/SVE2/sqadd.s
index 14c07102095bd..32db82948ad6e 100644
--- a/llvm/test/MC/AArch64/SVE2/sqadd.s
+++ b/llvm/test/MC/AArch64/SVE2/sqadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 sqadd z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: sqadd z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x18,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 18 44 <unknown>
 
 sqadd z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: sqadd z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x58,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 58 44 <unknown>
 
 sqadd z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: sqadd z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x98,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 98 44 <unknown>
 
 sqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd8,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d8 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ sqadd z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sqadd z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: sqadd z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd8,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d8 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd8,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d8 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqcadd.s b/llvm/test/MC/AArch64/SVE2/sqcadd.s
index b5f85bfdc9289..ee1e3b4c77d8f 100644
--- a/llvm/test/MC/AArch64/SVE2/sqcadd.s
+++ b/llvm/test/MC/AArch64/SVE2/sqcadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 sqcadd   z0.b, z0.b, z0.b, #90
 // CHECK-INST: sqcadd   z0.b, z0.b, z0.b, #90
 // CHECK-ENCODING: [0x00,0xd8,0x01,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 d8 01 45 <unknown>
 
 sqcadd   z0.h, z0.h, z0.h, #90
 // CHECK-INST: sqcadd   z0.h, z0.h, z0.h, #90
 // CHECK-ENCODING: [0x00,0xd8,0x41,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 d8 41 45 <unknown>
 
 sqcadd   z0.s, z0.s, z0.s, #90
 // CHECK-INST: sqcadd   z0.s, z0.s, z0.s, #90
 // CHECK-ENCODING: [0x00,0xd8,0x81,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 d8 81 45 <unknown>
 
 sqcadd   z0.d, z0.d, z0.d, #90
 // CHECK-INST: sqcadd   z0.d, z0.d, z0.d, #90
 // CHECK-ENCODING: [0x00,0xd8,0xc1,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 d8 c1 45 <unknown>
 
 sqcadd   z31.b, z31.b, z31.b, #270
 // CHECK-INST: sqcadd   z31.b, z31.b, z31.b, #270
 // CHECK-ENCODING: [0xff,0xdf,0x01,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff df 01 45 <unknown>
 
 sqcadd   z31.h, z31.h, z31.h, #270
 // CHECK-INST: sqcadd   z31.h, z31.h, z31.h, #270
 // CHECK-ENCODING: [0xff,0xdf,0x41,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff df 41 45 <unknown>
 
 sqcadd   z31.s, z31.s, z31.s, #270
 // CHECK-INST: sqcadd   z31.s, z31.s, z31.s, #270
 // CHECK-ENCODING: [0xff,0xdf,0x81,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff df 81 45 <unknown>
 
 sqcadd   z31.d, z31.d, z31.d, #270
 // CHECK-INST: sqcadd   z31.d, z31.d, z31.d, #270
 // CHECK-ENCODING: [0xff,0xdf,0xc1,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff df c1 45 <unknown>
 
 
@@ -62,11 +64,11 @@ sqcadd   z31.d, z31.d, z31.d, #270
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 sqcadd   z4.d, z4.d, z31.d, #270
 // CHECK-INST: sqcadd	z4.d, z4.d, z31.d, #270
 // CHECK-ENCODING: [0xe4,0xdf,0xc1,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 df c1 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqdmlalb.s b/llvm/test/MC/AArch64/SVE2/sqdmlalb.s
index 8c95d5a348c9d..b0523ee29dfe6 100644
--- a/llvm/test/MC/AArch64/SVE2/sqdmlalb.s
+++ b/llvm/test/MC/AArch64/SVE2/sqdmlalb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 sqdmlalb z0.h, z1.b, z31.b
 // CHECK-INST: sqdmlalb	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x60,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 5f 44 <unknown>
 
 sqdmlalb z0.s, z1.h, z31.h
 // CHECK-INST: sqdmlalb	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x60,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 9f 44 <unknown>
 
 sqdmlalb z0.d, z1.s, z31.s
 // CHECK-INST: sqdmlalb	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x60,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 df 44 <unknown>
 
 sqdmlalb z0.s, z1.h, z7.h[7]
 // CHECK-INST: sqdmlalb	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x28,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 28 bf 44 <unknown>
 
 sqdmlalb z0.d, z1.s, z15.s[3]
 // CHECK-INST: sqdmlalb	z0.d, z1.s, z15.s[3]
 // CHECK-ENCODING: [0x20,0x28,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 28 ff 44 <unknown>
 
 
@@ -45,23 +47,23 @@ sqdmlalb z0.d, z1.s, z15.s[3]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlalb z21.d, z1.s, z31.s
 // CHECK-INST: sqdmlalb	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x60,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 60 df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlalb   z21.d, z10.s, z5.s[1]
 // CHECK-INST: sqdmlalb   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0x29,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 29 e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqdmlalbt.s b/llvm/test/MC/AArch64/SVE2/sqdmlalbt.s
index 1bfbab88624a4..d25dfc8b9e838 100644
--- a/llvm/test/MC/AArch64/SVE2/sqdmlalbt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqdmlalbt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 sqdmlalbt z0.h, z1.b, z31.b
 // CHECK-INST: sqdmlalbt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x08,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 08 5f 44 <unknown>
 
 sqdmlalbt z0.s, z1.h, z31.h
 // CHECK-INST: sqdmlalbt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x08,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 08 9f 44 <unknown>
 
 sqdmlalbt z0.d, z1.s, z31.s
 // CHECK-INST: sqdmlalbt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x08,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 08 df 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -32,11 +34,11 @@ sqdmlalbt z0.d, z1.s, z31.s
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlalbt z21.d, z1.s, z31.s
 // CHECK-INST: sqdmlalbt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x08,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 08 df 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqdmlalt.s b/llvm/test/MC/AArch64/SVE2/sqdmlalt.s
index 9ca31bbf7173c..552361b659e23 100644
--- a/llvm/test/MC/AArch64/SVE2/sqdmlalt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqdmlalt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 sqdmlalt z0.h, z1.b, z31.b
 // CHECK-INST: sqdmlalt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x64,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 64 5f 44 <unknown>
 
 sqdmlalt z0.s, z1.h, z31.h
 // CHECK-INST: sqdmlalt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x64,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 64 9f 44 <unknown>
 
 sqdmlalt z0.d, z1.s, z31.s
 // CHECK-INST: sqdmlalt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x64,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 64 df 44 <unknown>
 
 sqdmlalt z0.s, z1.h, z7.h[7]
 // CHECK-INST: sqdmlalt	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x2c,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 2c bf 44 <unknown>
 
 sqdmlalt z0.d, z1.s, z15.s[3]
 // CHECK-INST: sqdmlalt	z0.d, z1.s, z15.s[3]
 // CHECK-ENCODING: [0x20,0x2c,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 2c ff 44 <unknown>
 
 
@@ -45,23 +47,23 @@ sqdmlalt z0.d, z1.s, z15.s[3]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlalt z21.d, z1.s, z31.s
 // CHECK-INST: sqdmlalt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x64,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 64 df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlalt   z21.d, z10.s, z5.s[1]
 // CHECK-INST: sqdmlalt   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0x2d,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 2d e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqdmlslb.s b/llvm/test/MC/AArch64/SVE2/sqdmlslb.s
index 78cb0fc9afa98..eabc8ac1a41fc 100644
--- a/llvm/test/MC/AArch64/SVE2/sqdmlslb.s
+++ b/llvm/test/MC/AArch64/SVE2/sqdmlslb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 sqdmlslb z0.h, z1.b, z31.b
 // CHECK-INST: sqdmlslb	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x68,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 68 5f 44 <unknown>
 
 sqdmlslb z0.s, z1.h, z31.h
 // CHECK-INST: sqdmlslb	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x68,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 68 9f 44 <unknown>
 
 sqdmlslb z0.d, z1.s, z31.s
 // CHECK-INST: sqdmlslb	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x68,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 68 df 44 <unknown>
 
 sqdmlslb z0.s, z1.h, z7.h[7]
 // CHECK-INST: sqdmlslb	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x38,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 38 bf 44 <unknown>
 
 sqdmlslb z0.d, z1.s, z15.s[3]
 // CHECK-INST: sqdmlslb	z0.d, z1.s, z15.s[3]
 // CHECK-ENCODING: [0x20,0x38,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 38 ff 44 <unknown>
 
 
@@ -45,23 +47,23 @@ sqdmlslb z0.d, z1.s, z15.s[3]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlslb z21.d, z1.s, z31.s
 // CHECK-INST: sqdmlslb	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x68,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 68 df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlslb   z21.d, z10.s, z5.s[1]
 // CHECK-INST: sqdmlslb   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0x39,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 39 e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqdmlslbt.s b/llvm/test/MC/AArch64/SVE2/sqdmlslbt.s
index d56af2ea31a50..1203375b958e6 100644
--- a/llvm/test/MC/AArch64/SVE2/sqdmlslbt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqdmlslbt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 sqdmlslbt z0.h, z1.b, z31.b
 // CHECK-INST: sqdmlslbt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x0c,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 0c 5f 44 <unknown>
 
 sqdmlslbt z0.s, z1.h, z31.h
 // CHECK-INST: sqdmlslbt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x0c,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 0c 9f 44 <unknown>
 
 sqdmlslbt z0.d, z1.s, z31.s
 // CHECK-INST: sqdmlslbt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x0c,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 0c df 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -32,11 +34,11 @@ sqdmlslbt z0.d, z1.s, z31.s
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlslbt z21.d, z1.s, z31.s
 // CHECK-INST: sqdmlslbt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x0c,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 0c df 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqdmlslt.s b/llvm/test/MC/AArch64/SVE2/sqdmlslt.s
index 5447b3200c3f9..c4e4fc1f6a00b 100644
--- a/llvm/test/MC/AArch64/SVE2/sqdmlslt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqdmlslt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 sqdmlslt z0.h, z1.b, z31.b
 // CHECK-INST: sqdmlslt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x6c,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 6c 5f 44 <unknown>
 
 sqdmlslt z0.s, z1.h, z31.h
 // CHECK-INST: sqdmlslt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x6c,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 6c 9f 44 <unknown>
 
 sqdmlslt z0.d, z1.s, z31.s
 // CHECK-INST: sqdmlslt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x6c,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 6c df 44 <unknown>
 
 sqdmlslt z0.s, z1.h, z7.h[7]
 // CHECK-INST: sqdmlslt	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x3c,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 3c bf 44 <unknown>
 
 sqdmlslt z0.d, z1.s, z15.s[3]
 // CHECK-INST: sqdmlslt	z0.d, z1.s, z15.s[3]
 // CHECK-ENCODING: [0x20,0x3c,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 3c ff 44 <unknown>
 
 
@@ -45,23 +47,23 @@ sqdmlslt z0.d, z1.s, z15.s[3]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlslt z21.d, z1.s, z31.s
 // CHECK-INST: sqdmlslt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x6c,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 6c df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqdmlslt   z21.d, z10.s, z5.s[1]
 // CHECK-INST: sqdmlslt   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0x3d,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 3d e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqdmulh.s b/llvm/test/MC/AArch64/SVE2/sqdmulh.s
index 06be58f32aaa0..a1115cff6b80a 100644
--- a/llvm/test/MC/AArch64/SVE2/sqdmulh.s
+++ b/llvm/test/MC/AArch64/SVE2/sqdmulh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,41 +12,41 @@
 sqdmulh z0.b, z1.b, z2.b
 // CHECK-INST: sqdmulh	z0.b, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x70,0x22,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 22 04 <unknown>
 
 sqdmulh z0.h, z1.h, z2.h
 // CHECK-INST: sqdmulh	z0.h, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x70,0x62,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 62 04 <unknown>
 
 sqdmulh z29.s, z30.s, z31.s
 // CHECK-INST: sqdmulh z29.s, z30.s, z31.s
 // CHECK-ENCODING: [0xdd,0x73,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 73 bf 04 <unknown>
 
 sqdmulh z31.d, z31.d, z31.d
 // CHECK-INST: sqdmulh z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x73,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 73 ff 04 <unknown>
 
 sqdmulh z0.h, z1.h, z7.h[7]
 // CHECK-INST: sqdmulh	z0.h, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xf0,0x7f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f0 7f 44 <unknown>
 
 sqdmulh z0.s, z1.s, z7.s[3]
 // CHECK-INST: sqdmulh	z0.s, z1.s, z7.s[3]
 // CHECK-ENCODING: [0x20,0xf0,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f0 bf 44 <unknown>
 
 sqdmulh z0.d, z1.d, z15.d[1]
 // CHECK-INST: sqdmulh	z0.d, z1.d, z15.d[1]
 // CHECK-ENCODING: [0x20,0xf0,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f0 ff 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqdmullb.s b/llvm/test/MC/AArch64/SVE2/sqdmullb.s
index 47bc1c83b4f00..33525f793b635 100644
--- a/llvm/test/MC/AArch64/SVE2/sqdmullb.s
+++ b/llvm/test/MC/AArch64/SVE2/sqdmullb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,29 +13,29 @@
 sqdmullb z0.h, z1.b, z2.b
 // CHECK-INST: sqdmullb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x60,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 60 42 45 <unknown>
 
 sqdmullb z29.s, z30.h, z31.h
 // CHECK-INST: sqdmullb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x63,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 63 9f 45 <unknown>
 
 sqdmullb z31.d, z31.s, z31.s
 // CHECK-INST: sqdmullb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x63,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 63 df 45 <unknown>
 
 sqdmullb z0.s, z1.h, z7.h[7]
 // CHECK-INST: sqdmullb	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xe8,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 e8 bf 44 <unknown>
 
 sqdmullb z0.d, z1.s, z15.s[1]
 // CHECK-INST: sqdmullb	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xe8,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 e8 ef 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqdmullt.s b/llvm/test/MC/AArch64/SVE2/sqdmullt.s
index 56132a37b4a3c..6c9e6a654ea7d 100644
--- a/llvm/test/MC/AArch64/SVE2/sqdmullt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqdmullt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,29 +13,29 @@
 sqdmullt z0.h, z1.b, z2.b
 // CHECK-INST: sqdmullt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x64,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 64 42 45 <unknown>
 
 sqdmullt z29.s, z30.h, z31.h
 // CHECK-INST: sqdmullt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x67,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 67 9f 45 <unknown>
 
 sqdmullt z31.d, z31.s, z31.s
 // CHECK-INST: sqdmullt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x67,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 67 df 45 <unknown>
 
 sqdmullt z0.s, z1.h, z7.h[7]
 // CHECK-INST: sqdmullt	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xec,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 ec bf 44 <unknown>
 
 sqdmullt z0.d, z1.s, z15.s[1]
 // CHECK-INST: sqdmullt	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xec,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 ec ef 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqneg.s b/llvm/test/MC/AArch64/SVE2/sqneg.s
index 1bef14594c0cb..39417242a30b1 100644
--- a/llvm/test/MC/AArch64/SVE2/sqneg.s
+++ b/llvm/test/MC/AArch64/SVE2/sqneg.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 sqneg z31.b, p7/m, z31.b
 // CHECK-INST: sqneg z31.b, p7/m, z31.b
 // CHECK-ENCODING: [0xff,0xbf,0x09,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 09 44 <unknown>
 
 sqneg z31.h, p7/m, z31.h
 // CHECK-INST: sqneg z31.h, p7/m, z31.h
 // CHECK-ENCODING: [0xff,0xbf,0x49,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 49 44 <unknown>
 
 sqneg z31.s, p7/m, z31.s
 // CHECK-INST: sqneg z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x89,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 89 44 <unknown>
 
 sqneg z31.d, p7/m, z31.d
 // CHECK-INST: sqneg z31.d, p7/m, z31.d
 // CHECK-ENCODING: [0xff,0xbf,0xc9,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf c9 44 <unknown>
 
 
@@ -38,23 +40,23 @@ sqneg z31.d, p7/m, z31.d
 movprfx z4.s, p7/z, z6.s
 // CHECK-INST: movprfx	z4.s, p7/z, z6.s
 // CHECK-ENCODING: [0xc4,0x3c,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c 90 04 <unknown>
 
 sqneg z4.s, p7/m, z31.s
 // CHECK-INST: sqneg z4.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe4,0xbf,0x89,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 89 44 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 sqneg z4.s, p7/m, z31.s
 // CHECK-INST: sqneg z4.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe4,0xbf,0x89,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 89 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrdcmlah.s b/llvm/test/MC/AArch64/SVE2/sqrdcmlah.s
index 378bfa1c6c024..5e8942842bd17 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrdcmlah.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrdcmlah.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,121 +12,121 @@
 sqrdcmlah   z0.b, z1.b, z2.b, #0
 // CHECK-INST: sqrdcmlah   z0.b, z1.b, z2.b, #0
 // CHECK-ENCODING: [0x20,0x30,0x02,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 30 02 44 <unknown>
 
 sqrdcmlah   z0.h, z1.h, z2.h, #0
 // CHECK-INST: sqrdcmlah   z0.h, z1.h, z2.h, #0
 // CHECK-ENCODING: [0x20,0x30,0x42,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 30 42 44 <unknown>
 
 sqrdcmlah   z0.s, z1.s, z2.s, #0
 // CHECK-INST: sqrdcmlah   z0.s, z1.s, z2.s, #0
 // CHECK-ENCODING: [0x20,0x30,0x82,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 30 82 44 <unknown>
 
 sqrdcmlah   z0.d, z1.d, z2.d, #0
 // CHECK-INST: sqrdcmlah   z0.d, z1.d, z2.d, #0
 // CHECK-ENCODING: [0x20,0x30,0xc2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 30 c2 44 <unknown>
 
 sqrdcmlah   z29.b, z30.b, z31.b, #90
 // CHECK-INST: sqrdcmlah   z29.b, z30.b, z31.b, #90
 // CHECK-ENCODING: [0xdd,0x37,0x1f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 37 1f 44 <unknown>
 
 sqrdcmlah   z29.h, z30.h, z31.h, #90
 // CHECK-INST: sqrdcmlah   z29.h, z30.h, z31.h, #90
 // CHECK-ENCODING: [0xdd,0x37,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 37 5f 44 <unknown>
 
 sqrdcmlah   z29.s, z30.s, z31.s, #90
 // CHECK-INST: sqrdcmlah   z29.s, z30.s, z31.s, #90
 // CHECK-ENCODING: [0xdd,0x37,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 37 9f 44 <unknown>
 
 sqrdcmlah   z29.d, z30.d, z31.d, #90
 // CHECK-INST: sqrdcmlah   z29.d, z30.d, z31.d, #90
 // CHECK-ENCODING: [0xdd,0x37,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 37 df 44 <unknown>
 
 sqrdcmlah   z31.b, z31.b, z31.b, #180
 // CHECK-INST: sqrdcmlah   z31.b, z31.b, z31.b, #180
 // CHECK-ENCODING: [0xff,0x3b,0x1f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3b 1f 44 <unknown>
 
 sqrdcmlah   z31.h, z31.h, z31.h, #180
 // CHECK-INST: sqrdcmlah   z31.h, z31.h, z31.h, #180
 // CHECK-ENCODING: [0xff,0x3b,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3b 5f 44 <unknown>
 
 sqrdcmlah   z31.s, z31.s, z31.s, #180
 // CHECK-INST: sqrdcmlah   z31.s, z31.s, z31.s, #180
 // CHECK-ENCODING: [0xff,0x3b,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3b 9f 44 <unknown>
 
 sqrdcmlah   z31.d, z31.d, z31.d, #180
 // CHECK-INST: sqrdcmlah   z31.d, z31.d, z31.d, #180
 // CHECK-ENCODING: [0xff,0x3b,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3b df 44 <unknown>
 
 sqrdcmlah   z15.b, z16.b, z17.b, #270
 // CHECK-INST: sqrdcmlah   z15.b, z16.b, z17.b, #270
 // CHECK-ENCODING: [0x0f,0x3e,0x11,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 3e 11 44 <unknown>
 
 sqrdcmlah   z15.h, z16.h, z17.h, #270
 // CHECK-INST: sqrdcmlah   z15.h, z16.h, z17.h, #270
 // CHECK-ENCODING: [0x0f,0x3e,0x51,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 3e 51 44 <unknown>
 
 sqrdcmlah   z15.s, z16.s, z17.s, #270
 // CHECK-INST: sqrdcmlah   z15.s, z16.s, z17.s, #270
 // CHECK-ENCODING: [0x0f,0x3e,0x91,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 3e 91 44 <unknown>
 
 sqrdcmlah   z15.d, z16.d, z17.d, #270
 // CHECK-INST: sqrdcmlah   z15.d, z16.d, z17.d, #270
 // CHECK-ENCODING: [0x0f,0x3e,0xd1,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 3e d1 44 <unknown>
 
 sqrdcmlah   z0.h, z1.h, z2.h[0], #0
 // CHECK-INST: sqrdcmlah   z0.h, z1.h, z2.h[0], #0
 // CHECK-ENCODING: [0x20,0x70,0xa2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 a2 44 <unknown>
 
 sqrdcmlah   z0.s, z1.s, z2.s[0], #0
 // CHECK-INST: sqrdcmlah   z0.s, z1.s, z2.s[0], #0
 // CHECK-ENCODING: [0x20,0x70,0xe2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 e2 44 <unknown>
 
 sqrdcmlah   z31.h, z30.h, z7.h[0], #180
 // CHECK-INST: sqrdcmlah   z31.h, z30.h, z7.h[0], #180
 // CHECK-ENCODING: [0xdf,0x7b,0xa7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 7b a7 44 <unknown>
 
 sqrdcmlah   z31.s, z30.s, z7.s[0], #180
 // CHECK-INST: sqrdcmlah   z31.s, z30.s, z7.s[0], #180
 // CHECK-ENCODING: [0xdf,0x7b,0xe7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 7b e7 44 <unknown>
 
 
@@ -134,23 +136,23 @@ sqrdcmlah   z31.s, z30.s, z7.s[0], #180
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 sqrdcmlah   z4.d, z31.d, z31.d, #270
 // CHECK-INST: sqrdcmlah   z4.d, z31.d, z31.d, #270
 // CHECK-ENCODING: [0xe4,0x3f,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 3f df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 sqrdcmlah   z21.s, z10.s, z5.s[1], #90
 // CHECK-INST: sqrdcmlah	z21.s, z10.s, z5.s[1], #90
 // CHECK-ENCODING: [0x55,0x75,0xf5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 75 f5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrdmlah.s b/llvm/test/MC/AArch64/SVE2/sqrdmlah.s
index 277265c58e8f8..7c7c6117f2bfb 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrdmlah.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrdmlah.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,43 +13,43 @@
 sqrdmlah z0.b, z1.b, z31.b
 // CHECK-INST: sqrdmlah z0.b, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x70,0x1f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 1f 44 <unknown>
 
 sqrdmlah z0.h, z1.h, z31.h
 // CHECK-INST: sqrdmlah z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x70,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 5f 44 <unknown>
 
 sqrdmlah z0.s, z1.s, z31.s
 // CHECK-INST: sqrdmlah z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x70,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 9f 44 <unknown>
 
 sqrdmlah z0.d, z1.d, z31.d
 // CHECK-INST: sqrdmlah z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x70,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 df 44 <unknown>
 
 sqrdmlah z0.h, z1.h, z7.h[7]
 // CHECK-INST: sqrdmlah	z0.h, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x10,0x7f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 10 7f 44 <unknown>
 
 sqrdmlah z0.s, z1.s, z7.s[3]
 // CHECK-INST: sqrdmlah	z0.s, z1.s, z7.s[3]
 // CHECK-ENCODING: [0x20,0x10,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 10 bf 44 <unknown>
 
 sqrdmlah z0.d, z1.d, z15.d[1]
 // CHECK-INST: sqrdmlah	z0.d, z1.d, z15.d[1]
 // CHECK-ENCODING: [0x20,0x10,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 10 ff 44 <unknown>
 
 
@@ -57,23 +59,23 @@ sqrdmlah z0.d, z1.d, z15.d[1]
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqrdmlah z0.d, z1.d, z31.d
 // CHECK-INST: sqrdmlah z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x70,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 df 44 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqrdmlah z0.d, z1.d, z15.d[1]
 // CHECK-INST: sqrdmlah	z0.d, z1.d, z15.d[1]
 // CHECK-ENCODING: [0x20,0x10,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 10 ff 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrdmlsh.s b/llvm/test/MC/AArch64/SVE2/sqrdmlsh.s
index 97531eed26bba..1f79608ed99bc 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrdmlsh.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrdmlsh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,43 +12,43 @@
 sqrdmlsh z0.b, z1.b, z31.b
 // CHECK-INST: sqrdmlsh z0.b, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x74,0x1f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 1f 44 <unknown>
 
 sqrdmlsh z0.h, z1.h, z31.h
 // CHECK-INST: sqrdmlsh z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x74,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 5f 44 <unknown>
 
 sqrdmlsh z0.s, z1.s, z31.s
 // CHECK-INST: sqrdmlsh z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x74,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 9f 44 <unknown>
 
 sqrdmlsh z0.d, z1.d, z31.d
 // CHECK-INST: sqrdmlsh z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x74,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 df 44 <unknown>
 
 sqrdmlsh z0.h, z1.h, z7.h[7]
 // CHECK-INST: sqrdmlsh	z0.h, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x14,0x7f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 14 7f 44 <unknown>
 
 sqrdmlsh z0.s, z1.s, z7.s[3]
 // CHECK-INST: sqrdmlsh	z0.s, z1.s, z7.s[3]
 // CHECK-ENCODING: [0x20,0x14,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 14 bf 44 <unknown>
 
 sqrdmlsh z0.d, z1.d, z15.d[1]
 // CHECK-INST: sqrdmlsh	z0.d, z1.d, z15.d[1]
 // CHECK-ENCODING: [0x20,0x14,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 14 ff 44 <unknown>
 
 
@@ -56,23 +58,23 @@ sqrdmlsh z0.d, z1.d, z15.d[1]
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqrdmlsh z0.d, z1.d, z31.d
 // CHECK-INST: sqrdmlsh z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x74,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 df 44 <unknown>
 
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 sqrdmlsh z0.d, z1.d, z15.d[1]
 // CHECK-INST: sqrdmlsh	z0.d, z1.d, z15.d[1]
 // CHECK-ENCODING: [0x20,0x14,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 14 ff 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrdmulh.s b/llvm/test/MC/AArch64/SVE2/sqrdmulh.s
index c356c475b5850..249edeb326f98 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrdmulh.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrdmulh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,41 +12,41 @@
 sqrdmulh z0.b, z1.b, z2.b
 // CHECK-INST: sqrdmulh	z0.b, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x74,0x22,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 22 04 <unknown>
 
 sqrdmulh z0.h, z1.h, z2.h
 // CHECK-INST: sqrdmulh	z0.h, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x74,0x62,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 62 04 <unknown>
 
 sqrdmulh z29.s, z30.s, z31.s
 // CHECK-INST: sqrdmulh z29.s, z30.s, z31.s
 // CHECK-ENCODING: [0xdd,0x77,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 77 bf 04 <unknown>
 
 sqrdmulh z31.d, z31.d, z31.d
 // CHECK-INST: sqrdmulh z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x77,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 77 ff 04 <unknown>
 
 sqrdmulh z0.h, z1.h, z7.h[7]
 // CHECK-INST: sqrdmulh	z0.h, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xf4,0x7f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f4 7f 44 <unknown>
 
 sqrdmulh z0.s, z1.s, z7.s[3]
 // CHECK-INST: sqrdmulh	z0.s, z1.s, z7.s[3]
 // CHECK-ENCODING: [0x20,0xf4,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f4 bf 44 <unknown>
 
 sqrdmulh z0.d, z1.d, z15.d[1]
 // CHECK-INST: sqrdmulh	z0.d, z1.d, z15.d[1]
 // CHECK-ENCODING: [0x20,0xf4,0xff,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 f4 ff 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrshl.s b/llvm/test/MC/AArch64/SVE2/sqrshl.s
index 1f0a0fb0ca0df..59e2904191bb8 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrshl.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrshl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 sqrshl z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: sqrshl z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x0a,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 0a 44 <unknown>
 
 sqrshl z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: sqrshl z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x4a,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 4a 44 <unknown>
 
 sqrshl z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: sqrshl z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x8a,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 8a 44 <unknown>
 
 sqrshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqrshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xca,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f ca 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ sqrshl z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sqrshl z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: sqrshl z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xca,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 ca 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqrshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqrshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xca,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f ca 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrshlr.s b/llvm/test/MC/AArch64/SVE2/sqrshlr.s
index 9a52ba6643e23..29bd8e5b99c63 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrshlr.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrshlr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 sqrshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: sqrshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x0e,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 0e 44 <unknown>
 
 sqrshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: sqrshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x4e,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 4e 44 <unknown>
 
 sqrshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: sqrshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x8e,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 8e 44 <unknown>
 
 sqrshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqrshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xce,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f ce 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ sqrshlr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sqrshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: sqrshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xce,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 ce 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqrshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqrshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xce,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f ce 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrshrnb.s b/llvm/test/MC/AArch64/SVE2/sqrshrnb.s
index 0260c5abc27aa..bb7d482bf9507 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrshrnb.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrshrnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sqrshrnb     z0.b, z0.h, #1
 // CHECK-INST: sqrshrnb	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x28,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 28 2f 45 <unknown>
 
 sqrshrnb     z31.b, z31.h, #8
 // CHECK-INST: sqrshrnb	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x2b,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2b 28 45 <unknown>
 
 sqrshrnb     z0.h, z0.s, #1
 // CHECK-INST: sqrshrnb	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x28,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 28 3f 45 <unknown>
 
 sqrshrnb     z31.h, z31.s, #16
 // CHECK-INST: sqrshrnb	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x2b,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2b 30 45 <unknown>
 
 sqrshrnb     z0.s, z0.d, #1
 // CHECK-INST: sqrshrnb	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x28,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 28 7f 45 <unknown>
 
 sqrshrnb     z31.s, z31.d, #32
 // CHECK-INST: sqrshrnb	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x2b,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2b 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrshrnt.s b/llvm/test/MC/AArch64/SVE2/sqrshrnt.s
index eabdf96b88736..b003cb80dfb19 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrshrnt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrshrnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sqrshrnt     z0.b, z0.h, #1
 // CHECK-INST: sqrshrnt	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x2c,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 2c 2f 45 <unknown>
 
 sqrshrnt     z31.b, z31.h, #8
 // CHECK-INST: sqrshrnt	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x2f,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2f 28 45 <unknown>
 
 sqrshrnt     z0.h, z0.s, #1
 // CHECK-INST: sqrshrnt	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x2c,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 2c 3f 45 <unknown>
 
 sqrshrnt     z31.h, z31.s, #16
 // CHECK-INST: sqrshrnt	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x2f,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2f 30 45 <unknown>
 
 sqrshrnt     z0.s, z0.d, #1
 // CHECK-INST: sqrshrnt	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x2c,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 2c 7f 45 <unknown>
 
 sqrshrnt     z31.s, z31.d, #32
 // CHECK-INST: sqrshrnt	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x2f,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2f 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrshrunb.s b/llvm/test/MC/AArch64/SVE2/sqrshrunb.s
index 2a557bdaa7259..89b1a05aa635b 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrshrunb.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrshrunb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sqrshrunb     z0.b, z0.h, #1
 // CHECK-INST: sqrshrunb	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x08,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 08 2f 45 <unknown>
 
 sqrshrunb     z31.b, z31.h, #8
 // CHECK-INST: sqrshrunb	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x0b,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 0b 28 45 <unknown>
 
 sqrshrunb     z0.h, z0.s, #1
 // CHECK-INST: sqrshrunb	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x08,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 08 3f 45 <unknown>
 
 sqrshrunb     z31.h, z31.s, #16
 // CHECK-INST: sqrshrunb	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x0b,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 0b 30 45 <unknown>
 
 sqrshrunb     z0.s, z0.d, #1
 // CHECK-INST: sqrshrunb	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x08,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 08 7f 45 <unknown>
 
 sqrshrunb     z31.s, z31.d, #32
 // CHECK-INST: sqrshrunb	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x0b,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 0b 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqrshrunt.s b/llvm/test/MC/AArch64/SVE2/sqrshrunt.s
index 1dc68333c7d96..a6884ba0aaa47 100644
--- a/llvm/test/MC/AArch64/SVE2/sqrshrunt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqrshrunt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sqrshrunt     z0.b, z0.h, #1
 // CHECK-INST: sqrshrunt	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x0c,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 0c 2f 45 <unknown>
 
 sqrshrunt     z31.b, z31.h, #8
 // CHECK-INST: sqrshrunt	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x0f,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 0f 28 45 <unknown>
 
 sqrshrunt     z0.h, z0.s, #1
 // CHECK-INST: sqrshrunt	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x0c,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 0c 3f 45 <unknown>
 
 sqrshrunt     z31.h, z31.s, #16
 // CHECK-INST: sqrshrunt	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x0f,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 0f 30 45 <unknown>
 
 sqrshrunt     z0.s, z0.d, #1
 // CHECK-INST: sqrshrunt	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x0c,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 0c 7f 45 <unknown>
 
 sqrshrunt     z31.s, z31.d, #32
 // CHECK-INST: sqrshrunt	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x0f,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 0f 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqshl.s b/llvm/test/MC/AArch64/SVE2/sqshl.s
index 5d3c0bb4ea524..994cdbf287afe 100644
--- a/llvm/test/MC/AArch64/SVE2/sqshl.s
+++ b/llvm/test/MC/AArch64/SVE2/sqshl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,73 +12,73 @@
 sqshl z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: sqshl z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x08,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 08 44 <unknown>
 
 sqshl z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: sqshl z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x48,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 48 44 <unknown>
 
 sqshl z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: sqshl z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x88,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 88 44 <unknown>
 
 sqshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc8,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c8 44 <unknown>
 
 sqshl z0.b, p0/m, z0.b, #0
 // CHECK-INST: sqshl z0.b, p0/m, z0.b, #0
 // CHECK-ENCODING: [0x00,0x81,0x06,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 81 06 04 <unknown>
 
 sqshl z31.b, p0/m, z31.b, #7
 // CHECK-INST: sqshl z31.b, p0/m, z31.b, #7
 // CHECK-ENCODING: [0xff,0x81,0x06,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 81 06 04 <unknown>
 
 sqshl z0.h, p0/m, z0.h, #0
 // CHECK-INST: sqshl z0.h, p0/m, z0.h, #0
 // CHECK-ENCODING: [0x00,0x82,0x06,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 82 06 04 <unknown>
 
 sqshl z31.h, p0/m, z31.h, #15
 // CHECK-INST: sqshl z31.h, p0/m, z31.h, #15
 // CHECK-ENCODING: [0xff,0x83,0x06,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 06 04 <unknown>
 
 sqshl z0.s, p0/m, z0.s, #0
 // CHECK-INST: sqshl z0.s, p0/m, z0.s, #0
 // CHECK-ENCODING: [0x00,0x80,0x46,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 80 46 04 <unknown>
 
 sqshl z31.s, p0/m, z31.s, #31
 // CHECK-INST: sqshl z31.s, p0/m, z31.s, #31
 // CHECK-ENCODING: [0xff,0x83,0x46,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 46 04 <unknown>
 
 sqshl z0.d, p0/m, z0.d, #0
 // CHECK-INST: sqshl z0.d, p0/m, z0.d, #0
 // CHECK-ENCODING: [0x00,0x80,0x86,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 80 86 04 <unknown>
 
 sqshl z31.d, p0/m, z31.d, #63
 // CHECK-INST: sqshl z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xc6,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 c6 04 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -85,47 +87,47 @@ sqshl z31.d, p0/m, z31.d, #63
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sqshl z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: sqshl z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xc8,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 c8 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc8,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c8 44 <unknown>
 
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sqshl z31.d, p0/m, z31.d, #63
 // CHECK-INST: sqshl z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xc6,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 c6 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqshl z31.d, p0/m, z31.d, #63
 // CHECK-INST: sqshl z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xc6,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 c6 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqshlr.s b/llvm/test/MC/AArch64/SVE2/sqshlr.s
index 3ea9c2fabba20..fcf7461d88c10 100644
--- a/llvm/test/MC/AArch64/SVE2/sqshlr.s
+++ b/llvm/test/MC/AArch64/SVE2/sqshlr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 sqshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: sqshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x0c,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 0c 44 <unknown>
 
 sqshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: sqshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x4c,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 4c 44 <unknown>
 
 sqshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: sqshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x8c,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 8c 44 <unknown>
 
 sqshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xcc,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f cc 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ sqshlr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sqshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: sqshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xcc,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 cc 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xcc,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f cc 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqshlu.s b/llvm/test/MC/AArch64/SVE2/sqshlu.s
index c549bcf8010e5..e70d1d89de0f8 100644
--- a/llvm/test/MC/AArch64/SVE2/sqshlu.s
+++ b/llvm/test/MC/AArch64/SVE2/sqshlu.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 sqshlu z0.b, p0/m, z0.b, #0
 // CHECK-INST: sqshlu z0.b, p0/m, z0.b, #0
 // CHECK-ENCODING: [0x00,0x81,0x0f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 81 0f 04 <unknown>
 
 sqshlu z31.b, p0/m, z31.b, #7
 // CHECK-INST: sqshlu z31.b, p0/m, z31.b, #7
 // CHECK-ENCODING: [0xff,0x81,0x0f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 81 0f 04 <unknown>
 
 sqshlu z0.h, p0/m, z0.h, #0
 // CHECK-INST: sqshlu z0.h, p0/m, z0.h, #0
 // CHECK-ENCODING: [0x00,0x82,0x0f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 82 0f 04 <unknown>
 
 sqshlu z31.h, p0/m, z31.h, #15
 // CHECK-INST: sqshlu z31.h, p0/m, z31.h, #15
 // CHECK-ENCODING: [0xff,0x83,0x0f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 0f 04 <unknown>
 
 sqshlu z0.s, p0/m, z0.s, #0
 // CHECK-INST: sqshlu z0.s, p0/m, z0.s, #0
 // CHECK-ENCODING: [0x00,0x80,0x4f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 80 4f 04 <unknown>
 
 sqshlu z31.s, p0/m, z31.s, #31
 // CHECK-INST: sqshlu z31.s, p0/m, z31.s, #31
 // CHECK-ENCODING: [0xff,0x83,0x4f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 4f 04 <unknown>
 
 sqshlu z0.d, p0/m, z0.d, #0
 // CHECK-INST: sqshlu z0.d, p0/m, z0.d, #0
 // CHECK-ENCODING: [0x00,0x80,0x8f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 80 8f 04 <unknown>
 
 sqshlu z31.d, p0/m, z31.d, #63
 // CHECK-INST: sqshlu z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xcf,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 cf 04 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -61,23 +63,23 @@ sqshlu z31.d, p0/m, z31.d, #63
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sqshlu z31.d, p0/m, z31.d, #63
 // CHECK-INST: sqshlu z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xcf,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 cf 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqshlu z31.d, p0/m, z31.d, #63
 // CHECK-INST: sqshlu z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xcf,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 cf 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqshrnb.s b/llvm/test/MC/AArch64/SVE2/sqshrnb.s
index a0ed5414fcf56..0a1343d90de7c 100644
--- a/llvm/test/MC/AArch64/SVE2/sqshrnb.s
+++ b/llvm/test/MC/AArch64/SVE2/sqshrnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sqshrnb     z0.b, z0.h, #1
 // CHECK-INST: sqshrnb	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x20,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 20 2f 45 <unknown>
 
 sqshrnb     z31.b, z31.h, #8
 // CHECK-INST: sqshrnb	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x23,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 23 28 45 <unknown>
 
 sqshrnb     z0.h, z0.s, #1
 // CHECK-INST: sqshrnb	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x20,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 20 3f 45 <unknown>
 
 sqshrnb     z31.h, z31.s, #16
 // CHECK-INST: sqshrnb	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x23,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 23 30 45 <unknown>
 
 sqshrnb     z0.s, z0.d, #1
 // CHECK-INST: sqshrnb	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x20,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 20 7f 45 <unknown>
 
 sqshrnb     z31.s, z31.d, #32
 // CHECK-INST: sqshrnb	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x23,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 23 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqshrnt.s b/llvm/test/MC/AArch64/SVE2/sqshrnt.s
index a66ee2441287b..18fea9e797f6e 100644
--- a/llvm/test/MC/AArch64/SVE2/sqshrnt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqshrnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sqshrnt     z0.b, z0.h, #1
 // CHECK-INST: sqshrnt	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x24,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 24 2f 45 <unknown>
 
 sqshrnt     z31.b, z31.h, #8
 // CHECK-INST: sqshrnt	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x27,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 27 28 45 <unknown>
 
 sqshrnt     z0.h, z0.s, #1
 // CHECK-INST: sqshrnt	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x24,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 24 3f 45 <unknown>
 
 sqshrnt     z31.h, z31.s, #16
 // CHECK-INST: sqshrnt	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x27,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 27 30 45 <unknown>
 
 sqshrnt     z0.s, z0.d, #1
 // CHECK-INST: sqshrnt	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x24,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 24 7f 45 <unknown>
 
 sqshrnt     z31.s, z31.d, #32
 // CHECK-INST: sqshrnt	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x27,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 27 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqshrunb.s b/llvm/test/MC/AArch64/SVE2/sqshrunb.s
index 3e5dedd5edacf..58672f00ba2b5 100644
--- a/llvm/test/MC/AArch64/SVE2/sqshrunb.s
+++ b/llvm/test/MC/AArch64/SVE2/sqshrunb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sqshrunb     z0.b, z0.h, #1
 // CHECK-INST: sqshrunb	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x00,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 00 2f 45 <unknown>
 
 sqshrunb     z31.b, z31.h, #8
 // CHECK-INST: sqshrunb	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x03,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 03 28 45 <unknown>
 
 sqshrunb     z0.h, z0.s, #1
 // CHECK-INST: sqshrunb	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x00,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 00 3f 45 <unknown>
 
 sqshrunb     z31.h, z31.s, #16
 // CHECK-INST: sqshrunb	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x03,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 03 30 45 <unknown>
 
 sqshrunb     z0.s, z0.d, #1
 // CHECK-INST: sqshrunb	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x00,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 00 7f 45 <unknown>
 
 sqshrunb     z31.s, z31.d, #32
 // CHECK-INST: sqshrunb	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x03,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 03 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqshrunt.s b/llvm/test/MC/AArch64/SVE2/sqshrunt.s
index 5847a0436afe8..15efa20cf7b74 100644
--- a/llvm/test/MC/AArch64/SVE2/sqshrunt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqshrunt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sqshrunt     z0.b, z0.h, #1
 // CHECK-INST: sqshrunt	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x04,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 04 2f 45 <unknown>
 
 sqshrunt     z31.b, z31.h, #8
 // CHECK-INST: sqshrunt	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x07,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 07 28 45 <unknown>
 
 sqshrunt     z0.h, z0.s, #1
 // CHECK-INST: sqshrunt	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x04,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 04 3f 45 <unknown>
 
 sqshrunt     z31.h, z31.s, #16
 // CHECK-INST: sqshrunt	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x07,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 07 30 45 <unknown>
 
 sqshrunt     z0.s, z0.d, #1
 // CHECK-INST: sqshrunt	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x04,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 04 7f 45 <unknown>
 
 sqshrunt     z31.s, z31.d, #32
 // CHECK-INST: sqshrunt	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x07,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 07 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqsub.s b/llvm/test/MC/AArch64/SVE2/sqsub.s
index 661f187a0b2a7..c9473cce0586e 100644
--- a/llvm/test/MC/AArch64/SVE2/sqsub.s
+++ b/llvm/test/MC/AArch64/SVE2/sqsub.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 sqsub z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: sqsub z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x1a,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 1a 44 <unknown>
 
 sqsub z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: sqsub z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x5a,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 5a 44 <unknown>
 
 sqsub z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: sqsub z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x9a,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 9a 44 <unknown>
 
 sqsub z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqsub z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xda,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f da 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ sqsub z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sqsub z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: sqsub z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xda,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 da 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqsub z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqsub z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xda,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f da 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqsubr.s b/llvm/test/MC/AArch64/SVE2/sqsubr.s
index bf8f2d639db49..13198a5322690 100644
--- a/llvm/test/MC/AArch64/SVE2/sqsubr.s
+++ b/llvm/test/MC/AArch64/SVE2/sqsubr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 sqsubr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: sqsubr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x1e,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 1e 44 <unknown>
 
 sqsubr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: sqsubr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x5e,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 5e 44 <unknown>
 
 sqsubr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: sqsubr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x9e,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 9e 44 <unknown>
 
 sqsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xde,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f de 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ sqsubr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 sqsubr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: sqsubr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xde,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 de 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 sqsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: sqsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xde,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f de 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqxtnb.s b/llvm/test/MC/AArch64/SVE2/sqxtnb.s
index a91c8fd2cd897..8e3b14c0a7d60 100644
--- a/llvm/test/MC/AArch64/SVE2/sqxtnb.s
+++ b/llvm/test/MC/AArch64/SVE2/sqxtnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 sqxtnb z0.b, z31.h
 // CHECK-INST: sqxtnb	z0.b, z31.h
 // CHECK-ENCODING: [0xe0,0x43,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 43 28 45 <unknown>
 
 sqxtnb z0.h, z31.s
 // CHECK-INST: sqxtnb	z0.h, z31.s
 // CHECK-ENCODING: [0xe0,0x43,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 43 30 45 <unknown>
 
 sqxtnb z0.s, z31.d
 // CHECK-INST: sqxtnb	z0.s, z31.d
 // CHECK-ENCODING: [0xe0,0x43,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 43 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqxtnt.s b/llvm/test/MC/AArch64/SVE2/sqxtnt.s
index 1b391d1bc9f43..74c0ec8165bec 100644
--- a/llvm/test/MC/AArch64/SVE2/sqxtnt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqxtnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 sqxtnt z0.b, z31.h
 // CHECK-INST: sqxtnt	z0.b, z31.h
 // CHECK-ENCODING: [0xe0,0x47,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 47 28 45 <unknown>
 
 sqxtnt z0.h, z31.s
 // CHECK-INST: sqxtnt	z0.h, z31.s
 // CHECK-ENCODING: [0xe0,0x47,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 47 30 45 <unknown>
 
 sqxtnt z0.s, z31.d
 // CHECK-INST: sqxtnt	z0.s, z31.d
 // CHECK-ENCODING: [0xe0,0x47,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 47 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqxtunb.s b/llvm/test/MC/AArch64/SVE2/sqxtunb.s
index c38c7be79f743..5d6d9574cd0f6 100644
--- a/llvm/test/MC/AArch64/SVE2/sqxtunb.s
+++ b/llvm/test/MC/AArch64/SVE2/sqxtunb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 sqxtunb z0.b, z31.h
 // CHECK-INST: sqxtunb	z0.b, z31.h
 // CHECK-ENCODING: [0xe0,0x53,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 53 28 45 <unknown>
 
 sqxtunb z0.h, z31.s
 // CHECK-INST: sqxtunb	z0.h, z31.s
 // CHECK-ENCODING: [0xe0,0x53,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 53 30 45 <unknown>
 
 sqxtunb z0.s, z31.d
 // CHECK-INST: sqxtunb	z0.s, z31.d
 // CHECK-ENCODING: [0xe0,0x53,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 53 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sqxtunt.s b/llvm/test/MC/AArch64/SVE2/sqxtunt.s
index 44811be3eb45f..a75f54d70f311 100644
--- a/llvm/test/MC/AArch64/SVE2/sqxtunt.s
+++ b/llvm/test/MC/AArch64/SVE2/sqxtunt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 sqxtunt z0.b, z31.h
 // CHECK-INST: sqxtunt	z0.b, z31.h
 // CHECK-ENCODING: [0xe0,0x57,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 57 28 45 <unknown>
 
 sqxtunt z0.h, z31.s
 // CHECK-INST: sqxtunt	z0.h, z31.s
 // CHECK-ENCODING: [0xe0,0x57,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 57 30 45 <unknown>
 
 sqxtunt z0.s, z31.d
 // CHECK-INST: sqxtunt	z0.s, z31.d
 // CHECK-ENCODING: [0xe0,0x57,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 57 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/srhadd.s b/llvm/test/MC/AArch64/SVE2/srhadd.s
index 5a995ddb69f38..0f57ab88a6319 100644
--- a/llvm/test/MC/AArch64/SVE2/srhadd.s
+++ b/llvm/test/MC/AArch64/SVE2/srhadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 srhadd z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: srhadd z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x14,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 14 44 <unknown>
 
 srhadd z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: srhadd z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x54,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 54 44 <unknown>
 
 srhadd z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: srhadd z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x94,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 94 44 <unknown>
 
 srhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: srhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd4,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d4 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ srhadd z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 srhadd z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: srhadd z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd4,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d4 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 srhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: srhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd4,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d4 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sri.s b/llvm/test/MC/AArch64/SVE2/sri.s
index 74551697af885..d264bb1fafe74 100644
--- a/llvm/test/MC/AArch64/SVE2/sri.s
+++ b/llvm/test/MC/AArch64/SVE2/sri.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,47 +12,47 @@
 sri     z0.b, z0.b, #1
 // CHECK-INST: sri	z0.b, z0.b, #1
 // CHECK-ENCODING: [0x00,0xf0,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 f0 0f 45 <unknown>
 
 sri     z31.b, z31.b, #8
 // CHECK-INST: sri	z31.b, z31.b, #8
 // CHECK-ENCODING: [0xff,0xf3,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff f3 08 45 <unknown>
 
 sri     z0.h, z0.h, #1
 // CHECK-INST: sri	z0.h, z0.h, #1
 // CHECK-ENCODING: [0x00,0xf0,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 f0 1f 45 <unknown>
 
 sri     z31.h, z31.h, #16
 // CHECK-INST: sri	z31.h, z31.h, #16
 // CHECK-ENCODING: [0xff,0xf3,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff f3 10 45 <unknown>
 
 sri     z0.s, z0.s, #1
 // CHECK-INST: sri	z0.s, z0.s, #1
 // CHECK-ENCODING: [0x00,0xf0,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 f0 5f 45 <unknown>
 
 sri     z31.s, z31.s, #32
 // CHECK-INST: sri	z31.s, z31.s, #32
 // CHECK-ENCODING: [0xff,0xf3,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff f3 40 45 <unknown>
 
 sri     z0.d, z0.d, #1
 // CHECK-INST: sri	z0.d, z0.d, #1
 // CHECK-ENCODING: [0x00,0xf0,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 f0 df 45 <unknown>
 
 sri     z31.d, z31.d, #64
 // CHECK-INST: sri	z31.d, z31.d, #64
 // CHECK-ENCODING: [0xff,0xf3,0x80,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff f3 80 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/srshl.s b/llvm/test/MC/AArch64/SVE2/srshl.s
index 47f13094d0443..b9a98c79dc613 100644
--- a/llvm/test/MC/AArch64/SVE2/srshl.s
+++ b/llvm/test/MC/AArch64/SVE2/srshl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 srshl z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: srshl z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x02,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 02 44 <unknown>
 
 srshl z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: srshl z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x42,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 42 44 <unknown>
 
 srshl z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: srshl z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x82,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 82 44 <unknown>
 
 srshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: srshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c2 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ srshl z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 srshl z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: srshl z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xc2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 c2 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 srshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: srshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc2,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c2 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/srshlr.s b/llvm/test/MC/AArch64/SVE2/srshlr.s
index c0ad547087445..7c25316334e7d 100644
--- a/llvm/test/MC/AArch64/SVE2/srshlr.s
+++ b/llvm/test/MC/AArch64/SVE2/srshlr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 srshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: srshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x06,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 06 44 <unknown>
 
 srshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: srshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x46,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 46 44 <unknown>
 
 srshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: srshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x86,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 86 44 <unknown>
 
 srshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: srshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc6,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c6 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ srshlr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 srshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: srshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xc6,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 c6 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 srshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: srshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc6,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c6 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/srshr.s b/llvm/test/MC/AArch64/SVE2/srshr.s
index ba96cdacc2f61..a8b71141bcba5 100644
--- a/llvm/test/MC/AArch64/SVE2/srshr.s
+++ b/llvm/test/MC/AArch64/SVE2/srshr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 srshr    z0.b, p0/m, z0.b, #1
 // CHECK-INST: srshr	z0.b, p0/m, z0.b, #1
 // CHECK-ENCODING: [0xe0,0x81,0x0c,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 81 0c 04 <unknown>
 
 srshr    z31.b, p0/m, z31.b, #8
 // CHECK-INST: srshr	z31.b, p0/m, z31.b, #8
 // CHECK-ENCODING: [0x1f,0x81,0x0c,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 81 0c 04 <unknown>
 
 srshr    z0.h, p0/m, z0.h, #1
 // CHECK-INST: srshr	z0.h, p0/m, z0.h, #1
 // CHECK-ENCODING: [0xe0,0x83,0x0c,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 83 0c 04 <unknown>
 
 srshr    z31.h, p0/m, z31.h, #16
 // CHECK-INST: srshr	z31.h, p0/m, z31.h, #16
 // CHECK-ENCODING: [0x1f,0x82,0x0c,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 82 0c 04 <unknown>
 
 srshr    z0.s, p0/m, z0.s, #1
 // CHECK-INST: srshr	z0.s, p0/m, z0.s, #1
 // CHECK-ENCODING: [0xe0,0x83,0x4c,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 83 4c 04 <unknown>
 
 srshr    z31.s, p0/m, z31.s, #32
 // CHECK-INST: srshr	z31.s, p0/m, z31.s, #32
 // CHECK-ENCODING: [0x1f,0x80,0x4c,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 80 4c 04 <unknown>
 
 srshr    z0.d, p0/m, z0.d, #1
 // CHECK-INST: srshr	z0.d, p0/m, z0.d, #1
 // CHECK-ENCODING: [0xe0,0x83,0xcc,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 83 cc 04 <unknown>
 
 srshr    z31.d, p0/m, z31.d, #64
 // CHECK-INST: srshr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x8c,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 80 8c 04 <unknown>
 
 
@@ -62,23 +64,23 @@ srshr    z31.d, p0/m, z31.d, #64
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx	z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 srshr    z31.d, p0/m, z31.d, #64
 // CHECK-INST: srshr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x8c,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 80 8c 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 srshr    z31.d, p0/m, z31.d, #64
 // CHECK-INST: srshr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x8c,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 80 8c 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/srsra.s b/llvm/test/MC/AArch64/SVE2/srsra.s
index 920f7b856ae6b..3deecc3805d70 100644
--- a/llvm/test/MC/AArch64/SVE2/srsra.s
+++ b/llvm/test/MC/AArch64/SVE2/srsra.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 srsra     z0.b, z0.b, #1
 // CHECK-INST: srsra	z0.b, z0.b, #1
 // CHECK-ENCODING: [0x00,0xe8,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e8 0f 45 <unknown>
 
 srsra     z31.b, z31.b, #8
 // CHECK-INST: srsra	z31.b, z31.b, #8
 // CHECK-ENCODING: [0xff,0xeb,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff eb 08 45 <unknown>
 
 srsra     z0.h, z0.h, #1
 // CHECK-INST: srsra	z0.h, z0.h, #1
 // CHECK-ENCODING: [0x00,0xe8,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e8 1f 45 <unknown>
 
 srsra     z31.h, z31.h, #16
 // CHECK-INST: srsra	z31.h, z31.h, #16
 // CHECK-ENCODING: [0xff,0xeb,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff eb 10 45 <unknown>
 
 srsra     z0.s, z0.s, #1
 // CHECK-INST: srsra	z0.s, z0.s, #1
 // CHECK-ENCODING: [0x00,0xe8,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e8 5f 45 <unknown>
 
 srsra     z31.s, z31.s, #32
 // CHECK-INST: srsra	z31.s, z31.s, #32
 // CHECK-ENCODING: [0xff,0xeb,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff eb 40 45 <unknown>
 
 srsra     z0.d, z0.d, #1
 // CHECK-INST: srsra	z0.d, z0.d, #1
 // CHECK-ENCODING: [0x00,0xe8,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e8 df 45 <unknown>
 
 srsra     z31.d, z31.d, #64
 // CHECK-INST: srsra	z31.d, z31.d, #64
 // CHECK-ENCODING: [0xff,0xeb,0x80,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff eb 80 45 <unknown>
 
 
@@ -62,11 +64,11 @@ srsra     z31.d, z31.d, #64
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 srsra     z0.d, z1.d, #1
 // CHECK-INST: srsra	z0.d, z1.d, #1
 // CHECK-ENCODING: [0x20,0xe8,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 e8 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sshllb.s b/llvm/test/MC/AArch64/SVE2/sshllb.s
index 8c6b54c98fa92..11d40ed616670 100644
--- a/llvm/test/MC/AArch64/SVE2/sshllb.s
+++ b/llvm/test/MC/AArch64/SVE2/sshllb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sshllb     z0.h, z0.b, #0
 // CHECK-INST: sshllb	z0.h, z0.b, #0
 // CHECK-ENCODING: [0x00,0xa0,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a0 08 45 <unknown>
 
 sshllb     z31.h, z31.b, #7
 // CHECK-INST: sshllb	z31.h, z31.b, #7
 // CHECK-ENCODING: [0xff,0xa3,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff a3 0f 45 <unknown>
 
 sshllb     z0.s, z0.h, #0
 // CHECK-INST: sshllb	z0.s, z0.h, #0
 // CHECK-ENCODING: [0x00,0xa0,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a0 10 45 <unknown>
 
 sshllb     z31.s, z31.h, #15
 // CHECK-INST: sshllb	z31.s, z31.h, #15
 // CHECK-ENCODING: [0xff,0xa3,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff a3 1f 45 <unknown>
 
 sshllb     z0.d, z0.s, #0
 // CHECK-INST: sshllb	z0.d, z0.s, #0
 // CHECK-ENCODING: [0x00,0xa0,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a0 40 45 <unknown>
 
 sshllb     z31.d, z31.s, #31
 // CHECK-INST: sshllb	z31.d, z31.s, #31
 // CHECK-ENCODING: [0xff,0xa3,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff a3 5f 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/sshllt.s b/llvm/test/MC/AArch64/SVE2/sshllt.s
index 614d86b6dcb9d..600d27c543720 100644
--- a/llvm/test/MC/AArch64/SVE2/sshllt.s
+++ b/llvm/test/MC/AArch64/SVE2/sshllt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 sshllt     z0.h, z0.b, #0
 // CHECK-INST: sshllt	z0.h, z0.b, #0
 // CHECK-ENCODING: [0x00,0xa4,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a4 08 45 <unknown>
 
 sshllt     z31.h, z31.b, #7
 // CHECK-INST: sshllt	z31.h, z31.b, #7
 // CHECK-ENCODING: [0xff,0xa7,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff a7 0f 45 <unknown>
 
 sshllt     z0.s, z0.h, #0
 // CHECK-INST: sshllt	z0.s, z0.h, #0
 // CHECK-ENCODING: [0x00,0xa4,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a4 10 45 <unknown>
 
 sshllt     z31.s, z31.h, #15
 // CHECK-INST: sshllt	z31.s, z31.h, #15
 // CHECK-ENCODING: [0xff,0xa7,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff a7 1f 45 <unknown>
 
 sshllt     z0.d, z0.s, #0
 // CHECK-INST: sshllt	z0.d, z0.s, #0
 // CHECK-ENCODING: [0x00,0xa4,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a4 40 45 <unknown>
 
 sshllt     z31.d, z31.s, #31
 // CHECK-INST: sshllt	z31.d, z31.s, #31
 // CHECK-ENCODING: [0xff,0xa7,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff a7 5f 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ssra.s b/llvm/test/MC/AArch64/SVE2/ssra.s
index 2d23095b1c936..b894595238d01 100644
--- a/llvm/test/MC/AArch64/SVE2/ssra.s
+++ b/llvm/test/MC/AArch64/SVE2/ssra.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 ssra     z0.b, z0.b, #1
 // CHECK-INST: ssra	z0.b, z0.b, #1
 // CHECK-ENCODING: [0x00,0xe0,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e0 0f 45 <unknown>
 
 ssra     z31.b, z31.b, #8
 // CHECK-INST: ssra	z31.b, z31.b, #8
 // CHECK-ENCODING: [0xff,0xe3,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff e3 08 45 <unknown>
 
 ssra     z0.h, z0.h, #1
 // CHECK-INST: ssra	z0.h, z0.h, #1
 // CHECK-ENCODING: [0x00,0xe0,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e0 1f 45 <unknown>
 
 ssra     z31.h, z31.h, #16
 // CHECK-INST: ssra	z31.h, z31.h, #16
 // CHECK-ENCODING: [0xff,0xe3,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff e3 10 45 <unknown>
 
 ssra     z0.s, z0.s, #1
 // CHECK-INST: ssra	z0.s, z0.s, #1
 // CHECK-ENCODING: [0x00,0xe0,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e0 5f 45 <unknown>
 
 ssra     z31.s, z31.s, #32
 // CHECK-INST: ssra	z31.s, z31.s, #32
 // CHECK-ENCODING: [0xff,0xe3,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff e3 40 45 <unknown>
 
 ssra     z0.d, z0.d, #1
 // CHECK-INST: ssra	z0.d, z0.d, #1
 // CHECK-ENCODING: [0x00,0xe0,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e0 df 45 <unknown>
 
 ssra     z31.d, z31.d, #64
 // CHECK-INST: ssra	z31.d, z31.d, #64
 // CHECK-ENCODING: [0xff,0xe3,0x80,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff e3 80 45 <unknown>
 
 
@@ -62,11 +64,11 @@ ssra     z31.d, z31.d, #64
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 ssra     z0.d, z1.d, #1
 // CHECK-INST: ssra	z0.d, z1.d, #1
 // CHECK-ENCODING: [0x20,0xe0,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 e0 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ssublb.s b/llvm/test/MC/AArch64/SVE2/ssublb.s
index 6455413c7afd3..d1ce3743ee567 100644
--- a/llvm/test/MC/AArch64/SVE2/ssublb.s
+++ b/llvm/test/MC/AArch64/SVE2/ssublb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 ssublb z0.h, z1.b, z2.b
 // CHECK-INST: ssublb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x10,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 10 42 45 <unknown>
 
 ssublb z29.s, z30.h, z31.h
 // CHECK-INST: ssublb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x13,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 13 9f 45 <unknown>
 
 ssublb z31.d, z31.s, z31.s
 // CHECK-INST: ssublb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x13,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 13 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ssublbt.s b/llvm/test/MC/AArch64/SVE2/ssublbt.s
index 155d4a0952d65..214a201f9bf4f 100644
--- a/llvm/test/MC/AArch64/SVE2/ssublbt.s
+++ b/llvm/test/MC/AArch64/SVE2/ssublbt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 ssublbt z0.h, z1.b, z31.b
 // CHECK-INST: ssublbt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x88,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 88 5f 45 <unknown>
 
 ssublbt z0.s, z1.h, z31.h
 // CHECK-INST: ssublbt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x88,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 88 9f 45 <unknown>
 
 ssublbt z0.d, z1.s, z31.s
 // CHECK-INST: ssublbt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x88,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 88 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ssublt.s b/llvm/test/MC/AArch64/SVE2/ssublt.s
index 97dfc5804a1ef..52e532ff802ae 100644
--- a/llvm/test/MC/AArch64/SVE2/ssublt.s
+++ b/llvm/test/MC/AArch64/SVE2/ssublt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 ssublt z0.h, z1.b, z2.b
 // CHECK-INST: ssublt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x14,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 14 42 45 <unknown>
 
 ssublt z29.s, z30.h, z31.h
 // CHECK-INST: ssublt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x17,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 17 9f 45 <unknown>
 
 ssublt z31.d, z31.s, z31.s
 // CHECK-INST: ssublt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x17,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 17 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ssubltb.s b/llvm/test/MC/AArch64/SVE2/ssubltb.s
index 10428d5531d2a..47d6a701fc559 100644
--- a/llvm/test/MC/AArch64/SVE2/ssubltb.s
+++ b/llvm/test/MC/AArch64/SVE2/ssubltb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 ssubltb z0.h, z1.b, z31.b
 // CHECK-INST: ssubltb	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x8c,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 8c 5f 45 <unknown>
 
 ssubltb z0.s, z1.h, z31.h
 // CHECK-INST: ssubltb	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x8c,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 8c 9f 45 <unknown>
 
 ssubltb z0.d, z1.s, z31.s
 // CHECK-INST: ssubltb	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x8c,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 8c df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ssubwb.s b/llvm/test/MC/AArch64/SVE2/ssubwb.s
index a99c15862b5f8..e8dce2aaaff32 100644
--- a/llvm/test/MC/AArch64/SVE2/ssubwb.s
+++ b/llvm/test/MC/AArch64/SVE2/ssubwb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 ssubwb z0.h, z1.h, z2.b
 // CHECK-INST: ssubwb z0.h, z1.h, z2.b
 // CHECK-ENCODING: [0x20,0x50,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 50 42 45 <unknown>
 
 ssubwb z29.s, z30.s, z31.h
 // CHECK-INST: ssubwb z29.s, z30.s, z31.h
 // CHECK-ENCODING: [0xdd,0x53,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 53 9f 45 <unknown>
 
 ssubwb z31.d, z31.d, z31.s
 // CHECK-INST: ssubwb z31.d, z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x53,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 53 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ssubwt.s b/llvm/test/MC/AArch64/SVE2/ssubwt.s
index e5693e1eddaa3..08ea2d3fdc288 100644
--- a/llvm/test/MC/AArch64/SVE2/ssubwt.s
+++ b/llvm/test/MC/AArch64/SVE2/ssubwt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 ssubwt z0.h, z1.h, z2.b
 // CHECK-INST: ssubwt z0.h, z1.h, z2.b
 // CHECK-ENCODING: [0x20,0x54,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 54 42 45 <unknown>
 
 ssubwt z29.s, z30.s, z31.h
 // CHECK-INST: ssubwt z29.s, z30.s, z31.h
 // CHECK-ENCODING: [0xdd,0x57,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 57 9f 45 <unknown>
 
 ssubwt z31.d, z31.d, z31.s
 // CHECK-INST: ssubwt z31.d, z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x57,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 57 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/stnt1b.s b/llvm/test/MC/AArch64/SVE2/stnt1b.s
index 1c3f2f8109fa2..cdbd2d489d950 100644
--- a/llvm/test/MC/AArch64/SVE2/stnt1b.s
+++ b/llvm/test/MC/AArch64/SVE2/stnt1b.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/stnt1d.s b/llvm/test/MC/AArch64/SVE2/stnt1d.s
index 3f8d5ac7000b7..346f4a9e22b49 100644
--- a/llvm/test/MC/AArch64/SVE2/stnt1d.s
+++ b/llvm/test/MC/AArch64/SVE2/stnt1d.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/stnt1h.s b/llvm/test/MC/AArch64/SVE2/stnt1h.s
index fe5c58b8fa9fc..63b1c3e90ff98 100644
--- a/llvm/test/MC/AArch64/SVE2/stnt1h.s
+++ b/llvm/test/MC/AArch64/SVE2/stnt1h.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/stnt1w.s b/llvm/test/MC/AArch64/SVE2/stnt1w.s
index 86675f2161d97..6aa7a0b39174a 100644
--- a/llvm/test/MC/AArch64/SVE2/stnt1w.s
+++ b/llvm/test/MC/AArch64/SVE2/stnt1w.s
@@ -2,6 +2,8 @@
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s 2>&1 \
+// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
 // RUN:        | llvm-objdump -d --mattr=+sve2 - | FileCheck %s --check-prefix=CHECK-INST
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \

diff  --git a/llvm/test/MC/AArch64/SVE2/subhnb.s b/llvm/test/MC/AArch64/SVE2/subhnb.s
index 3dda8308bb9b2..d58e944123992 100644
--- a/llvm/test/MC/AArch64/SVE2/subhnb.s
+++ b/llvm/test/MC/AArch64/SVE2/subhnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 subhnb z0.b, z1.h, z31.h
 // CHECK-INST: subhnb	z0.b, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x70,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 7f 45 <unknown>
 
 subhnb z0.h, z1.s, z31.s
 // CHECK-INST: subhnb	z0.h, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x70,0xbf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 bf 45 <unknown>
 
 subhnb z0.s, z1.d, z31.d
 // CHECK-INST: subhnb	z0.s, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x70,0xff,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 70 ff 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/subhnt.s b/llvm/test/MC/AArch64/SVE2/subhnt.s
index 271be5278eed6..01c46e7d2705a 100644
--- a/llvm/test/MC/AArch64/SVE2/subhnt.s
+++ b/llvm/test/MC/AArch64/SVE2/subhnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 subhnt z0.b, z1.h, z31.h
 // CHECK-INST: subhnt	z0.b, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x74,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 7f 45 <unknown>
 
 subhnt z0.h, z1.s, z31.s
 // CHECK-INST: subhnt	z0.h, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x74,0xbf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 bf 45 <unknown>
 
 subhnt z0.s, z1.d, z31.d
 // CHECK-INST: subhnt	z0.s, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0x74,0xff,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 74 ff 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/suqadd.s b/llvm/test/MC/AArch64/SVE2/suqadd.s
index eabbe25d749a9..d69c3dfd2df08 100644
--- a/llvm/test/MC/AArch64/SVE2/suqadd.s
+++ b/llvm/test/MC/AArch64/SVE2/suqadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 suqadd z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: suqadd z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x1c,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 1c 44 <unknown>
 
 suqadd z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: suqadd z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x5c,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 5c 44 <unknown>
 
 suqadd z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: suqadd z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x9c,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 9c 44 <unknown>
 
 suqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: suqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xdc,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f dc 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ suqadd z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 suqadd z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: suqadd z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xdc,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 dc 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 suqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: suqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xdc,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f dc 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/tbl.s b/llvm/test/MC/AArch64/SVE2/tbl.s
index e8a77196fd5f5..c2bb20ac21a27 100644
--- a/llvm/test/MC/AArch64/SVE2/tbl.s
+++ b/llvm/test/MC/AArch64/SVE2/tbl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,23 +12,23 @@
 tbl  z28.b, { z29.b, z30.b }, z31.b
 // CHECK-INST: tbl  z28.b, { z29.b, z30.b }, z31.b
 // CHECK-ENCODING: [0xbc,0x2b,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bc 2b 3f 05 <unknown>
 
 tbl  z28.h, { z29.h, z30.h }, z31.h
 // CHECK-INST: tbl  z28.h, { z29.h, z30.h }, z31.h
 // CHECK-ENCODING: [0xbc,0x2b,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bc 2b 7f 05 <unknown>
 
 tbl  z28.s, { z29.s, z30.s }, z31.s
 // CHECK-INST: tbl  z28.s, { z29.s, z30.s }, z31.s
 // CHECK-ENCODING: [0xbc,0x2b,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bc 2b bf 05 <unknown>
 
 tbl  z28.d, { z29.d, z30.d }, z31.d
 // CHECK-INST: tbl  z28.d, { z29.d, z30.d }, z31.d
 // CHECK-ENCODING: [0xbc,0x2b,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: bc 2b ff 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/tbx.s b/llvm/test/MC/AArch64/SVE2/tbx.s
index 200f5c9a13db4..e2a6c827a7471 100644
--- a/llvm/test/MC/AArch64/SVE2/tbx.s
+++ b/llvm/test/MC/AArch64/SVE2/tbx.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,23 +12,23 @@
 tbx  z31.b, z31.b, z31.b
 // CHECK-INST: tbx	z31.b, z31.b, z31.b
 // CHECK-ENCODING: [0xff,0x2f,0x3f,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2f 3f 05 <unknown>
 
 tbx  z31.h, z31.h, z31.h
 // CHECK-INST: tbx	z31.h, z31.h, z31.h
 // CHECK-ENCODING: [0xff,0x2f,0x7f,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2f 7f 05 <unknown>
 
 tbx  z31.s, z31.s, z31.s
 // CHECK-INST: tbx	z31.s, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x2f,0xbf,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2f bf 05 <unknown>
 
 tbx  z31.d, z31.d, z31.d
 // CHECK-INST: tbx	z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x2f,0xff,0x05]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 2f ff 05 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uaba.s b/llvm/test/MC/AArch64/SVE2/uaba.s
index 76226ca90a8d1..e18a598872d9f 100644
--- a/llvm/test/MC/AArch64/SVE2/uaba.s
+++ b/llvm/test/MC/AArch64/SVE2/uaba.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uaba z0.b, z1.b, z31.b
 // CHECK-INST: uaba z0.b, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0xfc,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 fc 1f 45 <unknown>
 
 uaba z0.h, z1.h, z31.h
 // CHECK-INST: uaba z0.h, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0xfc,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 fc 5f 45 <unknown>
 
 uaba z0.s, z1.s, z31.s
 // CHECK-INST: uaba z0.s, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xfc,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 fc 9f 45 <unknown>
 
 uaba z0.d, z1.d, z31.d
 // CHECK-INST: uaba z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xfc,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 fc df 45 <unknown>
 
 
@@ -38,11 +40,11 @@ uaba z0.d, z1.d, z31.d
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 uaba z0.d, z1.d, z31.d
 // CHECK-INST: uaba z0.d, z1.d, z31.d
 // CHECK-ENCODING: [0x20,0xfc,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 fc df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uabalb.s b/llvm/test/MC/AArch64/SVE2/uabalb.s
index 790ff380f6f27..1e2e5111f9102 100644
--- a/llvm/test/MC/AArch64/SVE2/uabalb.s
+++ b/llvm/test/MC/AArch64/SVE2/uabalb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 uabalb z0.h, z1.b, z31.b
 // CHECK-INST: uabalb	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0xc8,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c8 5f 45 <unknown>
 
 uabalb z0.s, z1.h, z31.h
 // CHECK-INST: uabalb	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0xc8,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c8 9f 45 <unknown>
 
 uabalb z0.d, z1.s, z31.s
 // CHECK-INST: uabalb	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xc8,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 c8 df 45 <unknown>
 
 
@@ -33,11 +35,11 @@ uabalb z0.d, z1.s, z31.s
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 uabalb z21.d, z1.s, z31.s
 // CHECK-INST: uabalb	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0xc8,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 c8 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uabalt.s b/llvm/test/MC/AArch64/SVE2/uabalt.s
index 1a6fb8a7fb3cf..6ed5465237770 100644
--- a/llvm/test/MC/AArch64/SVE2/uabalt.s
+++ b/llvm/test/MC/AArch64/SVE2/uabalt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,19 +13,19 @@
 uabalt z0.h, z1.b, z31.b
 // CHECK-INST: uabalt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0xcc,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 cc 5f 45 <unknown>
 
 uabalt z0.s, z1.h, z31.h
 // CHECK-INST: uabalt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0xcc,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 cc 9f 45 <unknown>
 
 uabalt z0.d, z1.s, z31.s
 // CHECK-INST: uabalt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0xcc,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 cc df 45 <unknown>
 
 
@@ -33,11 +35,11 @@ uabalt z0.d, z1.s, z31.s
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 uabalt z21.d, z1.s, z31.s
 // CHECK-INST: uabalt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0xcc,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 cc df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uabdlb.s b/llvm/test/MC/AArch64/SVE2/uabdlb.s
index a7a2bace3a9c1..17205ec560d4d 100644
--- a/llvm/test/MC/AArch64/SVE2/uabdlb.s
+++ b/llvm/test/MC/AArch64/SVE2/uabdlb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 uabdlb z0.h, z1.b, z2.b
 // CHECK-INST: uabdlb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x38,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 38 42 45 <unknown>
 
 uabdlb z29.s, z30.h, z31.h
 // CHECK-INST: uabdlb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x3b,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 3b 9f 45 <unknown>
 
 uabdlb z31.d, z31.s, z31.s
 // CHECK-INST: uabdlb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x3b,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3b df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uabdlt.s b/llvm/test/MC/AArch64/SVE2/uabdlt.s
index b867b694bf101..9a2ddddcd0230 100644
--- a/llvm/test/MC/AArch64/SVE2/uabdlt.s
+++ b/llvm/test/MC/AArch64/SVE2/uabdlt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 uabdlt z0.h, z1.b, z2.b
 // CHECK-INST: uabdlt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x3c,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 3c 42 45 <unknown>
 
 uabdlt z29.s, z30.h, z31.h
 // CHECK-INST: uabdlt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x3f,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 3f 9f 45 <unknown>
 
 uabdlt z31.d, z31.s, z31.s
 // CHECK-INST: uabdlt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x3f,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3f df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uadalp.s b/llvm/test/MC/AArch64/SVE2/uadalp.s
index 0bf6fe23019de..8887f132db16a 100644
--- a/llvm/test/MC/AArch64/SVE2/uadalp.s
+++ b/llvm/test/MC/AArch64/SVE2/uadalp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,19 +12,19 @@
 uadalp z0.h, p0/m, z1.b
 // CHECK-INST: uadalp z0.h, p0/m, z1.b
 // CHECK-ENCODING: [0x20,0xa0,0x45,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 45 44 <unknown>
 
 uadalp z29.s, p0/m, z30.h
 // CHECK-INST: uadalp z29.s, p0/m, z30.h
 // CHECK-ENCODING: [0xdd,0xa3,0x85,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd a3 85 44 <unknown>
 
 uadalp z30.d, p7/m, z31.s
 // CHECK-INST: uadalp z30.d, p7/m, z31.s
 // CHECK-ENCODING: [0xfe,0xbf,0xc5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: fe bf c5 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -31,23 +33,23 @@ uadalp z30.d, p7/m, z31.s
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uadalp z31.d, p0/m, z30.s
 // CHECK-INST: uadalp z31.d, p0/m, z30.s
 // CHECK-ENCODING: [0xdf,0xa3,0xc5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df a3 c5 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uadalp z31.d, p0/m, z30.s
 // CHECK-INST: uadalp z31.d, p0/m, z30.s
 // CHECK-ENCODING: [0xdf,0xa3,0xc5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df a3 c5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uaddlb.s b/llvm/test/MC/AArch64/SVE2/uaddlb.s
index d8e2b2bc5e3f9..aba06d215b55d 100644
--- a/llvm/test/MC/AArch64/SVE2/uaddlb.s
+++ b/llvm/test/MC/AArch64/SVE2/uaddlb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 uaddlb z0.h, z1.b, z2.b
 // CHECK-INST: uaddlb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x08,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 08 42 45 <unknown>
 
 uaddlb z29.s, z30.h, z31.h
 // CHECK-INST: uaddlb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x0b,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 0b 9f 45 <unknown>
 
 uaddlb z31.d, z31.s, z31.s
 // CHECK-INST: uaddlb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x0b,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 0b df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uaddlt.s b/llvm/test/MC/AArch64/SVE2/uaddlt.s
index fe41b0e59db94..458c33d1564c2 100644
--- a/llvm/test/MC/AArch64/SVE2/uaddlt.s
+++ b/llvm/test/MC/AArch64/SVE2/uaddlt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 uaddlt z0.h, z1.b, z2.b
 // CHECK-INST: uaddlt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x0c,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 0c 42 45 <unknown>
 
 uaddlt z29.s, z30.h, z31.h
 // CHECK-INST: uaddlt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x0f,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 0f 9f 45 <unknown>
 
 uaddlt z31.d, z31.s, z31.s
 // CHECK-INST: uaddlt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x0f,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 0f df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uaddwb.s b/llvm/test/MC/AArch64/SVE2/uaddwb.s
index 52f2ead72f9c1..84a8b876245e1 100644
--- a/llvm/test/MC/AArch64/SVE2/uaddwb.s
+++ b/llvm/test/MC/AArch64/SVE2/uaddwb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 uaddwb z0.h, z1.h, z2.b
 // CHECK-INST: uaddwb z0.h, z1.h, z2.b
 // CHECK-ENCODING: [0x20,0x48,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 48 42 45 <unknown>
 
 uaddwb z29.s, z30.s, z31.h
 // CHECK-INST: uaddwb z29.s, z30.s, z31.h
 // CHECK-ENCODING: [0xdd,0x4b,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 4b 9f 45 <unknown>
 
 uaddwb z31.d, z31.d, z31.s
 // CHECK-INST: uaddwb z31.d, z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x4b,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 4b df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uaddwt.s b/llvm/test/MC/AArch64/SVE2/uaddwt.s
index 956d84da9c1e0..83421f2e3fea7 100644
--- a/llvm/test/MC/AArch64/SVE2/uaddwt.s
+++ b/llvm/test/MC/AArch64/SVE2/uaddwt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 uaddwt z0.h, z1.h, z2.b
 // CHECK-INST: uaddwt z0.h, z1.h, z2.b
 // CHECK-ENCODING: [0x20,0x4c,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 4c 42 45 <unknown>
 
 uaddwt z29.s, z30.s, z31.h
 // CHECK-INST: uaddwt z29.s, z30.s, z31.h
 // CHECK-ENCODING: [0xdd,0x4f,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 4f 9f 45 <unknown>
 
 uaddwt z31.d, z31.d, z31.s
 // CHECK-INST: uaddwt z31.d, z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x4f,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 4f df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uhadd.s b/llvm/test/MC/AArch64/SVE2/uhadd.s
index f2e60f4a02545..3642a704b247f 100644
--- a/llvm/test/MC/AArch64/SVE2/uhadd.s
+++ b/llvm/test/MC/AArch64/SVE2/uhadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uhadd z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uhadd z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x11,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 11 44 <unknown>
 
 uhadd z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uhadd z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x51,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 51 44 <unknown>
 
 uhadd z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uhadd z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x91,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 91 44 <unknown>
 
 uhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd1,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d1 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uhadd z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uhadd z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uhadd z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd1,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d1 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd1,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d1 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uhsub.s b/llvm/test/MC/AArch64/SVE2/uhsub.s
index 8fd485b963cc7..c26ba6a31b6ec 100644
--- a/llvm/test/MC/AArch64/SVE2/uhsub.s
+++ b/llvm/test/MC/AArch64/SVE2/uhsub.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uhsub z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uhsub z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x13,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 13 44 <unknown>
 
 uhsub z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uhsub z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x53,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 53 44 <unknown>
 
 uhsub z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uhsub z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x93,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 93 44 <unknown>
 
 uhsub z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uhsub z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd3,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d3 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uhsub z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uhsub z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uhsub z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd3,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d3 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uhsub z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uhsub z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd3,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d3 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uhsubr.s b/llvm/test/MC/AArch64/SVE2/uhsubr.s
index e221eea98f166..227e8bed66aa6 100644
--- a/llvm/test/MC/AArch64/SVE2/uhsubr.s
+++ b/llvm/test/MC/AArch64/SVE2/uhsubr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uhsubr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uhsubr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x17,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 17 44 <unknown>
 
 uhsubr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uhsubr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x57,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 57 44 <unknown>
 
 uhsubr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uhsubr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x97,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 97 44 <unknown>
 
 uhsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uhsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d7 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uhsubr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uhsubr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uhsubr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d7 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uhsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uhsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d7 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/umaxp.s b/llvm/test/MC/AArch64/SVE2/umaxp.s
index 19dd68af7203e..d88801f87fd80 100644
--- a/llvm/test/MC/AArch64/SVE2/umaxp.s
+++ b/llvm/test/MC/AArch64/SVE2/umaxp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 umaxp z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: umaxp z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0xa0,0x15,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 15 44 <unknown>
 
 umaxp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: umaxp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0xa0,0x55,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 55 44 <unknown>
 
 umaxp z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: umaxp z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0xbf,0x95,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd bf 95 44 <unknown>
 
 umaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: umaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d5 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ umaxp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 umaxp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: umaxp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xa3,0xd5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df a3 d5 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 umaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: umaxp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uminp.s b/llvm/test/MC/AArch64/SVE2/uminp.s
index 06a9126e0a175..056338cef3ccb 100644
--- a/llvm/test/MC/AArch64/SVE2/uminp.s
+++ b/llvm/test/MC/AArch64/SVE2/uminp.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uminp z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uminp z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0xa0,0x17,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 17 44 <unknown>
 
 uminp z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uminp z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0xa0,0x57,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 a0 57 44 <unknown>
 
 uminp z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uminp z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0xbf,0x97,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd bf 97 44 <unknown>
 
 uminp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uminp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d7 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uminp z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uminp z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uminp z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xa3,0xd7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df a3 d7 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uminp z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uminp z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0xbf,0xd7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df bf d7 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/umlalb.s b/llvm/test/MC/AArch64/SVE2/umlalb.s
index c4b7bd38ca210..a302be198d2b3 100644
--- a/llvm/test/MC/AArch64/SVE2/umlalb.s
+++ b/llvm/test/MC/AArch64/SVE2/umlalb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 umlalb z0.h, z1.b, z31.b
 // CHECK-INST: umlalb	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x48,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 48 5f 44 <unknown>
 
 umlalb z0.s, z1.h, z31.h
 // CHECK-INST: umlalb	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x48,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 48 9f 44 <unknown>
 
 umlalb z0.d, z1.s, z31.s
 // CHECK-INST: umlalb	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x48,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 48 df 44 <unknown>
 
 umlalb z0.s, z1.h, z7.h[7]
 // CHECK-INST: umlalb	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x98,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 98 bf 44 <unknown>
 
 umlalb z0.d, z1.s, z15.s[1]
 // CHECK-INST: umlalb	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0x98,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 98 ef 44 <unknown>
 
 
@@ -45,23 +47,23 @@ umlalb z0.d, z1.s, z15.s[1]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 umlalb z21.d, z1.s, z31.s
 // CHECK-INST: umlalb	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x48,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 48 df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 umlalb   z21.d, z10.s, z5.s[1]
 // CHECK-INST: umlalb   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0x99,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 99 e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/umlalt.s b/llvm/test/MC/AArch64/SVE2/umlalt.s
index d3083adad92a0..3aa8183fc975e 100644
--- a/llvm/test/MC/AArch64/SVE2/umlalt.s
+++ b/llvm/test/MC/AArch64/SVE2/umlalt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 umlalt z0.h, z1.b, z31.b
 // CHECK-INST: umlalt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x4c,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 4c 5f 44 <unknown>
 
 umlalt z0.s, z1.h, z31.h
 // CHECK-INST: umlalt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x4c,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 4c 9f 44 <unknown>
 
 umlalt z0.d, z1.s, z31.s
 // CHECK-INST: umlalt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x4c,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 4c df 44 <unknown>
 
 umlalt z0.s, z1.h, z7.h[7]
 // CHECK-INST: umlalt	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0x9c,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 9c bf 44 <unknown>
 
 umlalt z0.d, z1.s, z15.s[1]
 // CHECK-INST: umlalt	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0x9c,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 9c ef 44 <unknown>
 
 
@@ -45,23 +47,23 @@ umlalt z0.d, z1.s, z15.s[1]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 umlalt z21.d, z1.s, z31.s
 // CHECK-INST: umlalt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x4c,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 4c df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 umlalt   z21.d, z10.s, z5.s[1]
 // CHECK-INST: umlalt   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0x9d,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 9d e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/umlslb.s b/llvm/test/MC/AArch64/SVE2/umlslb.s
index 4347f7bb9e242..05b03ed461f2d 100644
--- a/llvm/test/MC/AArch64/SVE2/umlslb.s
+++ b/llvm/test/MC/AArch64/SVE2/umlslb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 umlslb z0.h, z1.b, z31.b
 // CHECK-INST: umlslb	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x58,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 58 5f 44 <unknown>
 
 umlslb z0.s, z1.h, z31.h
 // CHECK-INST: umlslb	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x58,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 58 9f 44 <unknown>
 
 umlslb z0.d, z1.s, z31.s
 // CHECK-INST: umlslb	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x58,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 58 df 44 <unknown>
 
 umlslb z0.s, z1.h, z7.h[7]
 // CHECK-INST: umlslb	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xb8,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 b8 bf 44 <unknown>
 
 umlslb z0.d, z1.s, z15.s[1]
 // CHECK-INST: umlslb	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xb8,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 b8 ef 44 <unknown>
 
 
@@ -45,23 +47,23 @@ umlslb z0.d, z1.s, z15.s[1]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 umlslb z21.d, z1.s, z31.s
 // CHECK-INST: umlslb	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x58,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 58 df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 umlslb   z21.d, z10.s, z5.s[1]
 // CHECK-INST: umlslb   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0xb9,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 b9 e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/umlslt.s b/llvm/test/MC/AArch64/SVE2/umlslt.s
index df80e46be5b16..f0e50a0691c28 100644
--- a/llvm/test/MC/AArch64/SVE2/umlslt.s
+++ b/llvm/test/MC/AArch64/SVE2/umlslt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,31 +13,31 @@
 umlslt z0.h, z1.b, z31.b
 // CHECK-INST: umlslt	z0.h, z1.b, z31.b
 // CHECK-ENCODING: [0x20,0x5c,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 5c 5f 44 <unknown>
 
 umlslt z0.s, z1.h, z31.h
 // CHECK-INST: umlslt	z0.s, z1.h, z31.h
 // CHECK-ENCODING: [0x20,0x5c,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 5c 9f 44 <unknown>
 
 umlslt z0.d, z1.s, z31.s
 // CHECK-INST: umlslt	z0.d, z1.s, z31.s
 // CHECK-ENCODING: [0x20,0x5c,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 5c df 44 <unknown>
 
 umlslt z0.s, z1.h, z7.h[7]
 // CHECK-INST: umlslt	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xbc,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 bc bf 44 <unknown>
 
 umlslt z0.d, z1.s, z15.s[1]
 // CHECK-INST: umlslt	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xbc,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 bc ef 44 <unknown>
 
 
@@ -45,23 +47,23 @@ umlslt z0.d, z1.s, z15.s[1]
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 umlslt z21.d, z1.s, z31.s
 // CHECK-INST: umlslt	z21.d, z1.s, z31.s
 // CHECK-ENCODING: [0x35,0x5c,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 35 5c df 44 <unknown>
 
 movprfx z21, z28
 // CHECK-INST: movprfx	z21, z28
 // CHECK-ENCODING: [0x95,0xbf,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: 95 bf 20 04 <unknown>
 
 umlslt   z21.d, z10.s, z5.s[1]
 // CHECK-INST: umlslt   z21.d, z10.s, z5.s[1]
 // CHECK-ENCODING: [0x55,0xbd,0xe5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 55 bd e5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/umulh.s b/llvm/test/MC/AArch64/SVE2/umulh.s
index 293e65ce5ecf0..58dde1dff0f0c 100644
--- a/llvm/test/MC/AArch64/SVE2/umulh.s
+++ b/llvm/test/MC/AArch64/SVE2/umulh.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,23 +12,23 @@
 umulh z0.b, z1.b, z2.b
 // CHECK-INST: umulh z0.b, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x6c,0x22,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 6c 22 04 <unknown>
 
 umulh z0.h, z1.h, z2.h
 // CHECK-INST: umulh z0.h, z1.h, z2.h
 // CHECK-ENCODING: [0x20,0x6c,0x62,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 6c 62 04 <unknown>
 
 umulh z29.s, z30.s, z31.s
 // CHECK-INST: umulh z29.s, z30.s, z31.s
 // CHECK-ENCODING: [0xdd,0x6f,0xbf,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 6f bf 04 <unknown>
 
 umulh z31.d, z31.d, z31.d
 // CHECK-INST: umulh z31.d, z31.d, z31.d
 // CHECK-ENCODING: [0xff,0x6f,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 6f ff 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/umullb.s b/llvm/test/MC/AArch64/SVE2/umullb.s
index 45b16db630ef5..d8a98e2c1bfbb 100644
--- a/llvm/test/MC/AArch64/SVE2/umullb.s
+++ b/llvm/test/MC/AArch64/SVE2/umullb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,29 +13,29 @@
 umullb z0.h, z1.b, z2.b
 // CHECK-INST: umullb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x78,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 78 42 45 <unknown>
 
 umullb z29.s, z30.h, z31.h
 // CHECK-INST: umullb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x7b,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 7b 9f 45 <unknown>
 
 umullb z31.d, z31.s, z31.s
 // CHECK-INST: umullb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x7b,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 7b df 45 <unknown>
 
 umullb z0.s, z1.h, z7.h[7]
 // CHECK-INST: umullb	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xd8,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d8 bf 44 <unknown>
 
 umullb z0.d, z1.s, z15.s[1]
 // CHECK-INST: umullb	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xd8,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 d8 ef 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/umullt.s b/llvm/test/MC/AArch64/SVE2/umullt.s
index 08af5e5615b52..2bd8d6f80c44c 100644
--- a/llvm/test/MC/AArch64/SVE2/umullt.s
+++ b/llvm/test/MC/AArch64/SVE2/umullt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,29 +13,29 @@
 umullt z0.h, z1.b, z2.b
 // CHECK-INST: umullt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x7c,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 7c 42 45 <unknown>
 
 umullt z29.s, z30.h, z31.h
 // CHECK-INST: umullt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x7f,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 7f 9f 45 <unknown>
 
 umullt z31.d, z31.s, z31.s
 // CHECK-INST: umullt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x7f,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 7f df 45 <unknown>
 
 umullt z0.s, z1.h, z7.h[7]
 // CHECK-INST: umullt	z0.s, z1.h, z7.h[7]
 // CHECK-ENCODING: [0x20,0xdc,0xbf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 dc bf 44 <unknown>
 
 umullt z0.d, z1.s, z15.s[1]
 // CHECK-INST: umullt	z0.d, z1.s, z15.s[1]
 // CHECK-ENCODING: [0x20,0xdc,0xef,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 dc ef 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqadd.s b/llvm/test/MC/AArch64/SVE2/uqadd.s
index f8fb061659206..19a935611487b 100644
--- a/llvm/test/MC/AArch64/SVE2/uqadd.s
+++ b/llvm/test/MC/AArch64/SVE2/uqadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uqadd z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uqadd z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x19,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 19 44 <unknown>
 
 uqadd z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uqadd z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x59,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 59 44 <unknown>
 
 uqadd z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uqadd z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x99,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 99 44 <unknown>
 
 uqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd9,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d9 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uqadd z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uqadd z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uqadd z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd9,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d9 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd9,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d9 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqrshl.s b/llvm/test/MC/AArch64/SVE2/uqrshl.s
index 5af61b5034ce5..e424a354ce324 100644
--- a/llvm/test/MC/AArch64/SVE2/uqrshl.s
+++ b/llvm/test/MC/AArch64/SVE2/uqrshl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uqrshl z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uqrshl z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x0b,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 0b 44 <unknown>
 
 uqrshl z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uqrshl z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x4b,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 4b 44 <unknown>
 
 uqrshl z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uqrshl z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x8b,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 8b 44 <unknown>
 
 uqrshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqrshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xcb,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f cb 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uqrshl z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uqrshl z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uqrshl z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xcb,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 cb 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqrshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqrshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xcb,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f cb 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqrshlr.s b/llvm/test/MC/AArch64/SVE2/uqrshlr.s
index 5da4bed0b34aa..0f9159cc4abac 100644
--- a/llvm/test/MC/AArch64/SVE2/uqrshlr.s
+++ b/llvm/test/MC/AArch64/SVE2/uqrshlr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uqrshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uqrshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x0f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 0f 44 <unknown>
 
 uqrshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uqrshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x4f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 4f 44 <unknown>
 
 uqrshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uqrshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x8f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 8f 44 <unknown>
 
 uqrshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqrshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xcf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f cf 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uqrshlr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uqrshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uqrshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xcf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 cf 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqrshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqrshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xcf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f cf 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqrshrnb.s b/llvm/test/MC/AArch64/SVE2/uqrshrnb.s
index 08f06a664e9d3..d6935f9d8d0a7 100644
--- a/llvm/test/MC/AArch64/SVE2/uqrshrnb.s
+++ b/llvm/test/MC/AArch64/SVE2/uqrshrnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 uqrshrnb     z0.b, z0.h, #1
 // CHECK-INST: uqrshrnb	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x38,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 38 2f 45 <unknown>
 
 uqrshrnb     z31.b, z31.h, #8
 // CHECK-INST: uqrshrnb	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x3b,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3b 28 45 <unknown>
 
 uqrshrnb     z0.h, z0.s, #1
 // CHECK-INST: uqrshrnb	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x38,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 38 3f 45 <unknown>
 
 uqrshrnb     z31.h, z31.s, #16
 // CHECK-INST: uqrshrnb	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x3b,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3b 30 45 <unknown>
 
 uqrshrnb     z0.s, z0.d, #1
 // CHECK-INST: uqrshrnb	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x38,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 38 7f 45 <unknown>
 
 uqrshrnb     z31.s, z31.d, #32
 // CHECK-INST: uqrshrnb	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x3b,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3b 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqrshrnt.s b/llvm/test/MC/AArch64/SVE2/uqrshrnt.s
index 59da1d1bdae1a..2232881bb9918 100644
--- a/llvm/test/MC/AArch64/SVE2/uqrshrnt.s
+++ b/llvm/test/MC/AArch64/SVE2/uqrshrnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 uqrshrnt     z0.b, z0.h, #1
 // CHECK-INST: uqrshrnt	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x3c,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 3c 2f 45 <unknown>
 
 uqrshrnt     z31.b, z31.h, #8
 // CHECK-INST: uqrshrnt	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x3f,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3f 28 45 <unknown>
 
 uqrshrnt     z0.h, z0.s, #1
 // CHECK-INST: uqrshrnt	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x3c,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 3c 3f 45 <unknown>
 
 uqrshrnt     z31.h, z31.s, #16
 // CHECK-INST: uqrshrnt	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x3f,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3f 30 45 <unknown>
 
 uqrshrnt     z0.s, z0.d, #1
 // CHECK-INST: uqrshrnt	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x3c,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 3c 7f 45 <unknown>
 
 uqrshrnt     z31.s, z31.d, #32
 // CHECK-INST: uqrshrnt	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x3f,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 3f 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqshl.s b/llvm/test/MC/AArch64/SVE2/uqshl.s
index 1f10b02264b94..93d93abb67618 100644
--- a/llvm/test/MC/AArch64/SVE2/uqshl.s
+++ b/llvm/test/MC/AArch64/SVE2/uqshl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,73 +12,73 @@
 uqshl z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uqshl z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x09,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 09 44 <unknown>
 
 uqshl z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uqshl z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x49,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 49 44 <unknown>
 
 uqshl z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uqshl z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x89,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 89 44 <unknown>
 
 uqshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc9,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c9 44 <unknown>
 
 uqshl z0.b, p0/m, z0.b, #0
 // CHECK-INST: uqshl z0.b, p0/m, z0.b, #0
 // CHECK-ENCODING: [0x00,0x81,0x07,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 81 07 04 <unknown>
 
 uqshl z31.b, p0/m, z31.b, #7
 // CHECK-INST: uqshl z31.b, p0/m, z31.b, #7
 // CHECK-ENCODING: [0xff,0x81,0x07,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 81 07 04 <unknown>
 
 uqshl z0.h, p0/m, z0.h, #0
 // CHECK-INST: uqshl z0.h, p0/m, z0.h, #0
 // CHECK-ENCODING: [0x00,0x82,0x07,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 82 07 04 <unknown>
 
 uqshl z31.h, p0/m, z31.h, #15
 // CHECK-INST: uqshl z31.h, p0/m, z31.h, #15
 // CHECK-ENCODING: [0xff,0x83,0x07,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 07 04 <unknown>
 
 uqshl z0.s, p0/m, z0.s, #0
 // CHECK-INST: uqshl z0.s, p0/m, z0.s, #0
 // CHECK-ENCODING: [0x00,0x80,0x47,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 80 47 04 <unknown>
 
 uqshl z31.s, p0/m, z31.s, #31
 // CHECK-INST: uqshl z31.s, p0/m, z31.s, #31
 // CHECK-ENCODING: [0xff,0x83,0x47,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 47 04 <unknown>
 
 uqshl z0.d, p0/m, z0.d, #0
 // CHECK-INST: uqshl z0.d, p0/m, z0.d, #0
 // CHECK-ENCODING: [0x00,0x80,0x87,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 80 87 04 <unknown>
 
 uqshl z31.d, p0/m, z31.d, #63
 // CHECK-INST: uqshl z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xc7,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 c7 04 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -85,47 +87,47 @@ uqshl z31.d, p0/m, z31.d, #63
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uqshl z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uqshl z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xc9,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 c9 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc9,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c9 44 <unknown>
 
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uqshl z31.d, p0/m, z31.d, #63
 // CHECK-INST: uqshl z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xc7,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 c7 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqshl z31.d, p0/m, z31.d, #63
 // CHECK-INST: uqshl z31.d, p0/m, z31.d, #63
 // CHECK-ENCODING: [0xff,0x83,0xc7,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 83 c7 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqshlr.s b/llvm/test/MC/AArch64/SVE2/uqshlr.s
index a39236abc8177..13c374b5a6ff1 100644
--- a/llvm/test/MC/AArch64/SVE2/uqshlr.s
+++ b/llvm/test/MC/AArch64/SVE2/uqshlr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uqshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uqshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x0d,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 0d 44 <unknown>
 
 uqshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uqshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x4d,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 4d 44 <unknown>
 
 uqshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uqshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x8d,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 8d 44 <unknown>
 
 uqshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xcd,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f cd 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uqshlr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uqshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uqshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xcd,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 cd 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xcd,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f cd 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqshrnb.s b/llvm/test/MC/AArch64/SVE2/uqshrnb.s
index 4bae0c1216d37..35e13254eb5f8 100644
--- a/llvm/test/MC/AArch64/SVE2/uqshrnb.s
+++ b/llvm/test/MC/AArch64/SVE2/uqshrnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 uqshrnb     z0.b, z0.h, #1
 // CHECK-INST: uqshrnb	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x30,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 30 2f 45 <unknown>
 
 uqshrnb     z31.b, z31.h, #8
 // CHECK-INST: uqshrnb	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x33,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 33 28 45 <unknown>
 
 uqshrnb     z0.h, z0.s, #1
 // CHECK-INST: uqshrnb	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x30,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 30 3f 45 <unknown>
 
 uqshrnb     z31.h, z31.s, #16
 // CHECK-INST: uqshrnb	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x33,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 33 30 45 <unknown>
 
 uqshrnb     z0.s, z0.d, #1
 // CHECK-INST: uqshrnb	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x30,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 30 7f 45 <unknown>
 
 uqshrnb     z31.s, z31.d, #32
 // CHECK-INST: uqshrnb	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x33,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 33 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqshrnt.s b/llvm/test/MC/AArch64/SVE2/uqshrnt.s
index b29bc402918b1..d8bfd2bebe43d 100644
--- a/llvm/test/MC/AArch64/SVE2/uqshrnt.s
+++ b/llvm/test/MC/AArch64/SVE2/uqshrnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 uqshrnt     z0.b, z0.h, #1
 // CHECK-INST: uqshrnt	z0.b, z0.h, #1
 // CHECK-ENCODING: [0x00,0x34,0x2f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 34 2f 45 <unknown>
 
 uqshrnt     z31.b, z31.h, #8
 // CHECK-INST: uqshrnt	z31.b, z31.h, #8
 // CHECK-ENCODING: [0xff,0x37,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 37 28 45 <unknown>
 
 uqshrnt     z0.h, z0.s, #1
 // CHECK-INST: uqshrnt	z0.h, z0.s, #1
 // CHECK-ENCODING: [0x00,0x34,0x3f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 34 3f 45 <unknown>
 
 uqshrnt     z31.h, z31.s, #16
 // CHECK-INST: uqshrnt	z31.h, z31.s, #16
 // CHECK-ENCODING: [0xff,0x37,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 37 30 45 <unknown>
 
 uqshrnt     z0.s, z0.d, #1
 // CHECK-INST: uqshrnt	z0.s, z0.d, #1
 // CHECK-ENCODING: [0x00,0x34,0x7f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 34 7f 45 <unknown>
 
 uqshrnt     z31.s, z31.d, #32
 // CHECK-INST: uqshrnt	z31.s, z31.d, #32
 // CHECK-ENCODING: [0xff,0x37,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 37 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqsub.s b/llvm/test/MC/AArch64/SVE2/uqsub.s
index 9e66f1befa9ed..f9ed9e4c3ff1e 100644
--- a/llvm/test/MC/AArch64/SVE2/uqsub.s
+++ b/llvm/test/MC/AArch64/SVE2/uqsub.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uqsub z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uqsub z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x1b,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 1b 44 <unknown>
 
 uqsub z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uqsub z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x5b,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 5b 44 <unknown>
 
 uqsub z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uqsub z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x9b,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 9b 44 <unknown>
 
 uqsub z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqsub z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xdb,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f db 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uqsub z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uqsub z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uqsub z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xdb,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 db 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqsub z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqsub z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xdb,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f db 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqsubr.s b/llvm/test/MC/AArch64/SVE2/uqsubr.s
index 6da4c3296f5c5..85597559c9862 100644
--- a/llvm/test/MC/AArch64/SVE2/uqsubr.s
+++ b/llvm/test/MC/AArch64/SVE2/uqsubr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 uqsubr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: uqsubr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x1f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 1f 44 <unknown>
 
 uqsubr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: uqsubr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x5f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 5f 44 <unknown>
 
 uqsubr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: uqsubr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x9f,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 9f 44 <unknown>
 
 uqsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f df 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ uqsubr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 uqsubr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: uqsubr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 df 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 uqsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: uqsubr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xdf,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f df 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqxtnb.s b/llvm/test/MC/AArch64/SVE2/uqxtnb.s
index cf55b06c94481..4e1f68d1c2348 100644
--- a/llvm/test/MC/AArch64/SVE2/uqxtnb.s
+++ b/llvm/test/MC/AArch64/SVE2/uqxtnb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 uqxtnb z0.b, z31.h
 // CHECK-INST: uqxtnb	z0.b, z31.h
 // CHECK-ENCODING: [0xe0,0x4b,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 4b 28 45 <unknown>
 
 uqxtnb z0.h, z31.s
 // CHECK-INST: uqxtnb	z0.h, z31.s
 // CHECK-ENCODING: [0xe0,0x4b,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 4b 30 45 <unknown>
 
 uqxtnb z0.s, z31.d
 // CHECK-INST: uqxtnb	z0.s, z31.d
 // CHECK-ENCODING: [0xe0,0x4b,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 4b 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/uqxtnt.s b/llvm/test/MC/AArch64/SVE2/uqxtnt.s
index 0ae286e44e44f..cde4f590f5d99 100644
--- a/llvm/test/MC/AArch64/SVE2/uqxtnt.s
+++ b/llvm/test/MC/AArch64/SVE2/uqxtnt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 uqxtnt z0.b, z31.h
 // CHECK-INST: uqxtnt	z0.b, z31.h
 // CHECK-ENCODING: [0xe0,0x4f,0x28,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 4f 28 45 <unknown>
 
 uqxtnt z0.h, z31.s
 // CHECK-INST: uqxtnt	z0.h, z31.s
 // CHECK-ENCODING: [0xe0,0x4f,0x30,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 4f 30 45 <unknown>
 
 uqxtnt z0.s, z31.d
 // CHECK-INST: uqxtnt	z0.s, z31.d
 // CHECK-ENCODING: [0xe0,0x4f,0x60,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 4f 60 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/urecpe.s b/llvm/test/MC/AArch64/SVE2/urecpe.s
index 079a866f32d79..4063f78c7e024 100644
--- a/llvm/test/MC/AArch64/SVE2/urecpe.s
+++ b/llvm/test/MC/AArch64/SVE2/urecpe.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,7 +12,7 @@
 urecpe z31.s, p7/m, z31.s
 // CHECK-INST: urecpe z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x80,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 80 44 <unknown>
 
 
@@ -20,23 +22,23 @@ urecpe z31.s, p7/m, z31.s
 movprfx z4.s, p7/z, z6.s
 // CHECK-INST: movprfx	z4.s, p7/z, z6.s
 // CHECK-ENCODING: [0xc4,0x3c,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c 90 04 <unknown>
 
 urecpe z4.s, p7/m, z31.s
 // CHECK-INST: urecpe z4.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe4,0xbf,0x80,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 80 44 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 urecpe z4.s, p7/m, z31.s
 // CHECK-INST: urecpe z4.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe4,0xbf,0x80,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 80 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/urhadd.s b/llvm/test/MC/AArch64/SVE2/urhadd.s
index 0310226897ee9..776717f16f19b 100644
--- a/llvm/test/MC/AArch64/SVE2/urhadd.s
+++ b/llvm/test/MC/AArch64/SVE2/urhadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 urhadd z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: urhadd z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x15,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 15 44 <unknown>
 
 urhadd z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: urhadd z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x55,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 55 44 <unknown>
 
 urhadd z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: urhadd z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x95,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 95 44 <unknown>
 
 urhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: urhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d5 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ urhadd z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 urhadd z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: urhadd z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xd5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 d5 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 urhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: urhadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xd5,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f d5 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/urshl.s b/llvm/test/MC/AArch64/SVE2/urshl.s
index deb4a0ef743e0..068534e924383 100644
--- a/llvm/test/MC/AArch64/SVE2/urshl.s
+++ b/llvm/test/MC/AArch64/SVE2/urshl.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 urshl z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: urshl z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x03,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 03 44 <unknown>
 
 urshl z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: urshl z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x43,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 43 44 <unknown>
 
 urshl z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: urshl z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x83,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 83 44 <unknown>
 
 urshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: urshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc3,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c3 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ urshl z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 urshl z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: urshl z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xc3,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 c3 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 urshl z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: urshl z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc3,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c3 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/urshlr.s b/llvm/test/MC/AArch64/SVE2/urshlr.s
index de308e771557a..0b5facea1b786 100644
--- a/llvm/test/MC/AArch64/SVE2/urshlr.s
+++ b/llvm/test/MC/AArch64/SVE2/urshlr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 urshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: urshlr z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x07,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 07 44 <unknown>
 
 urshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: urshlr z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x47,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 47 44 <unknown>
 
 urshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: urshlr z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x87,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 87 44 <unknown>
 
 urshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: urshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c7 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ urshlr z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 urshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: urshlr z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xc7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 c7 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 urshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: urshlr z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xc7,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f c7 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/urshr.s b/llvm/test/MC/AArch64/SVE2/urshr.s
index c7c012847efd4..4e0b8b0436b59 100644
--- a/llvm/test/MC/AArch64/SVE2/urshr.s
+++ b/llvm/test/MC/AArch64/SVE2/urshr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 urshr    z0.b, p0/m, z0.b, #1
 // CHECK-INST: urshr	z0.b, p0/m, z0.b, #1
 // CHECK-ENCODING: [0xe0,0x81,0x0d,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 81 0d 04 <unknown>
 
 urshr    z31.b, p0/m, z31.b, #8
 // CHECK-INST: urshr	z31.b, p0/m, z31.b, #8
 // CHECK-ENCODING: [0x1f,0x81,0x0d,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 81 0d 04 <unknown>
 
 urshr    z0.h, p0/m, z0.h, #1
 // CHECK-INST: urshr	z0.h, p0/m, z0.h, #1
 // CHECK-ENCODING: [0xe0,0x83,0x0d,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 83 0d 04 <unknown>
 
 urshr    z31.h, p0/m, z31.h, #16
 // CHECK-INST: urshr	z31.h, p0/m, z31.h, #16
 // CHECK-ENCODING: [0x1f,0x82,0x0d,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 82 0d 04 <unknown>
 
 urshr    z0.s, p0/m, z0.s, #1
 // CHECK-INST: urshr	z0.s, p0/m, z0.s, #1
 // CHECK-ENCODING: [0xe0,0x83,0x4d,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 83 4d 04 <unknown>
 
 urshr    z31.s, p0/m, z31.s, #32
 // CHECK-INST: urshr	z31.s, p0/m, z31.s, #32
 // CHECK-ENCODING: [0x1f,0x80,0x4d,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 80 4d 04 <unknown>
 
 urshr    z0.d, p0/m, z0.d, #1
 // CHECK-INST: urshr	z0.d, p0/m, z0.d, #1
 // CHECK-ENCODING: [0xe0,0x83,0xcd,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e0 83 cd 04 <unknown>
 
 urshr    z31.d, p0/m, z31.d, #64
 // CHECK-INST: urshr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x8d,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 80 8d 04 <unknown>
 
 
@@ -62,23 +64,23 @@ urshr    z31.d, p0/m, z31.d, #64
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx	z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 urshr    z31.d, p0/m, z31.d, #64
 // CHECK-INST: urshr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x8d,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 80 8d 04 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx	z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 urshr    z31.d, p0/m, z31.d, #64
 // CHECK-INST: urshr	z31.d, p0/m, z31.d, #64
 // CHECK-ENCODING: [0x1f,0x80,0x8d,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 80 8d 04 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ursqrte.s b/llvm/test/MC/AArch64/SVE2/ursqrte.s
index ce90590d73e12..981cd6a511ef9 100644
--- a/llvm/test/MC/AArch64/SVE2/ursqrte.s
+++ b/llvm/test/MC/AArch64/SVE2/ursqrte.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,7 +12,7 @@
 ursqrte z31.s, p7/m, z31.s
 // CHECK-INST: ursqrte z31.s, p7/m, z31.s
 // CHECK-ENCODING: [0xff,0xbf,0x81,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff bf 81 44 <unknown>
 
 
@@ -20,23 +22,23 @@ ursqrte z31.s, p7/m, z31.s
 movprfx z4.s, p7/z, z6.s
 // CHECK-INST: movprfx	z4.s, p7/z, z6.s
 // CHECK-ENCODING: [0xc4,0x3c,0x90,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 3c 90 04 <unknown>
 
 ursqrte z4.s, p7/m, z31.s
 // CHECK-INST: ursqrte z4.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe4,0xbf,0x81,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 81 44 <unknown>
 
 movprfx z4, z6
 // CHECK-INST: movprfx	z4, z6
 // CHECK-ENCODING: [0xc4,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: c4 bc 20 04 <unknown>
 
 ursqrte z4.s, p7/m, z31.s
 // CHECK-INST: ursqrte z4.s, p7/m, z31.s
 // CHECK-ENCODING: [0xe4,0xbf,0x81,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: e4 bf 81 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ursra.s b/llvm/test/MC/AArch64/SVE2/ursra.s
index 6ff57df4e0329..d2509e1a63b29 100644
--- a/llvm/test/MC/AArch64/SVE2/ursra.s
+++ b/llvm/test/MC/AArch64/SVE2/ursra.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 ursra     z0.b, z0.b, #1
 // CHECK-INST: ursra	z0.b, z0.b, #1
 // CHECK-ENCODING: [0x00,0xec,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 ec 0f 45 <unknown>
 
 ursra     z31.b, z31.b, #8
 // CHECK-INST: ursra	z31.b, z31.b, #8
 // CHECK-ENCODING: [0xff,0xef,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff ef 08 45 <unknown>
 
 ursra     z0.h, z0.h, #1
 // CHECK-INST: ursra	z0.h, z0.h, #1
 // CHECK-ENCODING: [0x00,0xec,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 ec 1f 45 <unknown>
 
 ursra     z31.h, z31.h, #16
 // CHECK-INST: ursra	z31.h, z31.h, #16
 // CHECK-ENCODING: [0xff,0xef,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff ef 10 45 <unknown>
 
 ursra     z0.s, z0.s, #1
 // CHECK-INST: ursra	z0.s, z0.s, #1
 // CHECK-ENCODING: [0x00,0xec,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 ec 5f 45 <unknown>
 
 ursra     z31.s, z31.s, #32
 // CHECK-INST: ursra	z31.s, z31.s, #32
 // CHECK-ENCODING: [0xff,0xef,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff ef 40 45 <unknown>
 
 ursra     z0.d, z0.d, #1
 // CHECK-INST: ursra	z0.d, z0.d, #1
 // CHECK-ENCODING: [0x00,0xec,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 ec df 45 <unknown>
 
 ursra     z31.d, z31.d, #64
 // CHECK-INST: ursra	z31.d, z31.d, #64
 // CHECK-ENCODING: [0xff,0xef,0x80,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff ef 80 45 <unknown>
 
 
@@ -62,11 +64,11 @@ ursra     z31.d, z31.d, #64
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 ursra     z0.d, z1.d, #1
 // CHECK-INST: ursra	z0.d, z1.d, #1
 // CHECK-ENCODING: [0x20,0xec,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 ec df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ushllb.s b/llvm/test/MC/AArch64/SVE2/ushllb.s
index 9d894a608c1ef..04bf78a7f8af1 100644
--- a/llvm/test/MC/AArch64/SVE2/ushllb.s
+++ b/llvm/test/MC/AArch64/SVE2/ushllb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 ushllb     z0.h, z0.b, #0
 // CHECK-INST: ushllb	z0.h, z0.b, #0
 // CHECK-ENCODING: [0x00,0xa8,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a8 08 45 <unknown>
 
 ushllb     z31.h, z31.b, #7
 // CHECK-INST: ushllb	z31.h, z31.b, #7
 // CHECK-ENCODING: [0xff,0xab,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff ab 0f 45 <unknown>
 
 ushllb     z0.s, z0.h, #0
 // CHECK-INST: ushllb	z0.s, z0.h, #0
 // CHECK-ENCODING: [0x00,0xa8,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a8 10 45 <unknown>
 
 ushllb     z31.s, z31.h, #15
 // CHECK-INST: ushllb	z31.s, z31.h, #15
 // CHECK-ENCODING: [0xff,0xab,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff ab 1f 45 <unknown>
 
 ushllb     z0.d, z0.s, #0
 // CHECK-INST: ushllb	z0.d, z0.s, #0
 // CHECK-ENCODING: [0x00,0xa8,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 a8 40 45 <unknown>
 
 ushllb     z31.d, z31.s, #31
 // CHECK-INST: ushllb	z31.d, z31.s, #31
 // CHECK-ENCODING: [0xff,0xab,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff ab 5f 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/ushllt.s b/llvm/test/MC/AArch64/SVE2/ushllt.s
index 1e387f5d02bf2..1261942d0f6ca 100644
--- a/llvm/test/MC/AArch64/SVE2/ushllt.s
+++ b/llvm/test/MC/AArch64/SVE2/ushllt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,35 +12,35 @@
 ushllt     z0.h, z0.b, #0
 // CHECK-INST: ushllt	z0.h, z0.b, #0
 // CHECK-ENCODING: [0x00,0xac,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 ac 08 45 <unknown>
 
 ushllt     z31.h, z31.b, #7
 // CHECK-INST: ushllt	z31.h, z31.b, #7
 // CHECK-ENCODING: [0xff,0xaf,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff af 0f 45 <unknown>
 
 ushllt     z0.s, z0.h, #0
 // CHECK-INST: ushllt	z0.s, z0.h, #0
 // CHECK-ENCODING: [0x00,0xac,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 ac 10 45 <unknown>
 
 ushllt     z31.s, z31.h, #15
 // CHECK-INST: ushllt	z31.s, z31.h, #15
 // CHECK-ENCODING: [0xff,0xaf,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff af 1f 45 <unknown>
 
 ushllt     z0.d, z0.s, #0
 // CHECK-INST: ushllt	z0.d, z0.s, #0
 // CHECK-ENCODING: [0x00,0xac,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 ac 40 45 <unknown>
 
 ushllt     z31.d, z31.s, #31
 // CHECK-INST: ushllt	z31.d, z31.s, #31
 // CHECK-ENCODING: [0xff,0xaf,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff af 5f 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/usqadd.s b/llvm/test/MC/AArch64/SVE2/usqadd.s
index e335a6ffe2ef7..3d16be59673c8 100644
--- a/llvm/test/MC/AArch64/SVE2/usqadd.s
+++ b/llvm/test/MC/AArch64/SVE2/usqadd.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,25 +12,25 @@
 usqadd z0.b, p0/m, z0.b, z1.b
 // CHECK-INST: usqadd z0.b, p0/m, z0.b, z1.b
 // CHECK-ENCODING: [0x20,0x80,0x1d,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 1d 44 <unknown>
 
 usqadd z0.h, p0/m, z0.h, z1.h
 // CHECK-INST: usqadd z0.h, p0/m, z0.h, z1.h
 // CHECK-ENCODING: [0x20,0x80,0x5d,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 80 5d 44 <unknown>
 
 usqadd z29.s, p7/m, z29.s, z30.s
 // CHECK-INST: usqadd z29.s, p7/m, z29.s, z30.s
 // CHECK-ENCODING: [0xdd,0x9f,0x9d,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 9f 9d 44 <unknown>
 
 usqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: usqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xdd,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f dd 44 <unknown>
 
 // --------------------------------------------------------------------------//
@@ -37,23 +39,23 @@ usqadd z31.d, p7/m, z31.d, z30.d
 movprfx z31.d, p0/z, z6.d
 // CHECK-INST: movprfx z31.d, p0/z, z6.d
 // CHECK-ENCODING: [0xdf,0x20,0xd0,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df 20 d0 04 <unknown>
 
 usqadd z31.d, p0/m, z31.d, z30.d
 // CHECK-INST: usqadd z31.d, p0/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x83,0xdd,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 83 dd 44 <unknown>
 
 movprfx z31, z6
 // CHECK-INST: movprfx z31, z6
 // CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: df bc 20 04 <unknown>
 
 usqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-INST: usqadd z31.d, p7/m, z31.d, z30.d
 // CHECK-ENCODING: [0xdf,0x9f,0xdd,0x44]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 9f dd 44 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/usra.s b/llvm/test/MC/AArch64/SVE2/usra.s
index 4397f3fda6170..83cad939b6dc7 100644
--- a/llvm/test/MC/AArch64/SVE2/usra.s
+++ b/llvm/test/MC/AArch64/SVE2/usra.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 usra     z0.b, z0.b, #1
 // CHECK-INST: usra	z0.b, z0.b, #1
 // CHECK-ENCODING: [0x00,0xe4,0x0f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e4 0f 45 <unknown>
 
 usra     z31.b, z31.b, #8
 // CHECK-INST: usra	z31.b, z31.b, #8
 // CHECK-ENCODING: [0xff,0xe7,0x08,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff e7 08 45 <unknown>
 
 usra     z0.h, z0.h, #1
 // CHECK-INST: usra	z0.h, z0.h, #1
 // CHECK-ENCODING: [0x00,0xe4,0x1f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e4 1f 45 <unknown>
 
 usra     z31.h, z31.h, #16
 // CHECK-INST: usra	z31.h, z31.h, #16
 // CHECK-ENCODING: [0xff,0xe7,0x10,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff e7 10 45 <unknown>
 
 usra     z0.s, z0.s, #1
 // CHECK-INST: usra	z0.s, z0.s, #1
 // CHECK-ENCODING: [0x00,0xe4,0x5f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e4 5f 45 <unknown>
 
 usra     z31.s, z31.s, #32
 // CHECK-INST: usra	z31.s, z31.s, #32
 // CHECK-ENCODING: [0xff,0xe7,0x40,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff e7 40 45 <unknown>
 
 usra     z0.d, z0.d, #1
 // CHECK-INST: usra	z0.d, z0.d, #1
 // CHECK-ENCODING: [0x00,0xe4,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 00 e4 df 45 <unknown>
 
 usra     z31.d, z31.d, #64
 // CHECK-INST: usra	z31.d, z31.d, #64
 // CHECK-ENCODING: [0xff,0xe7,0x80,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff e7 80 45 <unknown>
 
 
@@ -62,11 +64,11 @@ usra     z31.d, z31.d, #64
 movprfx z0, z7
 // CHECK-INST: movprfx	z0, z7
 // CHECK-ENCODING: [0xe0,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: e0 bc 20 04 <unknown>
 
 usra     z0.d, z1.d, #1
 // CHECK-INST: usra	z0.d, z1.d, #1
 // CHECK-ENCODING: [0x20,0xe4,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 e4 df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/usublb.s b/llvm/test/MC/AArch64/SVE2/usublb.s
index 08711916f84f0..7225b6baa1ec5 100644
--- a/llvm/test/MC/AArch64/SVE2/usublb.s
+++ b/llvm/test/MC/AArch64/SVE2/usublb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 usublb z0.h, z1.b, z2.b
 // CHECK-INST: usublb z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x18,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 18 42 45 <unknown>
 
 usublb z29.s, z30.h, z31.h
 // CHECK-INST: usublb z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x1b,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 1b 9f 45 <unknown>
 
 usublb z31.d, z31.s, z31.s
 // CHECK-INST: usublb z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1b,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 1b df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/usublt.s b/llvm/test/MC/AArch64/SVE2/usublt.s
index 8da50e51aeb71..d4000116e59f7 100644
--- a/llvm/test/MC/AArch64/SVE2/usublt.s
+++ b/llvm/test/MC/AArch64/SVE2/usublt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 usublt z0.h, z1.b, z2.b
 // CHECK-INST: usublt z0.h, z1.b, z2.b
 // CHECK-ENCODING: [0x20,0x1c,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 1c 42 45 <unknown>
 
 usublt z29.s, z30.h, z31.h
 // CHECK-INST: usublt z29.s, z30.h, z31.h
 // CHECK-ENCODING: [0xdd,0x1f,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 1f 9f 45 <unknown>
 
 usublt z31.d, z31.s, z31.s
 // CHECK-INST: usublt z31.d, z31.s, z31.s
 // CHECK-ENCODING: [0xff,0x1f,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 1f df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/usubwb.s b/llvm/test/MC/AArch64/SVE2/usubwb.s
index b04b015a5b13b..15764300da959 100644
--- a/llvm/test/MC/AArch64/SVE2/usubwb.s
+++ b/llvm/test/MC/AArch64/SVE2/usubwb.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 usubwb z0.h, z1.h, z2.b
 // CHECK-INST: usubwb z0.h, z1.h, z2.b
 // CHECK-ENCODING: [0x20,0x58,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 58 42 45 <unknown>
 
 usubwb z29.s, z30.s, z31.h
 // CHECK-INST: usubwb z29.s, z30.s, z31.h
 // CHECK-ENCODING: [0xdd,0x5b,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 5b 9f 45 <unknown>
 
 usubwb z31.d, z31.d, z31.s
 // CHECK-INST: usubwb z31.d, z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x5b,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 5b df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/usubwt.s b/llvm/test/MC/AArch64/SVE2/usubwt.s
index cf19beeed0158..4c3575cd65214 100644
--- a/llvm/test/MC/AArch64/SVE2/usubwt.s
+++ b/llvm/test/MC/AArch64/SVE2/usubwt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -11,17 +13,17 @@
 usubwt z0.h, z1.h, z2.b
 // CHECK-INST: usubwt z0.h, z1.h, z2.b
 // CHECK-ENCODING: [0x20,0x5c,0x42,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 5c 42 45 <unknown>
 
 usubwt z29.s, z30.s, z31.h
 // CHECK-INST: usubwt z29.s, z30.s, z31.h
 // CHECK-ENCODING: [0xdd,0x5f,0x9f,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: dd 5f 9f 45 <unknown>
 
 usubwt z31.d, z31.d, z31.s
 // CHECK-INST: usubwt z31.d, z31.d, z31.s
 // CHECK-ENCODING: [0xff,0x5f,0xdf,0x45]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 5f df 45 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/whilege.s b/llvm/test/MC/AArch64/SVE2/whilege.s
index 8b7dee797cb21..374987e2d1752 100644
--- a/llvm/test/MC/AArch64/SVE2/whilege.s
+++ b/llvm/test/MC/AArch64/SVE2/whilege.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,59 +12,59 @@
 whilege  p15.b, xzr, x0
 // CHECK-INST: whilege	p15.b, xzr, x0
 // CHECK-ENCODING: [0xef,0x13,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ef 13 20 25 <unknown>
 
 whilege  p15.b, x0, xzr
 // CHECK-INST: whilege	p15.b, x0, xzr
 // CHECK-ENCODING: [0x0f,0x10,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 10 3f 25 <unknown>
 
 whilege  p15.b, wzr, w0
 // CHECK-INST: whilege	p15.b, wzr, w0
 // CHECK-ENCODING: [0xef,0x03,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ef 03 20 25 <unknown>
 
 whilege  p15.b, w0, wzr
 // CHECK-INST: whilege	p15.b, w0, wzr
 // CHECK-ENCODING: [0x0f,0x00,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 00 3f 25 <unknown>
 
 whilege  p15.h, x0, xzr
 // CHECK-INST: whilege	p15.h, x0, xzr
 // CHECK-ENCODING: [0x0f,0x10,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 10 7f 25 <unknown>
 
 whilege  p15.h, w0, wzr
 // CHECK-INST: whilege	p15.h, w0, wzr
 // CHECK-ENCODING: [0x0f,0x00,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 00 7f 25 <unknown>
 
 whilege  p15.s, x0, xzr
 // CHECK-INST: whilege	p15.s, x0, xzr
 // CHECK-ENCODING: [0x0f,0x10,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 10 bf 25 <unknown>
 
 whilege  p15.s, w0, wzr
 // CHECK-INST: whilege	p15.s, w0, wzr
 // CHECK-ENCODING: [0x0f,0x00,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 00 bf 25 <unknown>
 
 whilege  p15.d, w0, wzr
 // CHECK-INST: whilege	p15.d, w0, wzr
 // CHECK-ENCODING: [0x0f,0x00,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 00 ff 25 <unknown>
 
 whilege  p15.d, x0, xzr
 // CHECK-INST: whilege	p15.d, x0, xzr
 // CHECK-ENCODING: [0x0f,0x10,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 10 ff 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/whilegt.s b/llvm/test/MC/AArch64/SVE2/whilegt.s
index 2f17c6138e1fd..db2bd8cc2596c 100644
--- a/llvm/test/MC/AArch64/SVE2/whilegt.s
+++ b/llvm/test/MC/AArch64/SVE2/whilegt.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,59 +12,59 @@
 whilegt  p15.b, xzr, x0
 // CHECK-INST: whilegt	p15.b, xzr, x0
 // CHECK-ENCODING: [0xff,0x13,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 13 20 25 <unknown>
 
 whilegt  p15.b, x0, xzr
 // CHECK-INST: whilegt	p15.b, x0, xzr
 // CHECK-ENCODING: [0x1f,0x10,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 10 3f 25 <unknown>
 
 whilegt  p15.b, wzr, w0
 // CHECK-INST: whilegt	p15.b, wzr, w0
 // CHECK-ENCODING: [0xff,0x03,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 03 20 25 <unknown>
 
 whilegt  p15.b, w0, wzr
 // CHECK-INST: whilegt	p15.b, w0, wzr
 // CHECK-ENCODING: [0x1f,0x00,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 00 3f 25 <unknown>
 
 whilegt  p15.h, x0, xzr
 // CHECK-INST: whilegt	p15.h, x0, xzr
 // CHECK-ENCODING: [0x1f,0x10,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 10 7f 25 <unknown>
 
 whilegt  p15.h, w0, wzr
 // CHECK-INST: whilegt	p15.h, w0, wzr
 // CHECK-ENCODING: [0x1f,0x00,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 00 7f 25 <unknown>
 
 whilegt  p15.s, x0, xzr
 // CHECK-INST: whilegt	p15.s, x0, xzr
 // CHECK-ENCODING: [0x1f,0x10,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 10 bf 25 <unknown>
 
 whilegt  p15.s, w0, wzr
 // CHECK-INST: whilegt	p15.s, w0, wzr
 // CHECK-ENCODING: [0x1f,0x00,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 00 bf 25 <unknown>
 
 whilegt  p15.d, w0, wzr
 // CHECK-INST: whilegt	p15.d, w0, wzr
 // CHECK-ENCODING: [0x1f,0x00,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 00 ff 25 <unknown>
 
 whilegt  p15.d, x0, xzr
 // CHECK-INST: whilegt	p15.d, x0, xzr
 // CHECK-ENCODING: [0x1f,0x10,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 10 ff 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/whilehi.s b/llvm/test/MC/AArch64/SVE2/whilehi.s
index 7400676a1aac0..cdb9a048e636c 100644
--- a/llvm/test/MC/AArch64/SVE2/whilehi.s
+++ b/llvm/test/MC/AArch64/SVE2/whilehi.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,59 +12,59 @@
 whilehi  p15.b, xzr, x0
 // CHECK-INST: whilehi	p15.b, xzr, x0
 // CHECK-ENCODING: [0xff,0x1b,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 1b 20 25 <unknown>
 
 whilehi  p15.b, x0, xzr
 // CHECK-INST: whilehi	p15.b, x0, xzr
 // CHECK-ENCODING: [0x1f,0x18,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 18 3f 25 <unknown>
 
 whilehi  p15.b, wzr, w0
 // CHECK-INST: whilehi	p15.b, wzr, w0
 // CHECK-ENCODING: [0xff,0x0b,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ff 0b 20 25 <unknown>
 
 whilehi  p15.b, w0, wzr
 // CHECK-INST: whilehi	p15.b, w0, wzr
 // CHECK-ENCODING: [0x1f,0x08,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 08 3f 25 <unknown>
 
 whilehi  p15.h, x0, xzr
 // CHECK-INST: whilehi	p15.h, x0, xzr
 // CHECK-ENCODING: [0x1f,0x18,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 18 7f 25 <unknown>
 
 whilehi  p15.h, w0, wzr
 // CHECK-INST: whilehi	p15.h, w0, wzr
 // CHECK-ENCODING: [0x1f,0x08,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 08 7f 25 <unknown>
 
 whilehi  p15.s, x0, xzr
 // CHECK-INST: whilehi	p15.s, x0, xzr
 // CHECK-ENCODING: [0x1f,0x18,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 18 bf 25 <unknown>
 
 whilehi  p15.s, w0, wzr
 // CHECK-INST: whilehi	p15.s, w0, wzr
 // CHECK-ENCODING: [0x1f,0x08,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 08 bf 25 <unknown>
 
 whilehi  p15.d, w0, wzr
 // CHECK-INST: whilehi	p15.d, w0, wzr
 // CHECK-ENCODING: [0x1f,0x08,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 08 ff 25 <unknown>
 
 whilehi  p15.d, x0, xzr
 // CHECK-INST: whilehi	p15.d, x0, xzr
 // CHECK-ENCODING: [0x1f,0x18,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 1f 18 ff 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/whilehs.s b/llvm/test/MC/AArch64/SVE2/whilehs.s
index b736580b748e1..58aa22d331b16 100644
--- a/llvm/test/MC/AArch64/SVE2/whilehs.s
+++ b/llvm/test/MC/AArch64/SVE2/whilehs.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,59 +12,59 @@
 whilehs  p15.b, xzr, x0
 // CHECK-INST: whilehs	p15.b, xzr, x0
 // CHECK-ENCODING: [0xef,0x1b,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ef 1b 20 25 <unknown>
 
 whilehs  p15.b, x0, xzr
 // CHECK-INST: whilehs	p15.b, x0, xzr
 // CHECK-ENCODING: [0x0f,0x18,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 18 3f 25 <unknown>
 
 whilehs  p15.b, wzr, w0
 // CHECK-INST: whilehs	p15.b, wzr, w0
 // CHECK-ENCODING: [0xef,0x0b,0x20,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: ef 0b 20 25 <unknown>
 
 whilehs  p15.b, w0, wzr
 // CHECK-INST: whilehs	p15.b, w0, wzr
 // CHECK-ENCODING: [0x0f,0x08,0x3f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 08 3f 25 <unknown>
 
 whilehs  p15.h, x0, xzr
 // CHECK-INST: whilehs	p15.h, x0, xzr
 // CHECK-ENCODING: [0x0f,0x18,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 18 7f 25 <unknown>
 
 whilehs  p15.h, w0, wzr
 // CHECK-INST: whilehs	p15.h, w0, wzr
 // CHECK-ENCODING: [0x0f,0x08,0x7f,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 08 7f 25 <unknown>
 
 whilehs  p15.s, x0, xzr
 // CHECK-INST: whilehs	p15.s, x0, xzr
 // CHECK-ENCODING: [0x0f,0x18,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 18 bf 25 <unknown>
 
 whilehs  p15.s, w0, wzr
 // CHECK-INST: whilehs	p15.s, w0, wzr
 // CHECK-ENCODING: [0x0f,0x08,0xbf,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 08 bf 25 <unknown>
 
 whilehs  p15.d, w0, wzr
 // CHECK-INST: whilehs	p15.d, w0, wzr
 // CHECK-ENCODING: [0x0f,0x08,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 08 ff 25 <unknown>
 
 whilehs  p15.d, x0, xzr
 // CHECK-INST: whilehs	p15.d, x0, xzr
 // CHECK-ENCODING: [0x0f,0x18,0xff,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 0f 18 ff 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/whilerw.s b/llvm/test/MC/AArch64/SVE2/whilerw.s
index e90f7b13f956b..611593a2107ae 100644
--- a/llvm/test/MC/AArch64/SVE2/whilerw.s
+++ b/llvm/test/MC/AArch64/SVE2/whilerw.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,23 +12,23 @@
 whilerw  p15.b, x30, x30
 // CHECK-INST: whilerw  p15.b, x30, x30
 // CHECK-ENCODING: [0xdf,0x33,0x3e,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 33 3e 25 <unknown>
 
 whilerw  p15.h, x30, x30
 // CHECK-INST: whilerw  p15.h, x30, x30
 // CHECK-ENCODING: [0xdf,0x33,0x7e,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 33 7e 25 <unknown>
 
 whilerw  p15.s, x30, x30
 // CHECK-INST: whilerw  p15.s, x30, x30
 // CHECK-ENCODING: [0xdf,0x33,0xbe,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 33 be 25 <unknown>
 
 whilerw  p15.d, x30, x30
 // CHECK-INST: whilerw  p15.d, x30, x30
 // CHECK-ENCODING: [0xdf,0x33,0xfe,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 33 fe 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/whilewr.s b/llvm/test/MC/AArch64/SVE2/whilewr.s
index 7287fb6898307..63f21f44d0266 100644
--- a/llvm/test/MC/AArch64/SVE2/whilewr.s
+++ b/llvm/test/MC/AArch64/SVE2/whilewr.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,23 +12,23 @@
 whilewr  p15.b, x30, x30
 // CHECK-INST: whilewr  p15.b, x30, x30
 // CHECK-ENCODING: [0xcf,0x33,0x3e,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: cf 33 3e 25 <unknown>
 
 whilewr  p15.h, x30, x30
 // CHECK-INST: whilewr  p15.h, x30, x30
 // CHECK-ENCODING: [0xcf,0x33,0x7e,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: cf 33 7e 25 <unknown>
 
 whilewr  p15.s, x30, x30
 // CHECK-INST: whilewr  p15.s, x30, x30
 // CHECK-ENCODING: [0xcf,0x33,0xbe,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: cf 33 be 25 <unknown>
 
 whilewr  p15.d, x30, x30
 // CHECK-INST: whilewr  p15.d, x30, x30
 // CHECK-ENCODING: [0xcf,0x33,0xfe,0x25]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: cf 33 fe 25 <unknown>

diff  --git a/llvm/test/MC/AArch64/SVE2/xar.s b/llvm/test/MC/AArch64/SVE2/xar.s
index f91a8045d9deb..4aed0590f69d1 100644
--- a/llvm/test/MC/AArch64/SVE2/xar.s
+++ b/llvm/test/MC/AArch64/SVE2/xar.s
@@ -1,5 +1,7 @@
 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+streaming-sve < %s \
+// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2 < %s \
@@ -10,49 +12,49 @@
 xar     z0.b, z0.b, z1.b, #1
 // CHECK-INST: xar	z0.b, z0.b, z1.b, #1
 // CHECK-ENCODING: [0x20,0x34,0x2f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 34 2f 04 <unknown>
 
 xar     z31.b, z31.b, z30.b, #8
 // CHECK-INST: xar	z31.b, z31.b, z30.b, #8
 // CHECK-ENCODING: [0xdf,0x37,0x28,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 37 28 04 <unknown>
 
 xar     z0.h, z0.h, z1.h, #1
 // CHECK-INST: xar	z0.h, z0.h, z1.h, #1
 // CHECK-ENCODING: [0x20,0x34,0x3f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 34 3f 04 <unknown>
 
 xar     z31.h, z31.h, z30.h, #16
 // CHECK-INST: xar	z31.h, z31.h, z30.h, #16
 // CHECK-ENCODING: [0xdf,0x37,0x30,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 37 30 04 <unknown>
 
 xar     z0.s, z0.s, z1.s, #1
 // CHECK-INST: xar	z0.s, z0.s, z1.s, #1
 // CHECK-ENCODING: [0x20,0x34,0x7f,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 34 7f 04 <unknown>
 
 xar     z31.s, z31.s, z30.s, #32
 // CHECK-INST: xar	z31.s, z31.s, z30.s, #32
 // CHECK-ENCODING: [0xdf,0x37,0x60,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 37 60 04 <unknown>
 
 xar     z0.d, z0.d, z1.d, #1
 // CHECK-INST: xar	z0.d, z0.d, z1.d, #1
 // CHECK-ENCODING: [0x20,0x34,0xff,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: 20 34 ff 04 <unknown>
 
 xar     z31.d, z31.d, z30.d, #64
 // CHECK-INST: xar	z31.d, z31.d, z30.d, #64
 // CHECK-ENCODING: [0xdf,0x37,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 37 a0 04 <unknown>
 
 
@@ -62,11 +64,11 @@ xar     z31.d, z31.d, z30.d, #64
 movprfx z31, z7
 // CHECK-INST: movprfx z31, z7
 // CHECK-ENCODING: [0xff,0xbc,0x20,0x04]
-// CHECK-ERROR: instruction requires: sve
+// CHECK-ERROR: instruction requires: streaming-sve or sve
 // CHECK-UNKNOWN: ff bc 20 04 <unknown>
 
 xar     z31.d, z31.d, z30.d, #64
 // CHECK-INST: xar     z31.d, z31.d, z30.d, #64
 // CHECK-ENCODING: [0xdf,0x37,0xa0,0x04]
-// CHECK-ERROR: instruction requires: sve2
+// CHECK-ERROR: instruction requires: streaming-sve or sve2
 // CHECK-UNKNOWN: df 37 a0 04 <unknown>


        


More information about the llvm-commits mailing list