diff --git a/llvm/lib/Target/SystemZ/SystemZISelLowering.h b/llvm/lib/Target/SystemZ/SystemZISelLowering.h --- a/llvm/lib/Target/SystemZ/SystemZISelLowering.h +++ b/llvm/lib/Target/SystemZ/SystemZISelLowering.h @@ -443,6 +443,11 @@ EVT VT) const override; bool isFPImmLegal(const APFloat &Imm, EVT VT, bool ForCodeSize) const override; + bool ShouldShrinkFPConstant(EVT VT) const override { + // Do not shrink 64-bit FP constpool entries since LDEB is slower than + // LD, and having the full constant in memory enables reg/mem opcodes. + return VT != MVT::f64; + } bool hasInlineStackProbe(MachineFunction &MF) const override; bool isLegalICmpImmediate(int64_t Imm) const override; bool isLegalAddImmediate(int64_t Imm) const override; diff --git a/llvm/test/CodeGen/SystemZ/args-07.ll b/llvm/test/CodeGen/SystemZ/args-07.ll --- a/llvm/test/CodeGen/SystemZ/args-07.ll +++ b/llvm/test/CodeGen/SystemZ/args-07.ll @@ -31,13 +31,13 @@ define { double, double, double, double } @f3() { ; CHECK-LABEL: f3: ; CHECK: larl [[TMP:%r[0-5]]], .LCPI -; CHECK: ldeb %f0, 0([[TMP]]) +; CHECK: ld %f0, 0([[TMP]]) ; CHECK: larl [[TMP:%r[0-5]]], .LCPI -; CHECK: ldeb %f2, 0([[TMP]]) +; CHECK: ld %f2, 0([[TMP]]) ; CHECK: larl [[TMP:%r[0-5]]], .LCPI -; CHECK: ldeb %f4, 0([[TMP]]) +; CHECK: ld %f4, 0([[TMP]]) ; CHECK: larl [[TMP:%r[0-5]]], .LCPI -; CHECK: ldeb %f6, 0([[TMP]]) +; CHECK: ld %f6, 0([[TMP]]) ; CHECK: br %r14 ; SOFT-FLOAT-LABEL: f3: diff --git a/llvm/test/CodeGen/SystemZ/fp-const-04.ll b/llvm/test/CodeGen/SystemZ/fp-const-04.ll --- a/llvm/test/CodeGen/SystemZ/fp-const-04.ll +++ b/llvm/test/CodeGen/SystemZ/fp-const-04.ll @@ -1,5 +1,5 @@ -; Test loads of 64-bit floating-point constants that can be represented -; as 32-bit constants. +; Test loads of 64-bit floating-point constants that could be represented +; as 32-bit constants, but should not be. ; ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s -check-prefix=CONST @@ -7,9 +7,9 @@ define double @f1() { ; CHECK-LABEL: f1: ; CHECK: larl [[REGISTER:%r[1-5]]], {{.*}} -; CHECK: ldeb %f0, 0([[REGISTER]]) +; CHECK: ld %f0, 0([[REGISTER]]) ; CHECK: br %r14 ; -; CONST: .long 0x3f800001 +; CONST: .quad 0x3ff0000020000000 # double 1.0000001192092896 ret double 0x3ff0000020000000 } diff --git a/llvm/test/CodeGen/SystemZ/fp-conv-10.ll b/llvm/test/CodeGen/SystemZ/fp-conv-10.ll --- a/llvm/test/CodeGen/SystemZ/fp-conv-10.ll +++ b/llvm/test/CodeGen/SystemZ/fp-conv-10.ll @@ -33,7 +33,7 @@ ; CHECK-LABEL: f2: ; CHECK: # %bb.0: ; CHECK-NEXT: larl %r1, .LCPI1_0 -; CHECK-NEXT: ldeb %f1, 0(%r1) +; CHECK-NEXT: ld %f1, 0(%r1) ; CHECK-NEXT: cdbr %f0, %f1 ; CHECK-NEXT: jnl .LBB1_2 ; CHECK-NEXT: # %bb.1: diff --git a/llvm/test/CodeGen/SystemZ/fp-conv-12.ll b/llvm/test/CodeGen/SystemZ/fp-conv-12.ll --- a/llvm/test/CodeGen/SystemZ/fp-conv-12.ll +++ b/llvm/test/CodeGen/SystemZ/fp-conv-12.ll @@ -32,7 +32,7 @@ ; CHECK-LABEL: f2: ; CHECK: # %bb.0: ; CHECK-NEXT: larl %r1, .LCPI1_0 -; CHECK-NEXT: ldeb %f1, 0(%r1) +; CHECK-NEXT: ld %f1, 0(%r1) ; CHECK-NEXT: cdbr %f0, %f1 ; CHECK-NEXT: jnl .LBB1_2 ; CHECK-NEXT: # %bb.1: diff --git a/llvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll b/llvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll --- a/llvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll +++ b/llvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll @@ -42,7 +42,7 @@ ; CHECK-LABEL: f2: ; CHECK: # %bb.0: ; CHECK-NEXT: larl %r1, .LCPI1_0 -; CHECK-NEXT: ldeb %f1, 0(%r1) +; CHECK-NEXT: ld %f1, 0(%r1) ; CHECK-NEXT: kdbr %f0, %f1 ; CHECK-NEXT: jnl .LBB1_2 ; CHECK-NEXT: # %bb.1: diff --git a/llvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll b/llvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll --- a/llvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll +++ b/llvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll @@ -41,7 +41,7 @@ ; CHECK-LABEL: f2: ; CHECK: # %bb.0: ; CHECK-NEXT: larl %r1, .LCPI1_0 -; CHECK-NEXT: ldeb %f1, 0(%r1) +; CHECK-NEXT: ld %f1, 0(%r1) ; CHECK-NEXT: kdbr %f0, %f1 ; CHECK-NEXT: jnl .LBB1_2 ; CHECK-NEXT: # %bb.1: diff --git a/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll b/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll --- a/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll +++ b/llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll @@ -31,11 +31,11 @@ ; S390X-LABEL: constrained_vector_fdiv_v2f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI1_0 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI1_1 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI1_2 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: ddbr %f2, %f1 ; S390X-NEXT: ddbr %f0, %f1 ; S390X-NEXT: br %r14 @@ -101,11 +101,11 @@ ; S390X-LABEL: constrained_vector_fdiv_v3f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI3_1 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI3_2 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI3_0 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ddb %f1, 0(%r2) ; S390X-NEXT: ddb %f0, 8(%r2) ; S390X-NEXT: ddb %f2, 16(%r2) @@ -117,7 +117,7 @@ ; SZ13-LABEL: constrained_vector_fdiv_v3f64: ; SZ13: # %bb.0: # %entry ; SZ13-NEXT: larl %r1, .LCPI3_0 -; SZ13-NEXT: ldeb %f1, 0(%r1) +; SZ13-NEXT: ld %f1, 0(%r1) ; SZ13-NEXT: ddb %f1, 16(%r2) ; SZ13-NEXT: larl %r1, .LCPI3_1 ; SZ13-NEXT: vl %v0, 0(%r2), 4 @@ -141,15 +141,15 @@ ; S390X-LABEL: constrained_vector_fdiv_v4f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI4_0 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI4_1 -; S390X-NEXT: ldeb %f6, 0(%r1) +; S390X-NEXT: ld %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI4_2 -; S390X-NEXT: ldeb %f4, 0(%r1) +; S390X-NEXT: ld %f4, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI4_3 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI4_4 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: ddbr %f6, %f1 ; S390X-NEXT: ddbr %f4, %f1 ; S390X-NEXT: ddbr %f2, %f1 @@ -231,13 +231,13 @@ ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: larl %r1, .LCPI6_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI6_1 -; S390X-NEXT: ldeb %f8, 0(%r1) +; S390X-NEXT: ld %f8, 0(%r1) ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, fmod@PLT ; S390X-NEXT: larl %r1, .LCPI6_2 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f9, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f8 @@ -258,7 +258,7 @@ ; SZ13-NEXT: std %f8, 176(%r15) # 8-byte Folded Spill ; SZ13-NEXT: .cfi_offset %f8, -168 ; SZ13-NEXT: larl %r1, .LCPI6_0 -; SZ13-NEXT: ldeb %f8, 0(%r1) +; SZ13-NEXT: ld %f8, 0(%r1) ; SZ13-NEXT: vgmg %v0, 1, 1 ; SZ13-NEXT: ldr %f2, %f8 ; SZ13-NEXT: brasl %r14, fmod@PLT @@ -384,17 +384,17 @@ ; S390X-NEXT: ld %f8, 0(%r2) ; S390X-NEXT: ld %f2, 16(%r2) ; S390X-NEXT: larl %r1, .LCPI8_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: ld %f9, 8(%r2) ; S390X-NEXT: brasl %r14, fmod@PLT ; S390X-NEXT: larl %r1, .LCPI8_1 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f9 ; S390X-NEXT: brasl %r14, fmod@PLT ; S390X-NEXT: larl %r1, .LCPI8_2 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f9, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f8 @@ -437,7 +437,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: ldr %f2, %f8 ; SZ13-NEXT: brasl %r14, fmod@PLT ; SZ13-NEXT: std %f0, 16(%r13) @@ -474,25 +474,25 @@ ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: .cfi_offset %f11, -192 ; S390X-NEXT: larl %r1, .LCPI9_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI9_1 -; S390X-NEXT: ldeb %f8, 0(%r1) +; S390X-NEXT: ld %f8, 0(%r1) ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, fmod@PLT ; S390X-NEXT: larl %r1, .LCPI9_2 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f9, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, fmod@PLT ; S390X-NEXT: larl %r1, .LCPI9_3 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, fmod@PLT ; S390X-NEXT: larl %r1, .LCPI9_4 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f11, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: ldr %f2, %f8 @@ -517,7 +517,7 @@ ; SZ13-NEXT: std %f8, 192(%r15) # 8-byte Folded Spill ; SZ13-NEXT: .cfi_offset %f8, -168 ; SZ13-NEXT: larl %r1, .LCPI9_0 -; SZ13-NEXT: ldeb %f8, 0(%r1) +; SZ13-NEXT: ld %f8, 0(%r1) ; SZ13-NEXT: vgmg %v0, 1, 1 ; SZ13-NEXT: ldr %f2, %f8 ; SZ13-NEXT: brasl %r14, fmod@PLT @@ -531,13 +531,13 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: ldr %f2, %f8 ; SZ13-NEXT: brasl %r14, fmod@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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: ldr %f2, %f8 ; SZ13-NEXT: brasl %r14, fmod@PLT ; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload @@ -586,13 +586,12 @@ ; S390X-LABEL: constrained_vector_fmul_v2f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI11_0 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI11_1 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldr %f2, %f0 +; S390X-NEXT: mdb %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI11_2 -; S390X-NEXT: ldeb %f0, 0(%r1) -; S390X-NEXT: mdbr %f2, %f1 -; S390X-NEXT: mdbr %f0, %f1 +; S390X-NEXT: mdb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fmul_v2f64: @@ -694,19 +693,18 @@ ; S390X-LABEL: constrained_vector_fmul_v4f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI14_0 -; S390X-NEXT: ldeb %f6, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI14_1 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ldr %f6, %f0 +; S390X-NEXT: mdb %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI14_2 -; S390X-NEXT: ldeb %f4, 0(%r1) +; S390X-NEXT: ldr %f4, %f0 +; S390X-NEXT: mdb %f4, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI14_3 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ldr %f2, %f0 +; S390X-NEXT: mdb %f2, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI14_4 -; 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: mdb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fmul_v4f64: @@ -760,13 +758,12 @@ ; 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: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI16_1 -; S390X-NEXT: ldr %f2, %f1 +; S390X-NEXT: ldr %f2, %f0 ; S390X-NEXT: adb %f2, 0(%r1) -; S390X-NEXT: adbr %f0, %f1 +; S390X-NEXT: larl %r1, .LCPI16_2 +; S390X-NEXT: adb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fadd_v2f64: @@ -866,19 +863,18 @@ ; S390X-LABEL: constrained_vector_fadd_v4f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI19_0 -; S390X-NEXT: ld %f1, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI19_1 -; S390X-NEXT: ldr %f2, %f1 -; S390X-NEXT: ldr %f6, %f1 +; S390X-NEXT: ldr %f6, %f0 ; S390X-NEXT: adb %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI19_2 -; S390X-NEXT: ldeb %f4, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI19_4 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ldr %f4, %f0 +; S390X-NEXT: adb %f4, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI19_3 +; S390X-NEXT: ldr %f2, %f0 ; S390X-NEXT: adb %f2, 0(%r1) -; S390X-NEXT: adbr %f4, %f1 -; S390X-NEXT: adbr %f0, %f1 +; S390X-NEXT: larl %r1, .LCPI19_4 +; S390X-NEXT: adb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fadd_v4f64: @@ -933,12 +929,11 @@ ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI21_0 ; 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: larl %r1, .LCPI21_2 +; S390X-NEXT: sdb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fsub_v2f64: @@ -1043,15 +1038,13 @@ ; S390X-NEXT: ldr %f6, %f0 ; S390X-NEXT: sdb %f6, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI24_2 -; S390X-NEXT: ldeb %f1, 0(%r1) -; S390X-NEXT: larl %r1, .LCPI24_4 -; S390X-NEXT: ldeb %f3, 0(%r1) +; S390X-NEXT: ldr %f4, %f0 +; S390X-NEXT: sdb %f4, 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: larl %r1, .LCPI24_4 +; S390X-NEXT: sdb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_fsub_v4f64: @@ -1100,10 +1093,9 @@ ; S390X-LABEL: constrained_vector_sqrt_v2f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI26_0 -; S390X-NEXT: larl %r2, .LCPI26_1 -; S390X-NEXT: ldeb %f0, 0(%r2) ; S390X-NEXT: sqdb %f2, 0(%r1) -; S390X-NEXT: sqdbr %f0, %f0 +; S390X-NEXT: larl %r1, .LCPI26_1 +; S390X-NEXT: sqdb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_sqrt_v2f64: @@ -1187,11 +1179,10 @@ ; 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 %f2, 0(%r1) -; S390X-NEXT: sqdbr %f0, %f0 +; S390X-NEXT: larl %r1, .LCPI29_3 +; S390X-NEXT: sqdb %f0, 0(%r1) ; S390X-NEXT: br %r14 ; ; SZ13-LABEL: constrained_vector_sqrt_v4f64: @@ -1268,7 +1259,7 @@ ; S390X-NEXT: larl %r1, .LCPI31_0 ; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI31_1 -; S390X-NEXT: ldeb %f8, 0(%r1) +; S390X-NEXT: ld %f8, 0(%r1) ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, pow@PLT ; S390X-NEXT: larl %r1, .LCPI31_2 @@ -1295,7 +1286,7 @@ ; SZ13-NEXT: larl %r1, .LCPI31_0 ; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI31_1 -; SZ13-NEXT: ldeb %f8, 0(%r1) +; SZ13-NEXT: ld %f8, 0(%r1) ; SZ13-NEXT: ldr %f2, %f8 ; SZ13-NEXT: brasl %r14, pow@PLT ; SZ13-NEXT: larl %r1, .LCPI31_2 @@ -1425,7 +1416,7 @@ ; S390X-NEXT: ld %f8, 0(%r2) ; S390X-NEXT: ld %f0, 16(%r2) ; S390X-NEXT: larl %r1, .LCPI33_0 -; S390X-NEXT: ldeb %f9, 0(%r1) +; S390X-NEXT: ld %f9, 0(%r1) ; S390X-NEXT: ld %f10, 8(%r2) ; S390X-NEXT: ldr %f2, %f9 ; S390X-NEXT: brasl %r14, pow@PLT @@ -1460,7 +1451,7 @@ ; SZ13-NEXT: .cfi_offset %f8, -168 ; SZ13-NEXT: .cfi_offset %f9, -176 ; SZ13-NEXT: larl %r1, .LCPI33_0 -; SZ13-NEXT: ldeb %f9, 0(%r1) +; SZ13-NEXT: ld %f9, 0(%r1) ; SZ13-NEXT: vl %v0, 0(%r2), 4 ; SZ13-NEXT: ld %f8, 16(%r2) ; SZ13-NEXT: ldr %f2, %f9 @@ -1519,7 +1510,7 @@ ; S390X-NEXT: larl %r1, .LCPI34_0 ; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI34_1 -; S390X-NEXT: ldeb %f8, 0(%r1) +; S390X-NEXT: ld %f8, 0(%r1) ; S390X-NEXT: ldr %f2, %f8 ; S390X-NEXT: brasl %r14, pow@PLT ; S390X-NEXT: larl %r1, .LCPI34_2 @@ -1562,7 +1553,7 @@ ; SZ13-NEXT: larl %r1, .LCPI34_0 ; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI34_1 -; SZ13-NEXT: ldeb %f8, 0(%r1) +; SZ13-NEXT: ld %f8, 0(%r1) ; SZ13-NEXT: ldr %f2, %f8 ; SZ13-NEXT: brasl %r14, pow@PLT ; SZ13-NEXT: larl %r1, .LCPI34_2 @@ -1787,7 +1778,7 @@ ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: larl %r1, .LCPI38_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: lgr %r13, %r2 ; S390X-NEXT: lghi %r2, 3 ; S390X-NEXT: brasl %r14, __powidf2@PLT @@ -1827,7 +1818,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: lghi %r2, 3 ; SZ13-NEXT: brasl %r14, __powidf2@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload @@ -1996,7 +1987,7 @@ ; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, sin@PLT ; S390X-NEXT: larl %r1, .LCPI41_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, sin@PLT @@ -2018,7 +2009,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, sin@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -2208,7 +2199,7 @@ ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, sin@PLT ; S390X-NEXT: larl %r1, .LCPI44_3 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, sin@PLT @@ -2234,7 +2225,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, sin@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -2313,7 +2304,7 @@ ; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, cos@PLT ; S390X-NEXT: larl %r1, .LCPI46_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, cos@PLT @@ -2335,7 +2326,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, cos@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -2525,7 +2516,7 @@ ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, cos@PLT ; S390X-NEXT: larl %r1, .LCPI49_3 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, cos@PLT @@ -2551,7 +2542,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, cos@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -2630,7 +2621,7 @@ ; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, exp@PLT ; S390X-NEXT: larl %r1, .LCPI51_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, exp@PLT @@ -2652,7 +2643,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, exp@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -2842,7 +2833,7 @@ ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, exp@PLT ; S390X-NEXT: larl %r1, .LCPI54_3 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, exp@PLT @@ -2868,7 +2859,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, exp@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -2944,7 +2935,7 @@ ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI56_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, exp2@PLT ; S390X-NEXT: larl %r1, .LCPI56_1 ; S390X-NEXT: ld %f1, 0(%r1) @@ -2964,7 +2955,7 @@ ; SZ13-NEXT: aghi %r15, -176 ; SZ13-NEXT: .cfi_def_cfa_offset 336 ; SZ13-NEXT: larl %r1, .LCPI56_0 -; SZ13-NEXT: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, exp2@PLT ; SZ13-NEXT: larl %r1, .LCPI56_1 ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -3264,7 +3255,7 @@ ; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, log@PLT ; S390X-NEXT: larl %r1, .LCPI61_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, log@PLT @@ -3286,7 +3277,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, log@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -3476,7 +3467,7 @@ ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log@PLT ; S390X-NEXT: larl %r1, .LCPI64_3 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log@PLT @@ -3502,7 +3493,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, log@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -3581,7 +3572,7 @@ ; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, log10@PLT ; S390X-NEXT: larl %r1, .LCPI66_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, log10@PLT @@ -3603,7 +3594,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, log10@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -3793,7 +3784,7 @@ ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log10@PLT ; S390X-NEXT: larl %r1, .LCPI69_3 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log10@PLT @@ -3819,7 +3810,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, log10@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -3898,7 +3889,7 @@ ; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, log2@PLT ; S390X-NEXT: larl %r1, .LCPI71_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, log2@PLT @@ -3920,7 +3911,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, log2@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -4110,7 +4101,7 @@ ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log2@PLT ; S390X-NEXT: larl %r1, .LCPI74_3 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, log2@PLT @@ -4136,7 +4127,7 @@ ; 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: brasl %r14, log2@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -4192,7 +4183,7 @@ ; S390X-LABEL: constrained_vector_rint_v2f64: ; S390X: # %bb.0: # %entry ; S390X-NEXT: larl %r1, .LCPI76_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI76_1 ; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: fidbr %f2, 0, %f0 @@ -4358,7 +4349,7 @@ ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI81_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: brasl %r14, nearbyint@PLT ; S390X-NEXT: larl %r1, .LCPI81_1 ; S390X-NEXT: ld %f1, 0(%r1) @@ -4602,14 +4593,14 @@ ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI86_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI86_1 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: brasl %r14, fmax@PLT ; S390X-NEXT: larl %r1, .LCPI86_2 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI86_3 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmax@PLT @@ -4626,16 +4617,16 @@ ; SZ13-NEXT: aghi %r15, -176 ; SZ13-NEXT: .cfi_def_cfa_offset 336 ; SZ13-NEXT: larl %r1, .LCPI86_0 -; SZ13-NEXT: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI86_1 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmax@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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI86_3 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmax@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -4754,16 +4745,16 @@ ; S390X-NEXT: ld %f8, 0(%r2) ; S390X-NEXT: ld %f0, 16(%r2) ; S390X-NEXT: larl %r1, .LCPI88_0 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ld %f9, 8(%r2) ; S390X-NEXT: brasl %r14, fmax@PLT ; S390X-NEXT: larl %r1, .LCPI88_1 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f9 ; S390X-NEXT: brasl %r14, fmax@PLT ; S390X-NEXT: larl %r1, .LCPI88_2 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f9, %f0 ; S390X-NEXT: ldr %f0, %f8 ; S390X-NEXT: brasl %r14, fmax@PLT @@ -4787,24 +4778,24 @@ ; SZ13-NEXT: std %f8, 192(%r15) # 8-byte Folded Spill ; SZ13-NEXT: .cfi_offset %f8, -168 ; SZ13-NEXT: larl %r1, .LCPI88_0 -; SZ13-NEXT: ldeb %f2, 0(%r1) ; SZ13-NEXT: vl %v0, 0(%r2), 4 +; 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: # kill: def $f0d killed $f0d killed $v0 ; SZ13-NEXT: brasl %r14, fmax@PLT ; SZ13-NEXT: larl %r1, .LCPI88_1 -; SZ13-NEXT: ldeb %f2, 0(%r1) ; 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: ld %f2, 0(%r1) ; SZ13-NEXT: vrepg %v0, %v0, 1 ; SZ13-NEXT: # kill: def $f0d killed $f0d killed $v0 ; SZ13-NEXT: brasl %r14, fmax@PLT -; SZ13-NEXT: larl %r1, .LCPI88_2 -; SZ13-NEXT: ldeb %f2, 0(%r1) ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded 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 @@ -4841,28 +4832,28 @@ ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI89_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI89_1 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: brasl %r14, fmax@PLT ; S390X-NEXT: larl %r1, .LCPI89_2 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI89_3 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmax@PLT ; S390X-NEXT: larl %r1, .LCPI89_4 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI89_5 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f9, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmax@PLT ; S390X-NEXT: larl %r1, .LCPI89_6 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI89_7 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmax@PLT @@ -4883,32 +4874,32 @@ ; SZ13-NEXT: aghi %r15, -192 ; SZ13-NEXT: .cfi_def_cfa_offset 352 ; SZ13-NEXT: larl %r1, .LCPI89_0 -; SZ13-NEXT: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI89_1 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmax@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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI89_3 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmax@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI89_5 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmax@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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI89_7 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmax@PLT ; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload @@ -4976,14 +4967,14 @@ ; S390X-NEXT: std %f8, 160(%r15) # 8-byte Folded Spill ; S390X-NEXT: .cfi_offset %f8, -168 ; S390X-NEXT: larl %r1, .LCPI91_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI91_1 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: brasl %r14, fmin@PLT ; S390X-NEXT: larl %r1, .LCPI91_2 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI91_3 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmin@PLT @@ -5000,16 +4991,16 @@ ; SZ13-NEXT: aghi %r15, -176 ; SZ13-NEXT: .cfi_def_cfa_offset 336 ; SZ13-NEXT: larl %r1, .LCPI91_0 -; SZ13-NEXT: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI91_1 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmin@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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI91_3 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmin@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: # kill: def $f0d killed $f0d def $v0 @@ -5130,7 +5121,7 @@ ; S390X-NEXT: ld %f8, 0(%r2) ; S390X-NEXT: ld %f0, 16(%r2) ; S390X-NEXT: larl %r1, .LCPI93_0 -; S390X-NEXT: ldeb %f9, 0(%r1) +; S390X-NEXT: ld %f9, 0(%r1) ; S390X-NEXT: ld %f10, 8(%r2) ; S390X-NEXT: ldr %f2, %f9 ; S390X-NEXT: brasl %r14, fmin@PLT @@ -5165,7 +5156,7 @@ ; SZ13-NEXT: .cfi_offset %f8, -168 ; SZ13-NEXT: .cfi_offset %f9, -176 ; SZ13-NEXT: larl %r1, .LCPI93_0 -; SZ13-NEXT: ldeb %f9, 0(%r1) +; SZ13-NEXT: ld %f9, 0(%r1) ; SZ13-NEXT: vl %v0, 0(%r2), 4 ; SZ13-NEXT: ld %f8, 16(%r2) ; SZ13-NEXT: ldr %f2, %f9 @@ -5219,28 +5210,28 @@ ; S390X-NEXT: .cfi_offset %f9, -176 ; S390X-NEXT: .cfi_offset %f10, -184 ; S390X-NEXT: larl %r1, .LCPI94_0 -; S390X-NEXT: ldeb %f0, 0(%r1) +; S390X-NEXT: ld %f0, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI94_1 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: brasl %r14, fmin@PLT ; S390X-NEXT: larl %r1, .LCPI94_2 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI94_3 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f8, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmin@PLT ; S390X-NEXT: larl %r1, .LCPI94_4 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI94_5 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f9, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmin@PLT ; S390X-NEXT: larl %r1, .LCPI94_6 -; S390X-NEXT: ldeb %f1, 0(%r1) +; S390X-NEXT: ld %f1, 0(%r1) ; S390X-NEXT: larl %r1, .LCPI94_7 -; S390X-NEXT: ldeb %f2, 0(%r1) +; S390X-NEXT: ld %f2, 0(%r1) ; S390X-NEXT: ldr %f10, %f0 ; S390X-NEXT: ldr %f0, %f1 ; S390X-NEXT: brasl %r14, fmin@PLT @@ -5261,32 +5252,32 @@ ; SZ13-NEXT: aghi %r15, -192 ; SZ13-NEXT: .cfi_def_cfa_offset 352 ; SZ13-NEXT: larl %r1, .LCPI94_0 -; SZ13-NEXT: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI94_1 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmin@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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI94_3 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmin@PLT ; SZ13-NEXT: vl %v1, 160(%r15), 3 # 16-byte Folded 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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI94_5 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmin@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: ldeb %f0, 0(%r1) +; SZ13-NEXT: ld %f0, 0(%r1) ; SZ13-NEXT: larl %r1, .LCPI94_7 -; SZ13-NEXT: ldeb %f2, 0(%r1) +; SZ13-NEXT: ld %f2, 0(%r1) ; SZ13-NEXT: brasl %r14, fmin@PLT ; SZ13-NEXT: vl %v1, 176(%r15), 3 # 16-byte Folded Reload ; SZ13-NEXT: vl %v24, 160(%r15), 3 # 16-byte Folded Reload