summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/CostModel/X86/arith-fp.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Analysis/CostModel/X86/arith-fp.ll')
-rw-r--r--llvm/test/Analysis/CostModel/X86/arith-fp.ll324
1 files changed, 162 insertions, 162 deletions
diff --git a/llvm/test/Analysis/CostModel/X86/arith-fp.ll b/llvm/test/Analysis/CostModel/X86/arith-fp.ll
index e5043010c11..7e7057f372e 100644
--- a/llvm/test/Analysis/CostModel/X86/arith-fp.ll
+++ b/llvm/test/Analysis/CostModel/X86/arith-fp.ll
@@ -10,54 +10,54 @@ target triple = "x86_64-apple-macosx10.8.0"
; CHECK-LABEL: 'fadd'
define i32 @fadd(i32 %arg) {
- ; SSE2: cost of 2 {{.*}} %F32 = fadd
- ; SSE42: cost of 2 {{.*}} %F32 = fadd
- ; AVX: cost of 2 {{.*}} %F32 = fadd
- ; AVX2: cost of 2 {{.*}} %F32 = fadd
- ; AVX512: cost of 2 {{.*}} %F32 = fadd
+ ; SSE2: cost of 1 {{.*}} %F32 = fadd
+ ; SSE42: cost of 1 {{.*}} %F32 = fadd
+ ; AVX: cost of 1 {{.*}} %F32 = fadd
+ ; AVX2: cost of 1 {{.*}} %F32 = fadd
+ ; AVX512: cost of 1 {{.*}} %F32 = fadd
%F32 = fadd float undef, undef
- ; SSE2: cost of 2 {{.*}} %V4F32 = fadd
- ; SSE42: cost of 2 {{.*}} %V4F32 = fadd
- ; AVX: cost of 2 {{.*}} %V4F32 = fadd
- ; AVX2: cost of 2 {{.*}} %V4F32 = fadd
- ; AVX512: cost of 2 {{.*}} %V4F32 = fadd
+ ; SSE2: cost of 1 {{.*}} %V4F32 = fadd
+ ; SSE42: cost of 1 {{.*}} %V4F32 = fadd
+ ; AVX: cost of 1 {{.*}} %V4F32 = fadd
+ ; AVX2: cost of 1 {{.*}} %V4F32 = fadd
+ ; AVX512: cost of 1 {{.*}} %V4F32 = fadd
%V4F32 = fadd <4 x float> undef, undef
- ; SSE2: cost of 4 {{.*}} %V8F32 = fadd
- ; SSE42: cost of 4 {{.*}} %V8F32 = fadd
- ; AVX: cost of 2 {{.*}} %V8F32 = fadd
- ; AVX2: cost of 2 {{.*}} %V8F32 = fadd
- ; AVX512: cost of 2 {{.*}} %V8F32 = fadd
+ ; SSE2: cost of 2 {{.*}} %V8F32 = fadd
+ ; SSE42: cost of 2 {{.*}} %V8F32 = fadd
+ ; AVX: cost of 1 {{.*}} %V8F32 = fadd
+ ; AVX2: cost of 1 {{.*}} %V8F32 = fadd
+ ; AVX512: cost of 1 {{.*}} %V8F32 = fadd
%V8F32 = fadd <8 x float> undef, undef
- ; SSE2: cost of 8 {{.*}} %V16F32 = fadd
- ; SSE42: cost of 8 {{.*}} %V16F32 = fadd
- ; AVX: cost of 4 {{.*}} %V16F32 = fadd
- ; AVX2: cost of 4 {{.*}} %V16F32 = fadd
- ; AVX512: cost of 2 {{.*}} %V16F32 = fadd
+ ; SSE2: cost of 4 {{.*}} %V16F32 = fadd
+ ; SSE42: cost of 4 {{.*}} %V16F32 = fadd
+ ; AVX: cost of 2 {{.*}} %V16F32 = fadd
+ ; AVX2: cost of 2 {{.*}} %V16F32 = fadd
+ ; AVX512: cost of 1 {{.*}} %V16F32 = fadd
%V16F32 = fadd <16 x float> undef, undef
- ; SSE2: cost of 2 {{.*}} %F64 = fadd
- ; SSE42: cost of 2 {{.*}} %F64 = fadd
- ; AVX: cost of 2 {{.*}} %F64 = fadd
- ; AVX2: cost of 2 {{.*}} %F64 = fadd
- ; AVX512: cost of 2 {{.*}} %F64 = fadd
+ ; SSE2: cost of 1 {{.*}} %F64 = fadd
+ ; SSE42: cost of 1 {{.*}} %F64 = fadd
+ ; AVX: cost of 1 {{.*}} %F64 = fadd
+ ; AVX2: cost of 1 {{.*}} %F64 = fadd
+ ; AVX512: cost of 1 {{.*}} %F64 = fadd
%F64 = fadd double undef, undef
- ; SSE2: cost of 2 {{.*}} %V2F64 = fadd
- ; SSE42: cost of 2 {{.*}} %V2F64 = fadd
- ; AVX: cost of 2 {{.*}} %V2F64 = fadd
- ; AVX2: cost of 2 {{.*}} %V2F64 = fadd
- ; AVX512: cost of 2 {{.*}} %V2F64 = fadd
+ ; SSE2: cost of 1 {{.*}} %V2F64 = fadd
+ ; SSE42: cost of 1 {{.*}} %V2F64 = fadd
+ ; AVX: cost of 1 {{.*}} %V2F64 = fadd
+ ; AVX2: cost of 1 {{.*}} %V2F64 = fadd
+ ; AVX512: cost of 1 {{.*}} %V2F64 = fadd
%V2F64 = fadd <2 x double> undef, undef
- ; SSE2: cost of 4 {{.*}} %V4F64 = fadd
- ; SSE42: cost of 4 {{.*}} %V4F64 = fadd
- ; AVX: cost of 2 {{.*}} %V4F64 = fadd
- ; AVX2: cost of 2 {{.*}} %V4F64 = fadd
- ; AVX512: cost of 2 {{.*}} %V4F64 = fadd
+ ; SSE2: cost of 2 {{.*}} %V4F64 = fadd
+ ; SSE42: cost of 2 {{.*}} %V4F64 = fadd
+ ; AVX: cost of 1 {{.*}} %V4F64 = fadd
+ ; AVX2: cost of 1 {{.*}} %V4F64 = fadd
+ ; AVX512: cost of 1 {{.*}} %V4F64 = fadd
%V4F64 = fadd <4 x double> undef, undef
- ; SSE2: cost of 8 {{.*}} %V8F64 = fadd
- ; SSE42: cost of 8 {{.*}} %V8F64 = fadd
- ; AVX: cost of 4 {{.*}} %V8F64 = fadd
- ; AVX2: cost of 4 {{.*}} %V8F64 = fadd
- ; AVX512: cost of 2 {{.*}} %V8F64 = fadd
+ ; SSE2: cost of 4 {{.*}} %V8F64 = fadd
+ ; SSE42: cost of 4 {{.*}} %V8F64 = fadd
+ ; AVX: cost of 2 {{.*}} %V8F64 = fadd
+ ; AVX2: cost of 2 {{.*}} %V8F64 = fadd
+ ; AVX512: cost of 1 {{.*}} %V8F64 = fadd
%V8F64 = fadd <8 x double> undef, undef
ret i32 undef
@@ -65,54 +65,54 @@ define i32 @fadd(i32 %arg) {
; CHECK-LABEL: 'fsub'
define i32 @fsub(i32 %arg) {
- ; SSE2: cost of 2 {{.*}} %F32 = fsub
- ; SSE42: cost of 2 {{.*}} %F32 = fsub
- ; AVX: cost of 2 {{.*}} %F32 = fsub
- ; AVX2: cost of 2 {{.*}} %F32 = fsub
- ; AVX512: cost of 2 {{.*}} %F32 = fsub
+ ; SSE2: cost of 1 {{.*}} %F32 = fsub
+ ; SSE42: cost of 1 {{.*}} %F32 = fsub
+ ; AVX: cost of 1 {{.*}} %F32 = fsub
+ ; AVX2: cost of 1 {{.*}} %F32 = fsub
+ ; AVX512: cost of 1 {{.*}} %F32 = fsub
%F32 = fsub float undef, undef
- ; SSE2: cost of 2 {{.*}} %V4F32 = fsub
- ; SSE42: cost of 2 {{.*}} %V4F32 = fsub
- ; AVX: cost of 2 {{.*}} %V4F32 = fsub
- ; AVX2: cost of 2 {{.*}} %V4F32 = fsub
- ; AVX512: cost of 2 {{.*}} %V4F32 = fsub
+ ; SSE2: cost of 1 {{.*}} %V4F32 = fsub
+ ; SSE42: cost of 1 {{.*}} %V4F32 = fsub
+ ; AVX: cost of 1 {{.*}} %V4F32 = fsub
+ ; AVX2: cost of 1 {{.*}} %V4F32 = fsub
+ ; AVX512: cost of 1 {{.*}} %V4F32 = fsub
%V4F32 = fsub <4 x float> undef, undef
- ; SSE2: cost of 4 {{.*}} %V8F32 = fsub
- ; SSE42: cost of 4 {{.*}} %V8F32 = fsub
- ; AVX: cost of 2 {{.*}} %V8F32 = fsub
- ; AVX2: cost of 2 {{.*}} %V8F32 = fsub
- ; AVX512: cost of 2 {{.*}} %V8F32 = fsub
+ ; SSE2: cost of 2 {{.*}} %V8F32 = fsub
+ ; SSE42: cost of 2 {{.*}} %V8F32 = fsub
+ ; AVX: cost of 1 {{.*}} %V8F32 = fsub
+ ; AVX2: cost of 1 {{.*}} %V8F32 = fsub
+ ; AVX512: cost of 1 {{.*}} %V8F32 = fsub
%V8F32 = fsub <8 x float> undef, undef
- ; SSE2: cost of 8 {{.*}} %V16F32 = fsub
- ; SSE42: cost of 8 {{.*}} %V16F32 = fsub
- ; AVX: cost of 4 {{.*}} %V16F32 = fsub
- ; AVX2: cost of 4 {{.*}} %V16F32 = fsub
- ; AVX512: cost of 2 {{.*}} %V16F32 = fsub
+ ; SSE2: cost of 4 {{.*}} %V16F32 = fsub
+ ; SSE42: cost of 4 {{.*}} %V16F32 = fsub
+ ; AVX: cost of 2 {{.*}} %V16F32 = fsub
+ ; AVX2: cost of 2 {{.*}} %V16F32 = fsub
+ ; AVX512: cost of 1 {{.*}} %V16F32 = fsub
%V16F32 = fsub <16 x float> undef, undef
- ; SSE2: cost of 2 {{.*}} %F64 = fsub
- ; SSE42: cost of 2 {{.*}} %F64 = fsub
- ; AVX: cost of 2 {{.*}} %F64 = fsub
- ; AVX2: cost of 2 {{.*}} %F64 = fsub
- ; AVX512: cost of 2 {{.*}} %F64 = fsub
+ ; SSE2: cost of 1 {{.*}} %F64 = fsub
+ ; SSE42: cost of 1 {{.*}} %F64 = fsub
+ ; AVX: cost of 1 {{.*}} %F64 = fsub
+ ; AVX2: cost of 1 {{.*}} %F64 = fsub
+ ; AVX512: cost of 1 {{.*}} %F64 = fsub
%F64 = fsub double undef, undef
- ; SSE2: cost of 2 {{.*}} %V2F64 = fsub
- ; SSE42: cost of 2 {{.*}} %V2F64 = fsub
- ; AVX: cost of 2 {{.*}} %V2F64 = fsub
- ; AVX2: cost of 2 {{.*}} %V2F64 = fsub
- ; AVX512: cost of 2 {{.*}} %V2F64 = fsub
+ ; SSE2: cost of 1 {{.*}} %V2F64 = fsub
+ ; SSE42: cost of 1 {{.*}} %V2F64 = fsub
+ ; AVX: cost of 1 {{.*}} %V2F64 = fsub
+ ; AVX2: cost of 1 {{.*}} %V2F64 = fsub
+ ; AVX512: cost of 1 {{.*}} %V2F64 = fsub
%V2F64 = fsub <2 x double> undef, undef
- ; SSE2: cost of 4 {{.*}} %V4F64 = fsub
- ; SSE42: cost of 4 {{.*}} %V4F64 = fsub
- ; AVX: cost of 2 {{.*}} %V4F64 = fsub
- ; AVX2: cost of 2 {{.*}} %V4F64 = fsub
- ; AVX512: cost of 2 {{.*}} %V4F64 = fsub
+ ; SSE2: cost of 2 {{.*}} %V4F64 = fsub
+ ; SSE42: cost of 2 {{.*}} %V4F64 = fsub
+ ; AVX: cost of 1 {{.*}} %V4F64 = fsub
+ ; AVX2: cost of 1 {{.*}} %V4F64 = fsub
+ ; AVX512: cost of 1 {{.*}} %V4F64 = fsub
%V4F64 = fsub <4 x double> undef, undef
- ; SSE2: cost of 8 {{.*}} %V8F64 = fsub
- ; SSE42: cost of 8 {{.*}} %V8F64 = fsub
- ; AVX: cost of 4 {{.*}} %V8F64 = fsub
- ; AVX2: cost of 4 {{.*}} %V8F64 = fsub
- ; AVX512: cost of 2 {{.*}} %V8F64 = fsub
+ ; SSE2: cost of 4 {{.*}} %V8F64 = fsub
+ ; SSE42: cost of 4 {{.*}} %V8F64 = fsub
+ ; AVX: cost of 2 {{.*}} %V8F64 = fsub
+ ; AVX2: cost of 2 {{.*}} %V8F64 = fsub
+ ; AVX512: cost of 1 {{.*}} %V8F64 = fsub
%V8F64 = fsub <8 x double> undef, undef
ret i32 undef
@@ -120,54 +120,54 @@ define i32 @fsub(i32 %arg) {
; CHECK-LABEL: 'fmul'
define i32 @fmul(i32 %arg) {
- ; SSE2: cost of 2 {{.*}} %F32 = fmul
- ; SSE42: cost of 2 {{.*}} %F32 = fmul
- ; AVX: cost of 2 {{.*}} %F32 = fmul
- ; AVX2: cost of 2 {{.*}} %F32 = fmul
- ; AVX512: cost of 2 {{.*}} %F32 = fmul
+ ; SSE2: cost of 1 {{.*}} %F32 = fmul
+ ; SSE42: cost of 1 {{.*}} %F32 = fmul
+ ; AVX: cost of 1 {{.*}} %F32 = fmul
+ ; AVX2: cost of 1 {{.*}} %F32 = fmul
+ ; AVX512: cost of 1 {{.*}} %F32 = fmul
%F32 = fmul float undef, undef
- ; SSE2: cost of 2 {{.*}} %V4F32 = fmul
- ; SSE42: cost of 2 {{.*}} %V4F32 = fmul
- ; AVX: cost of 2 {{.*}} %V4F32 = fmul
- ; AVX2: cost of 2 {{.*}} %V4F32 = fmul
- ; AVX512: cost of 2 {{.*}} %V4F32 = fmul
+ ; SSE2: cost of 1 {{.*}} %V4F32 = fmul
+ ; SSE42: cost of 1 {{.*}} %V4F32 = fmul
+ ; AVX: cost of 1 {{.*}} %V4F32 = fmul
+ ; AVX2: cost of 1 {{.*}} %V4F32 = fmul
+ ; AVX512: cost of 1 {{.*}} %V4F32 = fmul
%V4F32 = fmul <4 x float> undef, undef
- ; SSE2: cost of 4 {{.*}} %V8F32 = fmul
- ; SSE42: cost of 4 {{.*}} %V8F32 = fmul
- ; AVX: cost of 2 {{.*}} %V8F32 = fmul
- ; AVX2: cost of 2 {{.*}} %V8F32 = fmul
- ; AVX512: cost of 2 {{.*}} %V8F32 = fmul
+ ; SSE2: cost of 2 {{.*}} %V8F32 = fmul
+ ; SSE42: cost of 2 {{.*}} %V8F32 = fmul
+ ; AVX: cost of 1 {{.*}} %V8F32 = fmul
+ ; AVX2: cost of 1 {{.*}} %V8F32 = fmul
+ ; AVX512: cost of 1 {{.*}} %V8F32 = fmul
%V8F32 = fmul <8 x float> undef, undef
- ; SSE2: cost of 8 {{.*}} %V16F32 = fmul
- ; SSE42: cost of 8 {{.*}} %V16F32 = fmul
- ; AVX: cost of 4 {{.*}} %V16F32 = fmul
- ; AVX2: cost of 4 {{.*}} %V16F32 = fmul
- ; AVX512: cost of 2 {{.*}} %V16F32 = fmul
+ ; SSE2: cost of 4 {{.*}} %V16F32 = fmul
+ ; SSE42: cost of 4 {{.*}} %V16F32 = fmul
+ ; AVX: cost of 2 {{.*}} %V16F32 = fmul
+ ; AVX2: cost of 2 {{.*}} %V16F32 = fmul
+ ; AVX512: cost of 1 {{.*}} %V16F32 = fmul
%V16F32 = fmul <16 x float> undef, undef
- ; SSE2: cost of 2 {{.*}} %F64 = fmul
- ; SSE42: cost of 2 {{.*}} %F64 = fmul
- ; AVX: cost of 2 {{.*}} %F64 = fmul
- ; AVX2: cost of 2 {{.*}} %F64 = fmul
- ; AVX512: cost of 2 {{.*}} %F64 = fmul
+ ; SSE2: cost of 1 {{.*}} %F64 = fmul
+ ; SSE42: cost of 1 {{.*}} %F64 = fmul
+ ; AVX: cost of 1 {{.*}} %F64 = fmul
+ ; AVX2: cost of 1 {{.*}} %F64 = fmul
+ ; AVX512: cost of 1 {{.*}} %F64 = fmul
%F64 = fmul double undef, undef
- ; SSE2: cost of 2 {{.*}} %V2F64 = fmul
- ; SSE42: cost of 2 {{.*}} %V2F64 = fmul
- ; AVX: cost of 2 {{.*}} %V2F64 = fmul
- ; AVX2: cost of 2 {{.*}} %V2F64 = fmul
- ; AVX512: cost of 2 {{.*}} %V2F64 = fmul
+ ; SSE2: cost of 1 {{.*}} %V2F64 = fmul
+ ; SSE42: cost of 1 {{.*}} %V2F64 = fmul
+ ; AVX: cost of 1 {{.*}} %V2F64 = fmul
+ ; AVX2: cost of 1 {{.*}} %V2F64 = fmul
+ ; AVX512: cost of 1 {{.*}} %V2F64 = fmul
%V2F64 = fmul <2 x double> undef, undef
- ; SSE2: cost of 4 {{.*}} %V4F64 = fmul
- ; SSE42: cost of 4 {{.*}} %V4F64 = fmul
- ; AVX: cost of 2 {{.*}} %V4F64 = fmul
- ; AVX2: cost of 2 {{.*}} %V4F64 = fmul
- ; AVX512: cost of 2 {{.*}} %V4F64 = fmul
+ ; SSE2: cost of 2 {{.*}} %V4F64 = fmul
+ ; SSE42: cost of 2 {{.*}} %V4F64 = fmul
+ ; AVX: cost of 1 {{.*}} %V4F64 = fmul
+ ; AVX2: cost of 1 {{.*}} %V4F64 = fmul
+ ; AVX512: cost of 1 {{.*}} %V4F64 = fmul
%V4F64 = fmul <4 x double> undef, undef
- ; SSE2: cost of 8 {{.*}} %V8F64 = fmul
- ; SSE42: cost of 8 {{.*}} %V8F64 = fmul
- ; AVX: cost of 4 {{.*}} %V8F64 = fmul
- ; AVX2: cost of 4 {{.*}} %V8F64 = fmul
- ; AVX512: cost of 2 {{.*}} %V8F64 = fmul
+ ; SSE2: cost of 4 {{.*}} %V8F64 = fmul
+ ; SSE42: cost of 4 {{.*}} %V8F64 = fmul
+ ; AVX: cost of 2 {{.*}} %V8F64 = fmul
+ ; AVX2: cost of 2 {{.*}} %V8F64 = fmul
+ ; AVX512: cost of 1 {{.*}} %V8F64 = fmul
%V8F64 = fmul <8 x double> undef, undef
ret i32 undef
@@ -197,7 +197,7 @@ define i32 @fdiv(i32 %arg) {
; SSE42: cost of 56 {{.*}} %V16F32 = fdiv
; AVX: cost of 56 {{.*}} %V16F32 = fdiv
; AVX2: cost of 28 {{.*}} %V16F32 = fdiv
- ; AVX512: cost of 2 {{.*}} %V16F32 = fdiv
+ ; AVX512: cost of 1 {{.*}} %V16F32 = fdiv
%V16F32 = fdiv <16 x float> undef, undef
; SSE2: cost of 38 {{.*}} %F64 = fdiv
@@ -222,7 +222,7 @@ define i32 @fdiv(i32 %arg) {
; SSE42: cost of 88 {{.*}} %V8F64 = fdiv
; AVX: cost of 88 {{.*}} %V8F64 = fdiv
; AVX2: cost of 56 {{.*}} %V8F64 = fdiv
- ; AVX512: cost of 2 {{.*}} %V8F64 = fdiv
+ ; AVX512: cost of 1 {{.*}} %V8F64 = fdiv
%V8F64 = fdiv <8 x double> undef, undef
ret i32 undef
@@ -230,54 +230,54 @@ define i32 @fdiv(i32 %arg) {
; CHECK-LABEL: 'frem'
define i32 @frem(i32 %arg) {
- ; SSE2: cost of 2 {{.*}} %F32 = frem
- ; SSE42: cost of 2 {{.*}} %F32 = frem
- ; AVX: cost of 2 {{.*}} %F32 = frem
- ; AVX2: cost of 2 {{.*}} %F32 = frem
- ; AVX512: cost of 2 {{.*}} %F32 = frem
+ ; SSE2: cost of 1 {{.*}} %F32 = frem
+ ; SSE42: cost of 1 {{.*}} %F32 = frem
+ ; AVX: cost of 1 {{.*}} %F32 = frem
+ ; AVX2: cost of 1 {{.*}} %F32 = frem
+ ; AVX512: cost of 1 {{.*}} %F32 = frem
%F32 = frem float undef, undef
- ; SSE2: cost of 14 {{.*}} %V4F32 = frem
- ; SSE42: cost of 14 {{.*}} %V4F32 = frem
- ; AVX: cost of 14 {{.*}} %V4F32 = frem
- ; AVX2: cost of 14 {{.*}} %V4F32 = frem
- ; AVX512: cost of 14 {{.*}} %V4F32 = frem
+ ; SSE2: cost of 10 {{.*}} %V4F32 = frem
+ ; SSE42: cost of 10 {{.*}} %V4F32 = frem
+ ; AVX: cost of 10 {{.*}} %V4F32 = frem
+ ; AVX2: cost of 10 {{.*}} %V4F32 = frem
+ ; AVX512: cost of 10 {{.*}} %V4F32 = frem
%V4F32 = frem <4 x float> undef, undef
- ; SSE2: cost of 28 {{.*}} %V8F32 = frem
- ; SSE42: cost of 28 {{.*}} %V8F32 = frem
- ; AVX: cost of 30 {{.*}} %V8F32 = frem
- ; AVX2: cost of 30 {{.*}} %V8F32 = frem
- ; AVX512: cost of 30 {{.*}} %V8F32 = frem
+ ; SSE2: cost of 20 {{.*}} %V8F32 = frem
+ ; SSE42: cost of 20 {{.*}} %V8F32 = frem
+ ; AVX: cost of 22 {{.*}} %V8F32 = frem
+ ; AVX2: cost of 22 {{.*}} %V8F32 = frem
+ ; AVX512: cost of 22 {{.*}} %V8F32 = frem
%V8F32 = frem <8 x float> undef, undef
- ; SSE2: cost of 56 {{.*}} %V16F32 = frem
- ; SSE42: cost of 56 {{.*}} %V16F32 = frem
- ; AVX: cost of 60 {{.*}} %V16F32 = frem
- ; AVX2: cost of 60 {{.*}} %V16F32 = frem
- ; AVX512: cost of 62 {{.*}} %V16F32 = frem
+ ; SSE2: cost of 40 {{.*}} %V16F32 = frem
+ ; SSE42: cost of 40 {{.*}} %V16F32 = frem
+ ; AVX: cost of 44 {{.*}} %V16F32 = frem
+ ; AVX2: cost of 44 {{.*}} %V16F32 = frem
+ ; AVX512: cost of 46 {{.*}} %V16F32 = frem
%V16F32 = frem <16 x float> undef, undef
- ; SSE2: cost of 2 {{.*}} %F64 = frem
- ; SSE42: cost of 2 {{.*}} %F64 = frem
- ; AVX: cost of 2 {{.*}} %F64 = frem
- ; AVX2: cost of 2 {{.*}} %F64 = frem
- ; AVX512: cost of 2 {{.*}} %F64 = frem
+ ; SSE2: cost of 1 {{.*}} %F64 = frem
+ ; SSE42: cost of 1 {{.*}} %F64 = frem
+ ; AVX: cost of 1 {{.*}} %F64 = frem
+ ; AVX2: cost of 1 {{.*}} %F64 = frem
+ ; AVX512: cost of 1 {{.*}} %F64 = frem
%F64 = frem double undef, undef
- ; SSE2: cost of 6 {{.*}} %V2F64 = frem
- ; SSE42: cost of 6 {{.*}} %V2F64 = frem
- ; AVX: cost of 6 {{.*}} %V2F64 = frem
- ; AVX2: cost of 6 {{.*}} %V2F64 = frem
- ; AVX512: cost of 6 {{.*}} %V2F64 = frem
+ ; SSE2: cost of 4 {{.*}} %V2F64 = frem
+ ; SSE42: cost of 4 {{.*}} %V2F64 = frem
+ ; AVX: cost of 4 {{.*}} %V2F64 = frem
+ ; AVX2: cost of 4 {{.*}} %V2F64 = frem
+ ; AVX512: cost of 4 {{.*}} %V2F64 = frem
%V2F64 = frem <2 x double> undef, undef
- ; SSE2: cost of 12 {{.*}} %V4F64 = frem
- ; SSE42: cost of 12 {{.*}} %V4F64 = frem
- ; AVX: cost of 14 {{.*}} %V4F64 = frem
- ; AVX2: cost of 14 {{.*}} %V4F64 = frem
- ; AVX512: cost of 14 {{.*}} %V4F64 = frem
+ ; SSE2: cost of 8 {{.*}} %V4F64 = frem
+ ; SSE42: cost of 8 {{.*}} %V4F64 = frem
+ ; AVX: cost of 10 {{.*}} %V4F64 = frem
+ ; AVX2: cost of 10 {{.*}} %V4F64 = frem
+ ; AVX512: cost of 10 {{.*}} %V4F64 = frem
%V4F64 = frem <4 x double> undef, undef
- ; SSE2: cost of 24 {{.*}} %V8F64 = frem
- ; SSE42: cost of 24 {{.*}} %V8F64 = frem
- ; AVX: cost of 28 {{.*}} %V8F64 = frem
- ; AVX2: cost of 28 {{.*}} %V8F64 = frem
- ; AVX512: cost of 30 {{.*}} %V8F64 = frem
+ ; SSE2: cost of 16 {{.*}} %V8F64 = frem
+ ; SSE42: cost of 16 {{.*}} %V8F64 = frem
+ ; AVX: cost of 20 {{.*}} %V8F64 = frem
+ ; AVX2: cost of 20 {{.*}} %V8F64 = frem
+ ; AVX512: cost of 22 {{.*}} %V8F64 = frem
%V8F64 = frem <8 x double> undef, undef
ret i32 undef
OpenPOWER on IntegriCloud