; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -O3 -mtriple=s390x-linux-gnu  < %s | FileCheck --check-prefix=S390X %s
; RUN: llc -O3 -mtriple=s390x-linux-gnu -mcpu=z13 < %s | FileCheck --check-prefix=SZ13 %s

define <1 x float> @constrained_vector_fdiv_v1f32() #0 {
; S390X-LABEL: constrained_vector_fdiv_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI0_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI0_1
; S390X-NEXT:    deb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fdiv_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI0_0
; SZ13-NEXT:    vgmf %v0, 2, 8
; SZ13-NEXT:    deb %f0, 0(%r1)
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %div = call <1 x float> @llvm.experimental.constrained.fdiv.v1f32(
           <1 x float> <float 1.000000e+00>,
           <1 x float> <float 1.000000e+01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <1 x float> %div
}

define <2 x double> @constrained_vector_fdiv_v2f64() #0 {
; S390X-LABEL: constrained_vector_fdiv_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI1_0
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI1_1
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI1_2
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    ddbr %f2, %f1
; S390X-NEXT:    ddbr %f0, %f1
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fdiv_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI1_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    larl %r1, .LCPI1_1
; SZ13-NEXT:    vl %v1, 0(%r1), 3
; SZ13-NEXT:    vfddb %v24, %v1, %v0
; SZ13-NEXT:    br %r14
entry:
  %div = call <2 x double> @llvm.experimental.constrained.fdiv.v2f64(
           <2 x double> <double 1.000000e+00, double 2.000000e+00>,
           <2 x double> <double 1.000000e+01, double 1.000000e+01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <2 x double> %div
}

define <3 x float> @constrained_vector_fdiv_v3f32() #0 {
; S390X-LABEL: constrained_vector_fdiv_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI2_0
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI2_1
; 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 %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:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI2_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI2_1
; SZ13-NEXT:    lde %f1, 0(%r1)
; SZ13-NEXT:    debr %f1, %f0
; SZ13-NEXT:    vgmf %v2, 2, 8
; SZ13-NEXT:    vgmf %v3, 1, 1
; SZ13-NEXT:    debr %f2, %f0
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    debr %f3, %f0
; SZ13-NEXT:    vmrhf %v0, %v2, %v3
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %div = call <3 x float> @llvm.experimental.constrained.fdiv.v3f32(
           <3 x float> <float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>,
           <3 x float> <float 1.000000e+01, float 1.000000e+01, float 1.000000e+01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <3 x float> %div
}

define void @constrained_vector_fdiv_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_fdiv_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI3_1
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI3_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI3_0
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    ddb %f1, 0(%r2)
; S390X-NEXT:    ddb %f0, 8(%r2)
; S390X-NEXT:    ddb %f2, 16(%r2)
; S390X-NEXT:    std %f1, 0(%r2)
; S390X-NEXT:    std %f0, 8(%r2)
; S390X-NEXT:    std %f2, 16(%r2)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fdiv_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI3_0
; 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
; SZ13-NEXT:    vl %v2, 0(%r1), 3
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    vfddb %v0, %v2, %v0
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %div = call <3 x double> @llvm.experimental.constrained.fdiv.v3f64(
           <3 x double> <double 1.000000e+00, double 2.000000e+00, double 3.000000e+00>,
           <3 x double> %b,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  store <3 x double> %div, ptr %a
  ret void
}

define <4 x double> @constrained_vector_fdiv_v4f64() #0 {
; S390X-LABEL: constrained_vector_fdiv_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI4_0
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI4_1
; S390X-NEXT:    ld %f6, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI4_2
; S390X-NEXT:    ld %f4, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI4_3
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI4_4
; S390X-NEXT:    ld %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:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI4_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    larl %r1, .LCPI4_1
; SZ13-NEXT:    vl %v1, 0(%r1), 3
; SZ13-NEXT:    vfddb %v26, %v1, %v0
; SZ13-NEXT:    larl %r1, .LCPI4_2
; SZ13-NEXT:    vl %v1, 0(%r1), 3
; SZ13-NEXT:    vfddb %v24, %v1, %v0
; SZ13-NEXT:    br %r14
entry:
  %div = call <4 x double> @llvm.experimental.constrained.fdiv.v4f64(
           <4 x double> <double 1.000000e+00, double 2.000000e+00,
                         double 3.000000e+00, double 4.000000e+00>,
           <4 x double> <double 1.000000e+01, double 1.000000e+01,
                         double 1.000000e+01, double 1.000000e+01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <4 x double> %div
}

define <1 x float> @constrained_vector_frem_v1f32() #0 {
; S390X-LABEL: constrained_vector_frem_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI5_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI5_1
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, fmodf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_frem_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI5_0
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    vgmf %v0, 2, 8
; SZ13-NEXT:    brasl %r14, fmodf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %rem = call <1 x float> @llvm.experimental.constrained.frem.v1f32(
           <1 x float> <float 1.000000e+00>,
           <1 x float> <float 1.000000e+01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <1 x float> %rem
}

define <2 x double> @constrained_vector_frem_v2f64() #0 {
; S390X-LABEL: constrained_vector_frem_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI6_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI6_1
; 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:    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:    ldr %f2, %f9
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_frem_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -184
; SZ13-NEXT:    .cfi_def_cfa_offset 344
; SZ13-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    larl %r1, .LCPI6_0
; SZ13-NEXT:    ld %f8, 0(%r1)
; SZ13-NEXT:    vgmg %v0, 1, 1
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmod@PLT
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    vgmg %v0, 2, 11
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmod@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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
; SZ13-NEXT:    lmg %r14, %r15, 296(%r15)
; SZ13-NEXT:    br %r14
entry:
  %rem = call <2 x double> @llvm.experimental.constrained.frem.v2f64(
           <2 x double> <double 1.000000e+00, double 2.000000e+00>,
           <2 x double> <double 1.000000e+01, double 1.000000e+01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <2 x double> %rem
}

