| // RUN: llvm-mc -triple aarch64 -filetype asm -o - %s | FileCheck %s |
| |
| .arch_extension crc |
| crc32cx w0, w1, x3 |
| // CHECK: crc32cx w0, w1, x3 |
| |
| .arch_extension sm4 |
| sm4e v2.4s, v15.4s |
| // CHECK: sm4e v2.4s, v15.4s |
| |
| .arch_extension sha3 |
| sha512h q0, q1, v2.2d |
| // CHECK: sha512h q0, q1, v2.2d |
| |
| .arch_extension sha2 |
| sha1h s0, s1 |
| // CHECK: sha1h s0, s1 |
| |
| .arch_extension aes |
| aese v0.16b, v1.16b |
| // CHECK: aese v0.16b, v1.16b |
| |
| .arch_extension fp |
| fminnm d0, d0, d1 |
| // CHECK: fminnm d0, d0, d1 |
| |
| .arch_extension simd |
| addp v0.4s, v0.4s, v0.4s |
| // CHECK: addp v0.4s, v0.4s, v0.4s |
| |
| .arch_extension ras |
| esb |
| // CHECK: esb |
| |
| .arch_extension lse |
| casa w5, w7, [x20] |
| // CHECK: casa w5, w7, [x20] |
| |
| .arch_extension lse128 |
| swpp x0, x2, [x3] |
| // CHECK: swpp x0, x2, [x3] |
| |
| .arch_extension predres |
| cfp rctx, x0 |
| // CHECK: cfp rctx, x0 |
| |
| .arch_extension predres2 |
| cosp rctx, x0 |
| // CHECK: cosp rctx, x0 |
| |
| .arch_extension ccdp |
| dc cvadp, x7 |
| // CHECK: dc cvadp, x7 |
| |
| .arch_extension mte |
| irg x0, x1 |
| // CHECK: irg x0, x1 |
| |
| .arch_extension memtag |
| irg x0, x1 |
| // CHECK: irg x0, x1 |
| |
| .arch_extension tlb-rmi |
| tlbi vmalle1os |
| // CHECK: tlbi vmalle1os |
| |
| .arch_extension pan |
| mrs x0, pan |
| // CHECK: mrs x0, PAN |
| |
| .arch_extension pan-rwv |
| at s1e1wp, x2 |
| // CHECK: at s1e1wp, x2 |
| |
| .arch_extension ccpp |
| dc cvap, x7 |
| // CHECK: dc cvap, x7 |
| |
| .arch_extension rcpc |
| ldapr x0, [x1] |
| // CHECK: ldapr x0, [x1] |
| |
| .arch_extension rcpc3 |
| stilp w24, w0, [x16, #-8]! |
| // CHECK: stilp w24, w0, [x16, #-8]! |
| |
| .arch_extension ls64 |
| ld64b x0, [x13] |
| // CHECK: ld64b x0, [x13] |
| |
| .arch_extension pauth |
| paciasp |
| // CHECK: paciasp |
| |
| .arch_extension flagm |
| cfinv |
| // CHECK: cfinv |
| |
| .arch_extension hbc |
| lbl: |
| bc.eq lbl |
| // CHECK: bc.eq lbl |
| |
| .arch_extension mops |
| cpyfp [x0]!, [x1]!, x2! |
| // CHECK: cpyfp [x0]!, [x1]!, x2! |
| |
| .arch_extension the |
| rcwswp x0, x1, [x2] |
| // CHECK: rcwswp x0, x1, [x2] |
| |
| // This needs to come after `.arch_extension the` as it uses an instruction that |
| // requires both the and d128 |
| .arch_extension d128 |
| sysp #0, c2, c0, #0, x0, x1 |
| rcwcasp x0, x1, x6, x7, [x4] |
| // CHECK: sysp #0, c2, c0, #0, x0, x1 |
| // CHECK: rcwcasp x0, x1, x6, x7, [x4] |
| |
| .arch_extension rasv2 |
| mrs x0, ERXGSR_EL1 |
| // CHECK: mrs x0, ERXGSR_EL1 |
| |
| .arch_extension ite |
| trcit x0 |
| // CHECK: trcit x0 |
| |
| .arch_extension cssc |
| umax x0, x1, x2 |
| // CHECK: umax x0, x1, x2 |
| |
| .arch_extension gcs |
| gcspushm x0 |
| // CHECK: gcspushm x0 |
| |
| .arch_extension bf16 |
| bfdot v0.2s, v0.4h, v0.4h |
| // CHECK: bfdot v0.2s, v0.4h, v0.4h |
| |
| .arch_extension compnum |
| fcmla v1.2d, v2.2d, v3.2d, #0 |
| // CHECK: fcmla v1.2d, v2.2d, v3.2d, #0 |
| |
| .arch_extension dotprod |
| udot v0.4s, v0.16b, v0.16b |
| // CHECK: udot v0.4s, v0.16b, v0.16b |
| |
| .arch_extension f32mm |
| fmmla z0.s, z1.s, z2.s |
| // CHECK: fmmla z0.s, z1.s, z2.s |
| |
| .arch_extension f64mm |
| fmmla z0.d, z1.d, z2.d |
| // CHECK: fmmla z0.d, z1.d, z2.d |
| |
| .arch_extension fp16 |
| fadd v0.8h, v0.8h, v0.8h |
| // CHECK: fadd v0.8h, v0.8h, v0.8h |
| |
| .arch_extension fp16fml |
| fmlal v0.2s, v1.2h, v2.2h |
| // CHECK: fmlal v0.2s, v1.2h, v2.2h |
| |
| .arch_extension i8mm |
| usdot v0.4s, v0.16b, v0.16b |
| // CHECK: usdot v0.4s, v0.16b, v0.16b |
| |
| .arch_extension lor |
| stllr x0, [x0] |
| // CHECK: stllr x0, [x0] |
| |
| .arch_extension profile |
| msr PMBLIMITR_EL1, x0 |
| // CHECK: msr PMBLIMITR_EL1, x0 |
| |
| .arch_extension rdm |
| .arch_extension rdma |
| sqrdmlah v0.8h, v0.8h, v0.8h |
| // CHECK: sqrdmlah v0.8h, v0.8h, v0.8h |
| |
| .arch_extension sb |
| sb |
| // CHECK: sb |
| |
| .arch_extension ssbs |
| msr SSBS, #1 |
| // CHECK: msr SSBS, #1 |
| |
| .arch_extension tme |
| tstart x0 |
| // CHECK: tstart x0 |