/llvm-project/llvm/test/CodeGen/AArch64/ |
H A D | complex-deinterleaving-add-mull-fixed-contract.ll | 2 ; RUN: llc < %s --mattr=+complxnum,+neon -o - | FileCheck %s 8 ; CHECK-LABEL: mull_add: 10 ; CHECK-NEXT: zip2 v4.2d, v2.2d, v3.2d 11 ; CHECK-NEXT: zip2 v5.2d, v0.2d, v1.2d 12 ; CHECK-NEXT: zip1 v0.2d, v0.2d, v1.2d 13 ; CHECK-NEXT: zip1 v2.2d, v2.2d, v3.2d 14 ; CHECK-NEXT: fmul v1.2d, v5.2d, v4.2d 15 ; CHECK-NEXT: fmul v3.2d, v0.2d, v4.2d 16 ; CHECK-NEXT: fneg v1.2d, v1.2d 17 ; CHECK-NEXT: fmla v3.2d, v2.2d, v5.2d [all …]
|
H A D | complex-deinterleaving-add-mull-scalable-contract.ll | 2 ; RUN: llc < %s --mattr=+sve -o - | FileCheck %s 4 target triple = "aarch64-unknown-linux-gnu" 8 ; CHECK-LABEL: mull_add: 10 ; CHECK-NEXT: uzp2 z6.d, z0.d, z1.d 11 ; CHECK-NEXT: uzp1 z0.d, z0.d, z1.d 12 ; CHECK-NEXT: uzp2 z1.d, z2.d, z3.d 13 ; CHECK-NEXT: uzp1 z2.d, z2.d, z3.d 14 ; CHECK-NEXT: ptrue p0.d 15 ; CHECK-NEXT: fmul z7.d, z0.d, z1.d 16 ; CHECK-NEXT: fmul z1.d, z6.d, z1.d [all …]
|
H A D | complex-deinterleaving-add-mull-fixed-fast.ll | 2 ; RUN: llc < %s --mattr=+complxnum,+neon -o - | FileCheck %s 8 ; CHECK-LABEL: mull_add: 10 ; CHECK-NEXT: fcmla v4.2d, v0.2d, v2.2d, #0 11 ; CHECK-NEXT: fcmla v5.2d, v1.2d, v3.2d, #0 12 ; CHECK-NEXT: fcmla v4.2d, v0.2d, v2.2d, #90 13 ; CHECK-NEXT: fcmla v5.2d, v1.2d, v3.2d, #90 14 ; CHECK-NEXT: mov v0.16b, v4.16b 15 ; CHECK-NEXT: mov v1.16b, v5.16b 16 ; CHECK-NEXT: ret 18 %strided.vec = shufflevector <4 x double> %a, <4 x double> poison, <2 x i32> <i32 0, i32 2> [all …]
|
H A D | complex-deinterleaving-add-mull-scalable-fast.ll | 2 ; RUN: llc < %s --mattr=+sve -o - | FileCheck %s 8 ; CHECK-LABEL: mull_add: 10 ; CHECK-NEXT: ptrue p0.d 11 ; CHECK-NEXT: fcmla z4.d, p0/m, z0.d, z2.d, #0 12 ; CHECK-NEXT: fcmla z5.d, p0/m, z1.d, z3.d, #0 13 ; CHECK-NEXT: fcmla z4.d, p0/m, z0.d, z2.d, #90 14 ; CHECK-NEXT: fcmla z5.d, p0/m, z1.d, z3.d, #90 15 ; CHECK-NEXT: mov z0.d, z4.d 16 ; CHECK-NEXT: mov z1.d, z5.d 17 ; CHECK-NEXT: ret [all …]
|
H A D | sve-gep.ll | 2 ; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve < %s | FileCheck %s 5 ; CHECK-LABEL: scalar_of_scalable_1: 7 ; CHECK-NEXT: rdvl x8, #4 8 ; CHECK-NEXT: add x0, x0, x8 9 ; CHECK-NEXT: ret 10 %d = getelementptr <vscale x 2 x i64>, ptr %base, i64 4 11 ret ptr %d 15 ; CHECK-LABEL: scalar_of_scalable_2: 17 ; CHECK-NEXT: rdvl x8, #1 18 ; CHECK-NEXT: madd x0, x1, x8, x0 [all …]
|
H A D | sqrt-fastmath.ll | 2 ; RUN: llc < %s -mtriple=aarch64-unknown-linux-gnu -mattr=+neon,-use-reciprocal-square-root | FileC… 3 ; RUN: llc < %s -mtriple=aarch64-unknown-linux-gnu -mattr=+neon,+use-reciprocal-square-root | FileC… 6 declare <2 x float> @llvm.sqrt.v2f32(<2 x float>) #0 10 declare <2 x double> @llvm.sqrt.v2f64(<2 x double>) #0 14 ; FAULT-LABEL: fsqrt: 16 ; FAULT-NEXT: fsqrt s0, s0 17 ; FAULT-NEXT: ret 19 ; CHECK-LABEL: fsqrt: 21 ; CHECK-NEXT: frsqrte s1, s0 22 ; CHECK-NEXT: fcmp s0, #0.0 [all …]
|
H A D | vector-llrint.ll | 2 ; RUN: llc < %s -mtriple=aarch64 -mattr=+neon | FileCheck %s 5 ; CHECK-LABEL: llrint_v1i64_v1f16: 7 ; CHECK-NEXT: fcvt s0, h0 8 ; CHECK-NEXT: frintx s0, s0 9 ; CHECK-NEXT: fcvtzs x8, s0 10 ; CHECK-NEXT: fmov d0, x8 11 ; CHECK-NEXT: ret 17 define <2 x i64> @llrint_v1i64_v2f16(<2 x half> %x) { 18 ; CHECK-LABEL: llrint_v1i64_v2f16: 20 ; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0 [all …]
|
H A D | complex-deinterleaving-splat-scalable.ll | 2 ; RUN: llc < %s --mattr=+sve -o - | FileCheck %s 9 ; CHECK-LABEL: complex_mul_const: 11 ; CHECK-NEXT: mov z4.d, #0 // =0x0 12 ; CHECK-NEXT: ptrue p0.d 13 ; CHECK-NEXT: fmov z7.d, #3.00000000 14 ; CHECK-NEXT: fmov z24.d, #11.00000000 15 ; CHECK-NEXT: mov z6.d, z4.d 16 ; CHECK-NEXT: mov z5.d, z4.d 17 ; CHECK-NEXT: fcmla z6.d, p0/m, z1.d, z3.d, #0 18 ; CHECK-NEXT: fcmla z5.d, p0/m, z0.d, z2.d, #0 [all …]
|
H A D | sme2-intrinsics-max.ll | 1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 2 ; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme2 -mattr=+sve-b16b16 -force-streamin [all...] |
H A D | sme2-intrinsics-min.ll | 1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 2 ; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme2 -mattr=+sve-b16b16 -force-streamin [all...] |
H A D | sme2-intrinsics-rshl.ll | 1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 2 ; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme2 -force-streaming -verify-machineinstrs < %s | Fi… 7 ; CHECK-LABEL: multi_vec_rounding_shl_single_x2_s8: 9 ; CHECK-NEXT: mov z5.d, z2.d 10 ; CHECK-NEXT: mov z4.d, z1.d 11 ; CHECK-NEXT: srshl { z4.b, z5.b }, { z4.b, z5.b }, z3.b 12 ; CHECK-NEXT: mov z0.d, z4.d 13 ; CHECK-NEXT: mov z1.d, z5.d 14 ; CHECK-NEXT: ret 20 ; CHECK-LABEL: multi_vec_rounding_shl_single_x2_s16: [all …]
|
H A D | vector-fcvt.ll | 2 ; RUN: llc < %s -mtriple=aarch64 | FileCheck %s --check-prefixes=CHECK 4 ; Note: halves are tested in fp16-v8-instructions.ll. 7 ; CHECK-LABEL: sitofp_v4i8_float: 9 ; CHECK-NEXT: shl v0.4h, v0.4h, #8 10 ; CHECK-NEXT: sshr v0.4h, v0.4h, #8 11 ; CHECK-NEXT: sshll v0.4s, v0.4h, #0 12 ; CHECK-NEXT: scvtf v0.4s, v0.4s 13 ; CHECK-NEXT: ret 19 ; CHECK-LABEL: sitofp_v8i8_float: 21 ; CHECK-NEXT: zip1 v1.8b, v0.8b, v0.8b [all …]
|
H A D | sve2-eor3.ll | 2 ; RUN: llc -mtriple=aarch64 -mattr=+sve < %s -o - | FileCheck --check-prefix=SVE %s 3 ; RUN: llc -mtriple=aarch64 -mattr=+sve2 < %s -o - | FileCheck --check-prefix=SVE2 %s 5 … 16 x i8> @eor3_nxv16i8_left(<vscale x 16 x i8> %0, <vscale x 16 x i8> %1, <vscale x 16 x i8> %2) { 6 ; SVE-LABEL: eor3_nxv16i8_left: 8 ; SVE-NEXT: eor z0.d, z0.d, z1.d 9 ; SVE-NEXT: eor z0.d, z0.d, z2.d 10 ; SVE-NEXT: ret 12 ; SVE2-LABEL: eor3_nxv16i8_left: 14 ; SVE2-NEXT: eor3 z0.d, z0.d, z1.d, z2.d 15 ; SVE2-NEXT: ret [all …]
|
H A D | complex-deinterleaving-splat.ll | 2 ; RUN: llc < %s --mattr=+complxnum -o - | FileCheck %s 10 ; CHECK-LABEL: complex_mul_const: 12 ; CHECK-NEXT: movi v6.2d, #0000000000000000 13 ; CHECK-NEXT: movi v5.2d, #0000000000000000 14 ; CHECK-NEXT: adrp x8, .LCPI0_0 15 ; CHECK-NEXT: movi v4.2d, #0000000000000000 16 ; CHECK-NEXT: fcmla v6.2d, v1.2d, v3.2d, #0 17 ; CHECK-NEXT: fcmla v5.2d, v0.2d, v2.2d, #0 18 ; CHECK-NEXT: fcmla v6.2d, v1.2d, v3.2d, #90 19 ; CHECK-NEXT: ldr q1, [x8, :lo12:.LCPI0_0] [all …]
|
H A D | fp16-v16-instructions.ll | 2 ; RUN: llc < %s -mtriple=aarch64 | FileCheck %s 6 ; CHECK-LABEL: sitofp_i32: 8 ; CHECK-NEXT: scvtf v0.4s, v0.4s 9 ; CHECK-NEXT: scvtf v2.4s, v2.4s 10 ; CHECK-NEXT: scvtf v4.4s, v1.4s 11 ; CHECK-NEXT: fcvtn v0.4h, v0.4s 12 ; CHECK-NEXT: fcvtn v1.4h, v2.4s 13 ; CHECK-NEXT: scvtf v2.4s, v3.4s 14 ; CHECK-NEXT: fcvtn2 v0.8h, v4.4s 15 ; CHECK-NEXT: fcvtn2 v1.8h, v2.4s [all …]
|
H A D | sme2-intrinsics-sqdmulh.ll | 1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 2 ; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme2 -force-streaming -verify-machineinstrs < %s | Fi… 7 ; CHECK-LABEL: multi_vec_sat_double_mulh_single_x2_s8: 9 ; CHECK-NEXT: mov z5.d, z2.d 10 ; CHECK-NEXT: mov z4.d, z1.d 11 ; CHECK-NEXT: sqdmulh { z4.b, z5.b }, { z4.b, z5.b }, z3.b 12 ; CHECK-NEXT: mov z0.d, z4.d 13 ; CHECK-NEXT: mov z1.d, z5.d 14 ; CHECK-NEXT: ret 20 ; CHECK-LABEL: multi_vec_sat_double_mulh_single_x2_s16: [all …]
|
H A D | sve2-xar.ll | 1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 2 ; RUN: llc -mtriple=aarch64 -mattr=+sve < %s -o - | FileCheck --check-prefixes=CHECK,SVE %s 3 ; RUN: llc -mtriple=aarch64 -mattr=+sve2 < %s -o - | FileCheck --check-prefixes=CHECK,SVE2 %s 5 define <vscale x 2 x i64> @xar_nxv2i64_l(<vscale x 2 x i64> %x, <vscale x 2 x i64> %y) { 6 ; SVE-LABEL: xar_nxv2i64_l: 8 ; SVE-NEXT: eor z0.d, z0.d, z1.d 9 ; SVE-NEXT: lsr z1.d, z0.d, #4 10 ; SVE-NEXT: lsl z0.d, z0.d, #60 11 ; SVE-NEXT: orr z0.d, z0.d, z1.d 12 ; SVE-NEXT: ret [all …]
|
/llvm-project/llvm/test/tools/llvm-mca/AArch64/Exynos/ |
H A D | asimd-ld4.s | 2 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m3 -resource-pressure=false < %s | FileChec… 3 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m4 -resource-pressure=false < %s | FileChec… 4 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m5 -resource-pressure=false < %s | FileChec… 7 ld4r {v0.2s, v1.2s, v2.2s, v3.2s}, [sp] 8 ld4 {v0.2s, v1.2s, v2.2s, v3.2s}, [sp] 10 ld4 {v0.d, v1.d, v2.d, v3.d}[0], [sp] 11 ld4r {v0.2d, v1.2d, v2.2d, v3.2d}, [sp] 12 ld4 {v0.2d, v1.2d, v2.2d, v3.2d}, [sp] 15 ld4r {v0.2s, v1.2s, v2.2s, v3.2s}, [sp], #16 16 ld4 {v0.2s, v1.2s, v2.2s, v3.2s}, [sp], #32 [all …]
|
H A D | asimd-st1.s | 2 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m3 -resource-pressure=false -noalias=false … 3 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m4 -resource-pressure=false -noalias=false … 4 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m5 -resource-pressure=false -noalias=false … 7 st1 {v0.2s}, [sp] 8 st1 {v0.2s, v1.2s}, [sp] 9 st1 {v0.2s, v1.2s, v2.2s}, [sp] 10 st1 {v0.2s, v1.2s, v2.2s, v3.2s}, [sp] 12 st1 {v0.d}[0], [sp] 13 st1 {v0.2d}, [sp] 14 st1 {v0.2d, v1.2d}, [sp] [all …]
|
H A D | asimd-ld3.s | 2 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m3 -resource-pressure=false < %s | FileChec… 3 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m4 -resource-pressure=false < %s | FileChec… 4 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m5 -resource-pressure=false < %s | FileChec… 7 ld3r {v0.2s, v1.2s, v2.2s}, [sp] 8 ld3 {v0.2s, v1.2s, v2.2s}, [sp] 10 ld3 {v0.d, v1.d, v2.d}[0], [sp] 11 ld3r {v0.2d, v1.2d, v2.2d}, [sp] 12 ld3 {v0.2d, v1.2d, v2.2d}, [sp] 15 ld3r {v0.2s, v1.2s, v2.2s}, [sp], #12 16 ld3 {v0.2s, v1.2s, v2.2s}, [sp], #24 [all …]
|
H A D | asimd-ld1.s | 2 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m3 -resource-pressure=false < %s | FileChec… 3 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m4 -resource-pressure=false < %s | FileChec… 4 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m5 -resource-pressure=false < %s | FileChec… 7 ld1r {v0.2s}, [sp] 8 ld1 {v0.2s}, [sp] 9 ld1 {v0.2s, v1.2s}, [sp] 10 ld1 {v0.2s, v1.2s, v2.2s}, [sp] 11 ld1 {v0.2s, v1.2s, v2.2s, v3.2s}, [sp] 13 ld1 {v0.d}[0], [sp] 14 ld1r {v0.2d}, [sp] [all …]
|
H A D | asimd-st4.s | 2 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m3 -resource-pressure=false -noalias=false … 3 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m4 -resource-pressure=false -noalias=false … 4 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m5 -resource-pressure=false -noalias=false … 7 st4 {v0.2s, v1.2s, v2.2s, v3.2s}, [sp] 9 st4 {v0.d, v1.d, v2.d, v3.d}[0], [sp] 10 st4 {v0.2d, v1.2d, v2.2d, v3.2d}, [sp] 13 st4 {v0.2s, v1.2s, v2.2s, v3.2s}, [sp], #32 15 st4 {v0.d, v1.d, v2.d, v3.d}[0], [sp], #32 16 st4 {v0.2d, v1.2d, v2.2d, v3.2d}, [sp], #64 19 st4 {v0.2s, v1.2s, v2.2s, v3.2s}, [sp], x0 [all …]
|
H A D | asimd-st3.s | 2 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m3 -resource-pressure=false -noalias=false … 3 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m4 -resource-pressure=false -noalias=false … 4 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m5 -resource-pressure=false -noalias=false … 7 st3 {v0.2s, v1.2s, v2.2s}, [sp] 9 st3 {v0.d, v1.d, v2.d}[0], [sp] 10 st3 {v0.2d, v1.2d, v2.2d}, [sp] 13 st3 {v0.2s, v1.2s, v2.2s}, [sp], #24 15 st3 {v0.d, v1.d, v2.d}[0], [sp], #24 16 st3 {v0.2d, v1.2d, v2.2d}, [sp], #48 19 st3 {v0.2s, v1.2s, v2.2s}, [sp], x0 [all …]
|
H A D | asimd-ld2.s | 2 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m3 -resource-pressure=false < %s | FileChec… 3 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m4 -resource-pressure=false < %s | FileChec… 4 # RUN: llvm-mca -mtriple=aarch64-linux-gnu -mcpu=exynos-m5 -resource-pressure=false < %s | FileChec… 7 ld2r {v0.2s, v1.2s}, [sp] 8 ld2 {v0.2s, v1.2s}, [sp] 10 ld2 {v0.d, v1.d}[0], [sp] 11 ld2r {v0.2d, v1.2d}, [sp] 12 ld2 {v0.2d, v1.2d}, [sp] 15 ld2r {v0.2s, v1.2s}, [sp], #8 16 ld2 {v0.2s, v1.2s}, [sp], #16 [all …]
|
/llvm-project/llvm/test/tools/llvm-mca/AArch64/Neoverse/ |
H A D | V2-forwarding.s | 2 …-mca -mtriple=aarch64 -mcpu=neoverse-v2 -mattr=+sve2-aes,+sve2-sha3,+sve2-sm4 --instruction-info=0… 4 # LLVM-MCA-BEGIN madd 9 # LLVM-MCA-END 11 # LLVM-MCA-BEGIN smaddl 16 # LLVM-MCA-END 18 # LLVM-MCA-BEGIN fmadd 25 # LLVM-MCA-END 27 # LLVM-MCA-BEGIN saba 32 # LLVM-MCA-END 34 # LLVM-MCA-BEGIN sdot [all …]
|