[llvm] 2ac46a3 - [AArch64] Update some arith and mul tests. NFC (#207589)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 5 08:18:39 PDT 2026
Author: David Green
Date: 2026-07-05T16:18:35+01:00
New Revision: 2ac46a3b86ba92408f6503986f518da6cbd1d224
URL: https://github.com/llvm/llvm-project/commit/2ac46a3b86ba92408f6503986f518da6cbd1d224
DIFF: https://github.com/llvm/llvm-project/commit/2ac46a3b86ba92408f6503986f518da6cbd1d224.diff
LOG: [AArch64] Update some arith and mul tests. NFC (#207589)
Added:
Modified:
llvm/test/Analysis/CostModel/AArch64/arith.ll
llvm/test/Analysis/CostModel/AArch64/mul.ll
Removed:
################################################################################
diff --git a/llvm/test/Analysis/CostModel/AArch64/arith.ll b/llvm/test/Analysis/CostModel/AArch64/arith.ll
index dc7a3c4ccc0e3..dd30dc63ddc85 100644
--- a/llvm/test/Analysis/CostModel/AArch64/arith.ll
+++ b/llvm/test/Analysis/CostModel/AArch64/arith.ll
@@ -153,6 +153,31 @@ define void @i128() {
ret void
}
+define void @i256() {
+; CHECK-LABEL: 'i256'
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %c = add i256 undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %d = sub i256 undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %e = mul i256 undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %f = ashr i256 undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %g = lshr i256 undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %h = shl i256 undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %i = and i256 undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %j = or i256 undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %k = xor i256 undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
+;
+ %c = add i256 undef, undef
+ %d = sub i256 undef, undef
+ %e = mul i256 undef, undef
+ %f = ashr i256 undef, undef
+ %g = lshr i256 undef, undef
+ %h = shl i256 undef, undef
+ %i = and i256 undef, undef
+ %j = or i256 undef, undef
+ %k = xor i256 undef, undef
+ ret void
+}
+
define void @vi8() {
; CHECK-LABEL: 'vi8'
diff --git a/llvm/test/Analysis/CostModel/AArch64/mul.ll b/llvm/test/Analysis/CostModel/AArch64/mul.ll
index 7f65ddea582eb..9b3f1ff898dd3 100644
--- a/llvm/test/Analysis/CostModel/AArch64/mul.ll
+++ b/llvm/test/Analysis/CostModel/AArch64/mul.ll
@@ -1,132 +1,180 @@
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=aarch64 < %s | FileCheck %s
-
-; Verify the cost of (vector) multiply instructions.
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=aarch64 < %s | FileCheck %s --check-prefixes=CHECK,CHECK-NOSVE
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=aarch64 -mattr=+sve2 < %s | FileCheck %s --check-prefixes=CHECK,CHECK-SVE
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
-define <2 x i8> @t1(<2 x i8> %a, <2 x i8> %b) {
-; CHECK-LABEL: 't1'
-; CHECK-NEXT: Cost Model: Found costs of 1 for: %1 = mul <2 x i8> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <2 x i8> %1
-;
- %1 = mul <2 x i8> %a, %b
- ret <2 x i8> %1
-}
+; Verify the cost of (vector) multiply instructions.
-define <4 x i8> @t2(<4 x i8> %a, <4 x i8> %b) {
-; CHECK-LABEL: 't2'
-; CHECK-NEXT: Cost Model: Found costs of 1 for: %1 = mul <4 x i8> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <4 x i8> %1
+define void @vi8() {
+; CHECK-LABEL: 'vi8'
+; CHECK-NEXT: Cost Model: Found costs of 1 for: %e2 = mul <2 x i8> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of 1 for: %e4 = mul <4 x i8> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of 1 for: %e8 = mul <8 x i8> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of 1 for: %e16 = mul <16 x i8> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <4 x i8> %a, %b
- ret <4 x i8> %1
+ %e2 = mul <2 x i8> undef, undef
+ %e4 = mul <4 x i8> undef, undef
+ %e8 = mul <8 x i8> undef, undef
+ %e16 = mul <16 x i8> undef, undef
+ ret void
}
-define <8 x i8> @t3(<8 x i8> %a, <8 x i8> %b) {
-; CHECK-LABEL: 't3'
-; CHECK-NEXT: Cost Model: Found costs of 1 for: %1 = mul <8 x i8> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <8 x i8> %1
+define void @vi16() {
+; CHECK-LABEL: 'vi16'
+; CHECK-NEXT: Cost Model: Found costs of 1 for: %e2 = mul <2 x i16> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of 1 for: %e4 = mul <4 x i16> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of 1 for: %e8 = mul <8 x i16> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <16 x i16> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <8 x i8> %a, %b
- ret <8 x i8> %1
+ %e2 = mul <2 x i16> undef, undef
+ %e4 = mul <4 x i16> undef, undef
+ %e8 = mul <8 x i16> undef, undef
+ %e16 = mul <16 x i16> undef, undef
+ ret void
}
-define <16 x i8> @t4(<16 x i8> %a, <16 x i8> %b) {
-; CHECK-LABEL: 't4'
-; CHECK-NEXT: Cost Model: Found costs of 1 for: %1 = mul <16 x i8> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <16 x i8> %1
+define void @vi32() {
+; CHECK-LABEL: 'vi32'
+; CHECK-NEXT: Cost Model: Found costs of 1 for: %e2 = mul <2 x i32> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of 1 for: %e4 = mul <4 x i32> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %e8 = mul <8 x i32> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <16 x i32> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <16 x i8> %a, %b
- ret <16 x i8> %1
+ %e2 = mul <2 x i32> undef, undef
+ %e4 = mul <4 x i32> undef, undef
+ %e8 = mul <8 x i32> undef, undef
+ %e16 = mul <16 x i32> undef, undef
+ ret void
}
-define <32 x i8> @t5(<32 x i8> %a, <32 x i8> %b) {
-; CHECK-LABEL: 't5'
-; CHECK-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %1 = mul <32 x i8> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <32 x i8> %1
+define void @vi64() {
+; CHECK-NOSVE-LABEL: 'vi64'
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %e2 = mul <2 x i64> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %e4 = mul <4 x i64> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:56 CodeSize:1 Lat:1 SizeLat:1 for: %e8 = mul <8 x i64> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:112 CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <16 x i64> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <32 x i8> %a, %b
- ret <32 x i8> %1
-}
-
-define <2 x i16> @t6(<2 x i16> %a, <2 x i16> %b) {
-; CHECK-LABEL: 't6'
-; CHECK-NEXT: Cost Model: Found costs of 1 for: %1 = mul <2 x i16> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <2 x i16> %1
+; CHECK-SVE-LABEL: 'vi64'
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e2 = mul <2 x i64> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %e4 = mul <4 x i64> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %e8 = mul <8 x i64> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <16 x i64> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <2 x i16> %a, %b
- ret <2 x i16> %1
+ %e2 = mul <2 x i64> undef, undef
+ %e4 = mul <4 x i64> undef, undef
+ %e8 = mul <8 x i64> undef, undef
+ %e16 = mul <16 x i64> undef, undef
+ ret void
}
-define <4 x i16> @t7(<4 x i16> %a, <4 x i16> %b) {
-; CHECK-LABEL: 't7'
-; CHECK-NEXT: Cost Model: Found costs of 1 for: %1 = mul <4 x i16> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <4 x i16> %1
+define void @vi128() {
+; CHECK-LABEL: 'vi128'
+; CHECK-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %e2 = mul <2 x i128> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <4 x i16> %a, %b
- ret <4 x i16> %1
+ %e2 = mul <2 x i128> undef, undef
+ ret void
}
-define <8 x i16> @t8(<8 x i16> %a, <8 x i16> %b) {
-; CHECK-LABEL: 't8'
-; CHECK-NEXT: Cost Model: Found costs of 1 for: %1 = mul <8 x i16> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <8 x i16> %1
+define void @xvi8() {
+; CHECK-NOSVE-LABEL: 'xvi8'
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e2 = mul <vscale x 2 x i8> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e4 = mul <vscale x 4 x i8> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e8 = mul <vscale x 8 x i8> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <vscale x 16 x i8> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <8 x i16> %a, %b
- ret <8 x i16> %1
-}
-
-define <16 x i16> @t9(<16 x i16> %a, <16 x i16> %b) {
-; CHECK-LABEL: 't9'
-; CHECK-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %1 = mul <16 x i16> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <16 x i16> %1
+; CHECK-SVE-LABEL: 'xvi8'
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e2 = mul <vscale x 2 x i8> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e4 = mul <vscale x 4 x i8> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e8 = mul <vscale x 8 x i8> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e16 = mul <vscale x 16 x i8> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <16 x i16> %a, %b
- ret <16 x i16> %1
+ %e2 = mul <vscale x 2 x i8> undef, undef
+ %e4 = mul <vscale x 4 x i8> undef, undef
+ %e8 = mul <vscale x 8 x i8> undef, undef
+ %e16 = mul <vscale x 16 x i8> undef, undef
+ ret void
}
-define <2 x i32> @t10(<2 x i32> %a, <2 x i32> %b) {
-; CHECK-LABEL: 't10'
-; CHECK-NEXT: Cost Model: Found costs of 1 for: %1 = mul <2 x i32> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <2 x i32> %1
+define void @nxvi16() {
+; CHECK-NOSVE-LABEL: 'nxvi16'
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e2 = mul <vscale x 2 x i16> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e4 = mul <vscale x 4 x i16> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e8 = mul <vscale x 8 x i16> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <vscale x 16 x i16> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <2 x i32> %a, %b
- ret <2 x i32> %1
-}
-
-define <4 x i32> @t11(<4 x i32> %a, <4 x i32> %b) {
-; CHECK-LABEL: 't11'
-; CHECK-NEXT: Cost Model: Found costs of 1 for: %1 = mul <4 x i32> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <4 x i32> %1
+; CHECK-SVE-LABEL: 'nxvi16'
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e2 = mul <vscale x 2 x i16> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e4 = mul <vscale x 4 x i16> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e8 = mul <vscale x 8 x i16> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <vscale x 16 x i16> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <4 x i32> %a, %b
- ret <4 x i32> %1
+ %e2 = mul <vscale x 2 x i16> undef, undef
+ %e4 = mul <vscale x 4 x i16> undef, undef
+ %e8 = mul <vscale x 8 x i16> undef, undef
+ %e16 = mul <vscale x 16 x i16> undef, undef
+ ret void
}
-define <8 x i32> @t12(<8 x i32> %a, <8 x i32> %b) {
-; CHECK-LABEL: 't12'
-; CHECK-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %1 = mul <8 x i32> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <8 x i32> %1
+define void @nxvi32() {
+; CHECK-NOSVE-LABEL: 'nxvi32'
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e2 = mul <vscale x 2 x i32> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e4 = mul <vscale x 4 x i32> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e8 = mul <vscale x 8 x i32> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <vscale x 16 x i32> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
+;
+; CHECK-SVE-LABEL: 'nxvi32'
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e2 = mul <vscale x 2 x i32> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e4 = mul <vscale x 4 x i32> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %e8 = mul <vscale x 8 x i32> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <vscale x 16 x i32> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul <8 x i32> %a, %b
- ret <8 x i32> %1
+ %e2 = mul <vscale x 2 x i32> undef, undef
+ %e4 = mul <vscale x 4 x i32> undef, undef
+ %e8 = mul <vscale x 8 x i32> undef, undef
+ %e16 = mul <vscale x 16 x i32> undef, undef
+ ret void
}
-define <2 x i64> @t13(<2 x i64> %a, <2 x i64> %b) {
-; CHECK-LABEL: 't13'
-; CHECK-NEXT: Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %1 = mul nsw <2 x i64> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <2 x i64> %1
+define void @nxvi64() {
+; CHECK-NOSVE-LABEL: 'nxvi64'
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e2 = mul <vscale x 2 x i64> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e4 = mul <vscale x 4 x i64> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e8 = mul <vscale x 8 x i64> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <vscale x 16 x i64> undef, undef
+; CHECK-NOSVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
+;
+; CHECK-SVE-LABEL: 'nxvi64'
+; CHECK-SVE-NEXT: Cost Model: Found costs of 1 for: %e2 = mul <vscale x 2 x i64> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %e4 = mul <vscale x 4 x i64> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %e8 = mul <vscale x 8 x i64> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %e16 = mul <vscale x 16 x i64> undef, undef
+; CHECK-SVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul nsw <2 x i64> %a, %b
- ret <2 x i64> %1
+ %e2 = mul <vscale x 2 x i64> undef, undef
+ %e4 = mul <vscale x 4 x i64> undef, undef
+ %e8 = mul <vscale x 8 x i64> undef, undef
+ %e16 = mul <vscale x 16 x i64> undef, undef
+ ret void
}
-define <4 x i64> @t14(<4 x i64> %a, <4 x i64> %b) {
-; CHECK-LABEL: 't14'
-; CHECK-NEXT: Cost Model: Found costs of RThru:28 CodeSize:1 Lat:1 SizeLat:1 for: %1 = mul nsw <4 x i64> %a, %b
-; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <4 x i64> %1
+define void @nxvi128() {
+; CHECK-LABEL: 'nxvi128'
+; CHECK-NEXT: Cost Model: Found costs of RThru:Invalid CodeSize:1 Lat:1 SizeLat:1 for: %e2 = mul <vscale x 2 x i128> undef, undef
+; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
;
- %1 = mul nsw <4 x i64> %a, %b
- ret <4 x i64> %1
+ %e2 = mul <vscale x 2 x i128> undef, undef
+ ret void
}
More information about the llvm-commits
mailing list