forked from llvm/llvm-project
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[NFC][ARM][AArch64] More code size tests
Add analysis runs for icmp, fcmp and select instructions.
- Loading branch information
1 parent
9578a54
commit 792575f
Showing
5 changed files
with
492 additions
and
195 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py | ||
; RUN: opt -cost-model -analyze -mtriple=aarch64-- < %s | FileCheck %s --check-prefix=CHECK-THROUGHPUT | ||
; RUN: opt -cost-model -analyze -cost-kind=code-size -mtriple=aarch64-- < %s | FileCheck %s --check-prefix=CHECK-SIZE | ||
|
||
define i32 @cmps() { | ||
; CHECK-THROUGHPUT-LABEL: 'cmps' | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a0 = icmp slt i8 undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a1 = icmp ult i16 undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a2 = icmp sge i32 undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a3 = icmp ne i64 undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a4 = icmp slt <16 x i8> undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a5 = icmp ult <8 x i16> undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a6 = icmp sge <4 x i32> undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a7 = fcmp oge half undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a8 = fcmp ogt float undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a9 = fcmp ogt double undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 29 for instruction: %a10 = fcmp olt <8 x half> undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a11 = fcmp oge <4 x float> undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a12 = fcmp oge <2 x double> undef, undef | ||
; CHECK-THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef | ||
; | ||
; CHECK-SIZE-LABEL: 'cmps' | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a0 = icmp slt i8 undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a1 = icmp ult i16 undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a2 = icmp sge i32 undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a3 = icmp ne i64 undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a4 = icmp slt <16 x i8> undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a5 = icmp ult <8 x i16> undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a6 = icmp sge <4 x i32> undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a7 = fcmp oge half undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a8 = fcmp ogt float undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a9 = fcmp ogt double undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a10 = fcmp olt <8 x half> undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a11 = fcmp oge <4 x float> undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %a12 = fcmp oge <2 x double> undef, undef | ||
; CHECK-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef | ||
; | ||
%a0 = icmp slt i8 undef, undef | ||
%a1 = icmp ult i16 undef, undef | ||
%a2 = icmp sge i32 undef, undef | ||
%a3 = icmp ne i64 undef, undef | ||
%a4 = icmp slt <16 x i8> undef, undef | ||
%a5 = icmp ult <8 x i16> undef, undef | ||
%a6 = icmp sge <4 x i32> undef, undef | ||
%a7 = fcmp oge half undef, undef | ||
%a8 = fcmp ogt float undef, undef | ||
%a9 = fcmp ogt double undef, undef | ||
%a10 = fcmp olt <8 x half> undef, undef | ||
%a11 = fcmp oge <4 x float> undef, undef | ||
%a12 = fcmp oge <2 x double> undef, undef | ||
ret i32 undef | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.