define <3 x float> @constrained_vector_frem_v3f32() #0 {
; S390X-LABEL: constrained_vector_frem_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI7_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI7_1
; S390X-NEXT:    le %f8, 0(%r1)
; S390X-NEXT:    ler %f2, %f8
; S390X-NEXT:    brasl %r14, fmodf@PLT
; S390X-NEXT:    larl %r1, .LCPI7_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    ler %f2, %f8
; S390X-NEXT:    brasl %r14, fmodf@PLT
; S390X-NEXT:    larl %r1, .LCPI7_3
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    ler %f2, %f8
; S390X-NEXT:    brasl %r14, fmodf@PLT
; S390X-NEXT:    ler %f2, %f10
; S390X-NEXT:    ler %f4, %f9
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_frem_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    larl %r1, .LCPI7_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI7_1
; SZ13-NEXT:    lde %f8, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmodf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vst %v0, 176(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    vgmf %v0, 2, 8
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmodf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    vgmf %v0, 1, 1
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmodf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 312(%r15)
; SZ13-NEXT:    br %r14
entry:
  %rem = call <3 x float> @llvm.experimental.constrained.frem.v3f32(
           <3 x float> <float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>,
           <3 x float> <float 1.000000e+01, float 1.000000e+01, float 1.000000e+01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <3 x float> %rem
}

define void @constrained_vector_frem_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_frem_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f2, 16(%r2)
; S390X-NEXT:    larl %r1, .LCPI8_0
; 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:    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:    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:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_frem_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    vl %v2, 0(%r2), 4
; 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:    # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT:    brasl %r14, fmod@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:    vrepg %v2, %v0, 1
; SZ13-NEXT:    vgmg %v0, 1, 1
; SZ13-NEXT:    # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT:    brasl %r14, fmod@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, %v1, %v0
; SZ13-NEXT:    larl %r1, .LCPI8_0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmod@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %rem = call <3 x double> @llvm.experimental.constrained.frem.v3f64(
           <3 x double> <double 1.000000e+00, double 2.000000e+00, double 3.000000e+00>,
           <3 x double> %b,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  store <3 x double> %rem, ptr %a
  ret void
}

define <4 x double> @constrained_vector_frem_v4f64() #0 {
; S390X-LABEL: constrained_vector_frem_v4f64:
; S390X:       # %bb.0:
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -192
; S390X-NEXT:    .cfi_def_cfa_offset 352
; S390X-NEXT:    std %f8, 184(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f11, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    .cfi_offset %f11, -192
; S390X-NEXT:    larl %r1, .LCPI9_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI9_1
; 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:    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:    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:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f11, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    brasl %r14, fmod@PLT
; S390X-NEXT:    ldr %f2, %f11
; S390X-NEXT:    ldr %f4, %f10
; S390X-NEXT:    ldr %f6, %f9
; S390X-NEXT:    ld %f8, 184(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f11, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 304(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_frem_v4f64:
; SZ13:       # %bb.0:
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    larl %r1, .LCPI9_0
; SZ13-NEXT:    ld %f8, 0(%r1)
; SZ13-NEXT:    vgmg %v0, 1, 1
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmod@PLT
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    vgmg %v0, 2, 11
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmod@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, .LCPI9_1
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; 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:    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
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Folded 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
; SZ13-NEXT:    lmg %r14, %r15, 312(%r15)
; SZ13-NEXT:    br %r14
  %rem = call <4 x double> @llvm.experimental.constrained.frem.v4f64(
           <4 x double> <double 1.000000e+00, double 2.000000e+00,
                         double 3.000000e+00, double 4.000000e+00>,
           <4 x double> <double 1.000000e+01, double 1.000000e+01,
                         double 1.000000e+01, double 1.000000e+01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <4 x double> %rem
}

define <1 x float> @constrained_vector_fmul_v1f32() #0 {
; S390X-LABEL: constrained_vector_fmul_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI10_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI10_1
; S390X-NEXT:    meeb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fmul_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vgmf %v0, 1, 1
; SZ13-NEXT:    vgmf %v1, 1, 8
; SZ13-NEXT:    meebr %f1, %f0
; SZ13-NEXT:    vlr %v24, %v1
; SZ13-NEXT:    br %r14
entry:
  %mul = call <1 x float> @llvm.experimental.constrained.fmul.v1f32(
           <1 x float> <float 0x7FF0000000000000>,
           <1 x float> <float 2.000000e+00>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <1 x float> %mul
}

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:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI11_1
; S390X-NEXT:    ldr %f2, %f0
; S390X-NEXT:    mdb %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI11_2
; S390X-NEXT:    mdb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fmul_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI11_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    larl %r1, .LCPI11_1
; SZ13-NEXT:    vl %v1, 0(%r1), 3
; SZ13-NEXT:    vfmdb %v24, %v1, %v0
; SZ13-NEXT:    br %r14
entry:
  %mul = call <2 x double> @llvm.experimental.constrained.fmul.v2f64(
           <2 x double> <double 0x7FEFFFFFFFFFFFFF, double 0x7FEFFFFFFFFFFFFF>,
           <2 x double> <double 2.000000e+00, double 3.000000e+00>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <2 x double> %mul
}

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 %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI12_1
; S390X-NEXT:    ler %f4, %f0
; S390X-NEXT:    meeb %f4, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI12_2
; S390X-NEXT:    ler %f2, %f0
; S390X-NEXT:    meeb %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI12_3
; S390X-NEXT:    meeb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fmul_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vgmf %v0, 1, 8
; SZ13-NEXT:    larl %r1, .LCPI12_0
; SZ13-NEXT:    vgmf %v2, 2, 8
; SZ13-NEXT:    vgmf %v1, 1, 8
; SZ13-NEXT:    meeb %f1, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI12_1
; SZ13-NEXT:    meebr %f2, %f0
; SZ13-NEXT:    meeb %f0, 0(%r1)
; SZ13-NEXT:    vmrhf %v0, %v2, %v0
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %mul = call <3 x float> @llvm.experimental.constrained.fmul.v3f32(
           <3 x float> <float 0x7FF0000000000000, float 0x7FF0000000000000,
                        float 0x7FF0000000000000>,
           <3 x float> <float 1.000000e+00, float 1.000000e+01, float 1.000000e+02>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <3 x float> %mul
}

define void @constrained_vector_fmul_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_fmul_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI13_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    ldr %f1, %f0
; S390X-NEXT:    ldr %f2, %f0
; S390X-NEXT:    mdb %f0, 0(%r2)
; S390X-NEXT:    mdb %f2, 8(%r2)
; S390X-NEXT:    mdb %f1, 16(%r2)
; S390X-NEXT:    std %f0, 0(%r2)
; S390X-NEXT:    std %f2, 8(%r2)
; S390X-NEXT:    std %f1, 16(%r2)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fmul_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI13_0
; SZ13-NEXT:    ld %f1, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI13_1
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vl %v2, 0(%r1), 3
; SZ13-NEXT:    mdb %f1, 16(%r2)
; SZ13-NEXT:    vfmdb %v0, %v2, %v0
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %mul = call <3 x double> @llvm.experimental.constrained.fmul.v3f64(
           <3 x double> <double 0x7FEFFFFFFFFFFFFF, double 0x7FEFFFFFFFFFFFFF,
                        double 0x7FEFFFFFFFFFFFFF>,
           <3 x double> %b,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  store <3 x double> %mul, ptr %a
  ret void
}

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:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI14_1
; S390X-NEXT:    ldr %f6, %f0
; S390X-NEXT:    mdb %f6, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI14_2
; S390X-NEXT:    ldr %f4, %f0
; S390X-NEXT:    mdb %f4, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI14_3
; S390X-NEXT:    ldr %f2, %f0
; S390X-NEXT:    mdb %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI14_4
; S390X-NEXT:    mdb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fmul_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI14_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    larl %r1, .LCPI14_1
; SZ13-NEXT:    vl %v1, 0(%r1), 3
; SZ13-NEXT:    larl %r1, .LCPI14_2
; 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(
           <4 x double> <double 0x7FEFFFFFFFFFFFFF, double 0x7FEFFFFFFFFFFFFF,
                         double 0x7FEFFFFFFFFFFFFF, double 0x7FEFFFFFFFFFFFFF>,
           <4 x double> <double 2.000000e+00, double 3.000000e+00,
                         double 4.000000e+00, double 5.000000e+00>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <4 x double> %mul
}

define <1 x float> @constrained_vector_fadd_v1f32() #0 {
; S390X-LABEL: constrained_vector_fadd_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI15_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI15_1
; S390X-NEXT:    aeb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fadd_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vgmf %v0, 2, 8
; SZ13-NEXT:    vgmf %v1, 1, 8
; SZ13-NEXT:    aebr %f1, %f0
; SZ13-NEXT:    vlr %v24, %v1
; SZ13-NEXT:    br %r14
entry:
  %add = call <1 x float> @llvm.experimental.constrained.fadd.v1f32(
           <1 x float> <float 0x7FF0000000000000>,
           <1 x float> <float 1.0>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <1 x float> %add
}

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 %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI16_1
; S390X-NEXT:    ldr %f2, %f0
; S390X-NEXT:    adb %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI16_2
; S390X-NEXT:    adb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fadd_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI16_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    larl %r1, .LCPI16_1
; SZ13-NEXT:    vl %v1, 0(%r1), 3
; SZ13-NEXT:    vfadb %v24, %v1, %v0
; SZ13-NEXT:    br %r14
entry:
  %add = call <2 x double> @llvm.experimental.constrained.fadd.v2f64(
           <2 x double> <double 0x7FEFFFFFFFFFFFFF, double 0x7FEFFFFFFFFFFFFF>,
           <2 x double> <double 1.000000e+00, double 1.000000e-01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <2 x double> %add
}

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 %f0, 0(%r1)
; S390X-NEXT:    lzer %f4
; S390X-NEXT:    aebr %f4, %f0
; S390X-NEXT:    larl %r1, .LCPI17_1
; S390X-NEXT:    ler %f2, %f0
; S390X-NEXT:    aeb %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI17_2
; S390X-NEXT:    aeb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fadd_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vgbm %v0, 61440
; SZ13-NEXT:    vgmf %v2, 1, 1
; SZ13-NEXT:    vgmf %v3, 2, 8
; SZ13-NEXT:    lzer %f1
; SZ13-NEXT:    aebr %f1, %f0
; SZ13-NEXT:    aebr %f2, %f0
; SZ13-NEXT:    aebr %f3, %f0
; SZ13-NEXT:    vmrhf %v0, %v2, %v3
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %add = call <3 x float> @llvm.experimental.constrained.fadd.v3f32(
           <3 x float> <float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000,
                        float 0xFFFFFFFFE0000000>,
           <3 x float> <float 2.0, float 1.0, float 0.0>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <3 x float> %add
}

define void @constrained_vector_fadd_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_fadd_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI18_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    ldr %f1, %f0
; S390X-NEXT:    ldr %f2, %f0
; S390X-NEXT:    adb %f0, 0(%r2)
; S390X-NEXT:    adb %f2, 8(%r2)
; S390X-NEXT:    adb %f1, 16(%r2)
; S390X-NEXT:    std %f0, 0(%r2)
; S390X-NEXT:    std %f2, 8(%r2)
; S390X-NEXT:    std %f1, 16(%r2)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fadd_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI18_0
; SZ13-NEXT:    ld %f1, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI18_1
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vl %v2, 0(%r1), 3
; SZ13-NEXT:    adb %f1, 16(%r2)
; SZ13-NEXT:    vfadb %v0, %v2, %v0
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %add = call <3 x double> @llvm.experimental.constrained.fadd.v3f64(
           <3 x double> <double 0x7FEFFFFFFFFFFFFF, double 0x7FEFFFFFFFFFFFFF,
                         double 0x7FEFFFFFFFFFFFFF>,
           <3 x double> %b,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  store <3 x double> %add, ptr %a
  ret void
}

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:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI19_1
; S390X-NEXT:    ldr %f6, %f0
; S390X-NEXT:    adb %f6, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI19_2
; 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:    larl %r1, .LCPI19_4
; S390X-NEXT:    adb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fadd_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI19_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    larl %r1, .LCPI19_1
; SZ13-NEXT:    vl %v1, 0(%r1), 3
; SZ13-NEXT:    larl %r1, .LCPI19_2
; 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(
           <4 x double> <double 0x7FEFFFFFFFFFFFFF, double 0x7FEFFFFFFFFFFFFF,
                         double 0x7FEFFFFFFFFFFFFF, double 0x7FEFFFFFFFFFFFFF>,
           <4 x double> <double 1.000000e+00, double 1.000000e-01,
                         double 2.000000e+00, double 2.000000e-01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <4 x double> %add
}

define <1 x float> @constrained_vector_fsub_v1f32() #0 {
; S390X-LABEL: constrained_vector_fsub_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI20_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI20_1
; S390X-NEXT:    seb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fsub_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vgmf %v0, 2, 8
; SZ13-NEXT:    vgmf %v1, 1, 8
; SZ13-NEXT:    sebr %f1, %f0
; SZ13-NEXT:    vlr %v24, %v1
; SZ13-NEXT:    br %r14
entry:
  %sub = call <1 x float> @llvm.experimental.constrained.fsub.v1f32(
           <1 x float> <float 0x7FF0000000000000>,
           <1 x float> <float 1.000000e+00>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <1 x float> %sub
}

define <2 x double> @constrained_vector_fsub_v2f64() #0 {
; S390X-LABEL: constrained_vector_fsub_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI21_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI21_1
; S390X-NEXT:    ldr %f2, %f0
; S390X-NEXT:    sdb %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI21_2
; S390X-NEXT:    sdb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fsub_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI21_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    vgmg %v1, 12, 10
; SZ13-NEXT:    vfsdb %v24, %v1, %v0
; SZ13-NEXT:    br %r14
entry:
  %sub = call <2 x double> @llvm.experimental.constrained.fsub.v2f64(
           <2 x double> <double 0xFFEFFFFFFFFFFFFF, double 0xFFEFFFFFFFFFFFFF>,
           <2 x double> <double 1.000000e+00, double 1.000000e-01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <2 x double> %sub
}

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 %f0, 0(%r1)
; S390X-NEXT:    ler %f4, %f0
; S390X-NEXT:    larl %r1, .LCPI22_1
; 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
;
; SZ13-LABEL: constrained_vector_fsub_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vgbm %v2, 61440
; SZ13-NEXT:    lzer %f1
; SZ13-NEXT:    sebr %f2, %f1
; SZ13-NEXT:    vgmf %v1, 1, 1
; SZ13-NEXT:    vgbm %v3, 61440
; SZ13-NEXT:    vgbm %v0, 61440
; SZ13-NEXT:    sebr %f3, %f1
; SZ13-NEXT:    vgmf %v1, 2, 8
; SZ13-NEXT:    sebr %f0, %f1
; SZ13-NEXT:    vmrhf %v0, %v3, %v0
; SZ13-NEXT:    vrepf %v1, %v2, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %sub = call <3 x float> @llvm.experimental.constrained.fsub.v3f32(
           <3 x float> <float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000,
                        float 0xFFFFFFFFE0000000>,
           <3 x float> <float 2.0, float 1.0, float 0.0>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <3 x float> %sub
}

define void @constrained_vector_fsub_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_fsub_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI23_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    ldr %f1, %f0
; S390X-NEXT:    ldr %f2, %f0
; S390X-NEXT:    sdb %f0, 0(%r2)
; S390X-NEXT:    sdb %f2, 8(%r2)
; S390X-NEXT:    sdb %f1, 16(%r2)
; S390X-NEXT:    std %f0, 0(%r2)
; S390X-NEXT:    std %f2, 8(%r2)
; S390X-NEXT:    std %f1, 16(%r2)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fsub_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vgmg %v2, 12, 10
; SZ13-NEXT:    sdb %f2, 16(%r2)
; SZ13-NEXT:    vgmg %v1, 12, 10
; SZ13-NEXT:    vfsdb %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f2, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %sub = call <3 x double> @llvm.experimental.constrained.fsub.v3f64(
           <3 x double> <double 0xFFEFFFFFFFFFFFFF, double 0xFFEFFFFFFFFFFFFF,
                         double 0xFFEFFFFFFFFFFFFF>,
           <3 x double> %b,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  store <3 x double> %sub, ptr %a
  ret void
}

define <4 x double> @constrained_vector_fsub_v4f64() #0 {
; S390X-LABEL: constrained_vector_fsub_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI24_0
; 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 %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:    larl %r1, .LCPI24_4
; S390X-NEXT:    sdb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fsub_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI24_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    vgmg %v1, 12, 10
; SZ13-NEXT:    larl %r1, .LCPI24_1
; 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(
           <4 x double> <double 0xFFEFFFFFFFFFFFFF, double 0xFFEFFFFFFFFFFFFF,
                         double 0xFFEFFFFFFFFFFFFF, double 0xFFEFFFFFFFFFFFFF>,
           <4 x double> <double 1.000000e+00, double 1.000000e-01,
                         double 2.000000e+00, double 2.000000e-01>,
           metadata !"round.dynamic",
           metadata !"fpexcept.strict") #0
  ret <4 x double> %sub
}

define <1 x float> @constrained_vector_sqrt_v1f32() #0 {
; S390X-LABEL: constrained_vector_sqrt_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI25_0
; S390X-NEXT:    sqeb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sqrt_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI25_0
; SZ13-NEXT:    sqeb %f0, 0(%r1)
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %sqrt = call <1 x float> @llvm.experimental.constrained.sqrt.v1f32(
                              <1 x float> <float 42.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <1 x float> %sqrt
}

define <2 x double> @constrained_vector_sqrt_v2f64() #0 {
; S390X-LABEL: constrained_vector_sqrt_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI26_0
; S390X-NEXT:    sqdb %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI26_1
; S390X-NEXT:    sqdb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sqrt_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI26_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    vfsqdb %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %sqrt = call <2 x double> @llvm.experimental.constrained.sqrt.v2f64(
                              <2 x double> <double 42.0, double 42.1>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <2 x double> %sqrt
}

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 %f4, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI27_1
; S390X-NEXT:    sqeb %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI27_2
; S390X-NEXT:    sqeb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sqrt_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI27_0
; SZ13-NEXT:    sqeb %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI27_1
; SZ13-NEXT:    vrepf %v0, %v0, 0
; SZ13-NEXT:    sqeb %f1, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI27_2
; SZ13-NEXT:    sqeb %f2, 0(%r1)
; SZ13-NEXT:    vmrhf %v1, %v1, %v2
; SZ13-NEXT:    vmrhg %v24, %v1, %v0
; SZ13-NEXT:    br %r14
entry:
  %sqrt = call <3 x float> @llvm.experimental.constrained.sqrt.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %sqrt
}

define void @constrained_vector_sqrt_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_sqrt_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    sqdb %f0, 0(%r2)
; S390X-NEXT:    sqdb %f1, 8(%r2)
; S390X-NEXT:    sqdb %f2, 16(%r2)
; S390X-NEXT:    std %f0, 0(%r2)
; S390X-NEXT:    std %f1, 8(%r2)
; S390X-NEXT:    std %f2, 16(%r2)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sqrt_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    sqdb %f1, 16(%r2)
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    vfsqdb %v0, %v0
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %sqrt = call <3 x double> @llvm.experimental.constrained.sqrt.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %sqrt, ptr %a
  ret void
}

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 %f6, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI29_1
; S390X-NEXT:    sqdb %f4, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI29_2
; S390X-NEXT:    sqdb %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI29_3
; S390X-NEXT:    sqdb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sqrt_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI29_0
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    vfsqdb %v26, %v0
; SZ13-NEXT:    larl %r1, .LCPI29_1
; SZ13-NEXT:    vl %v0, 0(%r1), 3
; SZ13-NEXT:    vfsqdb %v24, %v0
; SZ13-NEXT:    br %r14
 entry:
  %sqrt = call <4 x double> @llvm.experimental.constrained.sqrt.v4f64(
                              <4 x double> <double 42.0, double 42.1,
                                            double 42.2, double 42.3>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <4 x double> %sqrt
}

define <1 x float> @constrained_vector_pow_v1f32() #0 {
; S390X-LABEL: constrained_vector_pow_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI30_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI30_1
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, powf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_pow_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI30_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI30_1
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, powf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %pow = call <1 x float> @llvm.experimental.constrained.pow.v1f32(
                             <1 x float> <float 42.0>,
                             <1 x float> <float 3.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %pow
}

define <2 x double> @constrained_vector_pow_v2f64() #0 {
; S390X-LABEL: constrained_vector_pow_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI31_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI31_1
; S390X-NEXT:    ld %f8, 0(%r1)
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    brasl %r14, pow@PLT
; S390X-NEXT:    larl %r1, .LCPI31_2
; 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, pow@PLT
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_pow_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -184
; SZ13-NEXT:    .cfi_def_cfa_offset 344
; SZ13-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    larl %r1, .LCPI31_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI31_1
; SZ13-NEXT:    ld %f8, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, pow@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, pow@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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
; SZ13-NEXT:    lmg %r14, %r15, 296(%r15)
; SZ13-NEXT:    br %r14
entry:
  %pow = call <2 x double> @llvm.experimental.constrained.pow.v2f64(
                             <2 x double> <double 42.1, double 42.2>,
                             <2 x double> <double 3.0, double 3.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <2 x double> %pow
}

define <3 x float> @constrained_vector_pow_v3f32() #0 {
; S390X-LABEL: constrained_vector_pow_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI32_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI32_1
; S390X-NEXT:    le %f8, 0(%r1)
; S390X-NEXT:    ler %f2, %f8
; S390X-NEXT:    brasl %r14, powf@PLT
; S390X-NEXT:    larl %r1, .LCPI32_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    ler %f2, %f8
; S390X-NEXT:    brasl %r14, powf@PLT
; S390X-NEXT:    larl %r1, .LCPI32_3
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    ler %f2, %f8
; S390X-NEXT:    brasl %r14, powf@PLT
; S390X-NEXT:    ler %f2, %f10
; S390X-NEXT:    ler %f4, %f9
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_pow_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    larl %r1, .LCPI32_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI32_1
; SZ13-NEXT:    lde %f8, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, powf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, powf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, powf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 312(%r15)
; SZ13-NEXT:    br %r14
entry:
  %pow = call <3 x float> @llvm.experimental.constrained.pow.v3f32(
                             <3 x float> <float 42.0, float 43.0, float 44.0>,
                             <3 x float> <float 3.0, float 3.0, float 3.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <3 x float> %pow
}

define void @constrained_vector_pow_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_pow_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -192
; S390X-NEXT:    .cfi_def_cfa_offset 352
; S390X-NEXT:    std %f8, 184(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f11, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    .cfi_offset %f11, -192
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    larl %r1, .LCPI33_0
; S390X-NEXT:    ld %f9, 0(%r1)
; S390X-NEXT:    ld %f10, 8(%r2)
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    brasl %r14, pow@PLT
; S390X-NEXT:    ldr %f11, %f0
; S390X-NEXT:    ldr %f0, %f10
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    brasl %r14, pow@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    brasl %r14, pow@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f10, 8(%r13)
; S390X-NEXT:    std %f11, 16(%r13)
; S390X-NEXT:    ld %f8, 184(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f11, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_pow_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -208
; SZ13-NEXT:    .cfi_def_cfa_offset 368
; SZ13-NEXT:    std %f8, 200(%r15) # 8-byte Spill
; SZ13-NEXT:    std %f9, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    .cfi_offset %f9, -176
; SZ13-NEXT:    larl %r1, .LCPI33_0
; SZ13-NEXT:    ld %f9, 0(%r1)
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, pow@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:    ldr %f2, %f9
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, pow@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, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    ldr %f2, %f9
; SZ13-NEXT:    brasl %r14, pow@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 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:    lmg %r13, %r15, 312(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %pow = call <3 x double> @llvm.experimental.constrained.pow.v3f64(
                          <3 x double> %b,
                          <3 x double> <double 3.0, double 3.0, double 3.0>,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %pow, ptr %a
  ret void
}

define <4 x double> @constrained_vector_pow_v4f64() #0 {
; S390X-LABEL: constrained_vector_pow_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -192
; S390X-NEXT:    .cfi_def_cfa_offset 352
; S390X-NEXT:    std %f8, 184(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f11, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    .cfi_offset %f11, -192
; S390X-NEXT:    larl %r1, .LCPI34_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI34_1
; S390X-NEXT:    ld %f8, 0(%r1)
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    brasl %r14, pow@PLT
; S390X-NEXT:    larl %r1, .LCPI34_2
; 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, pow@PLT
; S390X-NEXT:    larl %r1, .LCPI34_3
; 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, pow@PLT
; S390X-NEXT:    larl %r1, .LCPI34_4
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f11, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    brasl %r14, pow@PLT
; S390X-NEXT:    ldr %f2, %f11
; S390X-NEXT:    ldr %f4, %f10
; S390X-NEXT:    ldr %f6, %f9
; S390X-NEXT:    ld %f8, 184(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f11, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 304(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_pow_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    larl %r1, .LCPI34_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI34_1
; SZ13-NEXT:    ld %f8, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, pow@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, pow@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, .LCPI34_3
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, pow@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, pow@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:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 312(%r15)
; SZ13-NEXT:    br %r14
entry:
  %pow = call <4 x double> @llvm.experimental.constrained.pow.v4f64(
                             <4 x double> <double 42.1, double 42.2,
                                           double 42.3, double 42.4>,
                             <4 x double> <double 3.0, double 3.0,
                                           double 3.0, double 3.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <4 x double> %pow
}

define <1 x float> @constrained_vector_powi_v1f32() #0 {
; S390X-LABEL: constrained_vector_powi_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI35_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    brasl %r14, __powisf2@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_powi_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI35_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powisf2@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %powi = call <1 x float> @llvm.experimental.constrained.powi.v1f32(
                              <1 x float> <float 42.0>,
                              i32 3,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <1 x float> %powi
}

define <2 x double> @constrained_vector_powi_v2f64() #0 {
; S390X-LABEL: constrained_vector_powi_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI36_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    brasl %r14, __powidf2@PLT
; S390X-NEXT:    larl %r1, .LCPI36_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, __powidf2@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_powi_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI36_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powidf2@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:    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
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %powi = call <2 x double> @llvm.experimental.constrained.powi.v2f64(
                              <2 x double> <double 42.1, double 42.2>,
                              i32 3,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <2 x double> %powi
}

define <3 x float> @constrained_vector_powi_v3f32() #0 {
; S390X-LABEL: constrained_vector_powi_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI37_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    brasl %r14, __powisf2@PLT
; S390X-NEXT:    larl %r1, .LCPI37_1
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, __powisf2@PLT
; S390X-NEXT:    larl %r1, .LCPI37_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, __powisf2@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_powi_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI37_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powisf2@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powisf2@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powisf2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %powi = call <3 x float> @llvm.experimental.constrained.powi.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              i32 3,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %powi
}

define void @constrained_vector_powi_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_powi_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI38_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    brasl %r14, __powidf2@PLT
; S390X-NEXT:    larl %r1, .LCPI38_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, __powidf2@PLT
; S390X-NEXT:    larl %r1, .LCPI38_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, __powidf2@PLT
; S390X-NEXT:    std %f0, 16(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f8, 0(%r13)
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_powi_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI38_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    lgr %r13, %r2
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powidf2@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:    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
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powidf2@PLT
; 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:
  %b = load <3 x double>, ptr %a
  %powi = call <3 x double> @llvm.experimental.constrained.powi.v3f64(
                          <3 x double> <double 42.0, double 42.1, double 42.2>,
                          i32 3,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %powi, ptr %a
  ret void
}

define <4 x double> @constrained_vector_powi_v4f64() #0 {
; S390X-LABEL: constrained_vector_powi_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI39_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    brasl %r14, __powidf2@PLT
; S390X-NEXT:    larl %r1, .LCPI39_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, __powidf2@PLT
; S390X-NEXT:    larl %r1, .LCPI39_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, __powidf2@PLT
; S390X-NEXT:    larl %r1, .LCPI39_3
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    lghi %r2, 3
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, __powidf2@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_powi_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI39_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powidf2@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:    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
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powidf2@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powidf2@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %powi = call <4 x double> @llvm.experimental.constrained.powi.v4f64(
                              <4 x double> <double 42.1, double 42.2,
                                            double 42.3, double 42.4>,
                              i32 3,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <4 x double> %powi
}

define <1 x float> @constrained_vector_sin_v1f32() #0 {
; S390X-LABEL: constrained_vector_sin_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI40_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, sinf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sin_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI40_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sinf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %sin = call <1 x float> @llvm.experimental.constrained.sin.v1f32(
                             <1 x float> <float 42.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %sin
}

define <2 x double> @constrained_vector_sin_v2f64() #0 {
; S390X-LABEL: constrained_vector_sin_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI41_0
; 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:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, sin@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sin_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI41_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sin@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:    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
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %sin = call <2 x double> @llvm.experimental.constrained.sin.v2f64(
                             <2 x double> <double 42.0, double 42.1>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <2 x double> %sin
}

define <3 x float> @constrained_vector_sin_v3f32() #0 {
; S390X-LABEL: constrained_vector_sin_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI42_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, sinf@PLT
; S390X-NEXT:    larl %r1, .LCPI42_1
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, sinf@PLT
; S390X-NEXT:    larl %r1, .LCPI42_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, sinf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sin_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI42_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sinf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sinf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sinf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %sin = call <3 x float> @llvm.experimental.constrained.sin.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %sin
}

define void @constrained_vector_sin_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_sin_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, sin@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, sin@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, sin@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sin_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, sin@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:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; 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
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, sin@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %sin = call <3 x double> @llvm.experimental.constrained.sin.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %sin, ptr %a
  ret void
}

define <4 x double> @constrained_vector_sin_v4f64() #0 {
; S390X-LABEL: constrained_vector_sin_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI44_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, sin@PLT
; S390X-NEXT:    larl %r1, .LCPI44_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, sin@PLT
; S390X-NEXT:    larl %r1, .LCPI44_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; 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:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, sin@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_sin_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI44_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sin@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:    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
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sin@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sin@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %sin = call <4 x double> @llvm.experimental.constrained.sin.v4f64(
                             <4 x double> <double 42.0, double 42.1,
                                           double 42.2, double 42.3>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <4 x double> %sin
}

define <1 x float> @constrained_vector_cos_v1f32() #0 {
; S390X-LABEL: constrained_vector_cos_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI45_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, cosf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_cos_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI45_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cosf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %cos = call <1 x float> @llvm.experimental.constrained.cos.v1f32(
                             <1 x float> <float 42.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %cos
}

define <2 x double> @constrained_vector_cos_v2f64() #0 {
; S390X-LABEL: constrained_vector_cos_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI46_0
; 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:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, cos@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_cos_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI46_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cos@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:    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
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %cos = call <2 x double> @llvm.experimental.constrained.cos.v2f64(
                             <2 x double> <double 42.0, double 42.1>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <2 x double> %cos
}

define <3 x float> @constrained_vector_cos_v3f32() #0 {
; S390X-LABEL: constrained_vector_cos_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI47_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, cosf@PLT
; S390X-NEXT:    larl %r1, .LCPI47_1
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, cosf@PLT
; S390X-NEXT:    larl %r1, .LCPI47_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, cosf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_cos_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI47_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cosf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cosf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cosf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %cos = call <3 x float> @llvm.experimental.constrained.cos.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %cos
}

define void @constrained_vector_cos_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_cos_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, cos@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, cos@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, cos@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_cos_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, cos@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:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; 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
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, cos@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %cos = call <3 x double> @llvm.experimental.constrained.cos.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %cos, ptr %a
  ret void
}

define <4 x double> @constrained_vector_cos_v4f64() #0 {
; S390X-LABEL: constrained_vector_cos_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI49_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, cos@PLT
; S390X-NEXT:    larl %r1, .LCPI49_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, cos@PLT
; S390X-NEXT:    larl %r1, .LCPI49_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; 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:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, cos@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_cos_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI49_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cos@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:    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
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cos@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cos@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %cos = call <4 x double> @llvm.experimental.constrained.cos.v4f64(
                             <4 x double> <double 42.0, double 42.1,
                                           double 42.2, double 42.3>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <4 x double> %cos
}

define <1 x float> @constrained_vector_exp_v1f32() #0 {
; S390X-LABEL: constrained_vector_exp_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI50_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, expf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI50_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, expf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %exp = call <1 x float> @llvm.experimental.constrained.exp.v1f32(
                             <1 x float> <float 42.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %exp
}

define <2 x double> @constrained_vector_exp_v2f64() #0 {
; S390X-LABEL: constrained_vector_exp_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI51_0
; 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:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, exp@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI51_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp@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:    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
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %exp = call <2 x double> @llvm.experimental.constrained.exp.v2f64(
                             <2 x double> <double 42.0, double 42.1>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <2 x double> %exp
}

define <3 x float> @constrained_vector_exp_v3f32() #0 {
; S390X-LABEL: constrained_vector_exp_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI52_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, expf@PLT
; S390X-NEXT:    larl %r1, .LCPI52_1
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, expf@PLT
; S390X-NEXT:    larl %r1, .LCPI52_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, expf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI52_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, expf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, expf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, expf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %exp = call <3 x float> @llvm.experimental.constrained.exp.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %exp
}

define void @constrained_vector_exp_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_exp_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, exp@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, exp@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, exp@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, exp@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:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; 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
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, exp@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %exp = call <3 x double> @llvm.experimental.constrained.exp.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %exp, ptr %a
  ret void
}

define <4 x double> @constrained_vector_exp_v4f64() #0 {
; S390X-LABEL: constrained_vector_exp_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI54_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, exp@PLT
; S390X-NEXT:    larl %r1, .LCPI54_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, exp@PLT
; S390X-NEXT:    larl %r1, .LCPI54_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; 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:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, exp@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI54_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp@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:    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
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %exp = call <4 x double> @llvm.experimental.constrained.exp.v4f64(
                             <4 x double> <double 42.0, double 42.1,
                                           double 42.2, double 42.3>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <4 x double> %exp
}

define <1 x float> @constrained_vector_exp2_v1f32() #0 {
; S390X-LABEL: constrained_vector_exp2_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI55_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, exp2f@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp2_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI55_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2f@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %exp2 = call <1 x float> @llvm.experimental.constrained.exp2.v1f32(
                             <1 x float> <float 42.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %exp2
}

define <2 x double> @constrained_vector_exp2_v2f64() #0 {
; S390X-LABEL: constrained_vector_exp2_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI56_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, exp2@PLT
; S390X-NEXT:    larl %r1, .LCPI56_1
; 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, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp2_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI56_0
; 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
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %exp2 = call <2 x double> @llvm.experimental.constrained.exp2.v2f64(
                              <2 x double> <double 42.1, double 42.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <2 x double> %exp2
}

define <3 x float> @constrained_vector_exp2_v3f32() #0 {
; S390X-LABEL: constrained_vector_exp2_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI57_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, exp2f@PLT
; S390X-NEXT:    larl %r1, .LCPI57_1
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, exp2f@PLT
; S390X-NEXT:    larl %r1, .LCPI57_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, exp2f@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp2_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI57_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2f@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2f@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2f@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %exp2 = call <3 x float> @llvm.experimental.constrained.exp2.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %exp2
}

