[llvm] [SystemZ] Consider VST/VL as SimpleBDXStore/Load (PR #135623)
Dominik Steenken via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 14 08:19:40 PDT 2025
https://github.com/dominik-steenken updated https://github.com/llvm/llvm-project/pull/135623
>From b4dbd418d22c94c897b3b5ce89695304da72ee1b Mon Sep 17 00:00:00 2001
From: Dominik Steenken <dost at de.ibm.com>
Date: Mon, 17 Mar 2025 13:49:30 +0100
Subject: [PATCH] [SystemZ] Consider VST/VL as SimpleBDXStore/Load
Previously VST and VL were not considered "simple" BDX stores and loads,
leading to, among other things, some opportunities for mvc optimization
to be missed.
This commit addresses this and updates some tests to account for additional
mvc instructions being emitted.
This is observed to have a neutral or slightly beneficial effect
performance-wise.
---
llvm/lib/Target/SystemZ/SystemZInstrVector.td | 6 +-
.../vector-constrained-fp-intrinsics.ll | 544 +++++++++---------
.../CodeGen/SystemZ/zos-prologue-epilog.ll | 32 +-
3 files changed, 285 insertions(+), 297 deletions(-)
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrVector.td b/llvm/lib/Target/SystemZ/SystemZInstrVector.td
index e1fe7edc4cb08..d8c48239ac633 100644
--- a/llvm/lib/Target/SystemZ/SystemZInstrVector.td
+++ b/llvm/lib/Target/SystemZ/SystemZInstrVector.td
@@ -105,7 +105,8 @@ let Predicates = [FeatureVector] in {
let Predicates = [FeatureVector] in {
// Load.
- defm VL : UnaryVRXAlign<"vl", 0xE706>;
+ let SimpleBDXLoad = 1 in
+ defm VL : UnaryVRXAlign<"vl", 0xE706>;
// Load to block boundary. The number of loaded bytes is only known
// at run time. The instruction is really polymorphic, but v128b matches
@@ -213,7 +214,8 @@ defm : ReplicatePeephole<VLREPG, v2f64, z_load, f64>;
let Predicates = [FeatureVector] in {
// Store.
- defm VST : StoreVRXAlign<"vst", 0xE70E>;
+ let SimpleBDXStore = 1 in
+ defm VST : StoreVRXAlign<"vst", 0xE70E>;
// Store with length. The number of stored bytes is only known at run time.
def VSTL : StoreLengthVRSb<"vstl", 0xE73F, int_s390_vstl, 0>;
diff --git a/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll b/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
index e0818ea3da294..614f7b243c7e2 100644
--- a/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
+++ b/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
@@ -263,11 +263,11 @@ define <2 x double> @constrained_vector_frem_v2f64() #0 {
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmod at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: vgmg %v0, 2, 11
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmod at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ld %f8, 176(%r15) # 8-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
@@ -338,19 +338,19 @@ define <3 x float> @constrained_vector_frem_v3f32() #0 {
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmodf at PLT
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: vgmf %v0, 2, 8
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmodf at PLT
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: vgmf %v0, 1, 1
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmodf at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
@@ -422,28 +422,27 @@ define void @constrained_vector_frem_v3f64(ptr %a) #0 {
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: vgmg %v0, 2, 11
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v2, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v2, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT: brasl %r14, fmod at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v2, %v0, 1
; SZ13-NEXT: vgmg %v0, 1, 1
; SZ13-NEXT: # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT: brasl %r14, fmod at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
; SZ13-NEXT: larl %r1, .LCPI8_0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmod at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -522,26 +521,26 @@ define <4 x double> @constrained_vector_frem_v4f64() #0 {
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmod at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: vgmg %v0, 2, 11
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmod at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI9_1
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmod at PLT
; SZ13-NEXT: larl %r1, .LCPI9_2
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, fmod at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
@@ -1291,11 +1290,11 @@ define <2 x double> @constrained_vector_pow_v2f64() #0 {
; SZ13-NEXT: brasl %r14, pow at PLT
; SZ13-NEXT: larl %r1, .LCPI31_2
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, pow at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ld %f8, 176(%r15) # 8-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
@@ -1367,20 +1366,20 @@ define <3 x float> @constrained_vector_pow_v3f32() #0 {
; SZ13-NEXT: brasl %r14, powf at PLT
; SZ13-NEXT: larl %r1, .LCPI32_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, powf at PLT
; SZ13-NEXT: larl %r1, .LCPI32_3
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, powf at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
@@ -1456,28 +1455,27 @@ define void @constrained_vector_pow_v3f64(ptr %a) #0 {
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: ldr %f2, %f9
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, pow at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ldr %f2, %f9
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, pow at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: ldr %f2, %f9
; SZ13-NEXT: brasl %r14, pow at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 200(%r15) # 8-byte Reload
; SZ13-NEXT: ld %f9, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 312(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -1558,26 +1556,26 @@ define <4 x double> @constrained_vector_pow_v4f64() #0 {
; SZ13-NEXT: brasl %r14, pow at PLT
; SZ13-NEXT: larl %r1, .LCPI34_2
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, pow at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI34_3
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, pow at PLT
; SZ13-NEXT: larl %r1, .LCPI34_4
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: ldr %f2, %f8
; SZ13-NEXT: brasl %r14, pow at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
@@ -1671,11 +1669,11 @@ define <2 x double> @constrained_vector_powi_v2f64() #0 {
; SZ13-NEXT: brasl %r14, __powidf2 at PLT
; SZ13-NEXT: larl %r1, .LCPI36_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: lghi %r2, 3
; SZ13-NEXT: brasl %r14, __powidf2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -1737,20 +1735,20 @@ define <3 x float> @constrained_vector_powi_v3f32() #0 {
; SZ13-NEXT: brasl %r14, __powisf2 at PLT
; SZ13-NEXT: larl %r1, .LCPI37_1
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: lghi %r2, 3
; SZ13-NEXT: brasl %r14, __powisf2 at PLT
; SZ13-NEXT: larl %r1, .LCPI37_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: lghi %r2, 3
; SZ13-NEXT: brasl %r14, __powisf2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -1817,21 +1815,20 @@ define void @constrained_vector_powi_v3f64(ptr %a) #0 {
; SZ13-NEXT: brasl %r14, __powidf2 at PLT
; SZ13-NEXT: larl %r1, .LCPI38_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: lghi %r2, 3
; SZ13-NEXT: brasl %r14, __powidf2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI38_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: lghi %r2, 3
; SZ13-NEXT: brasl %r14, __powidf2 at PLT
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
; SZ13-NEXT: lmg %r13, %r15, 280(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -1903,26 +1900,26 @@ define <4 x double> @constrained_vector_powi_v4f64() #0 {
; SZ13-NEXT: brasl %r14, __powidf2 at PLT
; SZ13-NEXT: larl %r1, .LCPI39_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: lghi %r2, 3
; SZ13-NEXT: brasl %r14, __powidf2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI39_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: lghi %r2, 3
; SZ13-NEXT: brasl %r14, __powidf2 at PLT
; SZ13-NEXT: larl %r1, .LCPI39_3
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: lghi %r2, 3
; SZ13-NEXT: brasl %r14, __powidf2 at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -2008,10 +2005,10 @@ define <2 x double> @constrained_vector_sin_v2f64() #0 {
; SZ13-NEXT: brasl %r14, sin at PLT
; SZ13-NEXT: larl %r1, .LCPI41_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, sin at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -2068,18 +2065,18 @@ define <3 x float> @constrained_vector_sin_v3f32() #0 {
; SZ13-NEXT: brasl %r14, sinf at PLT
; SZ13-NEXT: larl %r1, .LCPI42_1
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, sinf at PLT
; SZ13-NEXT: larl %r1, .LCPI42_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, sinf at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -2140,25 +2137,24 @@ define void @constrained_vector_sin_v3f64(ptr %a) #0 {
; SZ13-NEXT: vl %v0, 0(%r2), 4
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, sin at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, sin at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, sin at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -2224,23 +2220,23 @@ define <4 x double> @constrained_vector_sin_v4f64() #0 {
; SZ13-NEXT: brasl %r14, sin at PLT
; SZ13-NEXT: larl %r1, .LCPI44_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, sin at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI44_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, sin at PLT
; SZ13-NEXT: larl %r1, .LCPI44_3
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, sin at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -2325,10 +2321,10 @@ define <2 x double> @constrained_vector_cos_v2f64() #0 {
; SZ13-NEXT: brasl %r14, cos at PLT
; SZ13-NEXT: larl %r1, .LCPI46_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, cos at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -2385,18 +2381,18 @@ define <3 x float> @constrained_vector_cos_v3f32() #0 {
; SZ13-NEXT: brasl %r14, cosf at PLT
; SZ13-NEXT: larl %r1, .LCPI47_1
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, cosf at PLT
; SZ13-NEXT: larl %r1, .LCPI47_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, cosf at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -2457,25 +2453,24 @@ define void @constrained_vector_cos_v3f64(ptr %a) #0 {
; SZ13-NEXT: vl %v0, 0(%r2), 4
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, cos at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, cos at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, cos at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -2541,23 +2536,23 @@ define <4 x double> @constrained_vector_cos_v4f64() #0 {
; SZ13-NEXT: brasl %r14, cos at PLT
; SZ13-NEXT: larl %r1, .LCPI49_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, cos at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI49_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, cos at PLT
; SZ13-NEXT: larl %r1, .LCPI49_3
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, cos at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -2642,10 +2637,10 @@ define <2 x double> @constrained_vector_exp_v2f64() #0 {
; SZ13-NEXT: brasl %r14, exp at PLT
; SZ13-NEXT: larl %r1, .LCPI51_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -2702,18 +2697,18 @@ define <3 x float> @constrained_vector_exp_v3f32() #0 {
; SZ13-NEXT: brasl %r14, expf at PLT
; SZ13-NEXT: larl %r1, .LCPI52_1
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, expf at PLT
; SZ13-NEXT: larl %r1, .LCPI52_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, expf at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -2774,25 +2769,24 @@ define void @constrained_vector_exp_v3f64(ptr %a) #0 {
; SZ13-NEXT: vl %v0, 0(%r2), 4
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, exp at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, exp at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, exp at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -2858,23 +2852,23 @@ define <4 x double> @constrained_vector_exp_v4f64() #0 {
; SZ13-NEXT: brasl %r14, exp at PLT
; SZ13-NEXT: larl %r1, .LCPI54_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI54_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp at PLT
; SZ13-NEXT: larl %r1, .LCPI54_3
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -2959,10 +2953,10 @@ define <2 x double> @constrained_vector_exp2_v2f64() #0 {
; SZ13-NEXT: brasl %r14, exp2 at PLT
; SZ13-NEXT: larl %r1, .LCPI56_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -3019,18 +3013,18 @@ define <3 x float> @constrained_vector_exp2_v3f32() #0 {
; SZ13-NEXT: brasl %r14, exp2f at PLT
; SZ13-NEXT: larl %r1, .LCPI57_1
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp2f at PLT
; SZ13-NEXT: larl %r1, .LCPI57_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp2f at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -3091,25 +3085,24 @@ define void @constrained_vector_exp2_v3f64(ptr %a) #0 {
; SZ13-NEXT: vl %v0, 0(%r2), 4
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, exp2 at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, exp2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, exp2 at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -3175,23 +3168,23 @@ define <4 x double> @constrained_vector_exp2_v4f64() #0 {
; SZ13-NEXT: brasl %r14, exp2 at PLT
; SZ13-NEXT: larl %r1, .LCPI59_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI59_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp2 at PLT
; SZ13-NEXT: larl %r1, .LCPI59_3
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, exp2 at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -3276,10 +3269,10 @@ define <2 x double> @constrained_vector_log_v2f64() #0 {
; SZ13-NEXT: brasl %r14, log at PLT
; SZ13-NEXT: larl %r1, .LCPI61_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -3336,18 +3329,18 @@ define <3 x float> @constrained_vector_log_v3f32() #0 {
; SZ13-NEXT: brasl %r14, logf at PLT
; SZ13-NEXT: larl %r1, .LCPI62_1
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, logf at PLT
; SZ13-NEXT: larl %r1, .LCPI62_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, logf at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -3408,25 +3401,24 @@ define void @constrained_vector_log_v3f64(ptr %a) #0 {
; SZ13-NEXT: vl %v0, 0(%r2), 4
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, log at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, log at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, log at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -3492,23 +3484,23 @@ define <4 x double> @constrained_vector_log_v4f64() #0 {
; SZ13-NEXT: brasl %r14, log at PLT
; SZ13-NEXT: larl %r1, .LCPI64_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI64_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log at PLT
; SZ13-NEXT: larl %r1, .LCPI64_3
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -3593,10 +3585,10 @@ define <2 x double> @constrained_vector_log10_v2f64() #0 {
; SZ13-NEXT: brasl %r14, log10 at PLT
; SZ13-NEXT: larl %r1, .LCPI66_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log10 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -3653,18 +3645,18 @@ define <3 x float> @constrained_vector_log10_v3f32() #0 {
; SZ13-NEXT: brasl %r14, log10f at PLT
; SZ13-NEXT: larl %r1, .LCPI67_1
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log10f at PLT
; SZ13-NEXT: larl %r1, .LCPI67_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log10f at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -3725,25 +3717,24 @@ define void @constrained_vector_log10_v3f64(ptr %a) #0 {
; SZ13-NEXT: vl %v0, 0(%r2), 4
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, log10 at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, log10 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, log10 at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -3809,23 +3800,23 @@ define <4 x double> @constrained_vector_log10_v4f64() #0 {
; SZ13-NEXT: brasl %r14, log10 at PLT
; SZ13-NEXT: larl %r1, .LCPI69_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log10 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI69_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log10 at PLT
; SZ13-NEXT: larl %r1, .LCPI69_3
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log10 at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -3910,10 +3901,10 @@ define <2 x double> @constrained_vector_log2_v2f64() #0 {
; SZ13-NEXT: brasl %r14, log2 at PLT
; SZ13-NEXT: larl %r1, .LCPI71_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -3970,18 +3961,18 @@ define <3 x float> @constrained_vector_log2_v3f32() #0 {
; SZ13-NEXT: brasl %r14, log2f at PLT
; SZ13-NEXT: larl %r1, .LCPI72_1
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log2f at PLT
; SZ13-NEXT: larl %r1, .LCPI72_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log2f at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -4042,25 +4033,24 @@ define void @constrained_vector_log2_v3f64(ptr %a) #0 {
; SZ13-NEXT: vl %v0, 0(%r2), 4
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, log2 at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, log2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, log2 at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -4126,23 +4116,23 @@ define <4 x double> @constrained_vector_log2_v4f64() #0 {
; SZ13-NEXT: brasl %r14, log2 at PLT
; SZ13-NEXT: larl %r1, .LCPI74_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI74_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log2 at PLT
; SZ13-NEXT: larl %r1, .LCPI74_3
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, log2 at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -4610,12 +4600,12 @@ define <2 x double> @constrained_vector_maxnum_v2f64() #0 {
; SZ13-NEXT: brasl %r14, fmax at PLT
; SZ13-NEXT: larl %r1, .LCPI86_2
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI86_3
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fmax at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -4686,20 +4676,20 @@ define <3 x float> @constrained_vector_maxnum_v3f32() #0 {
; SZ13-NEXT: larl %r1, .LCPI87_2
; SZ13-NEXT: lde %f2, 0(%r1)
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, fmaxf at PLT
; SZ13-NEXT: larl %r1, .LCPI87_3
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI87_4
; SZ13-NEXT: lde %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fmaxf at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
@@ -4769,29 +4759,28 @@ define void @constrained_vector_log10_maxnum_v3f64(ptr %a) #0 {
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, fmax at PLT
; SZ13-NEXT: larl %r1, .LCPI88_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, fmax at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: larl %r1, .LCPI88_2
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, fmax at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -4867,29 +4856,29 @@ define <4 x double> @constrained_vector_maxnum_v4f64() #0 {
; SZ13-NEXT: brasl %r14, fmax at PLT
; SZ13-NEXT: larl %r1, .LCPI89_2
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI89_3
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fmax at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI89_4
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI89_5
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fmax at PLT
; SZ13-NEXT: larl %r1, .LCPI89_6
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI89_7
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fmax at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -4984,12 +4973,12 @@ define <2 x double> @constrained_vector_minnum_v2f64() #0 {
; SZ13-NEXT: brasl %r14, fmin at PLT
; SZ13-NEXT: larl %r1, .LCPI91_2
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI91_3
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fmin at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -5060,20 +5049,20 @@ define <3 x float> @constrained_vector_minnum_v3f32() #0 {
; SZ13-NEXT: larl %r1, .LCPI92_2
; SZ13-NEXT: lde %f2, 0(%r1)
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, fminf at PLT
; SZ13-NEXT: larl %r1, .LCPI92_3
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI92_4
; SZ13-NEXT: lde %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fminf at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
@@ -5148,28 +5137,27 @@ define void @constrained_vector_minnum_v3f64(ptr %a) #0 {
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: ldr %f2, %f9
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, fmin at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: ldr %f2, %f9
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, fmin at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: ldr %f2, %f9
; SZ13-NEXT: brasl %r14, fmin at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 200(%r15) # 8-byte Reload
; SZ13-NEXT: ld %f9, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 312(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -5245,29 +5233,29 @@ define <4 x double> @constrained_vector_minnum_v4f64() #0 {
; SZ13-NEXT: brasl %r14, fmin at PLT
; SZ13-NEXT: larl %r1, .LCPI94_2
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI94_3
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fmin at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI94_4
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI94_5
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fmin at PLT
; SZ13-NEXT: larl %r1, .LCPI94_6
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI94_7
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, fmin at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -6465,10 +6453,10 @@ define <2 x double> @constrained_vector_tan_v2f64() #0 {
; SZ13-NEXT: brasl %r14, tan at PLT
; SZ13-NEXT: larl %r1, .LCPI124_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, tan at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -6525,18 +6513,18 @@ define <3 x float> @constrained_vector_tan_v3f32() #0 {
; SZ13-NEXT: brasl %r14, tanf at PLT
; SZ13-NEXT: larl %r1, .LCPI125_1
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, tanf at PLT
; SZ13-NEXT: larl %r1, .LCPI125_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, tanf at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -6597,25 +6585,24 @@ define void @constrained_vector_tan_v3f64(ptr %a) #0 {
; SZ13-NEXT: vl %v0, 0(%r2), 4
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, tan at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: brasl %r14, tan at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: brasl %r14, tan at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 192(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 304(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -6681,23 +6668,23 @@ define <4 x double> @constrained_vector_tan_v4f64() #0 {
; SZ13-NEXT: brasl %r14, tan at PLT
; SZ13-NEXT: larl %r1, .LCPI127_1
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, tan at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI127_2
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, tan at PLT
; SZ13-NEXT: larl %r1, .LCPI127_3
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: brasl %r14, tan at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -6793,12 +6780,12 @@ define <2 x double> @constrained_vector_atan2_v2f64() #0 {
; SZ13-NEXT: brasl %r14, atan2 at PLT
; SZ13-NEXT: larl %r1, .LCPI129_2
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI129_3
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, atan2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 288(%r15)
@@ -6864,22 +6851,22 @@ define <3 x float> @constrained_vector_atan2_v3f32() #0 {
; SZ13-NEXT: brasl %r14, atan2f at PLT
; SZ13-NEXT: larl %r1, .LCPI130_2
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI130_3
; SZ13-NEXT: lde %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, atan2f at PLT
; SZ13-NEXT: larl %r1, .LCPI130_4
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: lde %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI130_5
; SZ13-NEXT: lde %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, atan2f at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT: vmrhf %v0, %v1, %v0
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepf %v1, %v1, 0
; SZ13-NEXT: vmrhg %v24, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
@@ -6956,32 +6943,31 @@ define void @constrained_vector_atan2_v3f64(ptr %a, ptr %b) #0 {
; SZ13-NEXT: ld %f8, 16(%r2)
; SZ13-NEXT: ld %f9, 16(%r3)
; SZ13-NEXT: lgr %r13, %r2
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vst %v2, 192(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vst %v2, 192(%r15), 3 # 16-byte Spill
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT: brasl %r14, atan2 at PLT
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
-; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v1, 192(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
+; SZ13-NEXT: vl %v0, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v1, 192(%r15), 3 # 16-byte Reload
; SZ13-NEXT: vrepg %v0, %v0, 1
; SZ13-NEXT: vrepg %v2, %v1, 1
; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT: # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT: brasl %r14, atan2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v1, %v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ldr %f0, %f8
; SZ13-NEXT: ldr %f2, %f9
; SZ13-NEXT: brasl %r14, atan2 at PLT
-; SZ13-NEXT: std %f0, 16(%r13)
-; SZ13-NEXT: vl %v0, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT: ld %f8, 216(%r15) # 8-byte Reload
; SZ13-NEXT: ld %f9, 208(%r15) # 8-byte Reload
-; SZ13-NEXT: vst %v0, 0(%r13), 4
+; SZ13-NEXT: std %f0, 16(%r13)
; SZ13-NEXT: lmg %r13, %r15, 328(%r15)
; SZ13-NEXT: br %r14
entry:
@@ -7059,29 +7045,29 @@ define <4 x double> @constrained_vector_atan2_v4f64() #0 {
; SZ13-NEXT: brasl %r14, atan2 at PLT
; SZ13-NEXT: larl %r1, .LCPI132_2
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI132_3
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, atan2 at PLT
-; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v0, %v0, %v1
; SZ13-NEXT: larl %r1, .LCPI132_4
-; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI132_5
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, atan2 at PLT
; SZ13-NEXT: larl %r1, .LCPI132_6
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
-; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Folded Spill
+; SZ13-NEXT: vst %v0, 176(%r15), 3 # 16-byte Spill
; SZ13-NEXT: ld %f0, 0(%r1)
; SZ13-NEXT: larl %r1, .LCPI132_7
; SZ13-NEXT: ld %f2, 0(%r1)
; SZ13-NEXT: brasl %r14, atan2 at PLT
-; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload
-; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload
+; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Reload
+; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT: vmrhg %v26, %v0, %v1
; SZ13-NEXT: lmg %r14, %r15, 304(%r15)
diff --git a/llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll b/llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
index 428d9bbe64c53..bdd0660651456 100644
--- a/llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
+++ b/llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
@@ -95,14 +95,14 @@ define void @func1(ptr %ptr) {
; CHECK64: std 10,{{[0-9]+}}(4) * 8-byte Spill
; CHECK64: std 9,{{[0-9]+}}(4) * 8-byte Spill
; CHECK64: std 8,{{[0-9]+}}(4) * 8-byte Spill
-; CHECK64: vst 23,{{[0-9]+}}(4),4 * 16-byte Folded Spill
-; CHECK64: vst 22,{{[0-9]+}}(4),4 * 16-byte Folded Spill
-; CHECK64: vst 21,{{[0-9]+}}(4),4 * 16-byte Folded Spill
-; CHECK64: vst 20,{{[0-9]+}}(4),4 * 16-byte Folded Spill
-; CHECK64: vst 19,{{[0-9]+}}(4),4 * 16-byte Folded Spill
-; CHECK64: vst 18,{{[0-9]+}}(4),4 * 16-byte Folded Spill
-; CHECK64: vst 17,{{[0-9]+}}(4),4 * 16-byte Folded Spill
-; CHECK64: vst 16,{{[0-9]+}}(4),4 * 16-byte Folded Spill
+; CHECK64: vst 23,{{[0-9]+}}(4),4 * 16-byte Spill
+; CHECK64: vst 22,{{[0-9]+}}(4),4 * 16-byte Spill
+; CHECK64: vst 21,{{[0-9]+}}(4),4 * 16-byte Spill
+; CHECK64: vst 20,{{[0-9]+}}(4),4 * 16-byte Spill
+; CHECK64: vst 19,{{[0-9]+}}(4),4 * 16-byte Spill
+; CHECK64: vst 18,{{[0-9]+}}(4),4 * 16-byte Spill
+; CHECK64: vst 17,{{[0-9]+}}(4),4 * 16-byte Spill
+; CHECK64: vst 16,{{[0-9]+}}(4),4 * 16-byte Spill
; CHECK64: ld 15,{{[0-9]+}}(4) * 8-byte Reload
; CHECK64: ld 14,{{[0-9]+}}(4) * 8-byte Reload
@@ -112,14 +112,14 @@ define void @func1(ptr %ptr) {
; CHECK64: ld 10,{{[0-9]+}}(4) * 8-byte Reload
; CHECK64: ld 9,{{[0-9]+}}(4) * 8-byte Reload
; CHECK64: ld 8,{{[0-9]+}}(4) * 8-byte Reload
-; CHECK64: vl 23,{{[0-9]+}}(4),4 * 16-byte Folded Reload
-; CHECK64: vl 22,{{[0-9]+}}(4),4 * 16-byte Folded Reload
-; CHECK64: vl 21,{{[0-9]+}}(4),4 * 16-byte Folded Reload
-; CHECK64: vl 20,{{[0-9]+}}(4),4 * 16-byte Folded Reload
-; CHECK64: vl 19,{{[0-9]+}}(4),4 * 16-byte Folded Reload
-; CHECK64: vl 18,{{[0-9]+}}(4),4 * 16-byte Folded Reload
-; CHECK64: vl 17,{{[0-9]+}}(4),4 * 16-byte Folded Reload
-; CHECK64: vl 16,{{[0-9]+}}(4),4 * 16-byte Folded Reload
+; CHECK64: vl 23,{{[0-9]+}}(4),4 * 16-byte Reload
+; CHECK64: vl 22,{{[0-9]+}}(4),4 * 16-byte Reload
+; CHECK64: vl 21,{{[0-9]+}}(4),4 * 16-byte Reload
+; CHECK64: vl 20,{{[0-9]+}}(4),4 * 16-byte Reload
+; CHECK64: vl 19,{{[0-9]+}}(4),4 * 16-byte Reload
+; CHECK64: vl 18,{{[0-9]+}}(4),4 * 16-byte Reload
+; CHECK64: vl 17,{{[0-9]+}}(4),4 * 16-byte Reload
+; CHECK64: vl 16,{{[0-9]+}}(4),4 * 16-byte Reload
; CHECK64: lg 7,2072(4)
; CHECK64: aghi 4,320
; CHECK64: b 2(7)
More information about the llvm-commits
mailing list