From 4235b9cb6e5f1053c459492af7cd004fdcdb3864 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Mon, 22 Oct 2018 22:26:00 +0000 Subject: [PATCH] [ARM] Regenerate reverse shuffle costs Came about while cleaning up general shuffle costs for PR39368 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@344966 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Analysis/CostModel/ARM/shuffle.ll | 36 ++++++++++++++++------------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/test/Analysis/CostModel/ARM/shuffle.ll b/test/Analysis/CostModel/ARM/shuffle.ll index c92d6688046..7ad9b0286ec 100644 --- a/test/Analysis/CostModel/ARM/shuffle.ll +++ b/test/Analysis/CostModel/ARM/shuffle.ll @@ -1,39 +1,37 @@ +; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py ; RUN: opt < %s -cost-model -analyze -mtriple=thumbv7-apple-ios6.0.0 -mcpu=swift | FileCheck %s target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32" target triple = "thumbv7-apple-ios6.0.0" -; CHECK: shuffle -define void @shuffle() { - - - ;; Reverse shuffles should be lowered to vrev and possibly a vext (for - ;; quadwords) - - ; Vector values - ; CHECK: cost of 1 {{.*}} shuffle +;; Reverse shuffles should be lowered to vrev and possibly a vext (for quadwords) +define void @reverse() { +; CHECK-LABEL: 'reverse' +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v7 = shufflevector <2 x i8> undef, <2 x i8> undef, <2 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8 = shufflevector <4 x i8> undef, <4 x i8> undef, <4 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v9 = shufflevector <8 x i8> undef, <8 x i8> undef, <8 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v10 = shufflevector <16 x i8> undef, <16 x i8> undef, <16 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v11 = shufflevector <2 x i16> undef, <2 x i16> undef, <2 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v12 = shufflevector <4 x i16> undef, <4 x i16> undef, <4 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v13 = shufflevector <8 x i16> undef, <8 x i16> undef, <8 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v14 = shufflevector <2 x i32> undef, <2 x i32> undef, <2 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v15 = shufflevector <4 x i32> undef, <4 x i32> undef, <4 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16 = shufflevector <2 x float> undef, <2 x float> undef, <2 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v17 = shufflevector <4 x float> undef, <4 x float> undef, <4 x i32> +; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void +; %v7 = shufflevector <2 x i8> undef, <2 x i8>undef, <2 x i32> - ; CHECK: cost of 1 {{.*}} shuffle %v8 = shufflevector <4 x i8> undef, <4 x i8>undef, <4 x i32> - ; CHECK: cost of 1 {{.*}} shuffle %v9 = shufflevector <8 x i8> undef, <8 x i8>undef, <8 x i32> - ; CHECK: cost of 2 {{.*}} shuffle %v10 = shufflevector <16 x i8> undef, <16 x i8>undef, <16 x i32> - ; CHECK: cost of 1 {{.*}} shuffle %v11 = shufflevector <2 x i16> undef, <2 x i16>undef, <2 x i32> - ; CHECK: cost of 1 {{.*}} shuffle %v12 = shufflevector <4 x i16> undef, <4 x i16>undef, <4 x i32> - ; CHECK: cost of 2 {{.*}} shuffle %v13 = shufflevector <8 x i16> undef, <8 x i16>undef, <8 x i32> - ; CHECK: cost of 1 {{.*}} shuffle %v14 = shufflevector <2 x i32> undef, <2 x i32>undef, <2 x i32> - ; CHECK: cost of 2 {{.*}} shuffle %v15 = shufflevector <4 x i32> undef, <4 x i32>undef, <4 x i32> - ; CHECK: cost of 1 {{.*}} shuffle %v16 = shufflevector <2 x float> undef, <2 x float>undef, <2 x i32> - ; CHECK: cost of 2 {{.*}} shuffle %v17 = shufflevector <4 x float> undef, <4 x float>undef, <4 x i32> ret void -- 2.11.0