define void @constrained_vector_exp2_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_exp2_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, exp2@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, exp2@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, exp2@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp2_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, exp2@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:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, exp2@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, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, exp2@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %exp2 = call <3 x double> @llvm.experimental.constrained.exp2.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %exp2, ptr %a
  ret void
}

define <4 x double> @constrained_vector_exp2_v4f64() #0 {
; S390X-LABEL: constrained_vector_exp2_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI59_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, exp2@PLT
; S390X-NEXT:    larl %r1, .LCPI59_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, exp2@PLT
; S390X-NEXT:    larl %r1, .LCPI59_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, exp2@PLT
; S390X-NEXT:    larl %r1, .LCPI59_3
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, exp2@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_exp2_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI59_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2@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, .LCPI59_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %exp2 = call <4 x double> @llvm.experimental.constrained.exp2.v4f64(
                              <4 x double> <double 42.1, double 42.2,
                                            double 42.3, double 42.4>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <4 x double> %exp2
}

define <1 x float> @constrained_vector_log_v1f32() #0 {
; S390X-LABEL: constrained_vector_log_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI60_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, logf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI60_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, logf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log = call <1 x float> @llvm.experimental.constrained.log.v1f32(
                             <1 x float> <float 42.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %log
}

define <2 x double> @constrained_vector_log_v2f64() #0 {
; S390X-LABEL: constrained_vector_log_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI61_0
; 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:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, log@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI61_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log@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:    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
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log = call <2 x double> @llvm.experimental.constrained.log.v2f64(
                             <2 x double> <double 42.0, double 42.1>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <2 x double> %log
}

