diff options
Diffstat (limited to 'llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll')
-rw-r--r-- | llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll | 500 |
1 files changed, 226 insertions, 274 deletions
diff --git a/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll b/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll index 348be4a9f14..7cea2ff8eb9 100644 --- a/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll +++ b/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll @@ -33,11 +33,11 @@ define <2 x double> @constrained_vector_fdiv_v2f64() #0 { ; S390X-NEXT: larl %r1, .LCPI1_0 ; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI1_1 -; S390X-NEXT: ldeb %f0, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI1_2 ; S390X-NEXT: ldeb %f2, 0(%r1) -; S390X-NEXT: ddbr %f0, %f1 +; S390X-NEXT: larl %r1, .LCPI1_2 +; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: ddbr %f2, %f1 +; S390X-NEXT: ddbr %f0, %f1 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fdiv_v2f64: @@ -63,14 +63,14 @@ define <3 x float> @constrained_vector_fdiv_v3f32() #0 { ; S390X-NEXT: larl %r1, .LCPI2_0 ; S390X-NEXT: le %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI2_1 -; S390X-NEXT: le %f0, 0(%r1) +; S390X-NEXT: le %f4, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI2_2 ; S390X-NEXT: le %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI2_3 -; S390X-NEXT: le %f4, 0(%r1) -; S390X-NEXT: debr %f0, %f1 -; S390X-NEXT: debr %f2, %f1 +; S390X-NEXT: le %f0, 0(%r1) ; S390X-NEXT: debr %f4, %f1 +; S390X-NEXT: debr %f2, %f1 +; S390X-NEXT: debr %f0, %f1 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fdiv_v3f32: @@ -143,17 +143,17 @@ define <4 x double> @constrained_vector_fdiv_v4f64() #0 { ; S390X-NEXT: larl %r1, .LCPI4_0 ; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI4_1 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ldeb %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI4_2 -; S390X-NEXT: ldeb %f2, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI4_3 ; S390X-NEXT: ldeb %f4, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI4_3 +; S390X-NEXT: ldeb %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI4_4 -; S390X-NEXT: ldeb %f6, 0(%r1) -; S390X-NEXT: ddbr %f0, %f1 -; S390X-NEXT: ddbr %f2, %f1 -; S390X-NEXT: ddbr %f4, %f1 +; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: ddbr %f6, %f1 +; S390X-NEXT: ddbr %f4, %f1 +; S390X-NEXT: ddbr %f2, %f1 +; S390X-NEXT: ddbr %f0, %f1 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fdiv_v4f64: @@ -162,10 +162,10 @@ define <4 x double> @constrained_vector_fdiv_v4f64() #0 { ; SZ13-NEXT: vl %v0, 0(%r1), 3 ; SZ13-NEXT: larl %r1, .LCPI4_1 ; SZ13-NEXT: vl %v1, 0(%r1), 3 -; SZ13-NEXT: vfddb %v24, %v1, %v0 +; SZ13-NEXT: vfddb %v26, %v1, %v0 ; SZ13-NEXT: larl %r1, .LCPI4_2 ; SZ13-NEXT: vl %v1, 0(%r1), 3 -; SZ13-NEXT: vfddb %v26, %v1, %v0 +; SZ13-NEXT: vfddb %v24, %v1, %v0 ; SZ13-NEXT: br %r14 entry: %div = call <4 x double> @llvm.experimental.constrained.fdiv.v4f64( @@ -242,8 +242,7 @@ define <2 x double> @constrained_vector_frem_v2f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, fmod@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f9 +; S390X-NEXT: ldr %f2, %f9 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -315,9 +314,8 @@ define <3 x float> @constrained_vector_frem_v3f32() #0 { ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: ler %f2, %f8 ; S390X-NEXT: brasl %r14, fmodf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f9 ; S390X-NEXT: ler %f2, %f10 +; S390X-NEXT: ler %f4, %f9 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -499,10 +497,9 @@ define <4 x double> @constrained_vector_frem_v4f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, fmod@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f9 -; S390X-NEXT: ldr %f2, %f10 -; S390X-NEXT: ldr %f4, %f11 +; S390X-NEXT: ldr %f2, %f11 +; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f6, %f9 ; S390X-NEXT: ld %f8, 184(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 168(%r15) # 8-byte Folded Reload @@ -589,13 +586,13 @@ define <2 x double> @constrained_vector_fmul_v2f64() #0 { ; S390X-LABEL: constrained_vector_fmul_v2f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI11_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ldeb %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI11_1 ; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI11_2 -; S390X-NEXT: ldeb %f2, 0(%r1) -; S390X-NEXT: mdbr %f0, %f1 +; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: mdbr %f2, %f1 +; S390X-NEXT: mdbr %f0, %f1 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fmul_v2f64: @@ -619,15 +616,15 @@ define <3 x float> @constrained_vector_fmul_v3f32() #0 { ; S390X-LABEL: constrained_vector_fmul_v3f32: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI12_0 -; S390X-NEXT: le %f4, 0(%r1) +; S390X-NEXT: le %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI12_1 -; S390X-NEXT: ler %f0, %f4 -; S390X-NEXT: meeb %f0, 0(%r1) +; S390X-NEXT: ler %f4, %f0 +; S390X-NEXT: meeb %f4, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI12_2 -; S390X-NEXT: ler %f2, %f4 +; S390X-NEXT: ler %f2, %f0 ; S390X-NEXT: meeb %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI12_3 -; S390X-NEXT: meeb %f4, 0(%r1) +; S390X-NEXT: meeb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fmul_v3f32: @@ -697,19 +694,19 @@ define <4 x double> @constrained_vector_fmul_v4f64() #0 { ; S390X-LABEL: constrained_vector_fmul_v4f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI14_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ldeb %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI14_1 ; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI14_2 -; S390X-NEXT: ldeb %f2, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI14_3 ; S390X-NEXT: ldeb %f4, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI14_3 +; S390X-NEXT: ldeb %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI14_4 -; S390X-NEXT: ldeb %f6, 0(%r1) -; S390X-NEXT: mdbr %f0, %f1 -; S390X-NEXT: mdbr %f2, %f1 -; S390X-NEXT: mdbr %f4, %f1 +; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: mdbr %f6, %f1 +; S390X-NEXT: mdbr %f4, %f1 +; S390X-NEXT: mdbr %f2, %f1 +; S390X-NEXT: mdbr %f0, %f1 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fmul_v4f64: @@ -719,9 +716,9 @@ define <4 x double> @constrained_vector_fmul_v4f64() #0 { ; SZ13-NEXT: larl %r1, .LCPI14_1 ; SZ13-NEXT: vl %v1, 0(%r1), 3 ; SZ13-NEXT: larl %r1, .LCPI14_2 -; SZ13-NEXT: vfmdb %v24, %v1, %v0 -; SZ13-NEXT: vl %v0, 0(%r1), 3 ; SZ13-NEXT: vfmdb %v26, %v1, %v0 +; SZ13-NEXT: vl %v0, 0(%r1), 3 +; SZ13-NEXT: vfmdb %v24, %v1, %v0 ; SZ13-NEXT: br %r14 entry: %mul = call <4 x double> @llvm.experimental.constrained.fmul.v4f64( @@ -763,12 +760,13 @@ define <2 x double> @constrained_vector_fadd_v2f64() #0 { ; S390X-LABEL: constrained_vector_fadd_v2f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI16_0 +; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI16_2 ; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI16_1 -; S390X-NEXT: ld %f2, 0(%r1) -; S390X-NEXT: adbr %f0, %f2 -; S390X-NEXT: larl %r1, .LCPI16_2 +; S390X-NEXT: ldr %f2, %f1 ; S390X-NEXT: adb %f2, 0(%r1) +; S390X-NEXT: adbr %f0, %f1 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fadd_v2f64: @@ -792,15 +790,14 @@ define <3 x float> @constrained_vector_fadd_v3f32() #0 { ; S390X-LABEL: constrained_vector_fadd_v3f32: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI17_0 -; S390X-NEXT: le %f1, 0(%r1) +; S390X-NEXT: le %f0, 0(%r1) +; S390X-NEXT: lzer %f4 +; S390X-NEXT: aebr %f4, %f0 ; S390X-NEXT: larl %r1, .LCPI17_1 -; S390X-NEXT: ler %f2, %f1 -; S390X-NEXT: ler %f0, %f1 -; S390X-NEXT: aeb %f0, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI17_2 +; S390X-NEXT: ler %f2, %f0 ; S390X-NEXT: aeb %f2, 0(%r1) -; S390X-NEXT: lzer %f4 -; S390X-NEXT: aebr %f4, %f1 +; S390X-NEXT: larl %r1, .LCPI17_2 +; S390X-NEXT: aeb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fadd_v3f32: @@ -869,18 +866,19 @@ define <4 x double> @constrained_vector_fadd_v4f64() #0 { ; S390X-LABEL: constrained_vector_fadd_v4f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI19_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI19_1 -; S390X-NEXT: ld %f6, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI19_3 -; S390X-NEXT: ldeb %f4, 0(%r1) -; S390X-NEXT: adbr %f0, %f6 +; S390X-NEXT: ldr %f2, %f1 +; S390X-NEXT: ldr %f6, %f1 +; S390X-NEXT: adb %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI19_2 -; S390X-NEXT: ldr %f2, %f6 -; S390X-NEXT: adb %f2, 0(%r1) -; S390X-NEXT: adbr %f4, %f6 +; S390X-NEXT: ldeb %f4, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI19_4 -; S390X-NEXT: adb %f6, 0(%r1) +; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI19_3 +; S390X-NEXT: adb %f2, 0(%r1) +; S390X-NEXT: adbr %f4, %f1 +; S390X-NEXT: adbr %f0, %f1 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fadd_v4f64: @@ -890,9 +888,9 @@ define <4 x double> @constrained_vector_fadd_v4f64() #0 { ; SZ13-NEXT: larl %r1, .LCPI19_1 ; SZ13-NEXT: vl %v1, 0(%r1), 3 ; SZ13-NEXT: larl %r1, .LCPI19_2 -; SZ13-NEXT: vfadb %v24, %v1, %v0 -; SZ13-NEXT: vl %v0, 0(%r1), 3 ; SZ13-NEXT: vfadb %v26, %v1, %v0 +; SZ13-NEXT: vl %v0, 0(%r1), 3 +; SZ13-NEXT: vfadb %v24, %v1, %v0 ; SZ13-NEXT: br %r14 entry: %add = call <4 x double> @llvm.experimental.constrained.fadd.v4f64( @@ -933,12 +931,12 @@ entry: define <2 x double> @constrained_vector_fsub_v2f64() #0 { ; S390X-LABEL: constrained_vector_fsub_v2f64: ; S390X: # %bb.0: # %entry -; S390X-NEXT: larl %r1, .LCPI21_1 -; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI21_0 -; S390X-NEXT: ldeb %f1, 0(%r1) -; S390X-NEXT: ldr %f0, %f2 +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI21_2 +; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI21_1 +; S390X-NEXT: ldr %f2, %f0 ; S390X-NEXT: sdb %f2, 0(%r1) ; S390X-NEXT: sdbr %f0, %f1 ; S390X-NEXT: br %r14 @@ -963,13 +961,13 @@ define <3 x float> @constrained_vector_fsub_v3f32() #0 { ; S390X-LABEL: constrained_vector_fsub_v3f32: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI22_0 -; S390X-NEXT: le %f4, 0(%r1) +; S390X-NEXT: le %f0, 0(%r1) +; S390X-NEXT: ler %f4, %f0 ; S390X-NEXT: larl %r1, .LCPI22_1 -; S390X-NEXT: ler %f0, %f4 -; S390X-NEXT: seb %f0, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI22_2 -; S390X-NEXT: ler %f2, %f4 +; S390X-NEXT: ler %f2, %f0 ; S390X-NEXT: seb %f2, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI22_2 +; S390X-NEXT: seb %f0, 0(%r1) ; S390X-NEXT: lzer %f1 ; S390X-NEXT: sebr %f4, %f1 ; S390X-NEXT: br %r14 @@ -1039,21 +1037,21 @@ entry: define <4 x double> @constrained_vector_fsub_v4f64() #0 { ; S390X-LABEL: constrained_vector_fsub_v4f64: ; S390X: # %bb.0: # %entry -; S390X-NEXT: larl %r1, .LCPI24_1 -; S390X-NEXT: ld %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI24_0 -; S390X-NEXT: ldeb %f1, 0(%r1) -; S390X-NEXT: ldr %f0, %f6 +; S390X-NEXT: ld %f0, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI24_1 +; S390X-NEXT: ldr %f6, %f0 +; S390X-NEXT: sdb %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI24_2 -; S390X-NEXT: ldr %f2, %f6 -; S390X-NEXT: sdb %f2, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI24_3 -; S390X-NEXT: ldeb %f3, 0(%r1) -; S390X-NEXT: ldr %f4, %f6 +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI24_4 -; S390X-NEXT: sdb %f6, 0(%r1) -; S390X-NEXT: sdbr %f0, %f1 -; S390X-NEXT: sdbr %f4, %f3 +; S390X-NEXT: ldeb %f3, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI24_3 +; S390X-NEXT: ldr %f2, %f0 +; S390X-NEXT: sdb %f2, 0(%r1) +; S390X-NEXT: ldr %f4, %f0 +; S390X-NEXT: sdbr %f4, %f1 +; S390X-NEXT: sdbr %f0, %f3 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fsub_v4f64: @@ -1062,9 +1060,9 @@ define <4 x double> @constrained_vector_fsub_v4f64() #0 { ; SZ13-NEXT: vl %v0, 0(%r1), 3 ; SZ13-NEXT: vgmg %v1, 12, 10 ; SZ13-NEXT: larl %r1, .LCPI24_1 -; SZ13-NEXT: vfsdb %v24, %v1, %v0 -; SZ13-NEXT: vl %v0, 0(%r1), 3 ; SZ13-NEXT: vfsdb %v26, %v1, %v0 +; SZ13-NEXT: vl %v0, 0(%r1), 3 +; SZ13-NEXT: vfsdb %v24, %v1, %v0 ; SZ13-NEXT: br %r14 entry: %sub = call <4 x double> @llvm.experimental.constrained.fsub.v4f64( @@ -1126,11 +1124,11 @@ define <3 x float> @constrained_vector_sqrt_v3f32() #0 { ; S390X-LABEL: constrained_vector_sqrt_v3f32: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI27_0 -; S390X-NEXT: sqeb %f0, 0(%r1) +; S390X-NEXT: sqeb %f4, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI27_1 ; S390X-NEXT: sqeb %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI27_2 -; S390X-NEXT: sqeb %f4, 0(%r1) +; S390X-NEXT: sqeb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_sqrt_v3f32: @@ -1186,13 +1184,13 @@ define <4 x double> @constrained_vector_sqrt_v4f64() #0 { ; S390X-LABEL: constrained_vector_sqrt_v4f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI29_0 -; S390X-NEXT: sqdb %f2, 0(%r1) +; S390X-NEXT: sqdb %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI29_1 ; S390X-NEXT: sqdb %f4, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI29_3 ; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI29_2 -; S390X-NEXT: sqdb %f6, 0(%r1) +; S390X-NEXT: sqdb %f2, 0(%r1) ; S390X-NEXT: sqdbr %f0, %f0 ; S390X-NEXT: br %r14 ; @@ -1200,10 +1198,10 @@ define <4 x double> @constrained_vector_sqrt_v4f64() #0 { ; SZ13: # %bb.0: # %entry ; SZ13-NEXT: larl %r1, .LCPI29_0 ; SZ13-NEXT: vl %v0, 0(%r1), 3 -; SZ13-NEXT: vfsqdb %v24, %v0 +; SZ13-NEXT: vfsqdb %v26, %v0 ; SZ13-NEXT: larl %r1, .LCPI29_1 ; SZ13-NEXT: vl %v0, 0(%r1), 3 -; SZ13-NEXT: vfsqdb %v26, %v0 +; SZ13-NEXT: vfsqdb %v24, %v0 ; SZ13-NEXT: br %r14 entry: %sqrt = call <4 x double> @llvm.experimental.constrained.sqrt.v4f64( @@ -1279,8 +1277,7 @@ define <2 x double> @constrained_vector_pow_v2f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, pow@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f9 +; S390X-NEXT: ldr %f2, %f9 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -1354,9 +1351,8 @@ define <3 x float> @constrained_vector_pow_v3f32() #0 { ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: ler %f2, %f8 ; S390X-NEXT: brasl %r14, powf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f9 ; S390X-NEXT: ler %f2, %f10 +; S390X-NEXT: ler %f4, %f9 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -1544,10 +1540,9 @@ define <4 x double> @constrained_vector_pow_v4f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, pow@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f9 -; S390X-NEXT: ldr %f2, %f10 -; S390X-NEXT: ldr %f4, %f11 +; S390X-NEXT: ldr %f2, %f11 +; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f6, %f9 ; S390X-NEXT: ld %f8, 184(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 168(%r15) # 8-byte Folded Reload @@ -1667,8 +1662,7 @@ define <2 x double> @constrained_vector_powi_v2f64() #0 { ; S390X-NEXT: lghi %r2, 3 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, __powidf2@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -1732,9 +1726,8 @@ define <3 x float> @constrained_vector_powi_v3f32() #0 { ; S390X-NEXT: lghi %r2, 3 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, __powisf2@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -1897,10 +1890,9 @@ define <4 x double> @constrained_vector_powi_v4f64() #0 { ; S390X-NEXT: lghi %r2, 3 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, __powidf2@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -2001,15 +1993,14 @@ define <2 x double> @constrained_vector_sin_v2f64() #0 { ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI41_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, sin@PLT ; S390X-NEXT: larl %r1, .LCPI41_1 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, sin@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -2067,9 +2058,8 @@ define <3 x float> @constrained_vector_sin_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, sinf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -2205,7 +2195,7 @@ define <4 x double> @constrained_vector_sin_v4f64() #0 { ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI44_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, sin@PLT ; S390X-NEXT: larl %r1, .LCPI44_1 ; S390X-NEXT: ld %f1, 0(%r1) @@ -2218,14 +2208,13 @@ define <4 x double> @constrained_vector_sin_v4f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, sin@PLT ; S390X-NEXT: larl %r1, .LCPI44_3 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, sin@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -2321,15 +2310,14 @@ define <2 x double> @constrained_vector_cos_v2f64() #0 { ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI46_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, cos@PLT ; S390X-NEXT: larl %r1, .LCPI46_1 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, cos@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -2387,9 +2375,8 @@ define <3 x float> @constrained_vector_cos_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, cosf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -2525,7 +2512,7 @@ define <4 x double> @constrained_vector_cos_v4f64() #0 { ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI49_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, cos@PLT ; S390X-NEXT: larl %r1, .LCPI49_1 ; S390X-NEXT: ld %f1, 0(%r1) @@ -2538,14 +2525,13 @@ define <4 x double> @constrained_vector_cos_v4f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, cos@PLT ; S390X-NEXT: larl %r1, .LCPI49_3 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, cos@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -2641,15 +2627,14 @@ define <2 x double> @constrained_vector_exp_v2f64() #0 { ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI51_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, exp@PLT ; S390X-NEXT: larl %r1, .LCPI51_1 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, exp@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -2707,9 +2692,8 @@ define <3 x float> @constrained_vector_exp_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, expf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -2845,7 +2829,7 @@ define <4 x double> @constrained_vector_exp_v4f64() #0 { ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI54_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, exp@PLT ; S390X-NEXT: larl %r1, .LCPI54_1 ; S390X-NEXT: ld %f1, 0(%r1) @@ -2858,14 +2842,13 @@ define <4 x double> @constrained_vector_exp_v4f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, exp@PLT ; S390X-NEXT: larl %r1, .LCPI54_3 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, exp@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -2961,15 +2944,14 @@ define <2 x double> @constrained_vector_exp2_v2f64() #0 { ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI56_0 -; S390X-NEXT: ld %f0, 0(%r1) +; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: brasl %r14, exp2@PLT ; S390X-NEXT: larl %r1, .LCPI56_1 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, exp2@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -3027,9 +3009,8 @@ define <3 x float> @constrained_vector_exp2_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, exp2f@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -3182,10 +3163,9 @@ define <4 x double> @constrained_vector_exp2_v4f64() #0 { ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, exp2@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -3281,15 +3261,14 @@ define <2 x double> @constrained_vector_log_v2f64() #0 { ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI61_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, log@PLT ; S390X-NEXT: larl %r1, .LCPI61_1 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -3347,9 +3326,8 @@ define <3 x float> @constrained_vector_log_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, logf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -3485,7 +3463,7 @@ define <4 x double> @constrained_vector_log_v4f64() #0 { ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI64_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, log@PLT ; S390X-NEXT: larl %r1, .LCPI64_1 ; S390X-NEXT: ld %f1, 0(%r1) @@ -3498,14 +3476,13 @@ define <4 x double> @constrained_vector_log_v4f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log@PLT ; S390X-NEXT: larl %r1, .LCPI64_3 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -3601,15 +3578,14 @@ define <2 x double> @constrained_vector_log10_v2f64() #0 { ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI66_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, log10@PLT ; S390X-NEXT: larl %r1, .LCPI66_1 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log10@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -3667,9 +3643,8 @@ define <3 x float> @constrained_vector_log10_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, log10f@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -3805,7 +3780,7 @@ define <4 x double> @constrained_vector_log10_v4f64() #0 { ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI69_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, log10@PLT ; S390X-NEXT: larl %r1, .LCPI69_1 ; S390X-NEXT: ld %f1, 0(%r1) @@ -3818,14 +3793,13 @@ define <4 x double> @constrained_vector_log10_v4f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log10@PLT ; S390X-NEXT: larl %r1, .LCPI69_3 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log10@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -3921,15 +3895,14 @@ define <2 x double> @constrained_vector_log2_v2f64() #0 { ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI71_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, log2@PLT ; S390X-NEXT: larl %r1, .LCPI71_1 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log2@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -3987,9 +3960,8 @@ define <3 x float> @constrained_vector_log2_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, log2f@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -4125,7 +4097,7 @@ define <4 x double> @constrained_vector_log2_v4f64() #0 { ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI74_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, log2@PLT ; S390X-NEXT: larl %r1, .LCPI74_1 ; S390X-NEXT: ld %f1, 0(%r1) @@ -4138,14 +4110,13 @@ define <4 x double> @constrained_vector_log2_v4f64() #0 { ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log2@PLT ; S390X-NEXT: larl %r1, .LCPI74_3 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldeb %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log2@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -4221,11 +4192,11 @@ define <2 x double> @constrained_vector_rint_v2f64() #0 { ; S390X-LABEL: constrained_vector_rint_v2f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI76_0 -; S390X-NEXT: ld %f0, 0(%r1) +; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI76_1 -; S390X-NEXT: ldeb %f1, 0(%r1) -; S390X-NEXT: fidbr %f0, 0, %f0 -; S390X-NEXT: fidbr %f2, 0, %f1 +; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: fidbr %f2, 0, %f0 +; S390X-NEXT: fidbr %f0, 0, %f1 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_rint_v2f64: @@ -4251,9 +4222,9 @@ define <3 x float> @constrained_vector_rint_v3f32() #0 { ; S390X-NEXT: le %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI77_2 ; S390X-NEXT: le %f3, 0(%r1) -; S390X-NEXT: fiebr %f0, 0, %f0 +; S390X-NEXT: fiebr %f4, 0, %f0 ; S390X-NEXT: fiebr %f2, 0, %f1 -; S390X-NEXT: fiebr %f4, 0, %f3 +; S390X-NEXT: fiebr %f0, 0, %f3 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_rint_v3f32: @@ -4320,13 +4291,13 @@ define <4 x double> @constrained_vector_rint_v4f64() #0 { ; S390X-NEXT: larl %r1, .LCPI79_1 ; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI79_2 -; S390X-NEXT: ld %f3, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI79_3 -; S390X-NEXT: ld %f5, 0(%r1) -; S390X-NEXT: fidbr %f0, 0, %f0 -; S390X-NEXT: fidbr %f2, 0, %f1 -; S390X-NEXT: fidbr %f4, 0, %f3 -; S390X-NEXT: fidbr %f6, 0, %f5 +; S390X-NEXT: ld %f3, 0(%r1) +; S390X-NEXT: fidbr %f6, 0, %f0 +; S390X-NEXT: fidbr %f4, 0, %f1 +; S390X-NEXT: fidbr %f2, 0, %f2 +; S390X-NEXT: fidbr %f0, 0, %f3 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_rint_v4f64: @@ -4387,15 +4358,14 @@ define <2 x double> @constrained_vector_nearbyint_v2f64() #0 { ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI81_0 -; S390X-NEXT: ld %f0, 0(%r1) +; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: brasl %r14, nearbyint@PLT ; S390X-NEXT: larl %r1, .LCPI81_1 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, nearbyint@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -4439,9 +4409,8 @@ define <3 x float> @constrained_vector_nearbyint_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, nearbyintf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -4556,10 +4525,9 @@ define <4 x double> @constrained_vector_nearbyint_v4f64() #0 { ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, nearbyint@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -4645,8 +4613,7 @@ define <2 x double> @constrained_vector_maxnum_v2f64() #0 { ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmax@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -4698,10 +4665,10 @@ define <3 x float> @constrained_vector_maxnum_v3f32() #0 { ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI87_0 -; S390X-NEXT: le %f8, 0(%r1) +; S390X-NEXT: le %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI87_1 -; S390X-NEXT: le %f2, 0(%r1) -; S390X-NEXT: ler %f0, %f8 +; S390X-NEXT: le %f8, 0(%r1) +; S390X-NEXT: ler %f2, %f8 ; S390X-NEXT: brasl %r14, fmaxf@PLT ; S390X-NEXT: larl %r1, .LCPI87_2 ; S390X-NEXT: le %f1, 0(%r1) @@ -4711,14 +4678,12 @@ define <3 x float> @constrained_vector_maxnum_v3f32() #0 { ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, fmaxf@PLT ; S390X-NEXT: larl %r1, .LCPI87_4 -; S390X-NEXT: le %f1, 0(%r1) +; S390X-NEXT: le %f2, 0(%r1) ; S390X-NEXT: ler %f10, %f0 -; S390X-NEXT: ler %f0, %f1 -; S390X-NEXT: ler %f2, %f8 +; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: brasl %r14, fmaxf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f9 ; S390X-NEXT: ler %f2, %f10 +; S390X-NEXT: ler %f4, %f9 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -4901,10 +4866,9 @@ define <4 x double> @constrained_vector_maxnum_v4f64() #0 { ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmax@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -5023,8 +4987,7 @@ define <2 x double> @constrained_vector_minnum_v2f64() #0 { ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmin@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -5076,10 +5039,10 @@ define <3 x float> @constrained_vector_minnum_v3f32() #0 { ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI92_0 -; S390X-NEXT: le %f8, 0(%r1) +; S390X-NEXT: le %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI92_1 -; S390X-NEXT: le %f2, 0(%r1) -; S390X-NEXT: ler %f0, %f8 +; S390X-NEXT: le %f8, 0(%r1) +; S390X-NEXT: ler %f2, %f8 ; S390X-NEXT: brasl %r14, fminf@PLT ; S390X-NEXT: larl %r1, .LCPI92_2 ; S390X-NEXT: le %f1, 0(%r1) @@ -5089,14 +5052,12 @@ define <3 x float> @constrained_vector_minnum_v3f32() #0 { ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, fminf@PLT ; S390X-NEXT: larl %r1, .LCPI92_4 -; S390X-NEXT: le %f1, 0(%r1) +; S390X-NEXT: le %f2, 0(%r1) ; S390X-NEXT: ler %f10, %f0 -; S390X-NEXT: ler %f0, %f1 -; S390X-NEXT: ler %f2, %f8 +; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: brasl %r14, fminf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f9 ; S390X-NEXT: ler %f2, %f10 +; S390X-NEXT: ler %f4, %f9 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -5283,10 +5244,9 @@ define <4 x double> @constrained_vector_minnum_v4f64() #0 { ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmin@PLT -; S390X-NEXT: ldr %f6, %f0 -; S390X-NEXT: ldr %f0, %f8 -; S390X-NEXT: ldr %f2, %f9 -; S390X-NEXT: ldr %f4, %f10 +; S390X-NEXT: ldr %f2, %f10 +; S390X-NEXT: ldr %f4, %f9 +; S390X-NEXT: ldr %f6, %f8 ; S390X-NEXT: ld %f8, 176(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f10, 160(%r15) # 8-byte Folded Reload @@ -5373,8 +5333,8 @@ define <2 x float> @constrained_vector_fptrunc_v2f64() #0 { ; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI96_1 ; S390X-NEXT: ld %f1, 0(%r1) -; S390X-NEXT: ledbr %f0, %f0 -; S390X-NEXT: ledbr %f2, %f1 +; S390X-NEXT: ledbr %f2, %f0 +; S390X-NEXT: ledbr %f0, %f1 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fptrunc_v2f64: @@ -5444,13 +5404,13 @@ define <4 x float> @constrained_vector_fptrunc_v4f64() #0 { ; S390X-NEXT: larl %r1, .LCPI98_1 ; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI98_2 -; S390X-NEXT: ld %f3, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI98_3 -; S390X-NEXT: ld %f5, 0(%r1) -; S390X-NEXT: ledbr %f0, %f0 -; S390X-NEXT: ledbr %f2, %f1 -; S390X-NEXT: ledbr %f4, %f3 -; S390X-NEXT: ledbr %f6, %f5 +; S390X-NEXT: ld %f3, 0(%r1) +; S390X-NEXT: ledbr %f6, %f0 +; S390X-NEXT: ledbr %f4, %f1 +; S390X-NEXT: ledbr %f2, %f2 +; S390X-NEXT: ledbr %f0, %f3 ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fptrunc_v4f64: @@ -5504,9 +5464,9 @@ define <2 x double> @constrained_vector_fpext_v2f32() #0 { ; S390X-LABEL: constrained_vector_fpext_v2f32: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI100_0 -; S390X-NEXT: ldeb %f0, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI100_1 ; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI100_1 +; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fpext_v2f32: @@ -5531,13 +5491,13 @@ define void @constrained_vector_fpext_v3f64(<3 x float>* %src, <3 x double>* %de ; S390X-NEXT: sllg %r1, %r0, 32 ; S390X-NEXT: ldgr %f0, %r1 ; S390X-NEXT: nilf %r0, 0 -; S390X-NEXT: ldgr %f1, %r0 -; S390X-NEXT: ldeb %f2, 8(%r2) -; S390X-NEXT: ldebr %f1, %f1 +; S390X-NEXT: ldeb %f1, 8(%r2) +; S390X-NEXT: ldgr %f2, %r0 +; S390X-NEXT: ldebr %f2, %f2 ; S390X-NEXT: ldebr %f0, %f0 +; S390X-NEXT: std %f1, 16(%r3) ; S390X-NEXT: std %f0, 8(%r3) -; S390X-NEXT: std %f2, 16(%r3) -; S390X-NEXT: std %f1, 0(%r3) +; S390X-NEXT: std %f2, 0(%r3) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fpext_v3f64: @@ -5563,13 +5523,13 @@ define <4 x double> @constrained_vector_fpext_v4f32() #0 { ; S390X-LABEL: constrained_vector_fpext_v4f32: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI102_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ldeb %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI102_1 -; S390X-NEXT: ldeb %f2, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI102_2 ; S390X-NEXT: ldeb %f4, 0(%r1) +; S390X-NEXT: larl %r1, .LCPI102_2 +; S390X-NEXT: ldeb %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI102_3 -; S390X-NEXT: ldeb %f6, 0(%r1) +; S390X-NEXT: ldeb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fpext_v4f32: @@ -5638,8 +5598,7 @@ define <2 x double> @constrained_vector_ceil_v2f64() #0 { ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, ceil@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -5682,9 +5641,8 @@ define <3 x float> @constrained_vector_ceil_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, ceilf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -5810,8 +5768,7 @@ define <2 x double> @constrained_vector_floor_v2f64() #0 { ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, floor@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -5854,9 +5811,8 @@ define <3 x float> @constrained_vector_floor_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, floorf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -5981,8 +5937,7 @@ define <2 x double> @constrained_vector_round_v2f64() #0 { ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, round@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -6025,9 +5980,8 @@ define <3 x float> @constrained_vector_round_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, roundf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) @@ -6153,8 +6107,7 @@ define <2 x double> @constrained_vector_trunc_v2f64() #0 { ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, trunc@PLT -; S390X-NEXT: ldr %f2, %f0 -; S390X-NEXT: ldr %f0, %f8 +; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: ld %f8, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 280(%r15) ; S390X-NEXT: br %r14 @@ -6197,9 +6150,8 @@ define <3 x float> @constrained_vector_trunc_v3f32() #0 { ; S390X-NEXT: ler %f9, %f0 ; S390X-NEXT: ler %f0, %f1 ; S390X-NEXT: brasl %r14, truncf@PLT -; S390X-NEXT: ler %f4, %f0 -; S390X-NEXT: ler %f0, %f8 ; S390X-NEXT: ler %f2, %f9 +; S390X-NEXT: ler %f4, %f8 ; S390X-NEXT: ld %f8, 168(%r15) # 8-byte Folded Reload ; S390X-NEXT: ld %f9, 160(%r15) # 8-byte Folded Reload ; S390X-NEXT: lmg %r14, %r15, 288(%r15) |