; 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 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 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 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 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 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 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v2, %v0, 1
; SZ13-NEXT:    vgmg %v0, 1, 1
; SZ13-NEXT:    # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT:    brasl %r14, fmod@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    larl %r1, .LCPI8_0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    ldr %f2, %f8
; SZ13-NEXT:    brasl %r14, fmod@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 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 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 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 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 Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; 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 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 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 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 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 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 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    ldr %f2, %f9
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, pow@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    ldr %f2, %f9
; SZ13-NEXT:    brasl %r14, pow@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 200(%r15) # 8-byte Reload
; SZ13-NEXT:    ld %f9, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 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 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 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 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 Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; 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 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 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 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 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 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 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 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 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    lghi %r2, 3
; SZ13-NEXT:    brasl %r14, __powidf2@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 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 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 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 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 Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sin@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; 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 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 Spill
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sinf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, sin@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, sin@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sin@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v0, %v1
; SZ13-NEXT:    larl %r1, .LCPI44_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, sin@PLT
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cos@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; 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 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 Spill
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cosf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, cos@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, cos@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cos@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v0, %v1
; SZ13-NEXT:    larl %r1, .LCPI49_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, cos@PLT
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; 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 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 Spill
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, expf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, exp@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, exp@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v0, %v1
; SZ13-NEXT:    larl %r1, .LCPI54_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp@PLT
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; 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 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 Spill
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2f@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, exp2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, exp2@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v0, %v1
; SZ13-NEXT:    larl %r1, .LCPI59_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, exp2@PLT
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; 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 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 Spill
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, logf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, log@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, log@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v0, %v1
; SZ13-NEXT:    larl %r1, .LCPI64_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log@PLT
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; 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 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 Spill
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10f@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, log10@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, log10@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v0, %v1
; SZ13-NEXT:    larl %r1, .LCPI69_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log10@PLT
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; 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 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 Spill
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2f@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, log2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, log2@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v0, %v1
; SZ13-NEXT:    larl %r1, .LCPI74_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, log2@PLT
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 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 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 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 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 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 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    ld %f2, 0(%r1)
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, fmax@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    larl %r1, .LCPI88_2
; SZ13-NEXT:    ld %f2, 0(%r1)
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, fmax@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 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 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 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 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 Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 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 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 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 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 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 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    ldr %f2, %f9
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, fmin@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    ldr %f2, %f9
; SZ13-NEXT:    brasl %r14, fmin@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 200(%r15) # 8-byte Reload
; SZ13-NEXT:    ld %f9, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 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 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 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 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 Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tan@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v24, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 288(%r15)
; 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 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 Spill
; SZ13-NEXT:    lde %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tanf@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0s killed $f0s def $v0
; SZ13-NEXT:    vmrhf %v0, %v1, %v0
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte 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 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 Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    brasl %r14, tan@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    brasl %r14, tan@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 192(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tan@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v0, %v1
; SZ13-NEXT:    larl %r1, .LCPI127_2
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte 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 Spill
; SZ13-NEXT:    ld %f0, 0(%r1)
; SZ13-NEXT:    brasl %r14, tan@PLT
; SZ13-NEXT:    vl %v1, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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 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 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 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 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 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 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 Spill
; SZ13-NEXT:    vst %v2, 192(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT:    brasl %r14, atan2@PLT
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    vl %v0, 176(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vl %v1, 192(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    vrepg %v0, %v0, 1
; SZ13-NEXT:    vrepg %v2, %v1, 1
; SZ13-NEXT:    # kill: def $f0d killed $f0d killed $v0
; SZ13-NEXT:    # kill: def $f2d killed $f2d killed $v2
; SZ13-NEXT:    brasl %r14, atan2@PLT
; SZ13-NEXT:    vl %v1, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v0, %v1, %v0
; SZ13-NEXT:    vst %v0, 160(%r15), 3 # 16-byte Spill
; SZ13-NEXT:    ldr %f0, %f8
; SZ13-NEXT:    ldr %f2, %f9
; SZ13-NEXT:    brasl %r14, atan2@PLT
; SZ13-NEXT:    mvc 0(16,%r13), 160(%r15) # 16-byte Folded Reload
; SZ13-NEXT:    ld %f8, 216(%r15) # 8-byte Reload
; SZ13-NEXT:    ld %f9, 208(%r15) # 8-byte Reload
; SZ13-NEXT:    std %f0, 16(%r13)
; 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 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 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 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 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 Reload
; SZ13-NEXT:    vl %v24, 160(%r15), 3 # 16-byte Reload
; SZ13-NEXT:    # kill: def $f0d killed $f0d def $v0
; SZ13-NEXT:    vmrhg %v26, %v0, %v1
; SZ13-NEXT:    lmg %r14, %r15, 304(%r15)
; 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)