define <3 x float> @constrained_vector_log_v3f32() #0 {
; S390X-LABEL: constrained_vector_log_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI62_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, logf@PLT
; S390X-NEXT:    larl %r1, .LCPI62_1
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, logf@PLT
; S390X-NEXT:    larl %r1, .LCPI62_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, logf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI62_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, logf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, logf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, logf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log = call <3 x float> @llvm.experimental.constrained.log.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %log
}

define void @constrained_vector_log_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_log_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, log@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, log@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, log@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, log@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:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; 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
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, log@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %log = call <3 x double> @llvm.experimental.constrained.log.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %log, ptr %a
  ret void
}

define <4 x double> @constrained_vector_log_v4f64() #0 {
; S390X-LABEL: constrained_vector_log_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI64_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, log@PLT
; S390X-NEXT:    larl %r1, .LCPI64_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, log@PLT
; S390X-NEXT:    larl %r1, .LCPI64_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; 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:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, log@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI64_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log@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:    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
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log = call <4 x double> @llvm.experimental.constrained.log.v4f64(
                             <4 x double> <double 42.0, double 42.1,
                                           double 42.2, double 42.3>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <4 x double> %log
}

define <1 x float> @constrained_vector_log10_v1f32() #0 {
; S390X-LABEL: constrained_vector_log10_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI65_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, log10f@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log10_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI65_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10f@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log10 = call <1 x float> @llvm.experimental.constrained.log10.v1f32(
                             <1 x float> <float 42.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %log10
}

define <2 x double> @constrained_vector_log10_v2f64() #0 {
; S390X-LABEL: constrained_vector_log10_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI66_0
; 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:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, log10@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log10_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI66_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10@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:    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
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log10 = call <2 x double> @llvm.experimental.constrained.log10.v2f64(
                               <2 x double> <double 42.0, double 42.1>,
                               metadata !"round.dynamic",
                               metadata !"fpexcept.strict") #0
  ret <2 x double> %log10
}

define <3 x float> @constrained_vector_log10_v3f32() #0 {
; S390X-LABEL: constrained_vector_log10_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI67_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, log10f@PLT
; S390X-NEXT:    larl %r1, .LCPI67_1
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, log10f@PLT
; S390X-NEXT:    larl %r1, .LCPI67_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, log10f@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log10_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI67_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10f@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10f@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10f@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log10 = call <3 x float> @llvm.experimental.constrained.log10.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %log10
}

define void @constrained_vector_log10_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_log10_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, log10@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, log10@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, log10@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log10_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, log10@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:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; 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
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, log10@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %log10 = call <3 x double> @llvm.experimental.constrained.log10.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %log10, ptr %a
  ret void
}

define <4 x double> @constrained_vector_log10_v4f64() #0 {
; S390X-LABEL: constrained_vector_log10_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI69_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, log10@PLT
; S390X-NEXT:    larl %r1, .LCPI69_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, log10@PLT
; S390X-NEXT:    larl %r1, .LCPI69_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; 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:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, log10@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log10_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI69_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10@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:    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
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log10 = call <4 x double> @llvm.experimental.constrained.log10.v4f64(
                               <4 x double> <double 42.0, double 42.1,
                                             double 42.2, double 42.3>,
                               metadata !"round.dynamic",
                               metadata !"fpexcept.strict") #0
  ret <4 x double> %log10
}

define <1 x float> @constrained_vector_log2_v1f32() #0 {
; S390X-LABEL: constrained_vector_log2_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI70_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, log2f@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log2_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI70_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2f@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log2 = call <1 x float> @llvm.experimental.constrained.log2.v1f32(
                             <1 x float> <float 42.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %log2
}

define <2 x double> @constrained_vector_log2_v2f64() #0 {
; S390X-LABEL: constrained_vector_log2_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI71_0
; 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:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, log2@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log2_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI71_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2@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:    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
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log2 = call <2 x double> @llvm.experimental.constrained.log2.v2f64(
                              <2 x double> <double 42.0, double 42.1>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <2 x double> %log2
}

define <3 x float> @constrained_vector_log2_v3f32() #0 {
; S390X-LABEL: constrained_vector_log2_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI72_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, log2f@PLT
; S390X-NEXT:    larl %r1, .LCPI72_1
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, log2f@PLT
; S390X-NEXT:    larl %r1, .LCPI72_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, log2f@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log2_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI72_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2f@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2f@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2f@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log2 = call <3 x float> @llvm.experimental.constrained.log2.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %log2
}

define void @constrained_vector_log2_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_log2_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, log2@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, log2@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, log2@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log2_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, log2@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:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; 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
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, log2@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %log2 = call <3 x double> @llvm.experimental.constrained.log2.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %log2, ptr %a
  ret void
}

define <4 x double> @constrained_vector_log2_v4f64() #0 {
; S390X-LABEL: constrained_vector_log2_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI74_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, log2@PLT
; S390X-NEXT:    larl %r1, .LCPI74_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, log2@PLT
; S390X-NEXT:    larl %r1, .LCPI74_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; 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:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, log2@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log2_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI74_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2@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:    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
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %log2 = call <4 x double> @llvm.experimental.constrained.log2.v4f64(
                              <4 x double> <double 42.0, double 42.1,
                                            double 42.2, double 42.3>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <4 x double> %log2
}

define <1 x float> @constrained_vector_rint_v1f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_rint_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    le %f0, 0(%r2)
; S390X-NEXT:    fiebr %f0, 0, %f0
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_rint_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    lde %f0, 0(%r2)
; SZ13-NEXT:    fiebr %f0, 0, %f0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %b = load <1 x float>, ptr %a
  %rint = call <1 x float> @llvm.experimental.constrained.rint.v1f32(
                             <1 x float> %b,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %rint
}

define <2 x double> @constrained_vector_rint_v2f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_rint_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    ld %f0, 8(%r2)
; S390X-NEXT:    ld %f1, 0(%r2)
; S390X-NEXT:    fidbr %f2, 0, %f0
; S390X-NEXT:    fidbr %f0, 0, %f1
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_rint_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 3
; SZ13-NEXT:    vfidb %v24, %v0, 0, 0
; SZ13-NEXT:    br %r14
entry:
  %b = load <2 x double>, ptr %a
  %rint = call <2 x double> @llvm.experimental.constrained.rint.v2f64(
                        <2 x double> %b,
                        metadata !"round.dynamic",
                        metadata !"fpexcept.strict") #0
  ret <2 x double> %rint
}

define <3 x float> @constrained_vector_rint_v3f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_rint_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    lg %r0, 0(%r2)
; S390X-NEXT:    risbg %r1, %r0, 0, 159, 0
; S390X-NEXT:    le %f0, 8(%r2)
; S390X-NEXT:    ldgr %f1, %r1
; S390X-NEXT:    sllg %r0, %r0, 32
; S390X-NEXT:    ldgr %f2, %r0
; S390X-NEXT:    fiebr %f4, 0, %f0
; S390X-NEXT:    fiebr %f2, 0, %f2
; S390X-NEXT:    fiebr %f0, 0, %f1
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_rint_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vrepf %v1, %v0, 2
; SZ13-NEXT:    vrepf %v2, %v0, 1
; SZ13-NEXT:    fiebr %f1, 0, %f1
; SZ13-NEXT:    fiebr %f2, 0, %f2
; SZ13-NEXT:    fiebr %f0, 0, %f0
; SZ13-NEXT:    vmrhf %v0, %v0, %v2
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
 entry:
  %b = load <3 x float>, ptr %a
  %rint = call <3 x float> @llvm.experimental.constrained.rint.v3f32(
                              <3 x float> %b,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %rint
}

define void @constrained_vector_rint_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_rint_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f1, 8(%r2)
; S390X-NEXT:    ld %f2, 0(%r2)
; S390X-NEXT:    fidbr %f0, 0, %f0
; S390X-NEXT:    fidbr %f1, 0, %f1
; S390X-NEXT:    fidbr %f2, 0, %f2
; S390X-NEXT:    std %f2, 0(%r2)
; S390X-NEXT:    std %f1, 8(%r2)
; S390X-NEXT:    std %f0, 16(%r2)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_rint_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    ld %f1, 16(%r2)
; SZ13-NEXT:    vfidb %v0, %v0, 0, 0
; SZ13-NEXT:    fidbra %f1, 0, %f1, 0
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %rint = call <3 x double> @llvm.experimental.constrained.rint.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %rint, ptr %a
  ret void
}

define <4 x double> @constrained_vector_rint_v4f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_rint_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    ld %f0, 24(%r2)
; S390X-NEXT:    ld %f1, 16(%r2)
; S390X-NEXT:    ld %f2, 8(%r2)
; S390X-NEXT:    ld %f3, 0(%r2)
; 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:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 16(%r2), 4
; SZ13-NEXT:    vl %v1, 0(%r2), 4
; SZ13-NEXT:    vfidb %v24, %v1, 0, 0
; SZ13-NEXT:    vfidb %v26, %v0, 0, 0
; SZ13-NEXT:    br %r14
entry:
  %b = load <4 x double>, ptr %a
  %rint = call <4 x double> @llvm.experimental.constrained.rint.v4f64(
                        <4 x double> %b,
                        metadata !"round.dynamic",
                        metadata !"fpexcept.strict") #0
  ret <4 x double> %rint
}

define <1 x float> @constrained_vector_nearbyint_v1f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_nearbyint_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    le %f0, 0(%r2)
; S390X-NEXT:    brasl %r14, nearbyintf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_nearbyint_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    lde %f0, 0(%r2)
; SZ13-NEXT:    fiebra %f0, 0, %f0, 4
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %b = load <1 x float>, ptr %a
  %nearby = call <1 x float> @llvm.experimental.constrained.nearbyint.v1f32(
                               <1 x float> %b,
                               metadata !"round.dynamic",
                               metadata !"fpexcept.strict") #0
  ret <1 x float> %nearby
}

define <2 x double> @constrained_vector_nearbyint_v2f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_nearbyint_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    ld %f0, 8(%r2)
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    brasl %r14, nearbyint@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, nearbyint@PLT
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_nearbyint_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 3
; SZ13-NEXT:    vfidb %v24, %v0, 4, 0
; SZ13-NEXT:    br %r14
entry:
  %b = load <2 x double>, ptr %a
  %nearby = call <2 x double> @llvm.experimental.constrained.nearbyint.v2f64(
                                <2 x double> %b,
                                metadata !"round.dynamic",
                                metadata !"fpexcept.strict") #0
  ret <2 x double> %nearby
}

