[llvm] e071233 - [SystemZ] Consider VST/VL as SimpleBDXStore/Load (#135623)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 14 09:59:01 PDT 2025
Author: Dominik Steenken
Date: 2025-04-14T18:58:57+02:00
New Revision: e071233fa527027c021509fcbd41238aa9bae2e1
URL: https://github.com/llvm/llvm-project/commit/e071233fa527027c021509fcbd41238aa9bae2e1
DIFF: https://github.com/llvm/llvm-project/commit/e071233fa527027c021509fcbd41238aa9bae2e1.diff
LOG: [SystemZ] Consider VST/VL as SimpleBDXStore/Load (#135623)
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 PR 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.
Added:
Modified:
llvm/lib/Target/SystemZ/SystemZInstrVector.td
llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Removed:
################################################################################
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