define <3 x float> @constrained_vector_nearbyint_v3f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_nearbyint_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lg %r0, 0(%r2)
; S390X-NEXT:    le %f0, 8(%r2)
; S390X-NEXT:    risbg %r1, %r0, 0, 159, 0
; S390X-NEXT:    ldgr %f8, %r1
; S390X-NEXT:    sllg %r0, %r0, 32
; S390X-NEXT:    ldgr %f9, %r0
; S390X-NEXT:    brasl %r14, nearbyintf@PLT
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f9
; S390X-NEXT:    brasl %r14, nearbyintf@PLT
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f8
; S390X-NEXT:    brasl %r14, nearbyintf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f10
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_nearbyint_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vrepf %v1, %v0, 2
; SZ13-NEXT:    vrepf %v2, %v0, 1
; SZ13-NEXT:    fiebra %f1, 0, %f1, 4
; SZ13-NEXT:    fiebra %f2, 0, %f2, 4
; SZ13-NEXT:    fiebra %f0, 0, %f0, 4
; SZ13-NEXT:    vmrhf %v0, %v0, %v2
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x float>, ptr %a
  %nearby = call <3 x float> @llvm.experimental.constrained.nearbyint.v3f32(
                              <3 x float> %b,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %nearby
}

define void @constrained_vector_nearbyint_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_nearbyint_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, nearbyint@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, nearbyint@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, nearbyint@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_nearbyint_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    ld %f1, 16(%r2)
; SZ13-NEXT:    vfidb %v0, %v0, 4, 0
; SZ13-NEXT:    fidbra %f1, 0, %f1, 4
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %nearby = call <3 x double> @llvm.experimental.constrained.nearbyint.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %nearby, ptr %a
  ret void
}

define <4 x double> @constrained_vector_nearbyint_v4f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_nearbyint_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -192
; S390X-NEXT:    .cfi_def_cfa_offset 352
; S390X-NEXT:    std %f8, 184(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f11, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    .cfi_offset %f11, -192
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    ld %f0, 24(%r2)
; S390X-NEXT:    ld %f10, 16(%r2)
; S390X-NEXT:    brasl %r14, nearbyint@PLT
; S390X-NEXT:    ldr %f11, %f0
; S390X-NEXT:    ldr %f0, %f10
; S390X-NEXT:    brasl %r14, nearbyint@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, nearbyint@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, nearbyint@PLT
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    ldr %f4, %f10
; S390X-NEXT:    ldr %f6, %f11
; S390X-NEXT:    ld %f8, 184(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f11, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 304(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_nearbyint_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 16(%r2), 4
; SZ13-NEXT:    vl %v1, 0(%r2), 4
; SZ13-NEXT:    vfidb %v24, %v1, 4, 0
; SZ13-NEXT:    vfidb %v26, %v0, 4, 0
; SZ13-NEXT:    br %r14
entry:
  %b = load <4 x double>, ptr %a
  %nearby = call <4 x double> @llvm.experimental.constrained.nearbyint.v4f64(
                                <4 x double> %b,
                                metadata !"round.dynamic",
                                metadata !"fpexcept.strict") #0
  ret <4 x double> %nearby
}

define <1 x float> @constrained_vector_maxnum_v1f32() #0 {
; S390X-LABEL: constrained_vector_maxnum_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI85_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI85_1
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, fmaxf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_maxnum_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI85_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI85_1
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, fmaxf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %max = call <1 x float> @llvm.experimental.constrained.maxnum.v1f32(
                               <1 x float> <float 42.0>, <1 x float> <float 41.0>,
                               metadata !"fpexcept.strict") #0
  ret <1 x float> %max
}

define <2 x double> @constrained_vector_maxnum_v2f64() #0 {
; S390X-LABEL: constrained_vector_maxnum_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI86_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI86_1
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, fmax@PLT
; S390X-NEXT:    larl %r1, .LCPI86_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI86_3
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, fmax@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_maxnum_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI86_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI86_1
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI86_3
; 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 %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %max = call <2 x double> @llvm.experimental.constrained.maxnum.v2f64(
                                <2 x double> <double 43.0, double 42.0>,
                                <2 x double> <double 41.0, double 40.0>,
                                metadata !"fpexcept.strict") #0
  ret <2 x double> %max
}

define <3 x float> @constrained_vector_maxnum_v3f32() #0 {
; S390X-LABEL: constrained_vector_maxnum_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI87_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI87_1
; 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)
; S390X-NEXT:    larl %r1, .LCPI87_3
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, fmaxf@PLT
; S390X-NEXT:    larl %r1, .LCPI87_4
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f8
; S390X-NEXT:    brasl %r14, fmaxf@PLT
; S390X-NEXT:    ler %f2, %f10
; S390X-NEXT:    ler %f4, %f9
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_maxnum_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    larl %r1, .LCPI87_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI87_1
; SZ13-NEXT:    lde %f8, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmaxf@PLT
; 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:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, fmaxf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI87_4
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, fmaxf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 312(%r15)
; SZ13-NEXT:    br %r14
entry:
  %max = call <3 x float> @llvm.experimental.constrained.maxnum.v3f32(
                              <3 x float> <float 43.0, float 44.0, float 45.0>,
                              <3 x float> <float 41.0, float 42.0, float 43.0>,
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %max
}

define void @constrained_vector_log10_maxnum_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_log10_maxnum_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    larl %r1, .LCPI88_0
; 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:    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:    ld %f2, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, fmax@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_log10_maxnum_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    larl %r1, .LCPI88_0
; 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:    # 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:    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
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, fmax@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %max = call <3 x double> @llvm.experimental.constrained.maxnum.v3f64(
                          <3 x double> %b,
                          <3 x double> <double 40.0, double 41.0, double 42.0>,
                          metadata !"fpexcept.strict") #0
  store <3 x double> %max, ptr %a
  ret void
}

define <4 x double> @constrained_vector_maxnum_v4f64() #0 {
; S390X-LABEL: constrained_vector_maxnum_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI89_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI89_1
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, fmax@PLT
; S390X-NEXT:    larl %r1, .LCPI89_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI89_3
; 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:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI89_5
; 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:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI89_7
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, fmax@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_maxnum_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI89_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI89_1
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI89_3
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI89_5
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI89_7
; 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
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %max = call <4 x double> @llvm.experimental.constrained.maxnum.v4f64(
                                <4 x double> <double 44.0, double 45.0,
                                              double 46.0, double 47.0>,
                                <4 x double> <double 40.0, double 41.0,
                                              double 42.0, double 43.0>,
                                metadata !"fpexcept.strict") #0
  ret <4 x double> %max
}

define <1 x float> @constrained_vector_minnum_v1f32() #0 {
; S390X-LABEL: constrained_vector_minnum_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI90_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI90_1
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, fminf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_minnum_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI90_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI90_1
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, fminf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
 entry:
  %min = call <1 x float> @llvm.experimental.constrained.minnum.v1f32(
                               <1 x float> <float 42.0>, <1 x float> <float 41.0>,
                               metadata !"fpexcept.strict") #0
  ret <1 x float> %min
}

define <2 x double> @constrained_vector_minnum_v2f64() #0 {
; S390X-LABEL: constrained_vector_minnum_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI91_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI91_1
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, fmin@PLT
; S390X-NEXT:    larl %r1, .LCPI91_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI91_3
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, fmin@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_minnum_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI91_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI91_1
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI91_3
; 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 %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %min = call <2 x double> @llvm.experimental.constrained.minnum.v2f64(
                                <2 x double> <double 43.0, double 42.0>,
                                <2 x double> <double 41.0, double 40.0>,
                                metadata !"fpexcept.strict") #0
  ret <2 x double> %min
}

define <3 x float> @constrained_vector_minnum_v3f32() #0 {
; S390X-LABEL: constrained_vector_minnum_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI92_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI92_1
; 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)
; S390X-NEXT:    larl %r1, .LCPI92_3
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, fminf@PLT
; S390X-NEXT:    larl %r1, .LCPI92_4
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f8
; S390X-NEXT:    brasl %r14, fminf@PLT
; S390X-NEXT:    ler %f2, %f10
; S390X-NEXT:    ler %f4, %f9
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_minnum_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    larl %r1, .LCPI92_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI92_1
; SZ13-NEXT:    lde %f8, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fminf@PLT
; 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:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, fminf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI92_4
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, fminf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 312(%r15)
; SZ13-NEXT:    br %r14
entry:
  %min = call <3 x float> @llvm.experimental.constrained.minnum.v3f32(
                              <3 x float> <float 43.0, float 44.0, float 45.0>,
                              <3 x float> <float 41.0, float 42.0, float 43.0>,
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %min
}

define void @constrained_vector_minnum_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_minnum_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -192
; S390X-NEXT:    .cfi_def_cfa_offset 352
; S390X-NEXT:    std %f8, 184(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f11, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    .cfi_offset %f11, -192
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    larl %r1, .LCPI93_0
; S390X-NEXT:    ld %f9, 0(%r1)
; S390X-NEXT:    ld %f10, 8(%r2)
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    brasl %r14, fmin@PLT
; S390X-NEXT:    ldr %f11, %f0
; S390X-NEXT:    ldr %f0, %f10
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    brasl %r14, fmin@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    brasl %r14, fmin@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f10, 8(%r13)
; S390X-NEXT:    std %f11, 16(%r13)
; S390X-NEXT:    ld %f8, 184(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f11, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_minnum_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -208
; SZ13-NEXT:    .cfi_def_cfa_offset 368
; SZ13-NEXT:    std %f8, 200(%r15) # 8-byte Spill
; SZ13-NEXT:    std %f9, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    .cfi_offset %f9, -176
; SZ13-NEXT:    larl %r1, .LCPI93_0
; SZ13-NEXT:    ld %f9, 0(%r1)
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, fmin@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:    ldr %f2, %f9
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; 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, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    ldr %f2, %f9
; SZ13-NEXT:    brasl %r14, fmin@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 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:    lmg %r13, %r15, 312(%r15)
; SZ13-NEXT:    br %r14
entry:
 %b = load <3 x double>, ptr %a
 %min = call <3 x double> @llvm.experimental.constrained.minnum.v3f64(
                          <3 x double> %b,
                          <3 x double> <double 3.0, double 3.0, double 3.0>,
                          metadata !"fpexcept.strict") #0
  store <3 x double> %min, ptr %a
  ret void
}

define <4 x double> @constrained_vector_minnum_v4f64() #0 {
; S390X-LABEL: constrained_vector_minnum_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI94_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI94_1
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, fmin@PLT
; S390X-NEXT:    larl %r1, .LCPI94_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI94_3
; 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:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI94_5
; 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:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI94_7
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, fmin@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_minnum_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI94_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI94_1
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI94_3
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI94_5
; 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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI94_7
; 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
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %min = call <4 x double> @llvm.experimental.constrained.minnum.v4f64(
                                <4 x double> <double 44.0, double 45.0,
                                              double 46.0, double 47.0>,
                                <4 x double> <double 40.0, double 41.0,
                                              double 42.0, double 43.0>,
                                metadata !"fpexcept.strict") #0
  ret <4 x double> %min
}

define <1 x float> @constrained_vector_fptrunc_v1f64() #0 {
; S390X-LABEL: constrained_vector_fptrunc_v1f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI95_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    ledbr %f0, %f0
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fptrunc_v1f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI95_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    wledb %v24, %f0, 0, 0
; SZ13-NEXT:    br %r14
entry:
  %result = call <1 x float> @llvm.experimental.constrained.fptrunc.v1f32.v1f64(
                                <1 x double><double 42.1>,
                                metadata !"round.dynamic",
                                metadata !"fpexcept.strict") #0
  ret <1 x float> %result
}

define <2 x float> @constrained_vector_fptrunc_v2f64() #0 {
; S390X-LABEL: constrained_vector_fptrunc_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI96_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI96_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ledbr %f2, %f0
; S390X-NEXT:    ledbr %f0, %f1
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fptrunc_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI96_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI96_1
; SZ13-NEXT:    ld %f1, 0(%r1)
; SZ13-NEXT:    ledbra %f0, 0, %f0, 0
; SZ13-NEXT:    ledbra %f1, 0, %f1, 0
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v0
; SZ13-NEXT:    br %r14
entry:
  %result = call <2 x float> @llvm.experimental.constrained.fptrunc.v2f32.v2f64(
                                <2 x double><double 42.1, double 42.2>,
                                metadata !"round.dynamic",
                                metadata !"fpexcept.strict") #0
  ret <2 x float> %result
}

define void @constrained_vector_fptrunc_v3f64(ptr %src, ptr %dest) #0 {
; S390X-LABEL: constrained_vector_fptrunc_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    ld %f0, 0(%r2)
; S390X-NEXT:    ld %f1, 16(%r2)
; S390X-NEXT:    ld %f2, 8(%r2)
; S390X-NEXT:    ledbr %f0, %f0
; S390X-NEXT:    lgdr %r0, %f0
; S390X-NEXT:    nilf %r0, 0
; S390X-NEXT:    ledbr %f0, %f2
; S390X-NEXT:    lgdr %r1, %f0
; S390X-NEXT:    srlg %r1, %r1, 32
; S390X-NEXT:    lr %r0, %r1
; S390X-NEXT:    ledbr %f0, %f1
; S390X-NEXT:    ste %f0, 8(%r3)
; S390X-NEXT:    stg %r0, 0(%r3)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fptrunc_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v1, 0(%r2), 4
; SZ13-NEXT:    ld %f0, 16(%r2)
; SZ13-NEXT:    vledb %v1, %v1, 0, 0
; SZ13-NEXT:    larl %r1, .LCPI97_0
; SZ13-NEXT:    ledbra %f0, 0, %f0, 0
; SZ13-NEXT:    vl %v2, 0(%r1), 3
; SZ13-NEXT:    vperm %v1, %v1, %v1, %v2
; SZ13-NEXT:    ste %f0, 8(%r3)
; SZ13-NEXT:    vsteg %v1, 0(%r3), 0
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %src
  %result = call <3 x float> @llvm.experimental.constrained.fptrunc.v3f32.v3f64(
                                <3 x double> %b,
                                metadata !"round.dynamic",
                                metadata !"fpexcept.strict") #0
  store <3 x float> %result, ptr %dest
  ret void
}

define <4 x float> @constrained_vector_fptrunc_v4f64() #0 {
; S390X-LABEL: constrained_vector_fptrunc_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI98_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI98_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI98_2
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI98_3
; 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:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI98_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI98_1
; SZ13-NEXT:    ld %f1, 0(%r1)
; SZ13-NEXT:    ledbra %f0, 0, %f0, 0
; SZ13-NEXT:    ledbra %f1, 0, %f1, 0
; SZ13-NEXT:    larl %r1, .LCPI98_2
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    ld %f1, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI98_3
; SZ13-NEXT:    ld %f2, 0(%r1)
; SZ13-NEXT:    ledbra %f1, 0, %f1, 0
; SZ13-NEXT:    ledbra %f2, 0, %f2, 0
; SZ13-NEXT:    vmrhf %v1, %v2, %v1
; SZ13-NEXT:    vmrhg %v24, %v1, %v0
; SZ13-NEXT:    br %r14
entry:
  %result = call <4 x float> @llvm.experimental.constrained.fptrunc.v4f32.v4f64(
                                <4 x double><double 42.1, double 42.2,
                                             double 42.3, double 42.4>,
                                metadata !"round.dynamic",
                                metadata !"fpexcept.strict") #0
  ret <4 x float> %result
}

define <1 x double> @constrained_vector_fpext_v1f32() #0 {
; S390X-LABEL: constrained_vector_fpext_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    larl %r1, .LCPI99_0
; S390X-NEXT:    ldeb %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fpext_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI99_0
; SZ13-NEXT:    ldeb %f0, 0(%r1)
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %result = call <1 x double> @llvm.experimental.constrained.fpext.v1f64.v1f32(
                                <1 x float><float 42.0>,
                                metadata !"fpexcept.strict") #0
  ret <1 x double> %result
}

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 %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:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI100_0
; SZ13-NEXT:    ldeb %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI100_1
; SZ13-NEXT:    ldeb %f1, 0(%r1)
; SZ13-NEXT:    vmrhg %v24, %v1, %v0
; SZ13-NEXT:    br %r14
entry:
  %result = call <2 x double> @llvm.experimental.constrained.fpext.v2f64.v2f32(
                                <2 x float><float 42.0, float 43.0>,
                                metadata !"fpexcept.strict") #0
  ret <2 x double> %result
}

define void @constrained_vector_fpext_v3f64(ptr %src, ptr %dest) #0 {
; S390X-LABEL: constrained_vector_fpext_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    lg %r0, 0(%r2)
; S390X-NEXT:    sllg %r1, %r0, 32
; S390X-NEXT:    ldgr %f0, %r1
; S390X-NEXT:    nilf %r0, 0
; 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, 0(%r3)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fpext_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vrepf %v1, %v0, 1
; SZ13-NEXT:    vldeb %v0, %v0
; SZ13-NEXT:    ldebr %f1, %f1
; SZ13-NEXT:    vmrhg %v1, %v0, %v1
; SZ13-NEXT:    vsteg %v0, 16(%r3), 1
; SZ13-NEXT:    vst %v1, 0(%r3), 4
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x float>, ptr %src
  %result = call <3 x double> @llvm.experimental.constrained.fpext.v3f64.v3f32(
                              <3 x float> %b,
                              metadata !"fpexcept.strict") #0
  store <3 x double> %result, ptr %dest
  ret void
}

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 %f6, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI102_1
; 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 %f0, 0(%r1)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_fpext_v4f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    larl %r1, .LCPI102_0
; SZ13-NEXT:    ldeb %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI102_1
; SZ13-NEXT:    ldeb %f1, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI102_2
; SZ13-NEXT:    vmrhg %v24, %v1, %v0
; SZ13-NEXT:    ldeb %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI102_3
; SZ13-NEXT:    ldeb %f1, 0(%r1)
; SZ13-NEXT:    vmrhg %v26, %v1, %v0
; SZ13-NEXT:    br %r14
entry:
  %result = call <4 x double> @llvm.experimental.constrained.fpext.v4f64.v4f32(
                                <4 x float><float 42.0, float 43.0,
                                            float 44.0, float 45.0>,
                                metadata !"fpexcept.strict") #0
  ret <4 x double> %result
}

define <1 x float> @constrained_vector_ceil_v1f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_ceil_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI103_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, ceilf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_ceil_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vgmf %v0, 2, 9
; SZ13-NEXT:    fiebra %f0, 6, %f0, 4
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %b = load <1 x float>, ptr %a
  %ceil = call <1 x float> @llvm.experimental.constrained.ceil.v1f32(
                               <1 x float> <float 1.5>,
                               metadata !"fpexcept.strict") #0
  ret <1 x float> %ceil
}

define <2 x double> @constrained_vector_ceil_v2f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_ceil_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    ld %f0, 8(%r2)
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    brasl %r14, ceil@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, ceil@PLT
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_ceil_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 3
; SZ13-NEXT:    vfidb %v24, %v0, 4, 6
; SZ13-NEXT:    br %r14
entry:
  %b = load <2 x double>, ptr %a
  %ceil = call <2 x double> @llvm.experimental.constrained.ceil.v2f64(
                                <2 x double> %b,
                                metadata !"fpexcept.strict") #0
  ret <2 x double> %ceil
}

define <3 x float> @constrained_vector_ceil_v3f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_ceil_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lg %r0, 0(%r2)
; S390X-NEXT:    le %f0, 8(%r2)
; S390X-NEXT:    risbg %r1, %r0, 0, 159, 0
; S390X-NEXT:    ldgr %f8, %r1
; S390X-NEXT:    sllg %r0, %r0, 32
; S390X-NEXT:    ldgr %f9, %r0
; S390X-NEXT:    brasl %r14, ceilf@PLT
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f9
; S390X-NEXT:    brasl %r14, ceilf@PLT
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f8
; S390X-NEXT:    brasl %r14, ceilf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f10
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_ceil_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vrepf %v1, %v0, 2
; SZ13-NEXT:    vrepf %v2, %v0, 1
; SZ13-NEXT:    fiebra %f1, 6, %f1, 4
; SZ13-NEXT:    fiebra %f2, 6, %f2, 4
; SZ13-NEXT:    fiebra %f0, 6, %f0, 4
; SZ13-NEXT:    vmrhf %v0, %v0, %v2
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x float>, ptr %a
  %ceil = call <3 x float> @llvm.experimental.constrained.ceil.v3f32(
                              <3 x float> %b,
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %ceil
}

define void @constrained_vector_ceil_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_ceil_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, ceil@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, ceil@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, ceil@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_ceil_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    ld %f1, 16(%r2)
; SZ13-NEXT:    vfidb %v0, %v0, 4, 6
; SZ13-NEXT:    fidbra %f1, 6, %f1, 4
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %ceil = call <3 x double> @llvm.experimental.constrained.ceil.v3f64(
                          <3 x double> %b,
                          metadata !"fpexcept.strict") #0
  store <3 x double> %ceil, ptr %a
  ret void
}

define <1 x float> @constrained_vector_floor_v1f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_floor_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    le %f0, 0(%r2)
; S390X-NEXT:    brasl %r14, floorf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_floor_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    lde %f0, 0(%r2)
; SZ13-NEXT:    fiebra %f0, 7, %f0, 4
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %b = load <1 x float>, ptr %a
  %floor = call <1 x float> @llvm.experimental.constrained.floor.v1f32(
                               <1 x float> %b,
                               metadata !"fpexcept.strict") #0
  ret <1 x float> %floor
}


define <2 x double> @constrained_vector_floor_v2f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_floor_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    ld %f0, 8(%r2)
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    brasl %r14, floor@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, floor@PLT
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_floor_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 3
; SZ13-NEXT:    vfidb %v24, %v0, 4, 7
; SZ13-NEXT:    br %r14
entry:
  %b = load <2 x double>, ptr %a
  %floor = call <2 x double> @llvm.experimental.constrained.floor.v2f64(
                                <2 x double> %b,
                                metadata !"fpexcept.strict") #0
  ret <2 x double> %floor
}

define <3 x float> @constrained_vector_floor_v3f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_floor_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lg %r0, 0(%r2)
; S390X-NEXT:    le %f0, 8(%r2)
; S390X-NEXT:    risbg %r1, %r0, 0, 159, 0
; S390X-NEXT:    ldgr %f8, %r1
; S390X-NEXT:    sllg %r0, %r0, 32
; S390X-NEXT:    ldgr %f9, %r0
; S390X-NEXT:    brasl %r14, floorf@PLT
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f9
; S390X-NEXT:    brasl %r14, floorf@PLT
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f8
; S390X-NEXT:    brasl %r14, floorf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f10
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_floor_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vrepf %v1, %v0, 2
; SZ13-NEXT:    vrepf %v2, %v0, 1
; SZ13-NEXT:    fiebra %f1, 7, %f1, 4
; SZ13-NEXT:    fiebra %f2, 7, %f2, 4
; SZ13-NEXT:    fiebra %f0, 7, %f0, 4
; SZ13-NEXT:    vmrhf %v0, %v0, %v2
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x float>, ptr %a
  %floor = call <3 x float> @llvm.experimental.constrained.floor.v3f32(
                              <3 x float> %b,
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %floor
}

define void @constrained_vector_floor_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_floor_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, floor@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, floor@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, floor@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_floor_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    ld %f1, 16(%r2)
; SZ13-NEXT:    vfidb %v0, %v0, 4, 7
; SZ13-NEXT:    fidbra %f1, 7, %f1, 4
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %floor = call <3 x double> @llvm.experimental.constrained.floor.v3f64(
                          <3 x double> %b,
                          metadata !"fpexcept.strict") #0
  store <3 x double> %floor, ptr %a
  ret void
}

define <1 x float> @constrained_vector_round_v1f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_round_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    le %f0, 0(%r2)
; S390X-NEXT:    brasl %r14, roundf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_round_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    lde %f0, 0(%r2)
; SZ13-NEXT:    fiebra %f0, 1, %f0, 4
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %b = load <1 x float>, ptr %a
  %round = call <1 x float> @llvm.experimental.constrained.round.v1f32(
                               <1 x float> %b,
                               metadata !"fpexcept.strict") #0
  ret <1 x float> %round
}

define <2 x double> @constrained_vector_round_v2f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_round_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    ld %f0, 8(%r2)
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    brasl %r14, round@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, round@PLT
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_round_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 3
; SZ13-NEXT:    vfidb %v24, %v0, 4, 1
; SZ13-NEXT:    br %r14
entry:
  %b = load <2 x double>, ptr %a
  %round = call <2 x double> @llvm.experimental.constrained.round.v2f64(
                                <2 x double> %b,
                                metadata !"fpexcept.strict") #0
  ret <2 x double> %round
}

define <3 x float> @constrained_vector_round_v3f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_round_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lg %r0, 0(%r2)
; S390X-NEXT:    le %f0, 8(%r2)
; S390X-NEXT:    risbg %r1, %r0, 0, 159, 0
; S390X-NEXT:    ldgr %f8, %r1
; S390X-NEXT:    sllg %r0, %r0, 32
; S390X-NEXT:    ldgr %f9, %r0
; S390X-NEXT:    brasl %r14, roundf@PLT
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f9
; S390X-NEXT:    brasl %r14, roundf@PLT
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f8
; S390X-NEXT:    brasl %r14, roundf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f10
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_round_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vrepf %v1, %v0, 2
; SZ13-NEXT:    vrepf %v2, %v0, 1
; SZ13-NEXT:    fiebra %f1, 1, %f1, 4
; SZ13-NEXT:    fiebra %f2, 1, %f2, 4
; SZ13-NEXT:    fiebra %f0, 1, %f0, 4
; SZ13-NEXT:    vmrhf %v0, %v0, %v2
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x float>, ptr %a
  %round = call <3 x float> @llvm.experimental.constrained.round.v3f32(
                              <3 x float> %b,
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %round
}


define void @constrained_vector_round_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_round_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, round@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, round@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, round@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_round_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    ld %f1, 16(%r2)
; SZ13-NEXT:    vfidb %v0, %v0, 4, 1
; SZ13-NEXT:    fidbra %f1, 1, %f1, 4
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %round = call <3 x double> @llvm.experimental.constrained.round.v3f64(
                          <3 x double> %b,
                          metadata !"fpexcept.strict") #0
  store <3 x double> %round, ptr %a
  ret void
}

define <1 x float> @constrained_vector_roundeven_v1f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_roundeven_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    le %f0, 0(%r2)
; S390X-NEXT:    brasl %r14, roundevenf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_roundeven_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    lde %f0, 0(%r2)
; SZ13-NEXT:    fiebra %f0, 4, %f0, 4
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %b = load <1 x float>, ptr %a
  %round = call <1 x float> @llvm.experimental.constrained.roundeven.v1f32(
                               <1 x float> %b,
                               metadata !"fpexcept.strict") #0
  ret <1 x float> %round
}

define <2 x double> @constrained_vector_roundeven_v2f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_roundeven_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    ld %f0, 8(%r2)
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    brasl %r14, roundeven@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, roundeven@PLT
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_roundeven_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 3
; SZ13-NEXT:    vfidb %v24, %v0, 4, 4
; SZ13-NEXT:    br %r14
entry:
  %b = load <2 x double>, ptr %a
  %round = call <2 x double> @llvm.experimental.constrained.roundeven.v2f64(
                                <2 x double> %b,
                                metadata !"fpexcept.strict") #0
  ret <2 x double> %round
}

define <3 x float> @constrained_vector_roundeven_v3f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_roundeven_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lg %r0, 0(%r2)
; S390X-NEXT:    le %f0, 8(%r2)
; S390X-NEXT:    risbg %r1, %r0, 0, 159, 0
; S390X-NEXT:    ldgr %f8, %r1
; S390X-NEXT:    sllg %r0, %r0, 32
; S390X-NEXT:    ldgr %f9, %r0
; S390X-NEXT:    brasl %r14, roundevenf@PLT
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f9
; S390X-NEXT:    brasl %r14, roundevenf@PLT
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f8
; S390X-NEXT:    brasl %r14, roundevenf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f10
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_roundeven_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vrepf %v1, %v0, 2
; SZ13-NEXT:    vrepf %v2, %v0, 1
; SZ13-NEXT:    fiebra %f1, 4, %f1, 4
; SZ13-NEXT:    fiebra %f2, 4, %f2, 4
; SZ13-NEXT:    fiebra %f0, 4, %f0, 4
; SZ13-NEXT:    vmrhf %v0, %v0, %v2
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x float>, ptr %a
  %round = call <3 x float> @llvm.experimental.constrained.roundeven.v3f32(
                              <3 x float> %b,
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %round
}

define void @constrained_vector_roundeven_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_roundeven_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, roundeven@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, roundeven@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, roundeven@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_roundeven_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    ld %f1, 16(%r2)
; SZ13-NEXT:    vfidb %v0, %v0, 4, 4
; SZ13-NEXT:    fidbra %f1, 4, %f1, 4
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %round = call <3 x double> @llvm.experimental.constrained.roundeven.v3f64(
                          <3 x double> %b,
                          metadata !"fpexcept.strict") #0
  store <3 x double> %round, ptr %a
  ret void
}

define <1 x float> @constrained_vector_trunc_v1f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_trunc_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    le %f0, 0(%r2)
; S390X-NEXT:    brasl %r14, truncf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_trunc_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    lde %f0, 0(%r2)
; SZ13-NEXT:    fiebra %f0, 5, %f0, 4
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    br %r14
entry:
  %b = load <1 x float>, ptr %a
  %trunc = call <1 x float> @llvm.experimental.constrained.trunc.v1f32(
                               <1 x float> %b,
                               metadata !"fpexcept.strict") #0
  ret <1 x float> %trunc
}

define <2 x double> @constrained_vector_trunc_v2f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_trunc_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    ld %f0, 8(%r2)
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    brasl %r14, trunc@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, trunc@PLT
; S390X-NEXT:    ldr %f2, %f9
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_trunc_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 3
; SZ13-NEXT:    vfidb %v24, %v0, 4, 5
; SZ13-NEXT:    br %r14
entry:
  %b = load <2 x double>, ptr %a
  %trunc = call <2 x double> @llvm.experimental.constrained.trunc.v2f64(
                                <2 x double> %b,
                                metadata !"fpexcept.strict") #0
  ret <2 x double> %trunc
}

define <3 x float> @constrained_vector_trunc_v3f32(ptr %a) #0 {
; S390X-LABEL: constrained_vector_trunc_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lg %r0, 0(%r2)
; S390X-NEXT:    le %f0, 8(%r2)
; S390X-NEXT:    risbg %r1, %r0, 0, 159, 0
; S390X-NEXT:    ldgr %f8, %r1
; S390X-NEXT:    sllg %r0, %r0, 32
; S390X-NEXT:    ldgr %f9, %r0
; S390X-NEXT:    brasl %r14, truncf@PLT
; S390X-NEXT:    ler %f10, %f0
; S390X-NEXT:    ler %f0, %f9
; S390X-NEXT:    brasl %r14, truncf@PLT
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f8
; S390X-NEXT:    brasl %r14, truncf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f10
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_trunc_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vrepf %v1, %v0, 2
; SZ13-NEXT:    vrepf %v2, %v0, 1
; SZ13-NEXT:    fiebra %f1, 5, %f1, 4
; SZ13-NEXT:    fiebra %f2, 5, %f2, 4
; SZ13-NEXT:    fiebra %f0, 5, %f0, 4
; SZ13-NEXT:    vmrhf %v0, %v0, %v2
; SZ13-NEXT:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x float>, ptr %a
  %trunc = call <3 x float> @llvm.experimental.constrained.trunc.v3f32(
                              <3 x float> %b,
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %trunc
}

define void @constrained_vector_trunc_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_trunc_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, trunc@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, trunc@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, trunc@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_trunc_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    ld %f1, 16(%r2)
; SZ13-NEXT:    vfidb %v0, %v0, 4, 5
; SZ13-NEXT:    fidbra %f1, 5, %f1, 4
; SZ13-NEXT:    vst %v0, 0(%r2), 4
; SZ13-NEXT:    std %f1, 16(%r2)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %trunc = call <3 x double> @llvm.experimental.constrained.trunc.v3f64(
                          <3 x double> %b,
                          metadata !"fpexcept.strict") #0
  store <3 x double> %trunc, ptr %a
  ret void
}

define <1 x float> @constrained_vector_tan_v1f32() #0 {
; S390X-LABEL: constrained_vector_tan_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI123_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, tanf@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_tan_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI123_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tanf@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %tan = call <1 x float> @llvm.experimental.constrained.tan.v1f32(
                             <1 x float> <float 42.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %tan
}

define <2 x double> @constrained_vector_tan_v2f64() #0 {
; S390X-LABEL: constrained_vector_tan_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI124_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, tan@PLT
; S390X-NEXT:    larl %r1, .LCPI124_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, tan@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_tan_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI124_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tan@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tan@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %tan = call <2 x double> @llvm.experimental.constrained.tan.v2f64(
                             <2 x double> <double 42.0, double 42.1>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <2 x double> %tan
}

define <3 x float> @constrained_vector_tan_v3f32() #0 {
; S390X-LABEL: constrained_vector_tan_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI125_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, tanf@PLT
; S390X-NEXT:    larl %r1, .LCPI125_1
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, tanf@PLT
; S390X-NEXT:    larl %r1, .LCPI125_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, tanf@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_tan_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI125_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tanf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tanf@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tanf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %tan = call <3 x float> @llvm.experimental.constrained.tan.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %tan
}

define void @constrained_vector_tan_v3f64(ptr %a) #0 {
; S390X-LABEL: constrained_vector_tan_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    brasl %r14, tan@PLT
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    brasl %r14, tan@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    brasl %r14, tan@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f10, 16(%r13)
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_tan_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -200
; SZ13-NEXT:    .cfi_def_cfa_offset 360
; SZ13-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, tan@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:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, tan@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, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, tan@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    vst %v0, 0(%r13), 4
; SZ13-NEXT:    lmg %r13, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %b = load <3 x double>, ptr %a
  %tan = call <3 x double> @llvm.experimental.constrained.tan.v3f64(
                          <3 x double> %b,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %tan, ptr %a
  ret void
}

define <4 x double> @constrained_vector_tan_v4f64() #0 {
; S390X-LABEL: constrained_vector_tan_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI127_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    brasl %r14, tan@PLT
; S390X-NEXT:    larl %r1, .LCPI127_1
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, tan@PLT
; S390X-NEXT:    larl %r1, .LCPI127_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, tan@PLT
; S390X-NEXT:    larl %r1, .LCPI127_3
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, tan@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_tan_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI127_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tan@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tan@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, .LCPI127_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tan@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tan@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %tan = call <4 x double> @llvm.experimental.constrained.tan.v4f64(
                             <4 x double> <double 42.0, double 42.1,
                                           double 42.2, double 42.3>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <4 x double> %tan
}

define <1 x float> @constrained_vector_atan2_v1f32() #0 {
; S390X-LABEL: constrained_vector_atan2_v1f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -160
; S390X-NEXT:    .cfi_def_cfa_offset 320
; S390X-NEXT:    larl %r1, .LCPI128_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI128_1
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, atan2f@PLT
; S390X-NEXT:    lmg %r14, %r15, 272(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_atan2_v1f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -160
; SZ13-NEXT:    .cfi_def_cfa_offset 320
; SZ13-NEXT:    larl %r1, .LCPI128_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI128_1
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2f@PLT
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vlr %v24, %v0
; SZ13-NEXT:    lmg %r14, %r15, 272(%r15)
; SZ13-NEXT:    br %r14
entry:
  %atan2 = call <1 x float> @llvm.experimental.constrained.atan2.v1f32(
                             <1 x float> <float 42.0>,
                             <1 x float> <float 43.0>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <1 x float> %atan2
}

define <2 x double> @constrained_vector_atan2_v2f64() #0 {
; S390X-LABEL: constrained_vector_atan2_v2f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -168
; S390X-NEXT:    .cfi_def_cfa_offset 328
; S390X-NEXT:    std %f8, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    larl %r1, .LCPI129_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI129_1
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, atan2@PLT
; S390X-NEXT:    larl %r1, .LCPI129_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI129_3
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, atan2@PLT
; S390X-NEXT:    ldr %f2, %f8
; S390X-NEXT:    ld %f8, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 280(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_atan2_v2f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -176
; SZ13-NEXT:    .cfi_def_cfa_offset 336
; SZ13-NEXT:    larl %r1, .LCPI129_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI129_1
; SZ13-NEXT:    ld %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI129_3
; SZ13-NEXT:    ld %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; SZ13-NEXT:    br %r14
entry:
  %atan2 = call <2 x double> @llvm.experimental.constrained.atan2.v2f64(
                             <2 x double> <double 42.0, double 42.1>,
                             <2 x double> <double 43.0, double 43.1>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <2 x double> %atan2
}

define <3 x float> @constrained_vector_atan2_v3f32() #0 {
; S390X-LABEL: constrained_vector_atan2_v3f32:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -176
; S390X-NEXT:    .cfi_def_cfa_offset 336
; S390X-NEXT:    std %f8, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    larl %r1, .LCPI130_0
; S390X-NEXT:    le %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI130_1
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, atan2f@PLT
; S390X-NEXT:    larl %r1, .LCPI130_2
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI130_3
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    ler %f8, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, atan2f@PLT
; S390X-NEXT:    larl %r1, .LCPI130_4
; S390X-NEXT:    le %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI130_5
; S390X-NEXT:    le %f2, 0(%r1)
; S390X-NEXT:    ler %f9, %f0
; S390X-NEXT:    ler %f0, %f1
; S390X-NEXT:    brasl %r14, atan2f@PLT
; S390X-NEXT:    ler %f2, %f9
; S390X-NEXT:    ler %f4, %f8
; S390X-NEXT:    ld %f8, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 288(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_atan2_v3f32:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI130_0
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI130_1
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2f@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI130_3
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2f@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:    lde %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI130_5
; SZ13-NEXT:    lde %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2f@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Folded 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:    vrepf %v1, %v1, 0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %atan2 = call <3 x float> @llvm.experimental.constrained.atan2.v3f32(
                              <3 x float> <float 42.0, float 43.0, float 44.0>,
                              <3 x float> <float 42.125, float 43.25, float 44.375>,
                              metadata !"round.dynamic",
                              metadata !"fpexcept.strict") #0
  ret <3 x float> %atan2
}

define void @constrained_vector_atan2_v3f64(ptr %a, ptr %b) #0 {
; S390X-LABEL: constrained_vector_atan2_v3f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r13, %r15, 104(%r15)
; S390X-NEXT:    .cfi_offset %r13, -56
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -200
; S390X-NEXT:    .cfi_def_cfa_offset 360
; S390X-NEXT:    std %f8, 192(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 184(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f11, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f12, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    .cfi_offset %f11, -192
; S390X-NEXT:    .cfi_offset %f12, -200
; S390X-NEXT:    lgr %r13, %r2
; S390X-NEXT:    ld %f8, 0(%r2)
; S390X-NEXT:    ld %f9, 8(%r2)
; S390X-NEXT:    ld %f0, 16(%r2)
; S390X-NEXT:    ld %f10, 0(%r3)
; S390X-NEXT:    ld %f2, 16(%r3)
; S390X-NEXT:    ld %f11, 8(%r3)
; S390X-NEXT:    brasl %r14, atan2@PLT
; S390X-NEXT:    ldr %f12, %f0
; S390X-NEXT:    ldr %f0, %f9
; S390X-NEXT:    ldr %f2, %f11
; S390X-NEXT:    brasl %r14, atan2@PLT
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f8
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    brasl %r14, atan2@PLT
; S390X-NEXT:    std %f0, 0(%r13)
; S390X-NEXT:    std %f9, 8(%r13)
; S390X-NEXT:    std %f12, 16(%r13)
; S390X-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 184(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f11, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f12, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r13, %r15, 304(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_atan2_v3f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r13, %r15, 104(%r15)
; SZ13-NEXT:    .cfi_offset %r13, -56
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -224
; SZ13-NEXT:    .cfi_def_cfa_offset 384
; SZ13-NEXT:    std %f8, 216(%r15) # 8-byte Spill
; SZ13-NEXT:    std %f9, 208(%r15) # 8-byte Spill
; SZ13-NEXT:    .cfi_offset %f8, -168
; SZ13-NEXT:    .cfi_offset %f9, -176
; SZ13-NEXT:    vl %v0, 0(%r2), 4
; SZ13-NEXT:    vl %v2, 0(%r3), 4
; 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:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT:    brasl %r14, atan2@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:    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@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, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    ldr %f2, %f9
; SZ13-NEXT:    brasl %r14, atan2@PLT
; SZ13-NEXT:    std %f0, 16(%r13)
; SZ13-NEXT:    vl %v0, 160(%r15), 3 # 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:    lmg %r13, %r15, 328(%r15)
; SZ13-NEXT:    br %r14
entry:
  %c = load <3 x double>, ptr %a
  %d = load <3 x double>, ptr %b
  %atan2 = call <3 x double> @llvm.experimental.constrained.atan2.v3f64(
                          <3 x double> %c,
                          <3 x double> %d,
                          metadata !"round.dynamic",
                          metadata !"fpexcept.strict") #0
  store <3 x double> %atan2, ptr %a
  ret void
}

define <4 x double> @constrained_vector_atan2_v4f64() #0 {
; S390X-LABEL: constrained_vector_atan2_v4f64:
; S390X:       # %bb.0: # %entry
; S390X-NEXT:    stmg %r14, %r15, 112(%r15)
; S390X-NEXT:    .cfi_offset %r14, -48
; S390X-NEXT:    .cfi_offset %r15, -40
; S390X-NEXT:    aghi %r15, -184
; S390X-NEXT:    .cfi_def_cfa_offset 344
; S390X-NEXT:    std %f8, 176(%r15) # 8-byte Spill
; S390X-NEXT:    std %f9, 168(%r15) # 8-byte Spill
; S390X-NEXT:    std %f10, 160(%r15) # 8-byte Spill
; S390X-NEXT:    .cfi_offset %f8, -168
; S390X-NEXT:    .cfi_offset %f9, -176
; S390X-NEXT:    .cfi_offset %f10, -184
; S390X-NEXT:    larl %r1, .LCPI132_0
; S390X-NEXT:    ld %f0, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI132_1
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    brasl %r14, atan2@PLT
; S390X-NEXT:    larl %r1, .LCPI132_2
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI132_3
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    ldr %f8, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, atan2@PLT
; S390X-NEXT:    larl %r1, .LCPI132_4
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI132_5
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    ldr %f9, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, atan2@PLT
; S390X-NEXT:    larl %r1, .LCPI132_6
; S390X-NEXT:    ld %f1, 0(%r1)
; S390X-NEXT:    larl %r1, .LCPI132_7
; S390X-NEXT:    ld %f2, 0(%r1)
; S390X-NEXT:    ldr %f10, %f0
; S390X-NEXT:    ldr %f0, %f1
; S390X-NEXT:    brasl %r14, atan2@PLT
; S390X-NEXT:    ldr %f2, %f10
; S390X-NEXT:    ldr %f4, %f9
; S390X-NEXT:    ldr %f6, %f8
; S390X-NEXT:    ld %f8, 176(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f9, 168(%r15) # 8-byte Reload
; S390X-NEXT:    ld %f10, 160(%r15) # 8-byte Reload
; S390X-NEXT:    lmg %r14, %r15, 296(%r15)
; S390X-NEXT:    br %r14
;
; SZ13-LABEL: constrained_vector_atan2_v4f64:
; SZ13:       # %bb.0: # %entry
; SZ13-NEXT:    stmg %r14, %r15, 112(%r15)
; SZ13-NEXT:    .cfi_offset %r14, -48
; SZ13-NEXT:    .cfi_offset %r15, -40
; SZ13-NEXT:    aghi %r15, -192
; SZ13-NEXT:    .cfi_def_cfa_offset 352
; SZ13-NEXT:    larl %r1, .LCPI132_0
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI132_1
; SZ13-NEXT:    ld %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI132_3
; SZ13-NEXT:    ld %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2@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, .LCPI132_4
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Folded Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI132_5
; SZ13-NEXT:    ld %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2@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:    ld %f0, 0(%r1)
; SZ13-NEXT:    larl %r1, .LCPI132_7
; SZ13-NEXT:    ld %f2, 0(%r1)
; SZ13-NEXT:    brasl %r14, atan2@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:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; SZ13-NEXT:    br %r14
entry:
  %atan2 = call <4 x double> @llvm.experimental.constrained.atan2.v4f64(
                             <4 x double> <double 42.0, double 42.1,
                                           double 42.2, double 42.3>,
                             <4 x double> <double 43.0, double 43.1,
                                           double 43.2, double 43.3>,
                             metadata !"round.dynamic",
                             metadata !"fpexcept.strict") #0
  ret <4 x double> %atan2
}

attributes #0 = { strictfp }

declare <2 x double> @llvm.experimental.constrained.fadd.v2f64(<2 x double>, <2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.fsub.v2f64(<2 x double>, <2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.fmul.v2f64(<2 x double>, <2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.fdiv.v2f64(<2 x double>, <2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.frem.v2f64(<2 x double>, <2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.sqrt.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.pow.v2f64(<2 x double>, <2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.powi.v2f64(<2 x double>, i32, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.sin.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.cos.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.tan.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.atan2.v2f64(<2 x double>, <2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.exp.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.exp2.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.log.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.log10.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.log2.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.rint.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.nearbyint.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.maxnum.v2f64(<2 x double>, <2 x double>, metadata)
declare <2 x double> @llvm.experimental.constrained.minnum.v2f64(<2 x double>, <2 x double>, metadata)
declare <2 x float> @llvm.experimental.constrained.fptrunc.v2f32.v2f64(<2 x double>, metadata, metadata)
declare <2 x double> @llvm.experimental.constrained.fpext.v2f64.v2f32(<2 x float>, metadata)
declare <2 x double> @llvm.experimental.constrained.ceil.v2f64(<2 x double>, metadata)
declare <2 x double> @llvm.experimental.constrained.floor.v2f64(<2 x double>, metadata)
declare <2 x double> @llvm.experimental.constrained.round.v2f64(<2 x double>, metadata)
declare <2 x double> @llvm.experimental.constrained.roundeven.v2f64(<2 x double>, metadata)
declare <2 x double> @llvm.experimental.constrained.trunc.v2f64(<2 x double>, metadata)

declare <1 x float> @llvm.experimental.constrained.fadd.v1f32(<1 x float>, <1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.fsub.v1f32(<1 x float>, <1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.fmul.v1f32(<1 x float>, <1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.fdiv.v1f32(<1 x float>, <1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.frem.v1f32(<1 x float>, <1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.sqrt.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.pow.v1f32(<1 x float>, <1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.powi.v1f32(<1 x float>, i32, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.sin.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.cos.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.tan.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.atan2.v1f32(<1 x float>, <1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.exp.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.exp2.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.log.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.log10.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.log2.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.rint.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.nearbyint.v1f32(<1 x float>, metadata, metadata)
declare <1 x float> @llvm.experimental.constrained.maxnum.v1f32(<1 x float>, <1 x float>, metadata)
declare <1 x float> @llvm.experimental.constrained.minnum.v1f32(<1 x float>, <1 x float>, metadata)
declare <1 x float> @llvm.experimental.constrained.fptrunc.v1f32.v1f64(<1 x double>, metadata, metadata)
declare <1 x double> @llvm.experimental.constrained.fpext.v1f64.v1f32(<1 x float>, metadata)
declare <1 x float> @llvm.experimental.constrained.ceil.v1f32(<1 x float>, metadata)
declare <1 x float> @llvm.experimental.constrained.floor.v1f32(<1 x float>, metadata)
declare <1 x float> @llvm.experimental.constrained.round.v1f32(<1 x float>, metadata)
declare <1 x float> @llvm.experimental.constrained.roundeven.v1f32(<1 x float>, metadata)
declare <1 x float> @llvm.experimental.constrained.trunc.v1f32(<1 x float>, metadata)

declare <3 x float> @llvm.experimental.constrained.fadd.v3f32(<3 x float>, <3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.fadd.v3f64(<3 x double>, <3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.fsub.v3f32(<3 x float>, <3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.fsub.v3f64(<3 x double>, <3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.fmul.v3f32(<3 x float>, <3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.fmul.v3f64(<3 x double>, <3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.fdiv.v3f32(<3 x float>, <3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.fdiv.v3f64(<3 x double>, <3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.frem.v3f32(<3 x float>, <3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.frem.v3f64(<3 x double>, <3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.sqrt.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.sqrt.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.pow.v3f32(<3 x float>, <3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.pow.v3f64(<3 x double>, <3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.powi.v3f32(<3 x float>, i32, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.powi.v3f64(<3 x double>, i32, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.sin.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.sin.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.cos.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.cos.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.tan.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.tan.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.atan2.v3f32(<3 x float>, <3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.atan2.v3f64(<3 x double>, <3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.exp.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.exp.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.exp2.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.exp2.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.log.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.log.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.log10.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.log10.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.log2.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.log2.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.rint.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.rint.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.nearbyint.v3f32(<3 x float>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.nearbyint.v3f64(<3 x double>, metadata, metadata)
declare <3 x float> @llvm.experimental.constrained.maxnum.v3f32(<3 x float>, <3 x float>, metadata)
declare <3 x double> @llvm.experimental.constrained.maxnum.v3f64(<3 x double>, <3 x double>, metadata)
declare <3 x float> @llvm.experimental.constrained.minnum.v3f32(<3 x float>, <3 x float>, metadata)
declare <3 x double> @llvm.experimental.constrained.minnum.v3f64(<3 x double>, <3 x double>, metadata)
declare <3 x float> @llvm.experimental.constrained.fptrunc.v3f32.v3f64(<3 x double>, metadata, metadata)
declare <3 x double> @llvm.experimental.constrained.fpext.v3f64.v3f32(<3 x float>, metadata)
declare <3 x float> @llvm.experimental.constrained.ceil.v3f32(<3 x float>, metadata)
declare <3 x double> @llvm.experimental.constrained.ceil.v3f64(<3 x double>, metadata)
declare <3 x float> @llvm.experimental.constrained.floor.v3f32(<3 x float>, metadata)
declare <3 x double> @llvm.experimental.constrained.floor.v3f64(<3 x double>, metadata)
declare <3 x float> @llvm.experimental.constrained.round.v3f32(<3 x float>, metadata)
declare <3 x double> @llvm.experimental.constrained.round.v3f64(<3 x double>, metadata)
declare <3 x float> @llvm.experimental.constrained.roundeven.v3f32(<3 x float>, metadata)
declare <3 x double> @llvm.experimental.constrained.roundeven.v3f64(<3 x double>, metadata)
declare <3 x float> @llvm.experimental.constrained.trunc.v3f32(<3 x float>, metadata)
declare <3 x double> @llvm.experimental.constrained.trunc.v3f64(<3 x double>, metadata)

declare <4 x double> @llvm.experimental.constrained.fadd.v4f64(<4 x double>, <4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.fsub.v4f64(<4 x double>, <4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.fmul.v4f64(<4 x double>, <4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.fdiv.v4f64(<4 x double>, <4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.frem.v4f64(<4 x double>, <4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.sqrt.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.pow.v4f64(<4 x double>, <4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.powi.v4f64(<4 x double>, i32, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.sin.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.cos.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.tan.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.atan2.v4f64(<4 x double>, <4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.exp.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.exp2.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.log.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.log10.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.log2.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.rint.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.nearbyint.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.maxnum.v4f64(<4 x double>, <4 x double>, metadata)
declare <4 x double> @llvm.experimental.constrained.minnum.v4f64(<4 x double>, <4 x double>, metadata)
declare <4 x float> @llvm.experimental.constrained.fptrunc.v4f32.v4f64(<4 x double>, metadata, metadata)
declare <4 x double> @llvm.experimental.constrained.fpext.v4f64.v4f32(<4 x float>, metadata)
declare <4 x double> @llvm.experimental.constrained.ceil.v4f64(<4 x double>, metadata)
declare <4 x double> @llvm.experimental.constrained.floor.v4f64(<4 x double>, metadata)
declare <4 x double> @llvm.experimental.constrained.round.v4f64(<4 x double>, metadata)
declare <4 x double> @llvm.experimental.constrained.roundeven.v4f64(<4 x double>, metadata)
declare <4 x double> @llvm.experimental.constrained.trunc.v4f64(<4 x double>, metadata)
